]> git.saurik.com Git - wxWidgets.git/commitdiff
wxDC::GetSize() should work now in wxGTK
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Oct 2000 16:43:37 +0000 (16:43 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Oct 2000 16:43:37 +0000 (16:43 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
include/wx/gtk/dc.h
include/wx/gtk/dcclient.h
include/wx/gtk/dcscreen.h
include/wx/gtk1/dc.h
include/wx/gtk1/dcclient.h
include/wx/gtk1/dcscreen.h
src/gtk/dc.cpp
src/gtk/dcclient.cpp
src/gtk/dcscreen.cpp
src/gtk1/dc.cpp
src/gtk1/dcclient.cpp
src/gtk1/dcscreen.cpp

index 78c421c9c410364b1c0fe73bc68ac6c4b586335b..8c447ae4266e3bfad9dc04add64ea32a1b5af054 100644 (file)
@@ -134,7 +134,6 @@ public:
 protected:
     // base class pure virtuals implemented here
     virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
-    virtual void DoGetSize(int *width, int *height) const;
     virtual void DoGetSizeMM(int* width, int* height) const;
 
 public:
index f91eae7dc9f51d18ee2102e76f8f8aec3db35629..2168e181d7c6e87e0fdf4736e8095bef4f6ab377 100644 (file)
@@ -40,7 +40,8 @@ public:
     virtual bool CanDrawBitmap() const { return TRUE; }
     virtual bool CanGetTextExtent() const { return TRUE; }
 
-//protected:
+protected:
+    virtual void DoGetSize(int *width, int *height) const;
     virtual void DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, int style=wxFLOOD_SURFACE );
     virtual bool DoGetPixel( wxCoord x1, wxCoord y1, wxColour *col ) const;
 
@@ -78,6 +79,8 @@ public:
                                 wxCoord *descent = (wxCoord *) NULL,
                                 wxCoord *externalLeading = (wxCoord *) NULL,
                                 wxFont *theFont = (wxFont *) NULL) const;
+
+public:
     virtual wxCoord GetCharWidth() const;
     virtual wxCoord GetCharHeight() const;
 
@@ -135,31 +138,31 @@ private:
 };
 
 //-----------------------------------------------------------------------------
-// wxPaintDC
+// wxClientDC
 //-----------------------------------------------------------------------------
 
-class wxPaintDC : public wxWindowDC
+class wxClientDC : public wxWindowDC
 {
 public:
-    wxPaintDC();
-    wxPaintDC( wxWindow *win );
+    wxClientDC() { }
+    wxClientDC( wxWindow *win );
 
 private:
-    DECLARE_DYNAMIC_CLASS(wxPaintDC)
+    DECLARE_DYNAMIC_CLASS(wxClientDC)
 };
 
 //-----------------------------------------------------------------------------
-// wxClientDC
+// wxPaintDC
 //-----------------------------------------------------------------------------
 
-class wxClientDC : public wxWindowDC
+class wxPaintDC : public wxClientDC
 {
 public:
-    wxClientDC();
-    wxClientDC( wxWindow *win );
+    wxPaintDC() { }
+    wxPaintDC( wxWindow *win );
 
 private:
-    DECLARE_DYNAMIC_CLASS(wxClientDC)
+    DECLARE_DYNAMIC_CLASS(wxPaintDC)
 };
 
 #endif // __GTKDCCLIENTH__
index 64f1dfc6ac126ba47f679fc90dde193fe96bb3af..b1cc81a7e6ed9e971b561cefd86b502726adc914 100644 (file)
@@ -22,22 +22,25 @@ class wxScreenDC;
 // wxScreenDC
 //-----------------------------------------------------------------------------
 
-class wxScreenDC: public wxPaintDC
+class wxScreenDC : public wxPaintDC
 {
 public:
     wxScreenDC();
-    ~wxScreenDC();
+    virtual ~wxScreenDC();
 
     static bool StartDrawingOnTop( wxWindow *window );
     static bool StartDrawingOnTop( wxRect *rect = (wxRect *) NULL );
     static bool EndDrawingOnTop();
 
     // implementation
-    
+
     static GdkWindow  *sm_overlayWindow;
     static int         sm_overlayWindowX;
     static int         sm_overlayWindowY;
-  
+
+protected:
+    virtual void DoGetSize(int *width, int *height) const;
+
 private:
     DECLARE_DYNAMIC_CLASS(wxScreenDC)
 };
index 78c421c9c410364b1c0fe73bc68ac6c4b586335b..8c447ae4266e3bfad9dc04add64ea32a1b5af054 100644 (file)
@@ -134,7 +134,6 @@ public:
 protected:
     // base class pure virtuals implemented here
     virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
-    virtual void DoGetSize(int *width, int *height) const;
     virtual void DoGetSizeMM(int* width, int* height) const;
 
 public:
index f91eae7dc9f51d18ee2102e76f8f8aec3db35629..2168e181d7c6e87e0fdf4736e8095bef4f6ab377 100644 (file)
@@ -40,7 +40,8 @@ public:
     virtual bool CanDrawBitmap() const { return TRUE; }
     virtual bool CanGetTextExtent() const { return TRUE; }
 
-//protected:
+protected:
+    virtual void DoGetSize(int *width, int *height) const;
     virtual void DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, int style=wxFLOOD_SURFACE );
     virtual bool DoGetPixel( wxCoord x1, wxCoord y1, wxColour *col ) const;
 
@@ -78,6 +79,8 @@ public:
                                 wxCoord *descent = (wxCoord *) NULL,
                                 wxCoord *externalLeading = (wxCoord *) NULL,
                                 wxFont *theFont = (wxFont *) NULL) const;
+
+public:
     virtual wxCoord GetCharWidth() const;
     virtual wxCoord GetCharHeight() const;
 
