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
This commit is contained in:
Karsten Ballüder 1998-07-29 10:34:11 +00:00
parent b204641ec9
commit 00e0d52a92
3 changed files with 18 additions and 2 deletions

View File

@ -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();

View File

@ -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

View File

@ -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;