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:
@@ -116,7 +116,7 @@ MyFrame::AddSampleText(wxLayoutList &llist)
|
|||||||
llist.Insert(" and ");
|
llist.Insert(" and ");
|
||||||
llist.SetFont(-1,-1,-1,-1,-1,"red","black");
|
llist.SetFont(-1,-1,-1,-1,-1,"red","black");
|
||||||
llist.Insert("red on 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.Insert(" text.");
|
||||||
llist.LineBreak();
|
llist.LineBreak();
|
||||||
|
|
||||||
|
@@ -322,10 +322,23 @@ wxLayoutList::Draw(wxDC &dc, bool findObject, wxPoint const &findCoords)
|
|||||||
|
|
||||||
// setting up the default:
|
// setting up the default:
|
||||||
dc.SetTextForeground( *wxBLACK );
|
dc.SetTextForeground( *wxBLACK );
|
||||||
|
dc.SetTextBackground( *wxWHITE );
|
||||||
|
dc.SetBackgroundMode( wxSOLID ); // to enable setting of text background
|
||||||
dc.SetFont( *wxNORMAL_FONT );
|
dc.SetFont( *wxNORMAL_FONT );
|
||||||
|
|
||||||
|
|
||||||
|
//FIXME: who frees the brush, how long does it need to exist?
|
||||||
if(m_DefaultSetting)
|
if(m_DefaultSetting)
|
||||||
|
{
|
||||||
m_DefaultSetting->Draw(dc,wxPoint(0,0),0,true);
|
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
|
// we calculate everything for drawing a line, then rewind to the
|
||||||
// begin of line and actually draw it
|
// 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_LineHeight = (BASELINESTRETCH*m_FontPtSize)/10;
|
||||||
m_MaxX = 0; m_MaxY = 0;
|
m_MaxX = 0; m_MaxY = 0;
|
||||||
|
|
||||||
|
|
||||||
if(m_DefaultSetting)
|
if(m_DefaultSetting)
|
||||||
delete m_DefaultSetting;
|
delete m_DefaultSetting;
|
||||||
m_DefaultSetting = new
|
m_DefaultSetting = new
|
||||||
|
@@ -157,8 +157,10 @@ public:
|
|||||||
bool underline,
|
bool underline,
|
||||||
wxColour const *fg, wxColour const *bg);
|
wxColour const *fg, wxColour const *bg);
|
||||||
~wxLayoutObjectCmd();
|
~wxLayoutObjectCmd();
|
||||||
// caller must free pointer:
|
/// caller must free pointer:
|
||||||
wxLayoutStyleInfo *GetStyle(void) const ;
|
wxLayoutStyleInfo *GetStyle(void) const ;
|
||||||
|
/// return the background colour for setting colour of window
|
||||||
|
wxColour const *GetBGColour(void) const { return m_ColourBG; }
|
||||||
private:
|
private:
|
||||||
/// the font to use
|
/// the font to use
|
||||||
wxFont *m_font;
|
wxFont *m_font;
|
||||||
|
Reference in New Issue
Block a user