]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/icon.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     interface of wxIcon 
   4 // Author:      wxWidgets team 
   6 // Licence:     wxWindows license 
   7 ///////////////////////////////////////////////////////////////////////////// 
  12     In wxIcon context this value means: "use the screen depth". 
  14 #define wxICON_SCREEN_DEPTH       (-1) 
  20     An icon is a small rectangular bitmap usually used for denoting a minimized 
  23     It differs from a wxBitmap in always having a mask associated with it for 
  24     transparent drawing. On some platforms, icons and bitmaps are implemented 
  25     identically, since there is no real distinction between a wxBitmap with a 
  26     mask and an icon; and there is no specific icon format on some platforms 
  27     (X-based applications usually standardize on XPMs for small bitmaps and icons). 
  28     However, some platforms (such as Windows) make the distinction, so a 
  29     separate class is provided. 
  32     It is usually desirable to associate a pertinent icon with a frame. 
  33     Icons can also be used for other purposes, for example with wxTreeCtrl and wxListCtrl. 
  34     Icons have different formats on different platforms therefore separate icons 
  35     will usually be created for the different environments. 
  36     Platform-specific methods for creating a wxIcon structure are catered for, 
  37     and this is an occasion where conditional compilation will probably be required. 
  38     Note that a new icon must be created for every time the icon is to be used 
  39     for a new window. In Windows, the icon will not be reloaded if it has already 
  41     An icon allocated to a frame will be deleted when the frame is deleted. 
  42     For more information please see @ref overview_bitmap. 
  50     @see @ref overview_bitmap, @ref overview_bitmap_supportedformats, 
  51          wxDC::DrawIcon, wxCursor 
  53 class wxIcon 
: public wxBitmap
 
  59         Constructs an icon object with no data; an assignment or another member 
  60         function such as LoadFile() must be called subsequently. 
  67     wxIcon(const wxIcon
& icon
); 
  70         Creates an icon from the given data, which can be of arbitrary type. 
  72     wxIcon(void* data, int type, int width, int height, int depth = -1); 
  74         NOTE: this ctor is not implemented by all ports, is somewhat useless 
  75               without further description of the "data" supported formats and 
  76               uses 'int type' instead of wxBitmapType, so don't document it. 
  80         Creates an icon from an array of bits. 
  81         You should only use this function for monochrome bitmaps (depth 1) in 
  82         portable programs: in this case the bits parameter should contain an XBM image. 
  84         For other bit depths, the behaviour is platform dependent: under Windows, 
  85         the data is passed without any changes to the underlying CreateBitmap() API. 
  86         Under other platforms, only monochrome bitmaps may be created using this 
  87         constructor and wxImage should be used for creating colour bitmaps from 
  91             Specifies an array of pixel values. 
  93             The width of the image. 
  95             The height of the image. 
  99     wxIcon(const char bits
[], int width
, int height
); 
 102         Creates a bitmap from XPM data. 
 103         To use this constructor, you must first include an XPM file. 
 104         For example, assuming that the file mybitmap.xpm contains an XPM array 
 105         of character pointers called @e mybitmap: 
 108         #include "mybitmap.xpm" 
 110         wxIcon *icon = new wxIcon(mybitmap); 
 113         A macro, wxICON, is available which creates an icon using an XPM on 
 114         the appropriate platform, or an icon resource on Windows. 
 117         wxIcon icon(wxICON(mondrian)); 
 120         #if defined(__WXGTK__) || defined(__WXMOTIF__) 
 121         wxIcon icon(mondrian_xpm); 
 124         #if defined(__WXMSW__) 
 125         wxIcon icon("mondrian"); 
 129     wxIcon(const char* const* bits
); 
 132         Loads an icon from a file or resource. 
 135             This can refer to a resource name or a filename under MS Windows and X. 
 136             Its meaning is determined by the @a type parameter. 
 138             May be one of the ::wxBitmapType values and indicates which type of 
 139             bitmap should be loaded. See the note in the class detailed description. 
 140             Note that the wxICON_DEFAULT_TYPE constant has different value under 
 141             different wxWidgets ports. See the icon.h header for the value it takes 
 144             Specifies the desired width of the icon. This parameter only has 
 145             an effect in Windows where icon resources can contain several icons 
 148             Specifies the desired height of the icon. This parameter only has 
 149             an effect in Windows where icon resources can contain several icons 
 154     wxIcon(const wxString
& name
, wxBitmapType type 
= wxICON_DEFAULT_TYPE
, 
 155            int desiredWidth 
= -1, int desiredHeight 
= -1); 
 158         Loads an icon from the specified location. 
 160     wxIcon(const wxIconLocation
& loc
); 
 164         See @ref overview_refcount_destruct for more info. 
 166         If the application omits to delete the icon explicitly, the icon will be 
 167         destroyed automatically by wxWidgets when the application exits. 
 170         Do not delete an icon that is selected into a memory device context. 
 175         Copies @a bmp bitmap to this icon. 
 176         Under MS Windows the bitmap must have mask colour set. 
 180     void CopyFromBitmap(const wxBitmap
& bmp
); 
 183         Gets the colour depth of the icon. 
 184         A value of 1 indicates a monochrome icon. 
 186     int GetDepth() const; 
 189         Gets the height of the icon in pixels. 
 193     int GetHeight() const; 
 196         Gets the width of the icon in pixels. 
 200     int GetWidth() const; 
 203         Returns @true if icon data is present. 
 205     virtual bool IsOk() const; 
 208         Loads an icon from a file or resource. 
 211             Either a filename or a Windows resource name. 
 212             The meaning of name is determined by the @a type parameter. 
 214             One of the ::wxBitmapType values; see the note in the class 
 215             detailed description. 
 216             Note that the wxICON_DEFAULT_TYPE constant has different value under 
 217             different wxWidgets ports. See the icon.h header for the value it takes 
 220             Specifies the desired width of the icon. This parameter only has 
 221             an effect in Windows where icon resources can contain several icons 
 224             Specifies the desired height of the icon. This parameter only has 
 225             an effect in Windows where icon resources can contain several icons 
 228         @return @true if the operation succeeded, @false otherwise. 
 230     bool LoadFile(const wxString
& name
, wxBitmapType type 
= wxICON_DEFAULT_TYPE
, 
 231                   int desiredWidth 
= -1, int desiredHeight 
= -1); 
 234         Sets the depth member (does not affect the icon data). 
 239     void SetDepth(int depth
); 
 242         Sets the height member (does not affect the icon data). 
 245             Icon height in pixels. 
 247     void SetHeight(int height
); 
 250         Sets the width member (does not affect the icon data). 
 253             Icon width in pixels. 
 255     void SetWidth(int width
); 
 258         Assignment operator, using @ref overview_refcount. 
 263     wxIcon
& operator=(const wxIcon
& icon
);