+//-----------------------------------------------------------------------------
+// wxPlotOnOffCurve
+//-----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPlotOnOff
+{
+public:
+ wxPlotOnOff() { }
+
+ wxInt32 m_on;
+ wxInt32 m_off;
+ void *m_clientData;
+};
+
+WX_DECLARE_EXPORTED_OBJARRAY(wxPlotOnOff, wxArrayPlotOnOff);
+
+class WXDLLEXPORT wxPlotOnOffCurve: public wxObject
+{
+public:
+ wxPlotOnOffCurve( int offsetY );
+
+ wxInt32 GetStartX()
+ { return m_minX; }
+ wxInt32 GetEndX()
+ { return m_maxX; }
+
+ void SetOffsetY( int offsetY )
+ { m_offsetY = offsetY; }
+ int GetOffsetY()
+ { return m_offsetY; }
+
+ void Add( wxInt32 on, wxInt32 off, void *clientData = NULL );
+ size_t GetCount();
+
+ wxInt32 GetOn( size_t index );
+ wxInt32 GetOff( size_t index );
+ void* GetClientData( size_t index );
+ wxPlotOnOff *GetAt( size_t index );
+
+ virtual void DrawOnLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end, void *clientData );
+ virtual void DrawOffLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end );
+
+private:
+ int m_offsetY;
+ wxInt32 m_minX;
+ wxInt32 m_maxX;
+
+ wxArrayPlotOnOff m_marks;
+
+ DECLARE_CLASS(wxPlotOnOffCurve)
+};
+