]> git.saurik.com Git - wxWidgets.git/commitdiff
Reduce width and height of drawing ops by one in all vector printing backends
authorRobert Roebling <robert@roebling.de>
Mon, 24 Sep 2007 21:07:20 +0000 (21:07 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 24 Sep 2007 21:07:20 +0000 (21:07 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/dcpsg.cpp
src/gtk/gnome/gprint.cpp
src/gtk/print.cpp

index e978a7dba0d76ccdb62976b6329b11f274915dfe..f8e57a0836fd16ea707b6b14d626d0b615eeaefc 100644 (file)
@@ -737,6 +737,9 @@ void wxPostScriptDC::DoDrawLines (int n, wxPoint points[], wxCoord xoffset, wxCo
 void wxPostScriptDC::DoDrawRectangle (wxCoord x, wxCoord y, wxCoord width, wxCoord height)
 {
     wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
+    
+    width--;
+    height--;
 
     if (m_brush.GetStyle () != wxTRANSPARENT)
     {
@@ -789,6 +792,9 @@ void wxPostScriptDC::DoDrawRoundedRectangle (wxCoord x, wxCoord y, wxCoord width
 {
     wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
 
+    width--;
+    height--;
+
     if (radius < 0.0)
     {
         // Now, a negative radius is interpreted to mean
@@ -868,6 +874,9 @@ void wxPostScriptDC::DoDrawEllipse (wxCoord x, wxCoord y, wxCoord width, wxCoord
 {
     wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
 
+    width--;
+    height--;
+
     if (m_brush.GetStyle () != wxTRANSPARENT)
     {
         SetBrush (m_brush);
index a676664ff1d0e9e754c681197d9436f63905153b..344569826a31d1fa7d05adda24be51f0452ad57f 100644 (file)
@@ -1198,6 +1198,9 @@ void wxGnomePrintDC::DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxC
 
 void wxGnomePrintDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
 {
+    width--;
+    height--;
+
     if (m_brush.GetStyle () != wxTRANSPARENT)
     {
         SetBrush( m_brush );
@@ -1233,7 +1236,10 @@ void wxGnomePrintDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoor
 
 void wxGnomePrintDC::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius)
 {
-    wxCoord rad = (wxCoord) radius;
+    width--;
+    height--;
+
+    wxCoord rad = wxRound( radius );
 
     if (m_brush.GetStyle() != wxTRANSPARENT)
     {
@@ -1348,6 +1354,9 @@ void wxGnomePrintDC::makeEllipticalPath(wxCoord x, wxCoord y,
 
 void wxGnomePrintDC::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
 {
+    width--;
+    height--;
+
     if (m_brush.GetStyle () != wxTRANSPARENT)
     {
         SetBrush( m_brush );
index d1f3080828ed6260990a0db5f0658026b2aba364..24b50d68ef2c27648d14cabc292d59cdb120d607 100644 (file)
@@ -1415,6 +1415,9 @@ void wxGtkPrintDC::DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxCoo
 
 void wxGtkPrintDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
 {
+    width--;
+    height--;
+
     gs_cairo->cairo_new_path(m_cairo);
     gs_cairo->cairo_rectangle ( m_cairo, XLOG2DEV(x), YLOG2DEV(y), XLOG2DEVREL(width), YLOG2DEVREL(height));
 
@@ -1430,6 +1433,9 @@ void wxGtkPrintDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord
 
 void wxGtkPrintDC::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius)
 {
+    width--;
+    height--;
+
     if (radius < 0.0) radius = - radius * ((width < height) ? width : height);
 
     wxCoord dd = 2 * (wxCoord) radius;
@@ -1475,6 +1481,9 @@ void wxGtkPrintDC::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, w
 
 void wxGtkPrintDC::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
 {
+    width--;
+    height--;
+
     gs_cairo->cairo_save (m_cairo);
 
     gs_cairo->cairo_new_path(m_cairo);