From dbc82a780d00a2a99b81b0a5cf34d573ad561bde Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 7 Jun 2004 08:56:31 +0000 Subject: [PATCH] Patch : 2.1 nopatch (linux) Files : Bug 0000092 Lo sfondo dei campi quando non hanno il focus viene disegnato in grigio git-svn-id: svn://10.65.10.50/trunk@12156 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- xvaga/xvaga.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index b0230bb4e..7c9a87ab1 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -2183,6 +2183,29 @@ void xvt_dwin_draw_text(WINDOW win, int x, int y, const char *s, int len) str.Truncate(len); wxDC& dc = tdc.GetDC(); // Prima getto il DC ... const int delta = tdc.GetFontDelta(); // ... poi faccio la GetFontDelta! +#ifdef LINUX + if (tdc._dct.opaque_text) + { + RCT back; + + back.left = x; + back.right = x + xvt_dwin_get_text_width(win, str, -1); + back.top = y - delta; + back.bottom = y; + CAST_COLOR(tdc._dct.back_color, brush_color); + + wxBrush* brush = wxTheBrushList->FindOrCreateBrush(brush_color, wxSOLID); + wxBrush & old_brush = dc.GetBrush(); + wxPen & old_pen = dc.GetPen(); + const wxRect rct = NormalizeRCT(&back); + + dc.SetBrush(*brush); + dc.SetPen(*wxTRANSPARENT_PEN); + dc.DrawRectangle(rct); + dc.SetBrush(old_brush); + dc.SetPen(old_pen); + } +#endif dc.DrawText(str, x, y-delta); } }