#include "verti.xbm"
#include "cross.xbm"
-static GdkPixmap* hatches[wxLAST_HATCH - wxFIRST_HATCH + 1];
+static GdkPixmap* hatches[wxBRUSHSTYLE_LAST_HATCH - wxBRUSHSTYLE_FIRST_HATCH + 1];
extern GtkWidget *wxGetRootWindow();
static GdkPixmap* GetHatch(int style)
{
- wxASSERT(style >= wxFIRST_HATCH && style <= wxLAST_HATCH);
- const int i = style - wxFIRST_HATCH;
+ wxASSERT(style >= wxBRUSHSTYLE_FIRST_HATCH && style <= wxBRUSHSTYLE_LAST_HATCH);
+ const int i = style - wxBRUSHSTYLE_FIRST_HATCH;
if (hatches[i] == NULL)
{
switch (style)
{
- case wxBDIAGONAL_HATCH:
+ case wxBRUSHSTYLE_BDIAGONAL_HATCH:
hatches[i] = gdk_bitmap_create_from_data(NULL, bdiag_bits, bdiag_width, bdiag_height);
break;
- case wxCROSSDIAG_HATCH:
+ case wxBRUSHSTYLE_CROSSDIAG_HATCH:
hatches[i] = gdk_bitmap_create_from_data(NULL, cdiag_bits, cdiag_width, cdiag_height);
break;
- case wxCROSS_HATCH:
+ case wxBRUSHSTYLE_CROSS_HATCH:
hatches[i] = gdk_bitmap_create_from_data(NULL, cross_bits, cross_width, cross_height);
break;
- case wxFDIAGONAL_HATCH:
+ case wxBRUSHSTYLE_FDIAGONAL_HATCH:
hatches[i] = gdk_bitmap_create_from_data(NULL, fdiag_bits, fdiag_width, fdiag_height);
break;
- case wxHORIZONTAL_HATCH:
+ case wxBRUSHSTYLE_HORIZONTAL_HATCH:
hatches[i] = gdk_bitmap_create_from_data(NULL, horiz_bits, horiz_width, horiz_height);
break;
- case wxVERTICAL_HATCH:
+ case wxBRUSHSTYLE_VERTICAL_HATCH:
hatches[i] = gdk_bitmap_create_from_data(NULL, verti_bits, verti_width, verti_height);
break;
}
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
{
if (m_gdkwindow)
gdk_draw_line( m_gdkwindow, m_penGC, XLOG2DEV(x1), YLOG2DEV(y1), XLOG2DEV(x2), YLOG2DEV(y2) );
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
{
int w = 0;
int h = 0;
GdkPixmap* pixmap = NULL;
const int style = m_brush.GetStyle();
- if (style == wxSTIPPLE || style == wxSTIPPLE_MASK_OPAQUE)
+ if (style == wxBRUSHSTYLE_STIPPLE || style == wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE)
{
const wxBitmap* stipple = m_brush.GetStipple();
if (stipple->IsOk())
{
- if (style == wxSTIPPLE)
+ if (style == wxBRUSHSTYLE_STIPPLE)
pixmap = stipple->GetPixmap();
else if (stipple->GetMask())
{
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxTRANSPARENT)
+ if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
{
GdkGC* gc;
bool originChanged;
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
{
gdk_draw_arc( m_gdkwindow, m_penGC, FALSE, xxc-r, yyc-r, 2*r,2*r, alpha1, alpha2 );
- if ((m_brush.GetStyle() != wxTRANSPARENT) && (alpha2 - alpha1 != 360*64))
+ if ((m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT) && (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 );
wxCoord start = wxCoord(sa * 64.0);
wxCoord end = wxCoord((ea-sa) * 64.0);
- if (m_brush.GetStyle() != wxTRANSPARENT)
+ if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
{
GdkGC* gc;
bool originChanged;
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
gdk_draw_arc( m_gdkwindow, m_penGC, FALSE, xx, yy, ww, hh, start, end );
}
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if ((m_pen.GetStyle() != wxTRANSPARENT) && m_gdkwindow)
+ if ((m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT) && m_gdkwindow)
gdk_draw_point( m_gdkwindow, m_penGC, XLOG2DEV(x), YLOG2DEV(y) );
CalcBoundingBox (x, y);
{
wxCHECK_RET( IsOk(), wxT("invalid window dc") );
- if (m_pen.GetStyle() == wxTRANSPARENT) return;
+ if (m_pen.GetStyle() == wxPENSTYLE_TRANSPARENT) return;
if (n <= 0) return;
//Check, if scaling is necessary
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxTRANSPARENT)
+ if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
{
GdkGC* gc;
bool originChanged;
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
{
/*
for (i = 0 ; i < n ; i++)
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxTRANSPARENT)
+ if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
{
GdkGC* gc;
bool originChanged;
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
{
#if 1
if ((m_pen.GetWidth() == 2) && (m_pen.GetCap() == wxCAP_ROUND) &&
- (m_pen.GetJoin() == wxJOIN_ROUND) && (m_pen.GetStyle() == wxSOLID))
+ (m_pen.GetJoin() == wxJOIN_ROUND) && (m_pen.GetStyle() == wxPENSTYLE_SOLID))
{
// Use 2 1-line rects instead
gdk_gc_set_line_attributes( m_penGC, 1, GDK_LINE_SOLID, GDK_CAP_ROUND, GDK_JOIN_ROUND );
// CMB: adjust size if outline is drawn otherwise the result is
// 1 pixel too wide and high
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
{
ww--;
hh--;
if (dd > hh) dd = hh;
rr = dd / 2;
- if (m_brush.GetStyle() != wxTRANSPARENT)
+ if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
{
GdkGC* gc;
bool originChanged;
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
{
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 );
if (m_gdkwindow)
{
- if (m_brush.GetStyle() != wxTRANSPARENT)
+ if (m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
{
GdkGC* gc;
bool originChanged;
gdk_gc_set_ts_origin(gc, 0, 0);
}
- if (m_pen.GetStyle() != wxTRANSPARENT)
+ if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
gdk_draw_arc( m_gdkwindow, m_penGC, FALSE, xx, yy, ww, hh, 0, 360*64 );
}
int w, h;
pango_layout_get_pixel_size(m_layout, &w, &h);
- if (m_backgroundMode == wxSOLID)
+ if (m_backgroundMode == wxBRUSHSTYLE_SOLID)
{
gdk_gc_set_foreground(m_textGC, m_textBackgroundColour.GetColor());
gdk_draw_rectangle(m_gdkwindow, m_textGC, true, x, y, w, h);
// ensure that theFont is always non-NULL
if ( !theFont || !theFont->IsOk() )
- theFont = wx_const_cast(wxFont *, &m_font);
+ theFont = &m_font;
// and use it if it's valid
if ( theFont->IsOk() )
return;
}
- pango_layout_set_text( m_layout, dataUTF8, strlen(dataUTF8) );
+ pango_layout_set_text(m_layout, dataUTF8, -1);
+ int h;
+ pango_layout_get_pixel_size(m_layout, width, &h);
if (descent)
{
- int h;
- pango_layout_get_pixel_size( m_layout, width, &h );
PangoLayoutIter *iter = pango_layout_get_iter(m_layout);
int baseline = pango_layout_iter_get_baseline(iter);
pango_layout_iter_free(iter);
*descent = h - PANGO_PIXELS(baseline);
-
- if (height)
- *height = (wxCoord) h;
- }
- else
- {
- pango_layout_get_pixel_size( m_layout, width, height );
}
+ if (height)
+ *height = h;
// Reset old font description
if (theFont->IsOk())
return false;
}
- pango_layout_set_text( m_layout, dataUTF8, strlen(dataUTF8) );
+ pango_layout_set_text(m_layout, dataUTF8, -1);
// Calculate the position of each character based on the widths of
// the previous characters
int req_nb_dash;
const wxGTKDash *req_dash;
- GdkLineStyle lineStyle = GDK_LINE_SOLID;
+ GdkLineStyle lineStyle = GDK_LINE_ON_OFF_DASH;
switch (m_pen.GetStyle())
{
- case wxUSER_DASH:
- {
- lineStyle = GDK_LINE_ON_OFF_DASH;
+ case wxPENSTYLE_USER_DASH:
req_nb_dash = m_pen.GetDashCount();
req_dash = (wxGTKDash*)m_pen.GetDash();
break;
- }
- case wxDOT:
- {
- lineStyle = GDK_LINE_ON_OFF_DASH;
+ case wxPENSTYLE_DOT:
req_nb_dash = 2;
req_dash = dotted;
break;
- }
- case wxLONG_DASH:
- {
- lineStyle = GDK_LINE_ON_OFF_DASH;
+ case wxPENSTYLE_LONG_DASH:
req_nb_dash = 2;
req_dash = wxCoord_dashed;
break;
- }
- case wxSHORT_DASH:
- {
- lineStyle = GDK_LINE_ON_OFF_DASH;
+ case wxPENSTYLE_SHORT_DASH:
req_nb_dash = 2;
req_dash = short_dashed;
break;
- }
- case wxDOT_DASH:
- {
-// lineStyle = GDK_LINE_DOUBLE_DASH;
- lineStyle = GDK_LINE_ON_OFF_DASH;
+ case wxPENSTYLE_DOT_DASH:
req_nb_dash = 4;
req_dash = dotted_dashed;
break;
- }
- case wxTRANSPARENT:
- case wxSTIPPLE_MASK_OPAQUE:
- case wxSTIPPLE:
- case wxSOLID:
+ case wxPENSTYLE_TRANSPARENT:
+ case wxPENSTYLE_STIPPLE_MASK_OPAQUE:
+ case wxPENSTYLE_STIPPLE:
+ case wxPENSTYLE_SOLID:
default:
- {
lineStyle = GDK_LINE_SOLID;
req_dash = (wxGTKDash*)NULL;
req_nb_dash = 0;
break;
- }
}
if (req_dash && req_nb_dash)
case wxCAP_BUTT: { capStyle = GDK_CAP_BUTT; break; }
case wxCAP_ROUND:
default:
- {
if (width <= 1)
{
width = 0;
capStyle = GDK_CAP_NOT_LAST;
}
- else
- {
- capStyle = GDK_CAP_ROUND;
- }
break;
- }
}
GdkJoinStyle joinStyle = GDK_JOIN_ROUND;
gdk_gc_set_fill( m_brushGC, GDK_SOLID );
- if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->IsOk()))
+ if ((m_brush.GetStyle() == wxBRUSHSTYLE_STIPPLE) && (m_brush.GetStipple()->IsOk()))
{
if (m_brush.GetStipple()->GetDepth() != 1)
{
}
}
- if ((m_brush.GetStyle() == wxSTIPPLE_MASK_OPAQUE) && (m_brush.GetStipple()->GetMask()))
+ if ((m_brush.GetStyle() == wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE) && (m_brush.GetStipple()->GetMask()))
{
gdk_gc_set_fill( m_textGC, GDK_OPAQUE_STIPPLED);
gdk_gc_set_stipple( m_textGC, m_brush.GetStipple()->GetMask()->GetBitmap() );
if (!m_gdkwindow) return;
- m_backgroundBrush.GetColour().CalcPixel( m_cmap );
- gdk_gc_set_background( m_brushGC, m_backgroundBrush.GetColour().GetColor() );
- gdk_gc_set_background( m_penGC, m_backgroundBrush.GetColour().GetColor() );
- gdk_gc_set_background( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
- gdk_gc_set_foreground( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
+ wxColor color = m_backgroundBrush.GetColour();
+ color.CalcPixel(m_cmap);
+ const GdkColor* gdkColor = color.GetColor();
+ gdk_gc_set_background(m_brushGC, gdkColor);
+ gdk_gc_set_background(m_penGC, gdkColor);
+ gdk_gc_set_background(m_bgGC, gdkColor);
+ gdk_gc_set_foreground(m_bgGC, gdkColor);
+
gdk_gc_set_fill( m_bgGC, GDK_SOLID );
- if ((m_backgroundBrush.GetStyle() == wxSTIPPLE) && (m_backgroundBrush.GetStipple()->IsOk()))
+ if (m_backgroundBrush.GetStyle() == wxBRUSHSTYLE_STIPPLE)
{
- if (m_backgroundBrush.GetStipple()->GetDepth() != 1)
- {
- gdk_gc_set_fill( m_bgGC, GDK_TILED );
- gdk_gc_set_tile( m_bgGC, m_backgroundBrush.GetStipple()->GetPixmap() );
- }
- else
+ const wxBitmap* stipple = m_backgroundBrush.GetStipple();
+ if (stipple->IsOk())
{
- gdk_gc_set_fill( m_bgGC, GDK_STIPPLED );
- gdk_gc_set_stipple( m_bgGC, m_backgroundBrush.GetStipple()->GetPixmap() );
+ if (stipple->GetDepth() != 1)
+ {
+ gdk_gc_set_fill(m_bgGC, GDK_TILED);
+ gdk_gc_set_tile(m_bgGC, stipple->GetPixmap());
+ }
+ else
+ {
+ gdk_gc_set_fill(m_bgGC, GDK_STIPPLED);
+ gdk_gc_set_stipple(m_bgGC, stipple->GetPixmap());
+ }
}
}
-
- if (m_backgroundBrush.IsHatch())
+ else if (m_backgroundBrush.IsHatch())
{
gdk_gc_set_fill( m_bgGC, GDK_STIPPLED );
gdk_gc_set_stipple(m_bgGC, GetHatch(m_backgroundBrush.GetStyle()));
// CMB 21/7/98: fill style of cross-hatch brushes is affected by
// transparent/solid background mode
- if (m_brush.GetStyle() != wxSOLID && m_brush.GetStyle() != wxTRANSPARENT)
+ if (m_brush.GetStyle() != wxBRUSHSTYLE_SOLID && m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
{
gdk_gc_set_fill( m_brushGC,
- (m_backgroundMode == wxTRANSPARENT) ? GDK_STIPPLED : GDK_OPAQUE_STIPPLED);
+ (m_backgroundMode == wxBRUSHSTYLE_TRANSPARENT) ? GDK_STIPPLED : GDK_OPAQUE_STIPPLED);
}
}
wxDC::DoSetClippingRegion( xx, yy, ww, hh );
#endif
- gdk_gc_set_clip_region( m_penGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_brushGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_textGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_bgGC, m_currentClippingRegion.GetRegion() );
+ GdkRegion* gdkRegion = m_currentClippingRegion.GetRegion();
+ gdk_gc_set_clip_region(m_penGC, gdkRegion);
+ gdk_gc_set_clip_region(m_brushGC, gdkRegion);
+ gdk_gc_set_clip_region(m_textGC, gdkRegion);
+ gdk_gc_set_clip_region(m_bgGC, gdkRegion);
}
void wxWindowDCImpl::DoSetClippingRegionAsRegion( const wxRegion ®ion )
wxDC::DoSetClippingRegion( xx, yy, ww, hh );
#endif
- gdk_gc_set_clip_region( m_penGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_brushGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_textGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_bgGC, m_currentClippingRegion.GetRegion() );
+ GdkRegion* gdkRegion = m_currentClippingRegion.GetRegion();
+ gdk_gc_set_clip_region(m_penGC, gdkRegion);
+ gdk_gc_set_clip_region(m_brushGC, gdkRegion);
+ gdk_gc_set_clip_region(m_textGC, gdkRegion);
+ gdk_gc_set_clip_region(m_bgGC, gdkRegion);
}
void wxWindowDCImpl::DestroyClippingRegion()
if (!m_gdkwindow) return;
- if (m_currentClippingRegion.IsEmpty())
- {
- gdk_gc_set_clip_rectangle( m_penGC, (GdkRectangle *) NULL );
- gdk_gc_set_clip_rectangle( m_brushGC, (GdkRectangle *) NULL );
- gdk_gc_set_clip_rectangle( m_textGC, (GdkRectangle *) NULL );
- gdk_gc_set_clip_rectangle( m_bgGC, (GdkRectangle *) NULL );
- }
- else
- {
- gdk_gc_set_clip_region( m_penGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_brushGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_textGC, m_currentClippingRegion.GetRegion() );
- gdk_gc_set_clip_region( m_bgGC, m_currentClippingRegion.GetRegion() );
- }
+ GdkRegion* gdkRegion = NULL;
+ if (!m_currentClippingRegion.IsEmpty())
+ gdkRegion = m_currentClippingRegion.GetRegion();
+
+ gdk_gc_set_clip_region(m_penGC, gdkRegion);
+ gdk_gc_set_clip_region(m_brushGC, gdkRegion);
+ gdk_gc_set_clip_region(m_textGC, gdkRegion);
+ gdk_gc_set_clip_region(m_bgGC, gdkRegion);
}
void wxWindowDCImpl::Destroy()
{
wxCleanUpGCPool();
- for (int i = wxLAST_HATCH - wxFIRST_HATCH; i--; )
+ for (int i = wxBRUSHSTYLE_LAST_HATCH - wxBRUSHSTYLE_FIRST_HATCH; i--; )
{
if (hatches[i])
g_object_unref(hatches[i]);