X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dfc5454127ac2195e10deebb216d82c674e757df..fd323a5e230f2b08227b307ff900698fb85d5519:/include/wx/motif/dc.h diff --git a/include/wx/motif/dc.h b/include/wx/motif/dc.h index 0b3cd868ac..35842b1095 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,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; @@ -326,6 +341,8 @@ class WXDLLEXPORT wxDC: public wxObject // not sure, what these mean 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;