]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/dcclient.h
Added wxMiniFrame
[wxWidgets.git] / include / wx / motif / dcclient.h
index ed895a982b29618fafa51572ff76277533f155fc..3caa023ff3e196921e40e9f94d1650f9da2ef0af 100644 (file)
 // 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;
@@ -92,9 +89,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