]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/dc.h
shows different SetCursor() calls
[wxWidgets.git] / include / wx / motif / dc.h
index 3b668ce02d974b1fade04ddec489c64d687c8cb5..35842b10956d51364148cda9dcd1767246b9a2b9 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;
@@ -137,21 +137,20 @@ class WXDLLEXPORT wxDC: public wxObject
     }
 
     virtual void DrawSpline( long x1, long y1, long x2, long y2, long x3, long y3 );
-    virtual void DrawSpline( wxList *points );
+    virtual void DrawSpline( wxList *points ) = 0;
     virtual void DrawSpline( int n, wxPoint points[] );
     
     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; };
@@ -238,7 +237,7 @@ class WXDLLEXPORT wxDC: public wxObject
 
     virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
     
-    virtual void SetOptimization( bool WXUNUSED(optimize) ) {};
+    virtual void SetOptimization( bool optimize ) { m_optimize = optimize; };
     virtual bool GetOptimization(void) { return m_optimize; };
     
     virtual long DeviceToLogicalX(long x) const;
@@ -293,6 +292,15 @@ class WXDLLEXPORT wxDC: public wxObject
          else
            return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
        }
+    // Without device translation, for backing pixmap purposes
+    long XLOG2DEV_2(long x) const
+       { 
+         long new_x = x - m_logicalOriginX;
+         if (new_x > 0)
+           return (long)((double)(new_x) * m_scaleX + 0.5) * m_signX;
+         else
+           return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX;
+       }
     long XLOG2DEVREL(long x) const
        { 
          if (x > 0)
@@ -308,6 +316,15 @@ class WXDLLEXPORT wxDC: public wxObject
          else
            return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
        }
+    // Without device translation, for backing pixmap purposes
+    long YLOG2DEV_2(long y) const
+       {
+         long new_y = y - m_logicalOriginY;
+         if (new_y > 0)
+           return (long)((double)(new_y) * m_scaleY + 0.5) * m_signY;
+         else
+           return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY;
+       }
     long YLOG2DEVREL(long y) const
        { 
          if (y > 0)
@@ -316,8 +333,6 @@ class WXDLLEXPORT wxDC: public wxObject
            return (long)((double)(y) * m_scaleY - 0.5);
        }
   
-    virtual void DrawOpenSpline( wxList *points ) = 0;
-       
   public:
     
     bool         m_ok;
@@ -325,11 +340,9 @@ class WXDLLEXPORT wxDC: public wxObject
     
     // not sure, what these mean
     bool         m_clipping;      // Is clipping on right now ?
-    bool         m_isInteractive; // Is GetPixel possible ?
-    bool         m_autoSetting;   // wxMSW only ?
-    bool         m_dontDelete;    // wxMSW only ?
     bool         m_optimize;      // wxMSW only ?
-    wxString     m_filename;      // Not sure where this belongs.
+    bool         m_isInteractive; // For wxPostScriptDC
+    wxString     m_filename;      // Ditto
     
     wxPen        m_pen;
     wxBrush      m_brush;