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;
|
wxDC* m_pSelectedInto;
|
||||||
HPS m_hPresentationSpace;
|
|
||||||
LONG m_lId;
|
|
||||||
|
|
||||||
// optional mask for transparent drawing
|
//
|
||||||
|
// Optional mask for transparent drawing
|
||||||
|
//
|
||||||
wxMask* m_pBitmapMask;
|
wxMask* m_pBitmapMask;
|
||||||
};
|
}; // end of CLASS wxBitmapRefData
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxBitmap: a mono or colour bitmap
|
// wxBitmap: a mono or colour bitmap
|
||||||
@@ -83,9 +83,8 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Initialize with XPM data
|
// Initialize with XPM data
|
||||||
wxBitmap( char** ppData
|
wxBitmap(const char** ppData);
|
||||||
,wxControl* pAnItem = NULL
|
wxBitmap(char** ppData);
|
||||||
);
|
|
||||||
|
|
||||||
// Load a file or resource
|
// Load a file or resource
|
||||||
wxBitmap( const wxString& rName
|
wxBitmap( const wxString& rName
|
||||||
@@ -214,8 +213,8 @@ public:
|
|||||||
// An OS/2 version that probably doesn't do anything like the msw version
|
// An OS/2 version that probably doesn't do anything like the msw version
|
||||||
wxBitmap GetBitmapForDC(wxDC& rDc) const;
|
wxBitmap GetBitmapForDC(wxDC& rDc) const;
|
||||||
|
|
||||||
inline LONG GetId() const
|
// inline LONG GetId() const
|
||||||
{ return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
|
// { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -281,10 +280,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
WXHBITMAP m_hMaskBitmap;
|
WXHBITMAP m_hMaskBitmap;
|
||||||
DECLARE_DYNAMIC_CLASS(wxMask)
|
DECLARE_DYNAMIC_CLASS(wxMask)
|
||||||
private:
|
}; // end of CLASS wxMask
|
||||||
HDC m_hDc;
|
|
||||||
HPS m_hPs;
|
|
||||||
}; // end of wxMask
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxBitmapHandler is a class which knows how to load/save bitmaps to/from file
|
// wxBitmapHandler is a class which knows how to load/save bitmaps to/from file
|
||||||
@@ -348,7 +344,7 @@ public:
|
|||||||
);
|
);
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
|
DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
|
||||||
}; // end of wxBitmapHandler
|
}; // end of CLASS wxBitmapHandler
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_BITMAP_H_
|
// _WX_BITMAP_H_
|
||||||
|
@@ -87,6 +87,7 @@ public:
|
|||||||
|
|
||||||
bool m_bOk;
|
bool m_bOk;
|
||||||
#endif // WXWIN_COMPATIBILITY_2
|
#endif // WXWIN_COMPATIBILITY_2
|
||||||
|
UINT m_uId;
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -212,6 +213,24 @@ public:
|
|||||||
}
|
}
|
||||||
void SetSize(const wxSize& rSize) { SetSize(rSize.x, rSize.y); }
|
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
|
// forward some of base class virtuals to wxGDIImageRefData
|
||||||
bool FreeResource(bool bForce = FALSE);
|
bool FreeResource(bool bForce = FALSE);
|
||||||
virtual WXHANDLE GetResourceHandle();
|
virtual WXHANDLE GetResourceHandle();
|
||||||
|
@@ -59,6 +59,8 @@ public:
|
|||||||
,int nWidth
|
,int nWidth
|
||||||
,int nHeight
|
,int nHeight
|
||||||
);
|
);
|
||||||
|
inline wxIcon(const char** ppData) { CreateIconFromXpm(ppData); }
|
||||||
|
inline wxIcon(char** ppData) { CreateIconFromXpm((const char**)ppData); }
|
||||||
wxIcon( const wxString& rName
|
wxIcon( const wxString& rName
|
||||||
,long lFlags = wxBITMAP_TYPE_ICO_RESOURCE
|
,long lFlags = wxBITMAP_TYPE_ICO_RESOURCE
|
||||||
,int nDesiredWidth = -1
|
,int nDesiredWidth = -1
|
||||||
@@ -84,11 +86,13 @@ public:
|
|||||||
inline void SetHICON(WXHICON hIcon) { SetHandle((WXHANDLE)hIcon); }
|
inline void SetHICON(WXHICON hIcon) { SetHandle((WXHANDLE)hIcon); }
|
||||||
inline WXHICON GetHICON() const { return (WXHICON)GetHandle(); }
|
inline WXHICON GetHICON() const { return (WXHICON)GetHandle(); }
|
||||||
|
|
||||||
|
void CopyFromBitmap(const wxBitmap& rBmp);
|
||||||
protected:
|
protected:
|
||||||
virtual wxGDIImageRefData* CreateData() const
|
virtual wxGDIImageRefData* CreateData() const
|
||||||
{
|
{
|
||||||
return new wxIconRefData;
|
return new wxIconRefData;
|
||||||
}
|
}
|
||||||
|
void CreateIconFromXpm(const char **ppData);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxIcon)
|
DECLARE_DYNAMIC_CLASS(wxIcon)
|
||||||
|
@@ -143,6 +143,9 @@ extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message
|
|||||||
#define GetHdc() ((HDC)GetHDC())
|
#define GetHdc() ((HDC)GetHDC())
|
||||||
#define GetHdcOf(dc) ((HDC)(dc).GetHDC())
|
#define GetHdcOf(dc) ((HDC)(dc).GetHDC())
|
||||||
|
|
||||||
|
#define GetHbitmap() ((HBITMAP)GetHBITMAP())
|
||||||
|
#define GetHbitmapOf(bmp) ((HBITMAP)(bmp).GetHBITMAP())
|
||||||
|
|
||||||
#define GetHicon() ((HICON)GetHICON())
|
#define GetHicon() ((HICON)GetHICON())
|
||||||
#define GetHiconOf(icon) ((HICON)(icon).GetHICON())
|
#define GetHiconOf(icon) ((HICON)(icon).GetHICON())
|
||||||
|
|
||||||
@@ -152,6 +155,16 @@ extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message
|
|||||||
#define GetHmenu() ((HMENU)GetHMenu())
|
#define GetHmenu() ((HMENU)GetHMenu())
|
||||||
#define GetHmenuOf(menu) ((HMENU)menu->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
|
// 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_LEFT_DCLICK = wxEVT_FIRST + 1555;
|
||||||
const wxEventType wxEVT_TASKBAR_RIGHT_DCLICK = wxEVT_FIRST + 1556;
|
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_MOVE(fn) wxEventTableEntry(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_DOWN(fn) wxEventTableEntry(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_LEFT_UP(fn) wxEventTableEntry(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_DOWN(fn) wxEventTableEntry(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_RIGHT_UP(fn) wxEventTableEntry(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_LEFT_DCLICK(fn) wxEventTableEntry(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_RIGHT_DCLICK(fn) wxEventTableEntry(wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user