// 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 __DIGITALMARS__
+extern "C" HGLOBAL wxDIB::ConvertFromBitmap(HBITMAP hbmp);
+#endif
+
+
bool wxSetClipboardData(wxDataFormat dataFormat,
const void *data,
int width, int height)
case wxDF_DIB:
{
-#if wxUSE_IMAGE_LOADING_IN_MSW
wxBitmap *bitmap = (wxBitmap *)data;
- HBITMAP hBitmap = (HBITMAP)bitmap->GetHBITMAP();
- // NULL palette means to use the system one
- HANDLE hDIB = wxBitmapToDIB(hBitmap, (HPALETTE)NULL);
- handle = SetClipboardData(CF_DIB, hDIB);
-#endif // wxUSE_IMAGE_LOADING_IN_MSW
+
+ HGLOBAL hDIB = wxDIB::ConvertFromBitmap(GetHbitmapOf(*bitmap));
+ if ( hDIB )
+ {
+ handle = ::SetClipboardData(CF_DIB, hDIB);
+ }
break;
}
wxClipboard::wxClipboard()
{
m_clearOnExit = FALSE;
+ m_isOpened = FALSE;
}
wxClipboard::~wxClipboard()
bool wxClipboard::Open()
{
// OLE opens clipboard for us
+ m_isOpened = TRUE;
#if wxUSE_OLE_CLIPBOARD
return TRUE;
#else
bool wxClipboard::IsOpened() const
{
#if wxUSE_OLE_CLIPBOARD
- return TRUE;
+ return m_isOpened;
#else
return wxIsClipboardOpened();
#endif
void wxClipboard::Close()
{
+ m_isOpened = FALSE;
// OLE closes clipboard for us
#if !wxUSE_OLE_CLIPBOARD
wxCloseClipboard();