/////////////////////////////////////////////////////////////////////////////
-// Name: palette.cpp
+// Name: src/os2/palette.cpp
// Purpose: wxPalette
// Author: AUTHOR
// Modified by:
// Created: ??/??/98
// RCS-ID: $Id$
// Copyright: (c) AUTHOR
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifndef WX_PRECOMP
-#include <stdio.h>
-#include "wx/setup.h"
-#include "wx/palette.h"
+ #include <stdio.h>
+ #include "wx/string.h"
+ #include "wx/os2/private.h"
+ #include "wx/palette.h"
+ #include "wx/app.h"
#endif
#define INCL_PM
#define INCL_GPI
-#include <os2.h>
#include "assert.h"
{
} // end of wxPalette::~wxPalette
-bool wxPalette::FreeResource(
- bool bForce
-)
+bool wxPalette::FreeResource( bool WXUNUSED(bForce) )
{
if ( M_PALETTEDATA && M_PALETTEDATA->m_hPalette)
{
::GpiSelectPalette(M_PALETTEDATA->m_hPS, NULLHANDLE);
::GpiDeletePalette((HPAL)M_PALETTEDATA->m_hPalette);
}
- return TRUE;
+ return true;
} // end of wxPalette::FreeResource
-bool wxPalette::Create(
- int n
-, const unsigned char* pRed
-, const unsigned char* pGreen
-, const unsigned char* pBlue
-)
+bool wxPalette::Create( int n,
+ const unsigned char* pRed,
+ const unsigned char* pGreen,
+ const unsigned char* pBlue )
{
PULONG pualTable;
m_refData = new wxPaletteRefData;
pualTable = new ULONG[n];
if (!pualTable)
- return(FALSE);
+ return false;
for (int i = 0; i < n; i ++)
{
,pualTable
);
delete [] pualTable;
- return TRUE;
+ return true;
} // end of wxPalette::Create
-int wxPalette::GetPixel(
- const unsigned char cRed
-, const unsigned char cGreen
-, const unsigned char cBlue
-) const
+wxGDIRefData *wxPalette::CreateGDIRefData() const
{
- bool bFound = FALSE;
- PULONG pualTable = NULL;
- ULONG ulNumEntries;
- ULONG ulRGB = (PC_RESERVED * 16777216) +
- ((int)cRed * 65536) +
- ((int)cGreen * 256) +
- (int)cBlue;
+ return new wxPaletteRefData;
+}
+
+wxGDIRefData *wxPalette::CloneGDIRefData(const wxGDIRefData *data) const
+{
+ return new wxPaletteRefData(*wx_static_cast(const wxPaletteRefData *, data));
+}
+
+int wxPalette::GetPixel( unsigned char cRed,
+ unsigned char cGreen,
+ unsigned char cBlue) const
+{
+ bool bFound = false;
+ PULONG pualTable = NULL;
+ ULONG ulNumEntries;
+ ULONG ulRGB = (PC_RESERVED * 16777216) +
+ ((int)cRed * 65536) +
+ ((int)cGreen * 256) +
+ (int)cBlue;
if (!m_refData)
- return FALSE;
+ return wxNOT_FOUND;
//
// Get number of entries first
//
// Now loop through and find the matching entry
//
- int i;
+ ULONG i;
for (i = 0; i < ulNumEntries; i++)
{
if (pualTable[i] == ulRGB)
{
- bFound = TRUE;
+ bFound = true;
break;
}
}
if (!bFound)
- return 0;
+ return wxNOT_FOUND;
return (i + 1);
} // end of wxPalette::GetPixel
-bool wxPalette::GetRGB(
- int nIndex
-, unsigned char* pRed
-, unsigned char* pGreen
-, unsigned char* pBlue
-) const
+bool wxPalette::GetRGB( int nIndex,
+ unsigned char* pRed,
+ unsigned char* pGreen,
+ unsigned char* pBlue) const
{
PULONG pualTable = NULL;
RGB2 vRGB;
ULONG ulNumEntries;
if (!m_refData)
- return FALSE;
+ return false;
if (nIndex < 0 || nIndex > 255)
- return FALSE;
+ return false;
//
// Get number of entries first
//
*pBlue = vRGB.bBlue;
*pGreen = vRGB.bGreen;
*pRed = vRGB.bRed;
- return TRUE;
+ return true;
} // end of wxPalette::GetRGB
void wxPalette::SetHPALETTE(
::GpiSelectPalette(M_PALETTEDATA->m_hPS, M_PALETTEDATA->m_hPalette);
M_PALETTEDATA->m_hPS = hPS;
} // end of wxPalette::SetHPALETTE
-