X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e55ad60e195f1007db921b2a73a3cac98ed9df65..4bc67cc550bcd9d5f93f88ae22a4f6ac7fafb5f7:/src/common/gdicmn.cpp?ds=sidebyside diff --git a/src/common/gdicmn.cpp b/src/common/gdicmn.cpp index 7238bc9d0a..642c03c3ea 100644 --- a/src/common/gdicmn.cpp +++ b/src/common/gdicmn.cpp @@ -29,6 +29,7 @@ #include "wx/cursor.h" #include "wx/font.h" #include "wx/palette.h" +#include "wx/app.h" #include "wx/log.h" #include @@ -37,6 +38,10 @@ #include #endif +#ifdef __WXMOTIF__ +#include +#endif + #if !USE_SHARED_LIBRARY IMPLEMENT_CLASS(wxColourDatabase, wxList) IMPLEMENT_DYNAMIC_CLASS(wxFontList, wxList) @@ -251,7 +256,11 @@ void wxColourDatabase::Initialize () wxColour *wxColourDatabase::FindColour(const wxString& colour) { - wxNode *node = Find((char *) (const char *)colour); + // VZ: make the comparaison case insensitive + wxString str = colour; + str.MakeUpper(); + + wxNode *node = Find(str); if (node) return (wxColour *)node->Data(); @@ -283,7 +292,7 @@ wxColour *wxColourDatabase::FindColour(const wxString& colour) XColor xcolour; #ifdef __WXMOTIF__ - Display *display = XtDisplay(wxTheApp->topLevel) ; + Display *display = XtDisplay((Widget) wxTheApp->GetTopLevelWidget()) ; #endif #ifdef __XVIEW__ Xv_Screen screen = xv_get(xview_server, SERVER_NTH_SCREEN, 0); @@ -292,7 +301,7 @@ wxColour *wxColourDatabase::FindColour(const wxString& colour) #endif /* MATTHEW: [4] Use wxGetMainColormap */ - if (!XParseColor(display, wxGetMainColormap(display), colour,&xcolour)) + if (!XParseColor(display, (Colormap) wxTheApp->GetMainColormap((WXDisplay*) display), colour,&xcolour)) return NULL; unsigned char r = (unsigned char)(xcolour.red >> 8); @@ -319,7 +328,7 @@ wxString wxColourDatabase::FindName (const wxColour& colour) const if (col->Red () == red && col->Green () == green && col->Blue () == blue) { - char *found = node->key.string; + const char *found = node->GetKeyString(); if (found) return wxString(found); } @@ -340,7 +349,8 @@ void wxInitializeStockObjects () #ifdef __WXMOTIF__ #endif #ifdef __X__ - wxFontPool = new XFontPool; + // TODO + // wxFontPool = new XFontPool; #endif wxNORMAL_FONT = new wxFont (12, wxMODERN, wxNORMAL, wxNORMAL); @@ -439,8 +449,7 @@ wxBitmapList::wxBitmapList () wxBitmapList::~wxBitmapList () { -#ifdef __WXMSW__ - +#if defined(__WXMSW__) || defined(__WXMOTIF__) wxNode *node = First (); while (node) { @@ -456,7 +465,7 @@ wxBitmapList::~wxBitmapList () // Pen and Brush lists wxPenList::~wxPenList () { -#ifdef __WXMSW__ +#if defined(__WXMSW__) || defined(__WXMOTIF__) wxNode *node = First (); while (node) { @@ -502,18 +511,9 @@ wxPen *wxPenList::FindOrCreatePen (const wxColour& colour, int width, int style) return pen; } -wxPen *wxPenList::FindOrCreatePen (const wxString& colour, int width, int style) -{ - wxColour *the_colour = wxTheColourDatabase->FindColour (colour); - if (the_colour) - return FindOrCreatePen (*the_colour, width, style); - else - return (wxPen *) NULL; -} - wxBrushList::~wxBrushList () { -#ifdef __WXMSW__ +#if defined(__WXMSW__) || defined(__WXMOTIF__) wxNode *node = First (); while (node) { @@ -552,15 +552,6 @@ wxBrush *wxBrushList::FindOrCreateBrush (const wxColour& colour, int style) return brush; } -wxBrush *wxBrushList::FindOrCreateBrush (const wxString& colour, int style) -{ - wxColour *the_colour = wxTheColourDatabase->FindColour (colour); - if (the_colour) - return FindOrCreateBrush (*the_colour, style); - else - return (wxBrush *) NULL; -} - void wxBrushList::RemoveBrush (wxBrush * brush) { DeleteObject (brush); @@ -604,12 +595,12 @@ wxFont *wxFontList:: each_font->GetStyle () == Style && each_font->GetWeight () == Weight && each_font->GetUnderlined () == underline && -#if defined(__X__) || (defined(__WXMSW__) && USE_PORTABLE_FONTS_IN_MSW) - each_font->GetFontId () == FamilyOrFontId) /* New font system */ -#else + //#if defined(__X__) + // each_font->GetFontId () == FamilyOrFontId) /* New font system */ + //#else each_font->GetFamily () == FamilyOrFontId && (!each_font->GetFaceName() || each_font->GetFaceName() == Face)) -#endif + //#endif return each_font; } wxFont *font = new wxFont (PointSize, FamilyOrFontId, Style, Weight, underline, Face); @@ -629,12 +620,6 @@ wxSize wxGetDisplaySize() return wxSize(x, y); } -wxResourceCache::wxResourceCache () : wxList() { -} - -wxResourceCache::wxResourceCache (const unsigned int the_key_type) : wxList(the_key_type) { -} - wxResourceCache::~wxResourceCache () { wxNode *node = First (); while (node) {