projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added new project file having the new files
[wxWidgets.git]
/
src
/
msw
/
bitmap.cpp
diff --git
a/src/msw/bitmap.cpp
b/src/msw/bitmap.cpp
index 4c21494fcb4ba8ccde1635807669420f1d111aba..8e8b4e0832f465edce4c334a0f119a3b146e76e2 100644
(file)
--- a/
src/msw/bitmap.cpp
+++ b/
src/msw/bitmap.cpp
@@
-43,7
+43,10
@@
#include "wx/msw/private.h"
#include "wx/log.h"
#include "wx/msw/private.h"
#include "wx/log.h"
+#if !defined(__WXMICROWIN__)
#include "wx/msw/dib.h"
#include "wx/msw/dib.h"
+#endif
+
#include "wx/image.h"
#include "wx/xpmdecod.h"
#include "wx/image.h"
#include "wx/xpmdecod.h"
@@
-112,6
+115,7
@@
void wxBitmap::Init()
bool wxBitmap::CopyFromIconOrCursor(const wxGDIImage& icon)
{
bool wxBitmap::CopyFromIconOrCursor(const wxGDIImage& icon)
{
+#ifndef __WXMICROWIN__
// it may be either HICON or HCURSOR
HICON hicon = (HICON)icon.GetHandle();
// it may be either HICON or HCURSOR
HICON hicon = (HICON)icon.GetHandle();
@@
-145,6
+149,9
@@
bool wxBitmap::CopyFromIconOrCursor(const wxGDIImage& icon)
#endif // WXWIN_COMPATIBILITY_2
return TRUE;
#endif // WXWIN_COMPATIBILITY_2
return TRUE;
+#else
+ return FALSE;
+#endif
}
#endif // Win32
}
#endif // Win32
@@
-219,6
+226,7
@@
wxBitmap::wxBitmap(const char bits[], int width, int height, int depth)
{
Init();
{
Init();
+#ifndef __WXMICROWIN__
wxBitmapRefData *refData = new wxBitmapRefData;
m_refData = refData;
wxBitmapRefData *refData = new wxBitmapRefData;
m_refData = refData;
@@
-234,9
+242,9
@@
wxBitmap::wxBitmap(const char bits[], int width, int height, int depth)
// we assume that it is in XBM format which is not quite the same as
// the format CreateBitmap() wants because the order of bytes in the
// line is inversed!
// we assume that it is in XBM format which is not quite the same as
// the format CreateBitmap() wants because the order of bytes in the
// line is inversed!
-
static
const size_t bytesPerLine = (width + 7) / 8;
-
static
const size_t padding = bytesPerLine % 2;
-
static
const size_t len = height * ( padding + bytesPerLine );
+ const size_t bytesPerLine = (width + 7) / 8;
+ const size_t padding = bytesPerLine % 2;
+ const size_t len = height * ( padding + bytesPerLine );
data = (char *)malloc(len);
const char *src = bits;
char *dst = data;
data = (char *)malloc(len);
const char *src = bits;
char *dst = data;
@@
-279,6
+287,7
@@
wxBitmap::wxBitmap(const char bits[], int width, int height, int depth)
}
SetHBITMAP((WXHBITMAP)hbmp);
}
SetHBITMAP((WXHBITMAP)hbmp);
+#endif
}
// Create from XPM data
}
// Create from XPM data
@@
-288,15
+297,15
@@
bool wxBitmap::CreateFromXpm(const char **data)
Init();
wxCHECK_MSG( data != NULL, FALSE, wxT("invalid bitmap data") )
Init();
wxCHECK_MSG( data != NULL, FALSE, wxT("invalid bitmap data") )
-
+
wxXPMDecoder decoder;
wxImage img = decoder.ReadData(data);
wxCHECK_MSG( img.Ok(), FALSE, wxT("invalid bitmap data") )
wxXPMDecoder decoder;
wxImage img = decoder.ReadData(data);
wxCHECK_MSG( img.Ok(), FALSE, wxT("invalid bitmap data") )
-
+
*this = wxBitmap(img);
return TRUE;
#else
*this = wxBitmap(img);
return TRUE;
#else
-
return FALSE;
+ return FALSE;
#endif
}
#endif
}
@@
-323,6
+332,7
@@
wxBitmap::wxBitmap(const wxString& filename, wxBitmapType type)
bool wxBitmap::Create(int w, int h, int d)
{
bool wxBitmap::Create(int w, int h, int d)
{
+#ifndef __WXMICROWIN__
UnRef();
m_refData = new wxBitmapRefData;
UnRef();
m_refData = new wxBitmapRefData;
@@
-358,8
+368,10
@@
bool wxBitmap::Create(int w, int h, int d)
#if WXWIN_COMPATIBILITY_2
GetBitmapData()->m_ok = hbmp != 0;
#endif // WXWIN_COMPATIBILITY_2
#if WXWIN_COMPATIBILITY_2
GetBitmapData()->m_ok = hbmp != 0;
#endif // WXWIN_COMPATIBILITY_2
-
return Ok();
return Ok();
+#else
+ return FALSE;
+#endif
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------
@@
-370,6
+382,10
@@
bool wxBitmap::Create(int w, int h, int d)
bool wxBitmap::CreateFromImage( const wxImage& image, int depth )
{
bool wxBitmap::CreateFromImage( const wxImage& image, int depth )
{
+#ifdef __WXMICROWIN__
+ // TODO
+ return FALSE;
+#else
wxCHECK_MSG( image.Ok(), FALSE, wxT("invalid image") )
m_refData = new wxBitmapRefData();
wxCHECK_MSG( image.Ok(), FALSE, wxT("invalid image") )
m_refData = new wxBitmapRefData();
@@
-592,10
+608,15
@@
bool wxBitmap::CreateFromImage( const wxImage& image, int depth )
if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this);
return TRUE;
if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this);
return TRUE;
+#endif
}
wxImage wxBitmap::ConvertToImage() const
{
}
wxImage wxBitmap::ConvertToImage() const
{
+#ifdef __WXMICROWIN__
+ // TODO
+ return wxImage();
+#else
wxImage image;
wxCHECK_MSG( Ok(), wxNullImage, wxT("invalid bitmap") );
wxImage image;
wxCHECK_MSG( Ok(), wxNullImage, wxT("invalid bitmap") );
@@
-720,6
+741,7
@@
wxImage wxBitmap::ConvertToImage() const
free(lpBits);
return image;
free(lpBits);
return image;
+#endif
}
#endif // wxUSE_IMAGE
}
#endif // wxUSE_IMAGE
@@
-799,6
+821,7
@@
bool wxBitmap::SaveFile(const wxString& filename, int type, const wxPalette *pal
wxBitmap wxBitmap::GetSubBitmap( const wxRect& rect) const
{
wxBitmap wxBitmap::GetSubBitmap( const wxRect& rect) const
{
+#ifndef __WXMICROWIN__
wxCHECK_MSG( Ok() &&
(rect.x >= 0) && (rect.y >= 0) &&
(rect.x+rect.width <= GetWidth()) &&
wxCHECK_MSG( Ok() &&
(rect.x >= 0) && (rect.y >= 0) &&
(rect.x+rect.width <= GetWidth()) &&
@@
-834,6
+857,9
@@
wxBitmap wxBitmap::GetSubBitmap( const wxRect& rect) const
DeleteDC(dcSrc);
return ret;
DeleteDC(dcSrc);
return ret;
+#else
+ return wxBitmap();
+#endif
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------
@@
-876,6
+902,9
@@
void wxBitmap::SetMask(wxMask *mask)
// Contributed by Frederic Villeneuve <frederic.villeneuve@natinst.com>
wxBitmap wxBitmap::GetBitmapForDC(wxDC& dc) const
{
// Contributed by Frederic Villeneuve <frederic.villeneuve@natinst.com>
wxBitmap wxBitmap::GetBitmapForDC(wxDC& dc) const
{
+#ifdef __WXMICROWIN__
+ return wxBitmap();
+#else
wxMemoryDC memDC;
wxBitmap tmpBitmap(GetWidth(), GetHeight(), dc.GetDepth());
HPALETTE hPal = (HPALETTE) NULL;
wxMemoryDC memDC;
wxBitmap tmpBitmap(GetWidth(), GetHeight(), dc.GetDepth());
HPALETTE hPal = (HPALETTE) NULL;
@@
-920,6
+949,7
@@
wxBitmap wxBitmap::GetBitmapForDC(wxDC& dc) const
wxFreeDIB(lpDib);
return tmpBitmap;
wxFreeDIB(lpDib);
return tmpBitmap;
+#endif
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------
@@
-963,6
+993,7
@@
wxMask::~wxMask()
// Create a mask from a mono bitmap (copies the bitmap).
bool wxMask::Create(const wxBitmap& bitmap)
{
// Create a mask from a mono bitmap (copies the bitmap).
bool wxMask::Create(const wxBitmap& bitmap)
{
+#ifndef __WXMICROWIN__
wxCHECK_MSG( bitmap.Ok() && bitmap.GetDepth() == 1, FALSE,
_T("can't create mask from invalid or not monochrome bitmap") );
wxCHECK_MSG( bitmap.Ok() && bitmap.GetDepth() == 1, FALSE,
_T("can't create mask from invalid or not monochrome bitmap") );
@@
-987,6
+1018,9
@@
bool wxMask::Create(const wxBitmap& bitmap)
SelectObject(destDC, 0);
DeleteDC(destDC);
return TRUE;
SelectObject(destDC, 0);
DeleteDC(destDC);
return TRUE;
+#else
+ return FALSE;
+#endif
}
// Create a mask from a bitmap and a palette index indicating
}
// Create a mask from a bitmap and a palette index indicating
@@
-1014,6
+1048,7
@@
bool wxMask::Create(const wxBitmap& bitmap, int paletteIndex)
// the transparent area
bool wxMask::Create(const wxBitmap& bitmap, const wxColour& colour)
{
// the transparent area
bool wxMask::Create(const wxBitmap& bitmap, const wxColour& colour)
{
+#ifndef __WXMICROWIN__
wxCHECK_MSG( bitmap.Ok(), FALSE, _T("invalid bitmap in wxMask::Create") );
if ( m_maskBitmap )
wxCHECK_MSG( bitmap.Ok(), FALSE, _T("invalid bitmap in wxMask::Create") );
if ( m_maskBitmap )
@@
-1039,6
+1074,10
@@
bool wxMask::Create(const wxBitmap& bitmap, const wxColour& colour)
bool ok = TRUE;
bool ok = TRUE;
+ // SelectObject() will fail
+ wxASSERT_MSG( !bitmap.GetSelectedInto(),
+ _T("bitmap can't be selected in another DC") );
+
HGDIOBJ hbmpSrcOld = ::SelectObject(srcDC, GetHbitmapOf(bitmap));
if ( !hbmpSrcOld )
{
HGDIOBJ hbmpSrcOld = ::SelectObject(srcDC, GetHbitmapOf(bitmap));
if ( !hbmpSrcOld )
{
@@
-1089,6
+1128,9
@@
bool wxMask::Create(const wxBitmap& bitmap, const wxColour& colour)
::DeleteDC(destDC);
return ok;
::DeleteDC(destDC);
return ok;
+#else
+ return FALSE;
+#endif
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------
@@
-1155,6
+1197,7
@@
bool wxBitmapHandler::SaveFile(wxBitmap *WXUNUSED(bitmap),
// DIB functions
// ----------------------------------------------------------------------------
// DIB functions
// ----------------------------------------------------------------------------
+#ifndef __WXMICROWIN__
bool wxCreateDIB(long xSize, long ySize, long bitsPerPixel,
HPALETTE hPal, LPBITMAPINFO* lpDIBHeader)
{
bool wxCreateDIB(long xSize, long ySize, long bitsPerPixel,
HPALETTE hPal, LPBITMAPINFO* lpDIBHeader)
{
@@
-1202,6
+1245,7
@@
void wxFreeDIB(LPBITMAPINFO lpDIBHeader)
{
free(lpDIBHeader);
}
{
free(lpDIBHeader);
}
+#endif
// ----------------------------------------------------------------------------
// other helper functions
// ----------------------------------------------------------------------------
// other helper functions
@@
-1209,6
+1253,7
@@
void wxFreeDIB(LPBITMAPINFO lpDIBHeader)
extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w, int h)
{
extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w, int h)
{
+#ifndef __WXMICROWIN__
wxCHECK_MSG( hbmpMask, 0, _T("invalid bitmap in wxInvertMask") );
// get width/height from the bitmap if not given
wxCHECK_MSG( hbmpMask, 0, _T("invalid bitmap in wxInvertMask") );
// get width/height from the bitmap if not given
@@
-1246,4
+1291,7
@@
extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w, int h)
::DeleteDC(hdcDst);
return hbmpInvMask;
::DeleteDC(hdcDst);
return hbmpInvMask;
+#else
+ return 0;
+#endif
}
}