]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/dcclient.h
Just a teeny change -- addition of wxFrame::IsMaximized. For wxMDIChildFrame
[wxWidgets.git] / include / wx / motif / dcclient.h
index 3ecc0f1e2e596df73a468ca3ada733a4dee6f1da..b683eb6b1c1523310e65416dd93630262a485d8c 100644 (file)
@@ -28,9 +28,6 @@ class WXDLLEXPORT wxWindow;
 // Under Windows, wxClientDC, wxPaintDC and wxWindowDC are implemented differently.
 // On many platforms, however, they will be the same.
 
-typedef wxWindowDC wxClientDC;
-typedef wxWindowDC wxPaintDC;
-
 //-----------------------------------------------------------------------------
 // wxWindowDC
 //-----------------------------------------------------------------------------
@@ -46,7 +43,7 @@ class WXDLLEXPORT wxWindowDC: public wxDC
     
     ~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 wxWindowDC: 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,21 +90,32 @@ class WXDLLEXPORT wxWindowDC: 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_clippingRegion;    
+    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_currentBkMode;
     int          m_currentPenWidth ;
     int          m_currentPenJoin ;
     int          m_currentPenCap ;
@@ -115,6 +124,25 @@ protected:
     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