@PreviewClass.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class PreviewClass : Window // create as window so it will be above other windows in the editor
  4. {
  5. ObjectPtr obj;
  6. MeshPtr mesh, body;
  7. MaterialPtr mtrl;
  8. WaterMtrlPtr water_mtrl;
  9. ImagePtr image;
  10. ImageAtlasPtr atlas;
  11. Skeleton *skel;
  12. Animation *anim;
  13. SkelAnim skel_anim;
  14. AnimatedSkeleton anim_skel;
  15. Mesh ball;
  16. EnvironmentPtr env;
  17. ELM_TYPE elm_type;
  18. Camera cam;
  19. Video video;
  20. Str sound_info;
  21. Game::MiniMap mini_map;
  22. UID sound_id, video_id, mini_map_id;
  23. int mesh_variation;
  24. flt video_time;
  25. GuiObjs objs;
  26. Tab objs_container; // needed in order to display objects in correct order
  27. UID objs_last_id;
  28. void create();
  29. static void Render();
  30. void render();
  31. void closeElm(C UID &elm_id);
  32. void elmChanged(C UID &elm_id);
  33. void clearProj();
  34. void drawBack(C Rect &rect);
  35. void draw(Elm &elm, C Rect &rect);
  36. void clipRect(Rect &rect);
  37. void drawAround(Elm &elm, C Rect &rect, flt y=Ms.pos().y);
  38. virtual GuiObj* test (C GuiPC &gpc, C Vec2 &pos, GuiObj* &mouse_wheel)override;
  39. virtual void update(C GuiPC &gpc)override;
  40. virtual void draw (C GuiPC &gpc)override;
  41. public:
  42. PreviewClass();
  43. };
  44. /******************************************************************************/
  45. /******************************************************************************/
  46. extern PreviewClass Preview;
  47. /******************************************************************************/