private:
GtkPrintContext *m_gpc;
- bool m_showDialog;
wxDC *m_dc;
DECLARE_DYNAMIC_CLASS(wxGtkPrinter)
wxCoord GetCharWidth() const;
bool CanGetTextExtent() const { return true; }
wxSize GetPPI() const;
- void SetLogicalOrigin( wxCoord x, wxCoord y );
- void SetDeviceOrigin( wxCoord x, wxCoord y );
virtual int GetDepth() const { return 24; }
- void SetBackgroundMode(int WXUNUSED(mode));
+ void SetBackgroundMode(int mode);
void SetPalette(const wxPalette& WXUNUSED(palette)) { }
- static void SetResolution(int ppi);
- static int GetResolution();
- void DrawScaledBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y, wxCoord w, wxCoord h,
- bool useMask = false, int quality = wxIMAGE_QUALITY_NORMAL)
- { DoDrawScaledBitmap( bmp, x, y, w, h, useMask, quality ); }
- void DrawScaledBitmap(const wxBitmap &bmp, const wxPoint& pt, const wxSize& sz,
- bool useMask = false, int quality = wxIMAGE_QUALITY_NORMAL)
- { DoDrawScaledBitmap( bmp, pt.x, pt.y, sz.x, sz.y, useMask, quality ); }
- void DrawScaledBitmap(const wxBitmap &bmp, const wxRect& rect,
- bool useMask = false, int quality = wxIMAGE_QUALITY_NORMAL)
- { DoDrawScaledBitmap( bmp, rect.x, rect.y, rect.width, rect.height, useMask, quality ); }
+ void SetResolution(int ppi);
+ int GetResolution();
protected:
bool DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col, int style=wxFLOOD_SURFACE );
wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
void DoDrawIcon( const wxIcon& icon, wxCoord x, wxCoord y );
void DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, bool useMask = false );
- void DoDrawScaledBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, wxCoord w, wxCoord h, bool useMask = false, int quality = wxIMAGE_QUALITY_NORMAL );
void DoDrawText(const wxString& text, wxCoord x, wxCoord y );
void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle);
void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
wxPrintData& GetPrintData() { return m_printData; }
void SetPrintData(const wxPrintData& data);
- void ComputeScaleAndOrigin();
-
private:
- static float ms_PSScaleFactor;
-
wxPrintData m_printData;
PangoContext *m_context;
PangoLayout *m_layout;
unsigned char m_currentBlue;
unsigned char m_currentAlpha;
- int m_deviceOffsetY;
- int m_deviceOffsetX;
-
- GtkPrintContext *m_gpc;
- static int ms_resolution;
-
- wxCoord DeviceToLogicalX(wxCoord x) const
- {
- int addValue = 0;
- if (m_signX == -1) addValue = m_deviceOffsetX - m_deviceOriginX; // right to left
- else addValue = m_deviceOriginX;// left to right
- return (wxCoord) ((double)(x - addValue) * m_signX + m_logicalOriginX);
- }
- wxCoord DeviceToLogicalXRel(wxCoord x) const
- {
- return x;
- }
- wxCoord DeviceToLogicalY(wxCoord y) const
- {
- int addValue = 0;
- if (m_signY == -1) addValue = m_deviceOffsetY - m_deviceOriginY; // bottom to up
- else addValue = m_deviceOriginY;// up to bottom
- return (wxCoord) ((double)(y - addValue) * m_signY + m_logicalOriginY);
- }
- wxCoord DeviceToLogicalYRel(wxCoord y) const
- {
- return y;
- }
- wxCoord CairoToLogicalX(double x) const
- {
- int addValue = 0;
- if (m_signX == -1) addValue = m_deviceOffsetX - m_deviceOriginX; // right to left
- else addValue = m_deviceOriginX;// left to right
- return (wxCoord) MapFromCairo((double)(x - addValue) * m_signX + m_logicalOriginX);
- }
- wxCoord CairoToLogicalXRel(double x) const
- {
- return (wxCoord) MapFromCairo(x);
- }
- wxCoord CairoToLogicalY(double y) const
- {
- int addValue = 0;
- if (m_signY == -1) addValue = m_deviceOffsetY - m_deviceOriginY; // bottom to up
- else addValue = m_deviceOriginY;// up to bottom
- return (wxCoord) MapFromCairo((double)(y - addValue) * m_signY + m_logicalOriginY);
- }
- wxCoord CairoToLogicalYRel(double y) const
- {
- return (wxCoord) MapFromCairo(y);
- }
- wxCoord LogicalToDeviceX(wxCoord x) const
- {
- int addValue = 0;
- if (m_signX == -1) addValue = m_deviceOffsetX - m_deviceOriginX; // right to left
- else addValue = m_deviceOriginX;// left to right
- return (wxCoord) ((double)(x - m_logicalOriginX) * m_signX + addValue);
- }
- wxCoord LogicalToDeviceXRel(wxCoord x) const
- {
- return x;
- }
- wxCoord LogicalToDeviceY(wxCoord y) const
- {
- int addValue = 0;
- if (m_signY == -1) addValue = m_deviceOffsetY - m_deviceOriginY; // bottom to up
- else addValue = m_deviceOriginY;// up to bottom
- return (wxCoord) ((double)(y - m_logicalOriginY) * m_signY + addValue);
- }
- wxCoord LogicalToDeviceYRel(wxCoord y) const
- {
- return y;
- }
- double LogicalToCairoX(wxCoord x) const
- {
- int addValue = 0;
- if (m_signX == -1) addValue = m_deviceOffsetX - m_deviceOriginX; // right to left
- else addValue = m_deviceOriginX;// left to right
- return MapToCairo((double)(x - m_logicalOriginX) * m_signX + addValue);
- }
- double LogicalToCairoXRel(wxCoord x) const
- {
- return MapToCairo(x);
- }
- double LogicalToCairoY(wxCoord y) const
- {
- int addValue = 0;
- if (m_signY == -1) addValue = m_deviceOffsetY - m_deviceOriginY; // bottom to up
- else addValue = m_deviceOriginY;// up to bottom
- return MapToCairo((double)(y - m_logicalOriginY) * m_signY + addValue);
- }
- double LogicalToCairoYRel(wxCoord y) const
- {
- return MapToCairo(y);
- }
- double MapToCairo(wxCoord coordInt) const
- {
- return (double)coordInt*72.0/(double)ms_resolution;
- }
- double MapToCairo(double coordReal) const
- {
- return coordReal*72.0/(double)ms_resolution;
- }
- wxCoord MapFromCairo(wxCoord coordInt) const
- {
- return (wxCoord) ((double)coordInt*(double)ms_resolution/72.0);
- }
- wxCoord MapFromCairo(double coordReal) const
- {
- return (wxCoord) (coordReal*(double)ms_resolution/72.0);
- }
+ GtkPrintContext *m_gpc;
+ int m_resolution;
+ double m_PS2DEV;
+ double m_DEV2PS;
+
DECLARE_DYNAMIC_CLASS(wxGtkPrintDC)
DECLARE_NO_COPY_CLASS(wxGtkPrintDC)
};