X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04ef50df3a0fa3c343800c554e609f98fc7575cc..bc55e31bdc7fbf6f1006f298ed8310e7972984e9:/src/msw/palette.cpp diff --git a/src/msw/palette.cpp b/src/msw/palette.cpp index 7d88c7fe72..c958a25a2a 100644 --- a/src/msw/palette.cpp +++ b/src/msw/palette.cpp @@ -1,34 +1,28 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: palette.cpp +// Name: src/msw/palette.cpp // Purpose: wxPalette // Author: Julian Smart // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "palette.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif +#if wxUSE_PALETTE + #ifndef WX_PRECOMP -#include -#include "wx/setup.h" -#include "wx/palette.h" + #include "wx/palette.h" #endif -#include - -#include "assert.h" +#include "wx/msw/private.h" IMPLEMENT_DYNAMIC_CLASS(wxPalette, wxGDIObject) @@ -39,13 +33,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxPalette, wxGDIObject) wxPaletteRefData::wxPaletteRefData(void) { - m_hPalette = 0; + m_hPalette = 0; } wxPaletteRefData::~wxPaletteRefData(void) { - if ( m_hPalette ) - ::DeleteObject((HPALETTE) m_hPalette); + if ( m_hPalette ) + ::DeleteObject((HPALETTE) m_hPalette); } wxPalette::wxPalette(void) @@ -59,93 +53,95 @@ wxPalette::wxPalette(int n, const unsigned char *red, const unsigned char *green wxPalette::~wxPalette(void) { -// FreeResource(TRUE); +// FreeResource(true); } bool wxPalette::FreeResource(bool WXUNUSED(force)) { - if ( M_PALETTEDATA && M_PALETTEDATA->m_hPalette) - { + if ( M_PALETTEDATA && M_PALETTEDATA->m_hPalette) + { DeleteObject((HPALETTE)M_PALETTEDATA->m_hPalette); - } - return TRUE; + } + return true; } bool wxPalette::Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue) { - UnRef(); + UnRef(); -#if defined(__WXWINE__) || defined(__WXMICROWIN__) +#if defined(__WXMICROWIN__) - return (FALSE); + return false; #else - m_refData = new wxPaletteRefData; + m_refData = new wxPaletteRefData; - NPLOGPALETTE npPal = (NPLOGPALETTE)LocalAlloc(LMEM_FIXED, sizeof(LOGPALETTE) + - (WORD)n * sizeof(PALETTEENTRY)); - if (!npPal) - return(FALSE); + NPLOGPALETTE npPal = (NPLOGPALETTE)LocalAlloc(LMEM_FIXED, sizeof(LOGPALETTE) + + (WORD)n * sizeof(PALETTEENTRY)); + if (!npPal) + return false; - npPal->palVersion = 0x300; - npPal->palNumEntries = n; + npPal->palVersion = 0x300; + npPal->palNumEntries = (WORD)n; - int i; - for (i = 0; i < n; i ++) - { - npPal->palPalEntry[i].peRed = red[i]; - npPal->palPalEntry[i].peGreen = green[i]; - npPal->palPalEntry[i].peBlue = blue[i]; - npPal->palPalEntry[i].peFlags = 0; - } - M_PALETTEDATA->m_hPalette = (WXHPALETTE) CreatePalette((LPLOGPALETTE)npPal); - LocalFree((HANDLE)npPal); - return TRUE; + int i; + for (i = 0; i < n; i ++) + { + npPal->palPalEntry[i].peRed = red[i]; + npPal->palPalEntry[i].peGreen = green[i]; + npPal->palPalEntry[i].peBlue = blue[i]; + npPal->palPalEntry[i].peFlags = 0; + } + M_PALETTEDATA->m_hPalette = (WXHPALETTE) CreatePalette((LPLOGPALETTE)npPal); + LocalFree((HANDLE)npPal); + return true; #endif } -int wxPalette::GetPixel(const unsigned char red, const unsigned char green, const unsigned char blue) const +int wxPalette::GetPixel(unsigned char red, unsigned char green, unsigned char blue) const { #ifdef __WXMICROWIN__ - return FALSE; + return wxNOT_FOUND; #else - if ( !m_refData ) - return FALSE; + if ( !m_refData ) + return wxNOT_FOUND; - return ::GetNearestPaletteIndex((HPALETTE) M_PALETTEDATA->m_hPalette, PALETTERGB(red, green, blue)); + return ::GetNearestPaletteIndex((HPALETTE) M_PALETTEDATA->m_hPalette, PALETTERGB(red, green, blue)); #endif } bool wxPalette::GetRGB(int index, unsigned char *red, unsigned char *green, unsigned char *blue) const { #ifdef __WXMICROWIN__ - return FALSE; + return false; #else - if ( !m_refData ) - return FALSE; - - if (index < 0 || index > 255) - return FALSE; - - PALETTEENTRY entry; - if (::GetPaletteEntries((HPALETTE) M_PALETTEDATA->m_hPalette, index, 1, &entry)) - { - *red = entry.peRed; - *green = entry.peGreen; - *blue = entry.peBlue; - return TRUE; - } else - return FALSE; + if ( !m_refData ) + return false; + + if (index < 0 || index > 255) + return false; + + PALETTEENTRY entry; + if (::GetPaletteEntries((HPALETTE) M_PALETTEDATA->m_hPalette, index, 1, &entry)) + { + *red = entry.peRed; + *green = entry.peGreen; + *blue = entry.peBlue; + return true; + } + else + return false; #endif } void wxPalette::SetHPALETTE(WXHPALETTE pal) { - if ( !m_refData ) - m_refData = new wxPaletteRefData; + if ( !m_refData ) + m_refData = new wxPaletteRefData; M_PALETTEDATA->m_hPalette = pal; } +#endif // wxUSE_PALETTE