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:
@@ -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_
|
||||
|
@@ -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();
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
// ---------------------------------------------------------------------------
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user