X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..6daa06370bdb080d3555b1e0f90292489a5e64f9:/include/wx/motif/dc.h diff --git a/include/wx/motif/dc.h b/include/wx/motif/dc.h index 3b668ce02d..dda90fba80 100644 --- a/include/wx/motif/dc.h +++ b/include/wx/motif/dc.h @@ -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,7 +137,7 @@ 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; @@ -148,10 +148,9 @@ class WXDLLEXPORT wxDC: public wxObject 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; @@ -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;