+ if (m_brush.GetStyle () != wxTRANSPARENT)
+ {
+ SetBrush( m_brush );
+
+ gnome_print_newpath( m_gpc );
+ gnome_print_moveto( m_gpc,
+ XLOG2DEV(x), YLOG2DEV(y+height/2) );
+
+ // start with top half
+ gnome_print_curveto( m_gpc,
+ XLOG2DEV(x), YLOG2DEV(y),
+ XLOG2DEV(x+width), YLOG2DEV(y),
+ XLOG2DEV(x+width), YLOG2DEV(y+height/2) );
+ // lower half
+ gnome_print_curveto( m_gpc,
+ XLOG2DEV(x+width), YLOG2DEV(y+height),
+ XLOG2DEV(x), YLOG2DEV(y+height),
+ XLOG2DEV(x), YLOG2DEV(y+height/2) );
+
+ gnome_print_closepath( m_gpc );
+ gnome_print_fill( m_gpc );
+
+ CalcBoundingBox( x, y );
+ CalcBoundingBox( x + width, y + height );
+ }
+
+ if (m_pen.GetStyle () != wxTRANSPARENT)
+ {
+ SetPen (m_pen);
+
+ gnome_print_newpath( m_gpc );
+ gnome_print_moveto( m_gpc,
+ XLOG2DEV(x), YLOG2DEV(y+height/2) );
+
+ // start with top half
+ gnome_print_curveto( m_gpc,
+ XLOG2DEV(x), YLOG2DEV(y),
+ XLOG2DEV(x+width), YLOG2DEV(y),
+ XLOG2DEV(x+width), YLOG2DEV(y+height/2) );
+ // lower half
+ gnome_print_curveto( m_gpc,
+ XLOG2DEV(x+width), YLOG2DEV(y+height),
+ XLOG2DEV(x), YLOG2DEV(y+height),
+ XLOG2DEV(x), YLOG2DEV(y+height/2) );
+
+ gnome_print_closepath( m_gpc );
+ gnome_print_stroke( m_gpc );
+
+ CalcBoundingBox( x, y );
+ CalcBoundingBox( x + width, y + height );
+ }