X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c78e7c70271608b076b1dbed201b1204e6898d4..56b79cb98da2e2e3024fce6f6313546577c34821:/include/wx/qt/icon.h diff --git a/include/wx/qt/icon.h b/include/wx/qt/icon.h index a79e4906ef..f68c23154b 100644 --- a/include/wx/qt/icon.h +++ b/include/wx/qt/icon.h @@ -1,51 +1,107 @@ ///////////////////////////////////////////////////////////////////////////// // Name: icon.h -// Purpose: -// Author: Robert Roebling -// Created: 01/02/97 -// Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Purpose: wxIcon class +// Author: AUTHOR +// Modified by: +// Created: ??/??/98 +// RCS-ID: $Id$ +// Copyright: (c) AUTHOR // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifndef __GTKICONH__ -#define __GTKICONH__ +#ifndef _WX_ICON_H_ +#define _WX_ICON_H_ #ifdef __GNUG__ -#pragma interface +#pragma interface "icon.h" #endif -#include "wx/defs.h" -#include "wx/object.h" #include "wx/bitmap.h" -//----------------------------------------------------------------------------- -// classes -//----------------------------------------------------------------------------- +class WXDLLEXPORT wxIconRefData: public wxBitmapRefData +{ + friend class WXDLLEXPORT wxBitmap; + friend class WXDLLEXPORT wxIcon; +public: + wxIconRefData(); + ~wxIconRefData(); -class wxIcon; +public: +/* TODO: whatever your actual icon handle is + WXHICON m_hIcon; +*/ +}; -//----------------------------------------------------------------------------- -// wxIcon -//----------------------------------------------------------------------------- +#define M_ICONDATA ((wxIconRefData *)m_refData) +#define M_ICONHANDLERDATA ((wxIconRefData *)bitmap->GetRefData()) -class wxIcon: public wxBitmap +// Icon +class WXDLLEXPORT wxIcon: public wxBitmap { DECLARE_DYNAMIC_CLASS(wxIcon) public: + wxIcon(); - wxIcon(void) {}; - + // Copy constructors inline wxIcon(const wxIcon& icon) { Ref(icon); } inline wxIcon(const wxIcon* icon) { if (icon) Ref(*icon); } - wxIcon( char **bits, int width=-1, int height=-1 ); - + + wxIcon(const char bits[], int width, int height); + wxIcon(const wxString& name, long flags = wxBITMAP_TYPE_ICO_RESOURCE, + int desiredWidth = -1, int desiredHeight = -1); + ~wxIcon(); + + bool LoadFile(const wxString& name, long flags = wxBITMAP_TYPE_ICO_RESOURCE, + int desiredWidth = -1, int desiredHeight = -1); + inline wxIcon& operator = (const wxIcon& icon) { if (*this == icon) return (*this); Ref(icon); return *this; } inline bool operator == (const wxIcon& icon) { return m_refData == icon.m_refData; } inline bool operator != (const wxIcon& icon) { return m_refData != icon.m_refData; } + +/* TODO: implementation + void SetHICON(WXHICON ico); + inline WXHICON GetHICON() const { return (M_ICONDATA ? M_ICONDATA->m_hIcon : 0); } +*/ + +/* TODO */ + virtual bool Ok() const { return (m_refData != NULL) ; } +}; + +/* Example handlers. TODO: write your own handlers for relevant types. + +class WXDLLEXPORT wxICOFileHandler: public wxBitmapHandler +{ + DECLARE_DYNAMIC_CLASS(wxICOFileHandler) +public: + inline wxICOFileHandler() + { + m_name = "ICO icon file"; + m_extension = "ico"; + m_type = wxBITMAP_TYPE_ICO; + }; + + virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags, + int desiredWidth = -1, int desiredHeight = -1); +}; + +class WXDLLEXPORT wxICOResourceHandler: public wxBitmapHandler +{ + DECLARE_DYNAMIC_CLASS(wxICOResourceHandler) +public: + inline wxICOResourceHandler() + { + m_name = "ICO resource"; + m_extension = "ico"; + m_type = wxBITMAP_TYPE_ICO_RESOURCE; + }; + + virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags, + int desiredWidth = -1, int desiredHeight = -1); + }; +*/ -#endif // __GTKICONH__ +#endif + // _WX_ICON_H_