X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..b0f1bdde5a4e8559078a566fb93e050b64940f32:/include/wx/motif/dcclient.h diff --git a/include/wx/motif/dcclient.h b/include/wx/motif/dcclient.h index ed895a982b..6784cda790 100644 --- a/include/wx/motif/dcclient.h +++ b/include/wx/motif/dcclient.h @@ -22,29 +22,26 @@ // classes //----------------------------------------------------------------------------- -class WXDLLEXPORT wxPaintDC; +class WXDLLEXPORT wxWindowDC; class WXDLLEXPORT wxWindow; // Under Windows, wxClientDC, wxPaintDC and wxWindowDC are implemented differently. // On many platforms, however, they will be the same. -typedef wxPaintDC wxClientDC; -typedef wxPaintDC wxWindowDC; - //----------------------------------------------------------------------------- -// wxPaintDC +// wxWindowDC //----------------------------------------------------------------------------- -class WXDLLEXPORT wxPaintDC: public wxDC +class WXDLLEXPORT wxWindowDC: public wxDC { - DECLARE_DYNAMIC_CLASS(wxPaintDC) + DECLARE_DYNAMIC_CLASS(wxWindowDC) public: - wxPaintDC(void); - wxPaintDC( wxWindow *win ); + wxWindowDC(void); + wxWindowDC( wxWindow *win ); - ~wxPaintDC(void); + ~wxWindowDC(void); virtual void FloodFill( long x1, long y1, wxColour* col, int style=wxFLOOD_SURFACE ); virtual bool GetPixel( long x1, long y1, wxColour *col ) const; @@ -94,7 +91,55 @@ class WXDLLEXPORT wxPaintDC: public wxDC virtual void SetClippingRegion( long x, long y, long width, long height ); virtual void DestroyClippingRegion(void); - virtual void DrawOpenSpline( wxList *points ); + virtual void DrawSpline( wxList *points ); + + // Motif-specific + void SetDCClipping (); // Helper function for setting clipping + + inline WXGC GetGC() const { return m_gc; } + inline WXDisplay* GetDisplay() const { return m_display; } + inline bool GetAutoSetting() const { return m_autoSetting; } + inline void SetAutoSetting(bool flag) { m_autoSetting = flag; } + +protected: + WXGC m_gc; + WXGC m_gcBacking; + WXDisplay* m_display; + wxWindow* m_window; + WXRegion m_currentRegion; // Current clipping region (incl. paint clip region) + WXRegion m_userRegion; // User-defined clipping region + WXPixmap m_pixmap; // Pixmap for drawing on + + // Not sure if we'll need all of these + int m_backgroundPixel; + wxColour m_currentColour; +// int m_currentBkMode; + int m_currentPenWidth ; + int m_currentPenJoin ; + int m_currentPenCap ; + int m_currentPenDashCount ; + char* m_currentPenDash ; + wxBitmap m_currentStipple ; + int m_currentStyle ; + int m_currentFill ; + int m_autoSetting ; // See comment in dcclient.cpp + WXFont m_oldFont; +}; + +class WXDLLEXPORT wxPaintDC: public wxWindowDC +{ + DECLARE_DYNAMIC_CLASS(wxPaintDC) +public: + wxPaintDC() {} + wxPaintDC(wxWindow* win): wxWindowDC(win) {} +}; + +class WXDLLEXPORT wxClientDC: public wxWindowDC +{ + DECLARE_DYNAMIC_CLASS(wxClientDC) +public: + wxClientDC() {} + wxClientDC(wxWindow* win): wxWindowDC(win) {} }; #endif