]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/dc.h
Fixed a notebook crash and added more tests to sample.
[wxWidgets.git] / include / wx / motif / dc.h
index 6c311940aaf12a18a885bde9602171fc297d23ee..06abfad626f9d82ee019a2aa07539d0bc4e7ad7a 100644 (file)
@@ -61,10 +61,10 @@ class WXDLLEXPORT wxDC: public wxObject
     
     virtual bool Ok(void) const { return m_ok; };
 
-    virtual void FloodFill( long x1, long y1, wxColour* col, int style=wxFLOOD_SURFACE ) = 0;
+    virtual void FloodFill( long x1, long y1, const wxColour& col, int style=wxFLOOD_SURFACE ) = 0;
     inline void FloodFill(const wxPoint& pt, const wxColour& col, int style=wxFLOOD_SURFACE)
     {
-        FloodFill(pt.x, pt.y, (wxColour*) & col, style);
+        FloodFill(pt.x, pt.y, col, style);
     }
 
     virtual bool GetPixel( long x1, long y1, wxColour *col ) const = 0;
@@ -142,16 +142,15 @@ class WXDLLEXPORT wxDC: public wxObject
     
     virtual bool CanDrawBitmap(void) const = 0;
 
-    virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
+    virtual void DrawIcon( const wxIcon &icon, long x, long y);
     inline void DrawIcon(const wxIcon& icon, const wxPoint& pt)
     {
         DrawIcon(icon, pt.x, pt.y);
     }
 
-    // TODO DrawBitmap is not always the same as DrawIcon, especially if bitmaps and
+    // DrawBitmap is not always the same as DrawIcon, especially if bitmaps and
     // icons are implemented differently.
-    void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE )
-             { DrawIcon( *((wxIcon*)(&bmp)), x, y, useMask ); }
+    virtual void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE ) ;
 
     virtual bool Blit( long xdest, long ydest, long width, long height,
        wxDC *source, long xsrc, long ysrc, int logical_func = wxCOPY, bool useMask=FALSE ) = 0;
@@ -177,16 +176,16 @@ class WXDLLEXPORT wxDC: public wxObject
     virtual void Clear(void) = 0;
             
     virtual void SetFont( const wxFont &font ) = 0;
-    virtual wxFont *GetFont(void) const { return (wxFont*) &m_font; };
+    virtual wxFont& GetFont(void) const { return (wxFont&) m_font; };
     
     virtual void SetPen( const wxPen &pen ) = 0;
-    virtual wxPen *GetPen(void) const { return (wxPen*) &m_pen; };
+    virtual wxPen& GetPen(void) const { return (wxPen&) m_pen; };
     
     virtual void SetBrush( const wxBrush &brush ) = 0;
-    virtual wxBrush *GetBrush(void) const { return (wxBrush*) &m_brush; };
+    virtual wxBrush& GetBrush(void) const { return (wxBrush&) m_brush; };
 
     virtual void SetBackground( const wxBrush &brush ) = 0;
-    virtual wxBrush *GetBackground(void) const { return (wxBrush*) &m_backgroundBrush; };
+    virtual wxBrush& GetBackground(void) const { return (wxBrush&) m_backgroundBrush; };
 
     virtual void SetLogicalFunction( int function ) = 0;
     virtual int GetLogicalFunction(void) const { return m_logicalFunction; };
@@ -212,10 +211,17 @@ class WXDLLEXPORT wxDC: public wxObject
     virtual inline long MinY(void) const { return m_minY; }
     virtual inline long MaxY(void) const { return m_maxY; }
 
+    // Size in device units
     virtual void GetSize( int* width, int* height ) const;
     inline wxSize GetSize(void) const { int w, h; GetSize(&w, &h); return wxSize(w, h); }
-    virtual void GetSizeMM( long* width, long* height ) const;
-    
+
+    // Size in millimetres
+    virtual void GetSizeMM( int* width, int* height ) const;
+    inline wxSize GetSizeMM(void) const { int w, h; GetSizeMM(&w, &h); return wxSize(w, h); }
+
+    // Resolution in pixels per logical inch
+    wxSize GetPPI(void) const ;
+
     virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return TRUE; };
     virtual void EndDoc(void) {};
     virtual void StartPage(void) {};
@@ -343,8 +349,7 @@ class WXDLLEXPORT wxDC: public wxObject
     bool         m_clipping;      // Is clipping on right now ?
     bool         m_optimize;      // wxMSW only ?
     bool         m_isInteractive; // For wxPostScriptDC
-    wxString     m_filename;      // Ditto
-    
+
     wxPen        m_pen;
     wxBrush      m_brush;
     wxBrush      m_backgroundBrush;