efpane.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #ifndef _efpane_H_
  2. #define _efpane_H_
  3. //////////////////////////////////////////////////////////////////////////////
  4. //
  5. // effect panes
  6. //
  7. //////////////////////////////////////////////////////////////////////////////
  8. void SetEffectWindow(Window* pwindow);
  9. void AddPaneFactories(
  10. INameSpace* pns,
  11. Modeler* pmodeler,
  12. IPopupContainer* ppopupContainer,
  13. Number* ptime
  14. );
  15. //////////////////////////////////////////////////////////////////////////////
  16. //
  17. // Black background
  18. //
  19. //////////////////////////////////////////////////////////////////////////////
  20. TRef<Pane> CreateBlackPane(Pane* ppane);
  21. //////////////////////////////////////////////////////////////////////////////
  22. //
  23. // Hover Site
  24. //
  25. //////////////////////////////////////////////////////////////////////////////
  26. class HoverSite : public IObject {
  27. public:
  28. virtual void Enter(float id) = 0;
  29. virtual void Leave(float id) = 0;
  30. virtual Number* GetID() = 0;
  31. };
  32. TRef<HoverSite> CreateHoverSite(float id);
  33. TRef<Pane> CreateHoverPane(HoverSite* psite, float id, Pane* ppane);
  34. //////////////////////////////////////////////////////////////////////////////
  35. //
  36. // ThumbPane
  37. //
  38. //////////////////////////////////////////////////////////////////////////////
  39. class ThumbPane : public Pane {
  40. public:
  41. static TRef<ThumbPane> Create(Modeler* pmodeler,
  42. bool bHorizontal, // false == vertical
  43. TRef<Image> pImageThumb // Set this to NULL for default image
  44. );
  45. };
  46. //////////////////////////////////////////////////////////////////////////////
  47. //
  48. // Trek Scroll Bar
  49. //
  50. //////////////////////////////////////////////////////////////////////////////
  51. TRef<Pane> CreateTrekScrollPane(
  52. unsigned height,
  53. Modeler* pmodeler,
  54. TRef<IIntegerEventSource>& pevent,
  55. TRef<ScrollPane>& pscrollPane
  56. );
  57. /////////////////////////////////////////////////////////////////////////////
  58. //
  59. // Gauge Pane
  60. //
  61. /////////////////////////////////////////////////////////////////////////////
  62. class GaugePane : public Pane {
  63. private:
  64. TRef<Surface> m_psurface;
  65. float m_minValue;
  66. float m_maxValue;
  67. int m_value;
  68. int m_valueOld;
  69. int m_valueFlash;
  70. Time m_timeLastChange;
  71. Color m_colorFlash;
  72. Color m_colorEmpty;
  73. void Paint(Surface* psurface);
  74. public:
  75. GaugePane(Surface* psurface,
  76. const Color& colorFlash = Color::Red(),
  77. float minValue = 0.0f,
  78. float maxValue = 1.0f,
  79. const Color& colorEmpty = Color::Black());
  80. void SetValue(float v, bool fFlash = true);
  81. void Update(Time time);
  82. };
  83. void ParseIntVector(IObject* pobject, TVector<int>& vec);
  84. void ParseFloatVector(IObject* pobject, TVector<int>& vec);
  85. void ParseStringVector(IObject* pobject, TVector<ZString>& vec);
  86. #endif