From 00e0d52a92c9cd868eacfad163b3443d4216ac05 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Karsten=20Ball=C3=BCder?= Date: Wed, 29 Jul 1998 10:34:11 +0000 Subject: [PATCH] implemented correct setting of background colour for text git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- user/wxLayout/wxLayout.cpp | 2 +- user/wxLayout/wxllist.cpp | 14 ++++++++++++++ user/wxLayout/wxllist.h | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/user/wxLayout/wxLayout.cpp b/user/wxLayout/wxLayout.cpp index 925cba8edb..87387fc68b 100644 --- a/user/wxLayout/wxLayout.cpp +++ b/user/wxLayout/wxLayout.cpp @@ -116,7 +116,7 @@ MyFrame::AddSampleText(wxLayoutList &llist) llist.Insert(" and "); llist.SetFont(-1,-1,-1,-1,-1,"red","black"); llist.Insert("red on black"); - llist.SetFont(-1,-1,-1,-1,-1,"black"); + llist.SetFont(-1,-1,-1,-1,-1,"black","white"); llist.Insert(" text."); llist.LineBreak(); diff --git a/user/wxLayout/wxllist.cpp b/user/wxLayout/wxllist.cpp index eae1b75cc4..6303a07005 100644 --- a/user/wxLayout/wxllist.cpp +++ b/user/wxLayout/wxllist.cpp @@ -322,10 +322,23 @@ wxLayoutList::Draw(wxDC &dc, bool findObject, wxPoint const &findCoords) // setting up the default: dc.SetTextForeground( *wxBLACK ); + dc.SetTextBackground( *wxWHITE ); + dc.SetBackgroundMode( wxSOLID ); // to enable setting of text background dc.SetFont( *wxNORMAL_FONT ); + + //FIXME: who frees the brush, how long does it need to exist? if(m_DefaultSetting) + { m_DefaultSetting->Draw(dc,wxPoint(0,0),0,true); + dc.SetBackground( wxBrush(* m_DefaultSetting->GetBGColour(),wxSOLID)); + } + else + dc.SetBackground( wxBrush(wxColour("White"), wxSOLID) ); + + dc.Clear(); + + // we calculate everything for drawing a line, then rewind to the // begin of line and actually draw it @@ -850,6 +863,7 @@ wxLayoutList::Clear(int family, int size, int style, int weight, m_LineHeight = (BASELINESTRETCH*m_FontPtSize)/10; m_MaxX = 0; m_MaxY = 0; + if(m_DefaultSetting) delete m_DefaultSetting; m_DefaultSetting = new diff --git a/user/wxLayout/wxllist.h b/user/wxLayout/wxllist.h index 48d70c2326..f8242f3f06 100644 --- a/user/wxLayout/wxllist.h +++ b/user/wxLayout/wxllist.h @@ -157,8 +157,10 @@ public: bool underline, wxColour const *fg, wxColour const *bg); ~wxLayoutObjectCmd(); - // caller must free pointer: + /// caller must free pointer: wxLayoutStyleInfo *GetStyle(void) const ; + /// return the background colour for setting colour of window + wxColour const *GetBGColour(void) const { return m_ColourBG; } private: /// the font to use wxFont *m_font; -- 2.45.2