Bitmap and icon updates

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2001-01-29 05:46:06 +00:00
parent a559d70856
commit 8bb6da4ae6
5 changed files with 53 additions and 21 deletions

View File

@@ -54,12 +54,12 @@ public:
// ------------
wxDC* m_pSelectedInto;
HPS m_hPresentationSpace;
LONG m_lId;
// optional mask for transparent drawing
//
// Optional mask for transparent drawing
//
wxMask* m_pBitmapMask;
};
}; // end of CLASS wxBitmapRefData
// ----------------------------------------------------------------------------
// wxBitmap: a mono or colour bitmap
@@ -83,9 +83,8 @@ public:
);
// Initialize with XPM data
wxBitmap( char** ppData
,wxControl* pAnItem = NULL
);
wxBitmap(const char** ppData);
wxBitmap(char** ppData);
// Load a file or resource
wxBitmap( const wxString& rName
@@ -214,8 +213,8 @@ public:
// An OS/2 version that probably doesn't do anything like the msw version
wxBitmap GetBitmapForDC(wxDC& rDc) const;
inline LONG GetId() const
{ return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
// inline LONG GetId() const
// { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
protected:
@@ -281,10 +280,7 @@ public:
protected:
WXHBITMAP m_hMaskBitmap;
DECLARE_DYNAMIC_CLASS(wxMask)
private:
HDC m_hDc;
HPS m_hPs;
}; // end of wxMask
}; // end of CLASS wxMask
// ----------------------------------------------------------------------------
// wxBitmapHandler is a class which knows how to load/save bitmaps to/from file
@@ -348,7 +344,7 @@ public:
);
private:
DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
}; // end of wxBitmapHandler
}; // end of CLASS wxBitmapHandler
#endif
// _WX_BITMAP_H_

View File

@@ -87,6 +87,7 @@ public:
bool m_bOk;
#endif // WXWIN_COMPATIBILITY_2
UINT m_uId;
};
// ----------------------------------------------------------------------------
@@ -212,6 +213,24 @@ public:
}
void SetSize(const wxSize& rSize) { SetSize(rSize.x, rSize.y); }
UINT GetId(void) const
{
wxGDIImageRefData* pData;
pData = GetGDIImageData();
if (!pData)
return 0;
else
return pData->m_uId;
} // end of WxWinGdi_CGDIImage::GetId
void SetId(UINT uId)
{
wxGDIImageRefData* pData;
EnsureHasData();
pData = GetGDIImageData();
pData->m_uId = uId;
}
// forward some of base class virtuals to wxGDIImageRefData
bool FreeResource(bool bForce = FALSE);
virtual WXHANDLE GetResourceHandle();

View File

@@ -59,6 +59,8 @@ public:
,int nWidth
,int nHeight
);
inline wxIcon(const char** ppData) { CreateIconFromXpm(ppData); }
inline wxIcon(char** ppData) { CreateIconFromXpm((const char**)ppData); }
wxIcon( const wxString& rName
,long lFlags = wxBITMAP_TYPE_ICO_RESOURCE
,int nDesiredWidth = -1
@@ -84,11 +86,13 @@ public:
inline void SetHICON(WXHICON hIcon) { SetHandle((WXHANDLE)hIcon); }
inline WXHICON GetHICON() const { return (WXHICON)GetHandle(); }
void CopyFromBitmap(const wxBitmap& rBmp);
protected:
virtual wxGDIImageRefData* CreateData() const
{
return new wxIconRefData;
}
void CreateIconFromXpm(const char **ppData);
private:
DECLARE_DYNAMIC_CLASS(wxIcon)

View File

@@ -143,6 +143,9 @@ extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message
#define GetHdc() ((HDC)GetHDC())
#define GetHdcOf(dc) ((HDC)(dc).GetHDC())
#define GetHbitmap() ((HBITMAP)GetHBITMAP())
#define GetHbitmapOf(bmp) ((HBITMAP)(bmp).GetHBITMAP())
#define GetHicon() ((HICON)GetHICON())
#define GetHiconOf(icon) ((HICON)(icon).GetHICON())
@@ -152,6 +155,16 @@ extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message
#define GetHmenu() ((HMENU)GetHMenu())
#define GetHmenuOf(menu) ((HMENU)menu->GetHMenu())
#define GetHcursor() ((HCURSOR)GetHCURSOR())
#define GetHcursorOf(cursor) ((HCURSOR)(cursor).GetHCURSOR())
#define GetHfont() ((HFONT)GetHFONT())
#define GetHfontOf(font) ((HFONT)(font).GetHFONT())
// OS/2 convention of the mask is opposed to the wxWindows one, so we need
// to invert the mask each time we pass one/get one to/from Windows
extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w = 0, int h = 0);
// ---------------------------------------------------------------------------
// global data
// ---------------------------------------------------------------------------

View File

@@ -78,13 +78,13 @@ const wxEventType wxEVT_TASKBAR_RIGHT_UP = wxEVT_FIRST + 1554;
const wxEventType wxEVT_TASKBAR_LEFT_DCLICK = wxEVT_FIRST + 1555;
const wxEventType wxEVT_TASKBAR_RIGHT_DCLICK = wxEVT_FIRST + 1556;
#define EVT_TASKBAR_MOVE(fn) { wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
#define EVT_TASKBAR_LEFT_DOWN(fn) { wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
#define EVT_TASKBAR_LEFT_UP(fn) { wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
#define EVT_TASKBAR_RIGHT_DOWN(fn) { wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
#define EVT_TASKBAR_RIGHT_UP(fn) { wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
#define EVT_TASKBAR_LEFT_DCLICK(fn) { wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
#define EVT_TASKBAR_RIGHT_DCLICK(fn) { wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
#define EVT_TASKBAR_MOVE(fn) wxEventTableEntry(wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
#define EVT_TASKBAR_LEFT_DOWN(fn) wxEventTableEntry(wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
#define EVT_TASKBAR_LEFT_UP(fn) wxEventTableEntry(wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
#define EVT_TASKBAR_RIGHT_DOWN(fn) wxEventTableEntry(wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
#define EVT_TASKBAR_RIGHT_UP(fn) wxEventTableEntry(wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
#define EVT_TASKBAR_LEFT_DCLICK(fn) wxEventTableEntry(wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
#define EVT_TASKBAR_RIGHT_DCLICK(fn) wxEventTableEntry(wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
#endif