X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..b4277bbc2531994afa3c467fb6e630822c8b6284:/include/wx/motif/dcclient.h?ds=inline diff --git a/include/wx/motif/dcclient.h b/include/wx/motif/dcclient.h index ed895a982b..b683eb6b1c 100644 --- a/include/wx/motif/dcclient.h +++ b/include/wx/motif/dcclient.h @@ -22,31 +22,28 @@ // 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 void FloodFill( long x1, long y1, const wxColour& col, int style=wxFLOOD_SURFACE ); virtual bool GetPixel( long x1, long y1, wxColour *col ) const; virtual void DrawLine( long x1, long y1, long x2, long y2 ); @@ -80,6 +77,7 @@ class WXDLLEXPORT wxPaintDC: public wxDC virtual long GetCharHeight(void); virtual void Clear(void); + virtual void Clear(const wxRect& rect); virtual void SetFont( const wxFont &font ); virtual void SetPen( const wxPen &pen ); @@ -92,9 +90,59 @@ class WXDLLEXPORT wxPaintDC: public wxDC virtual void SetPalette( const wxPalette& palette ); virtual void SetClippingRegion( long x, long y, long width, long height ); + virtual void SetClippingRegion( const wxRegion& region ); 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); + ~wxPaintDC(); +}; + +class WXDLLEXPORT wxClientDC: public wxWindowDC +{ + DECLARE_DYNAMIC_CLASS(wxClientDC) +public: + wxClientDC() {} + wxClientDC(wxWindow* win): wxWindowDC(win) {} }; #endif