diff --git a/include/wx/brush.h b/include/wx/brush.h
index 9eb0a4c7e1..c3a98ba5eb 100644
--- a/include/wx/brush.h
+++ b/include/wx/brush.h
@@ -55,6 +55,19 @@ public:
virtual bool IsHatch() const
{ return (GetStyle()>=wxBRUSHSTYLE_FIRST_HATCH) && (GetStyle()<=wxBRUSHSTYLE_LAST_HATCH); }
+
+ // Convenient helpers for testing whether the brush is a transparent one:
+ // unlike GetStyle() == wxBRUSHSTYLE_TRANSPARENT, they work correctly even
+ // if the brush is invalid (they both return false in this case).
+ bool IsTransparent() const
+ {
+ return IsOk() && GetStyle() == wxBRUSHSTYLE_TRANSPARENT;
+ }
+
+ bool IsNonTransparent() const
+ {
+ return IsOk() && GetStyle() != wxBRUSHSTYLE_TRANSPARENT;
+ }
};
#if defined(__WXPALMOS__)
diff --git a/include/wx/pen.h b/include/wx/pen.h
index 479a9668ea..101b8be2de 100644
--- a/include/wx/pen.h
+++ b/include/wx/pen.h
@@ -84,6 +84,19 @@ public:
virtual wxPenCap GetCap() const = 0;
virtual int GetWidth() const = 0;
virtual int GetDashes(wxDash **ptr) const = 0;
+
+ // Convenient helpers for testing whether the pen is a transparent one:
+ // unlike GetStyle() == wxPENSTYLE_TRANSPARENT, they work correctly even if
+ // the pen is invalid (they both return false in this case).
+ bool IsTransparent() const
+ {
+ return IsOk() && GetStyle() == wxPENSTYLE_TRANSPARENT;
+ }
+
+ bool IsNonTransparent() const
+ {
+ return IsOk() && GetStyle() != wxPENSTYLE_TRANSPARENT;
+ }
};
#if defined(__WXPALMOS__)
diff --git a/interface/wx/brush.h b/interface/wx/brush.h
index 4cb38b8dd1..4531a3e531 100644
--- a/interface/wx/brush.h
+++ b/interface/wx/brush.h
@@ -172,12 +172,47 @@ public:
virtual bool IsHatch() const;
/**
- Returns @true if the brush is initialised. It will return @false if the default
- constructor has been used (for example, the brush is a member of a class, or
- @NULL has been assigned to it).
+ Returns @true if the brush is initialised.
+
+ Notice that an uninitialized brush object can't be queried for any
+ brush properties and all calls to the accessor methods on it will
+ result in an assert failure.
*/
virtual bool IsOk() const;
+ /**
+ Returns @true if the brush is a valid non-transparent brush.
+
+ This method returns @true if the brush object is initialized and has a
+ non-transparent style. Notice that this should be used instead of
+ simply testing whether GetStyle() returns a style different from
+ wxBRUSHSTYLE_TRANSPARENT if the brush may be invalid as GetStyle()
+ would assert in this case.
+
+ @see IsTransparent()
+
+ @since 2.9.2.
+ */
+ bool IsNonTransparent() const;
+
+ /**
+ Returns @true if the brush is transparent.
+
+ A transparent brush is simply a brush with wxBRUSHSTYLE_TRANSPARENT
+ style.
+
+ Notice that this function works even for non-initialized brushs (for
+ which it returns @false) unlike tests of the form GetStyle() ==
+ wxBRUSHSTYLE_TRANSPARENT
which would assert if the brush is
+ invalid.
+
+ @see IsNonTransparent()
+
+ @since 2.9.2.
+ */
+ bool IsTransparent() const;
+
+
//@{
/**
Sets the brush colour using red, green and blue values.
diff --git a/interface/wx/pen.h b/interface/wx/pen.h
index b90329c619..a623a2449c 100644
--- a/interface/wx/pen.h
+++ b/interface/wx/pen.h
@@ -273,9 +273,43 @@ public:
/**
Returns @true if the pen is initialised.
+
+ Notice that an uninitialized pen object can't be queried for any pen
+ properties and all calls to the accessor methods on it will result in
+ an assert failure.
*/
virtual bool IsOk() const;
+ /**
+ Returns @true if the pen is a valid non-transparent pen.
+
+ This method returns @true if the pen object is initialized and has a
+ non-transparent style. Notice that this should be used instead of
+ simply testing whether GetStyle() returns a style different from
+ wxPENSTYLE_TRANSPARENT if the pen may be invalid as GetStyle() would
+ assert in this case.
+
+ @see IsTransparent()
+
+ @since 2.9.2.
+ */
+ bool IsNonTransparent() const;
+
+ /**
+ Returns @true if the pen is transparent.
+
+ A transparent pen is simply a pen with wxPENSTYLE_TRANSPARENT style.
+
+ Notice that this function works even for non-initialized pens (for
+ which it returns @false) unlike tests of the form GetStyle() ==
+ wxPENSTYLE_TRANSPARENT
which would assert if the pen is invalid.
+
+ @see IsNonTransparent()
+
+ @since 2.9.2.
+ */
+ bool IsTransparent() const;
+
/**
Sets the pen cap style, which may be one of @c wxCAP_ROUND, @c wxCAP_PROJECTING
and @c wxCAP_BUTT. The default is @c wxCAP_ROUND.
diff --git a/src/common/imagfill.cpp b/src/common/imagfill.cpp
index fa4992fe6b..df260c0398 100644
--- a/src/common/imagfill.cpp
+++ b/src/common/imagfill.cpp
@@ -276,7 +276,7 @@ wxImageFloodFill(wxImage *image,
bool wxDoFloodFill(wxDC *dc, wxCoord x, wxCoord y,
const wxColour& col, wxFloodFillStyle style)
{
- if (dc->GetBrush().GetStyle() == wxBRUSHSTYLE_TRANSPARENT)
+ if (dc->GetBrush().IsTransparent())
return true;
int height = 0;
diff --git a/src/generic/dcpsg.cpp b/src/generic/dcpsg.cpp
index 6319a9c73a..c18a7dd391 100644
--- a/src/generic/dcpsg.cpp
+++ b/src/generic/dcpsg.cpp
@@ -427,7 +427,8 @@ void wxPostScriptDCImpl::DoDrawLine (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord
{
wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
+ if ( m_pen.IsTransparent() )
+ return;
SetPen( m_pen );
@@ -480,7 +481,7 @@ void wxPostScriptDCImpl::DoDrawArc (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord
int i_radius = wxRound( radius );
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -501,7 +502,7 @@ void wxPostScriptDCImpl::DoDrawArc (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord
CalcBoundingBox( xc+i_radius, yc+i_radius );
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen( m_pen );
@@ -542,7 +543,7 @@ void wxPostScriptDCImpl::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord
return;
}
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -559,7 +560,7 @@ void wxPostScriptDCImpl::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord
CalcBoundingBox( x+w, y+h );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen( m_pen );
@@ -581,7 +582,8 @@ void wxPostScriptDCImpl::DoDrawPoint (wxCoord x, wxCoord y)
{
wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
+ if ( m_pen.IsTransparent() )
+ return;
SetPen (m_pen);
@@ -604,7 +606,7 @@ void wxPostScriptDCImpl::DoDrawPolygon (int n, wxPoint points[], wxCoord xoffset
if (n <= 0) return;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -635,7 +637,7 @@ void wxPostScriptDCImpl::DoDrawPolygon (int n, wxPoint points[], wxCoord xoffset
PsPrint( (fillStyle == wxODDEVEN_RULE ? "eofill\n" : "fill\n") );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen( m_pen );
@@ -674,7 +676,7 @@ void wxPostScriptDCImpl::DoDrawPolyPolygon (int n, int count[], wxPoint points[]
if (n <= 0) return;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -708,7 +710,7 @@ void wxPostScriptDCImpl::DoDrawPolyPolygon (int n, int count[], wxPoint points[]
PsPrint( (fillStyle == wxODDEVEN_RULE ? "eofill\n" : "fill\n") );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen( m_pen );
@@ -748,7 +750,8 @@ void wxPostScriptDCImpl::DoDrawLines (int n, wxPoint points[], wxCoord xoffset,
{
wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
+ if ( m_pen.IsTransparent() )
+ return;
if (n <= 0) return;
@@ -785,7 +788,7 @@ void wxPostScriptDCImpl::DoDrawRectangle (wxCoord x, wxCoord y, wxCoord width, w
width--;
height--;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -808,7 +811,7 @@ void wxPostScriptDCImpl::DoDrawRectangle (wxCoord x, wxCoord y, wxCoord width, w
CalcBoundingBox( x + width, y + height );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
@@ -849,7 +852,7 @@ void wxPostScriptDCImpl::DoDrawRoundedRectangle (wxCoord x, wxCoord y, wxCoord w
wxCoord rad = (wxCoord) radius;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -881,7 +884,7 @@ void wxPostScriptDCImpl::DoDrawRoundedRectangle (wxCoord x, wxCoord y, wxCoord w
CalcBoundingBox( x + width, y + height );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
@@ -921,7 +924,7 @@ void wxPostScriptDCImpl::DoDrawEllipse (wxCoord x, wxCoord y, wxCoord width, wxC
width--;
height--;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush (m_brush);
@@ -938,7 +941,7 @@ void wxPostScriptDCImpl::DoDrawEllipse (wxCoord x, wxCoord y, wxCoord width, wxC
CalcBoundingBox( x + width, y + height );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
diff --git a/src/gtk/dcclient.cpp b/src/gtk/dcclient.cpp
index f8cd7b6eaa..a27b61ae1f 100644
--- a/src/gtk/dcclient.cpp
+++ b/src/gtk/dcclient.cpp
@@ -477,7 +477,7 @@ void wxWindowDCImpl::DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
if (m_gdkwindow)
gdk_draw_line( m_gdkwindow, m_penGC, XLOG2DEV(x1), YLOG2DEV(y1), XLOG2DEV(x2), YLOG2DEV(y2) );
@@ -491,7 +491,7 @@ void wxWindowDCImpl::DoCrossHair( wxCoord x, wxCoord y )
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
int w = 0;
int h = 0;
@@ -589,7 +589,7 @@ void wxWindowDCImpl::DoDrawArc( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
GdkGC* gc;
bool originChanged;
@@ -601,11 +601,11 @@ void wxWindowDCImpl::DoDrawArc( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
gdk_draw_arc( m_gdkwindow, m_penGC, FALSE, xxc-r, yyc-r, 2*r,2*r, alpha1, alpha2 );
- if ((m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT) && (alpha2 - alpha1 != 360*64))
+ if ( m_brush.IsNonTransparent() && (alpha2 - alpha1 != 360*64) )
{
gdk_draw_line( m_gdkwindow, m_penGC, xx1, yy1, xxc, yyc );
gdk_draw_line( m_gdkwindow, m_penGC, xxc, yyc, xx2, yy2 );
@@ -635,7 +635,7 @@ void wxWindowDCImpl::DoDrawEllipticArc( wxCoord x, wxCoord y, wxCoord width, wxC
wxCoord start = wxCoord(sa * 64.0);
wxCoord end = wxCoord((ea-sa) * 64.0);
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
GdkGC* gc;
bool originChanged;
@@ -647,7 +647,7 @@ void wxWindowDCImpl::DoDrawEllipticArc( wxCoord x, wxCoord y, wxCoord width, wxC
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
gdk_draw_arc( m_gdkwindow, m_penGC, FALSE, xx, yy, ww, hh, start, end );
}
@@ -659,7 +659,7 @@ void wxWindowDCImpl::DoDrawPoint( wxCoord x, wxCoord y )
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if ((m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT) && m_gdkwindow)
+ if ( m_pen.IsNonTransparent() && m_gdkwindow )
gdk_draw_point( m_gdkwindow, m_penGC, XLOG2DEV(x), YLOG2DEV(y) );
CalcBoundingBox (x, y);
@@ -669,9 +669,11 @@ void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCo
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
if (n <= 0) return;
+ if ( m_pen.IsTransparent() )
+ return;
+
//Check, if scaling is necessary
const bool doScale =
xoffset != 0 || yoffset != 0 || XLOG2DEV(10) != 10 || YLOG2DEV(10) != 10;
@@ -730,7 +732,7 @@ void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[],
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
GdkGC* gc;
bool originChanged;
@@ -742,7 +744,7 @@ void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[],
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
/*
for (i = 0 ; i < n ; i++)
@@ -781,7 +783,7 @@ void wxWindowDCImpl::DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoo
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
GdkGC* gc;
bool originChanged;
@@ -793,7 +795,7 @@ void wxWindowDCImpl::DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoo
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if ( m_pen.IsOk() && m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT )
+ if ( m_pen.IsNonTransparent() )
{
if ((m_pen.GetWidth() == 2) && (m_pen.GetCap() == wxCAP_ROUND) &&
(m_pen.GetJoin() == wxJOIN_ROUND) && (m_pen.GetStyle() == wxPENSTYLE_SOLID))
@@ -857,7 +859,7 @@ void wxWindowDCImpl::DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width
// CMB: adjust size if outline is drawn otherwise the result is
// 1 pixel too wide and high
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
ww--;
hh--;
@@ -872,7 +874,7 @@ void wxWindowDCImpl::DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width
if (dd > hh) dd = hh;
rr = dd / 2;
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
GdkGC* gc;
bool originChanged;
@@ -889,7 +891,7 @@ void wxWindowDCImpl::DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
gdk_draw_line( m_gdkwindow, m_penGC, xx+rr+1, yy, xx+ww-rr, yy );
gdk_draw_line( m_gdkwindow, m_penGC, xx+rr+1, yy+hh, xx+ww-rr, yy+hh );
@@ -922,7 +924,7 @@ void wxWindowDCImpl::DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
GdkGC* gc;
bool originChanged;
@@ -930,7 +932,7 @@ void wxWindowDCImpl::DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord
// If the pen is transparent pen we increase the size
// for better compatibility with other platforms.
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
++ww;
++hh;
@@ -942,7 +944,7 @@ void wxWindowDCImpl::DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
gdk_draw_arc( m_gdkwindow, m_penGC, false, xx, yy, ww, hh, 0, 360*64 );
}
diff --git a/src/gtk/gnome/gprint.cpp b/src/gtk/gnome/gprint.cpp
index 32d206a236..abe6b7ba62 100644
--- a/src/gtk/gnome/gprint.cpp
+++ b/src/gtk/gnome/gprint.cpp
@@ -1060,7 +1060,8 @@ wxGnomePrinterDCImpl::DoGetPixel(wxCoord WXUNUSED(x1),
void wxGnomePrinterDCImpl::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
{
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
+ if ( m_pen.IsTransparent() )
+ return;
SetPen( m_pen );
@@ -1107,7 +1108,7 @@ void wxGnomePrinterDCImpl::DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2
while (alpha2 > 360) alpha2 -= 360;
}
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
gs_libGnomePrint->gnome_print_moveto ( m_gpc, XLOG2DEV(xc), YLOG2DEV(yc) );
@@ -1116,7 +1117,7 @@ void wxGnomePrinterDCImpl::DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2
gs_libGnomePrint->gnome_print_fill( m_gpc );
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
gs_libGnomePrint->gnome_print_newpath( m_gpc );
@@ -1149,7 +1150,7 @@ void wxGnomePrinterDCImpl::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoo
xx = 0.0;
yy = 0.0;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -1161,7 +1162,7 @@ void wxGnomePrinterDCImpl::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoo
gs_libGnomePrint->gnome_print_fill( m_gpc );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
@@ -1183,10 +1184,11 @@ void wxGnomePrinterDCImpl::DoDrawPoint(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
void wxGnomePrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
{
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
-
if (n <= 0) return;
+ if ( m_pen.IsTransparent() )
+ return;
+
SetPen (m_pen);
int i;
@@ -1207,7 +1209,7 @@ void wxGnomePrinterDCImpl::DoDrawPolygon(int n, wxPoint points[],
{
if (n==0) return;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -1228,7 +1230,7 @@ void wxGnomePrinterDCImpl::DoDrawPolygon(int n, wxPoint points[],
gs_libGnomePrint->gnome_print_fill( m_gpc );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
@@ -1263,7 +1265,7 @@ void wxGnomePrinterDCImpl::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width,
width--;
height--;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
@@ -1279,7 +1281,7 @@ void wxGnomePrinterDCImpl::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width,
CalcBoundingBox( x + width, y + height );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
@@ -1303,7 +1305,7 @@ void wxGnomePrinterDCImpl::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord
wxCoord rad = wxRound( radius );
- if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush(m_brush);
gs_libGnomePrint->gnome_print_newpath(m_gpc);
@@ -1335,7 +1337,7 @@ void wxGnomePrinterDCImpl::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord
CalcBoundingBox(x+width,y+height);
}
- if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen(m_pen);
gs_libGnomePrint->gnome_print_newpath(m_gpc);
@@ -1419,7 +1421,7 @@ void wxGnomePrinterDCImpl::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wx
width--;
height--;
- if (m_brush.GetStyle () != wxBRUSHSTYLE_TRANSPARENT)
+ if ( m_brush.IsNonTransparent() )
{
SetBrush( m_brush );
makeEllipticalPath( x, y, width, height );
@@ -1428,7 +1430,7 @@ void wxGnomePrinterDCImpl::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wx
CalcBoundingBox( x + width, y + height );
}
- if (m_pen.GetStyle () != wxPENSTYLE_TRANSPARENT)
+ if ( m_pen.IsNonTransparent() )
{
SetPen (m_pen);
makeEllipticalPath( x, y, width, height );
diff --git a/src/gtk/print.cpp b/src/gtk/print.cpp
index 32b2c08b1e..fdc52767c9 100644
--- a/src/gtk/print.cpp
+++ b/src/gtk/print.cpp
@@ -1266,7 +1266,8 @@ bool wxGtkPrinterDCImpl::DoGetPixel(wxCoord WXUNUSED(x1),
void wxGtkPrinterDCImpl::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
{
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
+ if ( m_pen.IsTransparent() )
+ return;
SetPen( m_pen );
cairo_move_to ( m_cairo, XLOG2DEV(x1), YLOG2DEV(y1) );
@@ -1374,7 +1375,8 @@ void wxGtkPrinterDCImpl::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord
void wxGtkPrinterDCImpl::DoDrawPoint(wxCoord x, wxCoord y)
{
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
+ if ( m_pen.IsTransparent() )
+ return;
SetPen( m_pen );
@@ -1387,7 +1389,9 @@ void wxGtkPrinterDCImpl::DoDrawPoint(wxCoord x, wxCoord y)
void wxGtkPrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
{
- if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
+ if ( m_pen.IsTransparent() )
+ return;
+
if (n <= 0) return;
diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp
index 298e6c8613..b5f8cd1298 100644
--- a/src/msw/dc.cpp
+++ b/src/msw/dc.cpp
@@ -723,7 +723,7 @@ void wxMSWDCImpl::DoDrawArc(wxCoord x1, wxCoord y1,
wxCoord xxx2 = (wxCoord) (xxc+ray);
wxCoord yyy2 = (wxCoord) (yyc+ray);
- if ( m_brush.IsOk() && m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT )
+ if ( m_brush.IsNonTransparent() )
{
// Have to add 1 to bottom-right corner of rectangle
// to make semi-circles look right (crooked line otherwise).
@@ -931,7 +931,7 @@ void wxMSWDCImpl::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord h
// (i.e. drawn with a transparent pen) one pixel smaller in both directions
// and we want them to have the same size regardless of which pen is used
#ifndef __WXWINCE__
- if ( m_pen.IsOk() && m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT )
+ if ( m_pen.IsTransparent() )
{
x2dev++;
y2dev++;
@@ -965,7 +965,7 @@ void wxMSWDCImpl::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wx
// Windows draws the filled rectangles without outline (i.e. drawn with a
// transparent pen) one pixel smaller in both directions and we want them
// to have the same size regardless of which pen is used - adjust
- if ( m_pen.IsOk() && m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT )
+ if ( m_pen.IsTransparent() )
{
x2++;
y2++;