- virtual bool CanGetTextExtent(void) const ;
- virtual void GetTextExtent( const wxString &string, int *width, int *height,
- int *descent = NULL, int *externalLeading = NULL,
- wxFont *theFont = NULL, bool use16 = FALSE ) const ;
- virtual wxCoord GetCharWidth(void) const;
- virtual wxCoord GetCharHeight(void) const;
-
- virtual void Clear(void);
-
- virtual void SetFont( const wxFont &font );
- virtual wxFont& GetFont(void) const { return (wxFont&) m_font; };
-
- virtual void SetPen( const wxPen &pen );
- virtual wxPen& GetPen(void) const { return (wxPen&) m_pen; };
-
- virtual void SetBrush( const wxBrush &brush );
- virtual wxBrush& GetBrush(void) const { return (wxBrush&) m_brush; };
-
- virtual void SetBackground( const wxBrush &brush );
- virtual wxBrush& GetBackground(void) const { return (wxBrush&) m_backgroundBrush; };
-
- virtual void SetLogicalFunction( int function );
- virtual int GetLogicalFunction(void) const { return m_logicalFunction; };
-
- virtual void SetTextForeground( const wxColour &col );
- virtual void SetTextBackground( const wxColour &col );
- virtual wxColour& GetTextBackground(void) const { return (wxColour&)m_textBackgroundColour; };
- virtual wxColour& GetTextForeground(void) const { return (wxColour&)m_textForegroundColour; };
-
- virtual void SetBackgroundMode( int mode );
- virtual int GetBackgroundMode(void) const { return m_backgroundMode; };
-
- virtual void SetPalette( const wxPalette& palette );
- void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
-
- // the first two must be overridden and called
- virtual void SetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
- virtual void SetClippingRegion( const wxRect& rect );
- virtual void DestroyClippingRegion(void);
- virtual void GetClippingBox( wxCoord *x, wxCoord *y, wxCoord *width, wxCoord *height ) const;
- virtual void GetClippingBox( long *x, long *y, long *width, long *height ) const;
- virtual void GetClippingBox(wxRect& rect) const;
-
- virtual inline long MinX(void) const { return m_minX; }
- virtual inline long MaxX(void) const { return m_maxX; }
- virtual inline long MinY(void) const { return m_minY; }
- virtual inline long MaxY(void) const { return m_maxY; }
-
- 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;
-
-
- virtual int GetMapMode(void) const { return m_mappingMode; };
-
- virtual void GetUserScale( double *x, double *y );
- virtual void GetLogicalScale( double *x, double *y );
-
- virtual void GetLogicalOrigin( long *x, long *y );
- virtual void GetDeviceOrigin( long *x, long *y );
- virtual void SetInternalDeviceOrigin( long x, long y );
- virtual void GetInternalDeviceOrigin( long *x, long *y );
-
- virtual void SetOptimization( bool WXUNUSED(optimize) ) {};
- virtual bool GetOptimization(void) { return m_optimize; };
-
- virtual long DeviceToLogicalX(long x) const;
- virtual long DeviceToLogicalY(long y) const;
- virtual long DeviceToLogicalXRel(long x) const;
- virtual long DeviceToLogicalYRel(long y) const;
- virtual long LogicalToDeviceX(long x) const;
- virtual long LogicalToDeviceY(long y) const;
- virtual long LogicalToDeviceXRel(long x) const;
- virtual long LogicalToDeviceYRel(long y) const;
-
- void CalcBoundingBox( long x, long y );
-*/
-
- void ComputeScaleAndOrigin(void);
- public:
-
-
- wxCoord XDEV2LOG(wxCoord x) const
- {
- long new_x = x - m_deviceOriginX;
- if (new_x > 0)
- return (wxCoord)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
- else
- return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
- }
- wxCoord XDEV2LOGREL(wxCoord x) const
- {
- if (x > 0)
- return (wxCoord)((double)(x) / m_scaleX + 0.5);
- else
- return (wxCoord)((double)(x) / m_scaleX - 0.5);
- }
- wxCoord YDEV2LOG(wxCoord y) const
- {
- long new_y = y - m_deviceOriginY;
- if (new_y > 0)
- return (wxCoord)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
- else
- return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
- }
- wxCoord YDEV2LOGREL(wxCoord y) const
- {
- if (y > 0)
- return (wxCoord)((double)(y) / m_scaleY + 0.5);
- else
- return (wxCoord)((double)(y) / m_scaleY - 0.5);
- }
- wxCoord XLOG2DEV(wxCoord x) const
- {
- long new_x = x - m_logicalOriginX;
- if (new_x > 0)
- return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
- else
- return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
- }
- wxCoord XLOG2DEVREL(wxCoord x) const
- {
- if (x > 0)
- return (wxCoord)((double)(x) * m_scaleX + 0.5);
- else
- return (wxCoord)((double)(x) * m_scaleX - 0.5);
- }
- wxCoord YLOG2DEV(wxCoord y) const
- {
- long new_y = y - m_logicalOriginY;
- if (new_y > 0)
- return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
- else
- return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
- }
- wxCoord YLOG2DEVREL(wxCoord y) const
- {
- if (y > 0)
- return (wxCoord)((double)(y) * m_scaleY + 0.5);
- else
- return (wxCoord)((double)(y) * m_scaleY - 0.5);
- }
-