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;
}
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;
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; };
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) {};
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;
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)
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)
return (long)((double)(y) * m_scaleY - 0.5);
}
- virtual void DrawOpenSpline( wxList *points ) = 0;
-
public:
bool m_ok;
// 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
+
wxPen m_pen;
wxBrush m_brush;
wxBrush m_backgroundBrush;