{
}
-wxRect wxPrinterDC::GetPaperRect()
+wxRect wxPrinterDC::GetPaperRect() const
{
return GetImpl()->GetPaperRect();
}
-int wxPrinterDC::GetResolution()
+int wxPrinterDC::GetResolution() const
{
return GetImpl()->GetResolution();
}
m_scaleY = m_logicalScaleY * m_userScaleY;
}
-void wxDCImpl::SetMapMode( int mode )
+void wxDCImpl::SetMapMode( wxMappingMode mode )
{
switch (mode)
{
wxDC *source,
wxCoord xsrc, wxCoord ysrc,
wxCoord srcWidth, wxCoord srcHeight,
- int rop,
+ wxRasterOperationMode rop,
bool useMask,
wxCoord xsrcMask,
wxCoord ysrcMask)
void wxDCImpl::DrawPolygon(const wxPointList *list,
wxCoord xoffset, wxCoord yoffset,
- int fillStyle)
+ wxPolygonFillMode fillStyle)
{
int n = list->GetCount();
wxPoint *points = new wxPoint[n];
int count[],
wxPoint points[],
wxCoord xoffset, wxCoord yoffset,
- int fillStyle)
+ wxPolygonFillMode fillStyle)
{
if ( n == 1 )
{
static bool wx_spline_add_point(double x, double y);
static void wx_spline_draw_point_array(wxDC *dc);
-wxPointList wx_spline_point_list;
+static wxPointList wx_spline_point_list;
#define half(z1, z2) ((z1+z2)/2.0)
#define THRESHOLD 5
if (h) *h = hh;
}
+void wxDC::DrawObject(wxDrawObject* drawobject)
+{
+ drawobject->Draw(*this);
+ CalcBoundingBox(drawobject->MinX(),drawobject->MinY());
+ CalcBoundingBox(drawobject->MaxX(),drawobject->MaxY());
+}
+
#endif // WXWIN_COMPATIBILITY_2_8
/*
} // CalculateEllipticPoints
#endif // __WXWINCE__
+
+float wxDCImpl::GetFontPointSizeAdjustment(float dpi)
+{
+ // wxMSW has long-standing bug where wxFont point size is interpreted as
+ // "pixel size corresponding to given point size *on screen*". In other
+ // words, on a typical 600dpi printer and a typical 96dpi screen, fonts
+ // are ~6 times smaller when printing. Unfortunately, this bug is so severe
+ // that *all* printing code has to account for it and consequently, other
+ // ports need to emulate this bug too:
+ const wxSize screenPPI = wxGetDisplayPPI();
+ return float(screenPPI.y) / dpi;
+}