@@ -135,31 +138,31 @@ private:
 };
 
 //-----------------------------------------------------------------------------
-// wxPaintDC
+// wxClientDC
 //-----------------------------------------------------------------------------
 
-class wxPaintDC : public wxWindowDC
+class wxClientDC : public wxWindowDC
 {
 public:
-    wxPaintDC();
-    wxPaintDC( wxWindow *win );
+    wxClientDC() { }
+    wxClientDC( wxWindow *win );
 
 private:
-    DECLARE_DYNAMIC_CLASS(wxPaintDC)
+    DECLARE_DYNAMIC_CLASS(wxClientDC)
 };
 
 //-----------------------------------------------------------------------------
-// wxClientDC
+// wxPaintDC
 //-----------------------------------------------------------------------------
 
-class wxClientDC : public wxWindowDC
+class wxPaintDC : public wxClientDC
 {
 public:
-    wxClientDC();
-    wxClientDC( wxWindow *win );
+    wxPaintDC() { }
+    wxPaintDC( wxWindow *win );
 
 private:
-    DECLARE_DYNAMIC_CLASS(wxClientDC)
+    DECLARE_DYNAMIC_CLASS(wxPaintDC)
 };
 
 #endif // __GTKDCCLIENTH__
index 64f1dfc6ac126ba47f679fc90dde193fe96bb3af..b1cc81a7e6ed9e971b561cefd86b502726adc914 100644 (file)
@@ -22,22 +22,25 @@ class wxScreenDC;
 // wxScreenDC
 //-----------------------------------------------------------------------------
 
-class wxScreenDC: public wxPaintDC
+class wxScreenDC : public wxPaintDC
 {
 public:
     wxScreenDC();
-    ~wxScreenDC();
+    virtual ~wxScreenDC();
 
     static bool StartDrawingOnTop( wxWindow *window );
     static bool StartDrawingOnTop( wxRect *rect = (wxRect *) NULL );
     static bool EndDrawingOnTop();
 
     // implementation
-    
+
     static GdkWindow  *sm_overlayWindow;
     static int         sm_overlayWindowX;
     static int         sm_overlayWindowY;
-  
+
+protected:
+    virtual void DoGetSize(int *width, int *height) const;
+
 private:
     DECLARE_DYNAMIC_CLASS(wxScreenDC)
 };
index da0b27c97aacfc682066728f05b7178b1f872bf7..57273f2ba58961ed683df208ebe8a167a467d655 100644 (file)
@@ -69,12 +69,6 @@ void wxDC::DestroyClippingRegion()
 // get DC capabilities
 // ---------------------------------------------------------------------------
 
-void wxDC::DoGetSize( int* width, int* height ) const
-{
-    if (width) *width = m_maxX-m_minX;
-    if (height) *height = m_maxY-m_minY;
-}
-
 void wxDC::DoGetSizeMM( int* width, int* height ) const
 {
     int w = 0;
index f0a96e569430f4bec5decccb2f4ee43015ffb7c3..23efde3470ded1ba5d868dc832c8bdefcc6a7232 100644 (file)
@@ -393,6 +393,13 @@ void wxWindowDC::SetUpDC()
     }
 }
 
+void wxWindowDC::DoGetSize( int* width, int* height ) const
+{
+    wxCHECK_RET( m_owner, _T("GetSize() doesn't work without window") );
+
+    m_owner->GetSize(width, height);
+}
+
 void wxWindowDC::DoFloodFill( wxCoord WXUNUSED(x), wxCoord WXUNUSED(y),
                            const wxColour &WXUNUSED(col), int WXUNUSED(style) )
 {
index 51a09f4806bd0943be912e838e64c4a4990fdf94..a79f479bbf60a8602e4bfc1a27b0251c8f565d1e 100644 (file)
@@ -101,3 +101,7 @@ bool wxScreenDC::EndDrawingOnTop()
     return TRUE;
 }
 
+void wxScreenDC::DoGetSize(int *width, int *height) const
+{
+    wxDisplaySize(width, height);
+}
index da0b27c97aacfc682066728f05b7178b1f872bf7..57273f2ba58961ed683df208ebe8a167a467d655 100644 (file)
@@ -69,12 +69,6 @@ void wxDC::DestroyClippingRegion()
 // get DC capabilities
 // ---------------------------------------------------------------------------
 
-void wxDC::DoGetSize( int* width, int* height ) const
-{
-    if (width) *width = m_maxX-m_minX;
-    if (height) *height = m_maxY-m_minY;
-}
-
 void wxDC::DoGetSizeMM( int* width, int* height ) const
 {
     int w = 0;
index f0a96e569430f4bec5decccb2f4ee43015ffb7c3..23efde3470ded1ba5d868dc832c8bdefcc6a7232 100644 (file)
@@ -393,6 +393,13 @@ void wxWindowDC::SetUpDC()
     }
 }
 
+void wxWindowDC::DoGetSize( int* width, int* height ) const
+{
+    wxCHECK_RET( m_owner, _T("GetSize() doesn't work without window") );
+
+    m_owner->GetSize(width, height);
+}
+
 void wxWindowDC::DoFloodFill( wxCoord WXUNUSED(x), wxCoord WXUNUSED(y),
                            const wxColour &WXUNUSED(col), int WXUNUSED(style) )
 {
index 51a09f4806bd0943be912e838e64c4a4990fdf94..a79f479bbf60a8602e4bfc1a27b0251c8f565d1e 100644 (file)
@@ -101,3 +101,7 @@ bool wxScreenDC::EndDrawingOnTop()
     return TRUE;
 }
 
+void wxScreenDC::DoGetSize(int *width, int *height) const
+{
+    wxDisplaySize(width, height);
+}