]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dcbase.cpp
split wxGrid implementation in grideditors.cpp (for wxGridCellEditor-derived classes...
[wxWidgets.git] / src / common / dcbase.cpp
index 33586d4629d9e7854e83a43f029aa29112052f6f..224cf624a129de802905f74fbdaf7222224b2d0f 100644 (file)
@@ -300,12 +300,12 @@ wxPrinterDC::wxPrinterDC(const wxPrintData& data)
 {
 }
 
 {
 }
 
-wxRect wxPrinterDC::GetPaperRect()
+wxRect wxPrinterDC::GetPaperRect() const
 {
     return GetImpl()->GetPaperRect();
 }
 
 {
     return GetImpl()->GetPaperRect();
 }
 
-int wxPrinterDC::GetResolution()
+int wxPrinterDC::GetResolution() const
 {
     return GetImpl()->GetResolution();
 }
 {
     return GetImpl()->GetResolution();
 }
@@ -413,7 +413,7 @@ void wxDCImpl::ComputeScaleAndOrigin()
     m_scaleY = m_logicalScaleY * m_userScaleY;
 }
 
     m_scaleY = m_logicalScaleY * m_userScaleY;
 }
 
-void wxDCImpl::SetMapMode( int mode )
+void wxDCImpl::SetMapMode( wxMappingMode mode )
 {
     switch (mode)
     {
 {
     switch (mode)
     {
@@ -650,7 +650,7 @@ wxDCImpl::DoStretchBlit(wxCoord xdest, wxCoord ydest,
                         wxDC *source,
                         wxCoord xsrc, wxCoord ysrc,
                         wxCoord srcWidth, wxCoord srcHeight,
                         wxDC *source,
                         wxCoord xsrc, wxCoord ysrc,
                         wxCoord srcWidth, wxCoord srcHeight,
-                        int rop,
+                        wxRasterOperationMode rop,
                         bool useMask,
                         wxCoord xsrcMask,
                         wxCoord ysrcMask)
                         bool useMask,
                         wxCoord xsrcMask,
                         wxCoord ysrcMask)
@@ -696,7 +696,7 @@ void wxDCImpl::DrawLines(const wxPointList *list, wxCoord xoffset, wxCoord yoffs
 
 void wxDCImpl::DrawPolygon(const wxPointList *list,
                            wxCoord xoffset, wxCoord yoffset,
 
 void wxDCImpl::DrawPolygon(const wxPointList *list,
                            wxCoord xoffset, wxCoord yoffset,
-                           int fillStyle)
+                           wxPolygonFillMode fillStyle)
 {
     int n = list->GetCount();
     wxPoint *points = new wxPoint[n];
 {
     int n = list->GetCount();
     wxPoint *points = new wxPoint[n];
@@ -719,7 +719,7 @@ wxDCImpl::DoDrawPolyPolygon(int n,
                             int count[],
                             wxPoint points[],
                             wxCoord xoffset, wxCoord yoffset,
                             int count[],
                             wxPoint points[],
                             wxCoord xoffset, wxCoord yoffset,
-                            int fillStyle)
+                            wxPolygonFillMode fillStyle)
 {
     if ( n == 1 )
     {
 {
     if ( n == 1 )
     {
@@ -1648,3 +1648,15 @@ void wxDCImpl::CalculateEllipticPoints( wxPointList* points,
 } // CalculateEllipticPoints
 
 #endif // __WXWINCE__
 } // 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;
+}