X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/550343399aa1355469ffed72c8cf84c732dcf98b..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/motif/colour.cpp?ds=inline diff --git a/src/motif/colour.cpp b/src/motif/colour.cpp index 473e202864..05d1a89e9b 100644 --- a/src/motif/colour.cpp +++ b/src/motif/colour.cpp @@ -15,9 +15,12 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/gdicmn.h" #include "wx/colour.h" -#include "wx/app.h" + +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/gdicmn.h" +#endif #ifdef __VMS__ #pragma message disable nosimpint @@ -29,24 +32,17 @@ #include "wx/motif/private.h" -IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject) +wxCOMPILE_TIME_ASSERT( sizeof(WXPixel) == sizeof(Pixel), PixelSizeIsOk ); // Colour void wxColour::Init() { m_isInit = false; - m_red = - m_blue = - m_green = 0; + m_red = m_blue = m_green = 0; m_pixel = -1; } -wxColour::wxColour() -{ - Init(); -} - wxColour::wxColour(const wxColour& col) { *this = col; @@ -62,47 +58,12 @@ wxColour& wxColour::operator =(const wxColour& col) return *this; } -void wxColour::InitFromName(const wxString& name) -{ - if ( wxTheColourDatabase ) - { - wxColour col = wxTheColourDatabase->Find(name); - if ( col.Ok() ) - { - *this = col; - return; - } - } - - // leave invalid - Init(); -} - -/* static */ -wxColour wxColour::CreateByName(const wxString& name) -{ - wxColour col; - - Display *dpy = wxGlobalDisplay(); - WXColormap colormap = wxTheApp->GetMainColormap( dpy ); - XColor xcol; - if ( XParseColor( dpy, (Colormap)colormap, name.mb_str(), &xcol ) ) - { - col.m_red = (unsigned char)(xcol.red & 0xff); - col.m_green = (unsigned char)(xcol.green & 0xff); - col.m_blue = (unsigned char)(xcol.blue & 0xff); - col.m_isInit = true; - col.m_pixel = -1; - } - - return col; -} - wxColour::~wxColour() { } -void wxColour::Set(unsigned char r, unsigned char g, unsigned char b) +void wxColour::InitRGBA(unsigned char r, unsigned char g, unsigned char b, + unsigned char WXUNUSED(a)) { m_red = r; m_green = g; @@ -119,7 +80,7 @@ void wxColour::Set(unsigned char r, unsigned char g, unsigned char b) // TODO: can this handle mono displays? If not, we should have an extra // flag to specify whether this should be black or white by default. -int wxColour::AllocColour(WXDisplay* display, bool realloc) +WXPixel wxColour::AllocColour(WXDisplay* display, bool realloc) { if ((m_pixel != -1) && !realloc) return m_pixel; @@ -143,7 +104,7 @@ int wxColour::AllocColour(WXDisplay* display, bool realloc) } else { - m_pixel = (int) color.pixel; + m_pixel = (WXPixel) color.pixel; return m_pixel; } } @@ -178,14 +139,14 @@ A read-only colour will not change. may give better matching. -------------------------------------------*/ -int wxGetBestMatchingPixel(Display *display, XColor *desiredColor, Colormap cmap) +WXPixel wxGetBestMatchingPixel(Display *display, XColor *desiredColor, Colormap cmap) { if (cmap == (Colormap) NULL) cmap = (Colormap) wxTheApp->GetMainColormap(display); int numPixVals = XDisplayCells(display, DefaultScreen (display)); int mindist = 256 * 256 * 3; - int bestpixel = (int) BlackPixel (display, DefaultScreen (display)); + Pixel bestpixel = BlackPixel (display, DefaultScreen (display)); int red = desiredColor->red >> 8; int green = desiredColor->green >> 8; int blue = desiredColor->blue >> 8;