| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        icon.h
 
- // Purpose:     interface of wxIcon
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     In wxIcon context this value means: "use the screen depth".
 
- */
 
- #define wxICON_SCREEN_DEPTH       (-1)
 
- /**
 
-     @class wxIcon
 
-     An icon is a small rectangular bitmap usually used for denoting a minimized
 
-     application.
 
-     It differs from a wxBitmap in always having a mask associated with it for
 
-     transparent drawing. On some platforms, icons and bitmaps are implemented
 
-     identically, since there is no real distinction between a wxBitmap with a
 
-     mask and an icon; and there is no specific icon format on some platforms
 
-     (X-based applications usually standardize on XPMs for small bitmaps and icons).
 
-     However, some platforms (such as Windows) make the distinction, so a
 
-     separate class is provided.
 
-     @remarks
 
-     It is usually desirable to associate a pertinent icon with a frame.
 
-     Icons can also be used for other purposes, for example with wxTreeCtrl and wxListCtrl.
 
-     Icons have different formats on different platforms therefore separate icons
 
-     will usually be created for the different environments.
 
-     Platform-specific methods for creating a wxIcon structure are catered for,
 
-     and this is an occasion where conditional compilation will probably be required.
 
-     Note that a new icon must be created for every time the icon is to be used
 
-     for a new window. In Windows, the icon will not be reloaded if it has already
 
-     been used.
 
-     An icon allocated to a frame will be deleted when the frame is deleted.
 
-     For more information please see @ref overview_bitmap.
 
-     @library{wxcore}
 
-     @category{gdi}
 
-     @stdobjects
 
-     ::wxNullIcon
 
-     @see @ref overview_bitmap, @ref overview_bitmap_supportedformats,
 
-          wxDC::DrawIcon, wxCursor
 
- */
 
- class wxIcon : public wxGDIObject
 
- {
 
- public:
 
-     /**
 
-         Default ctor.
 
-         Constructs an icon object with no data; an assignment or another member
 
-         function such as LoadFile() must be called subsequently.
 
-     */
 
-     wxIcon();
 
-     /**
 
-         Copy ctor.
 
-     */
 
-     wxIcon(const wxIcon& icon);
 
-     /*
 
-         Creates an icon from the given data, which can be of arbitrary type.
 
-     wxIcon(void* data, int type, int width, int height, int depth = -1);
 
-         NOTE: this ctor is not implemented by all ports, is somewhat useless
 
-               without further description of the "data" supported formats and
 
-               uses 'int type' instead of wxBitmapType, so don't document it.
 
-     */
 
-     /**
 
-         Creates an icon from an array of bits.
 
-         You should only use this function for monochrome bitmaps (depth 1) in
 
-         portable programs: in this case the bits parameter should contain an XBM image.
 
-         For other bit depths, the behaviour is platform dependent: under Windows,
 
-         the data is passed without any changes to the underlying CreateBitmap() API.
 
-         Under other platforms, only monochrome bitmaps may be created using this
 
-         constructor and wxImage should be used for creating colour bitmaps from
 
-         static data.
 
-         @param bits
 
-             Specifies an array of pixel values.
 
-         @param width
 
-             The width of the image.
 
-         @param height
 
-             The height of the image.
 
-         @beginWxPerlOnly
 
-         In wxPerl use Wx::Icon->newBits(bits, width, height, depth = -1);
 
-         @endWxPerlOnly
 
-         @onlyfor{wxmsw,wxosx}
 
-     */
 
-     wxIcon(const char bits[], int width, int height);
 
-     /**
 
-         Creates a bitmap from XPM data.
 
-         To use this constructor, you must first include an XPM file.
 
-         For example, assuming that the file mybitmap.xpm contains an XPM array
 
-         of character pointers called @e mybitmap:
 
-         @code
 
-         #include "mybitmap.xpm"
 
-         ...
 
-         wxIcon *icon = new wxIcon(mybitmap);
 
-         @endcode
 
-         A macro, wxICON, is available which creates an icon using an XPM on
 
-         the appropriate platform, or an icon resource on Windows.
 
-         @code
 
-         wxIcon icon(wxICON(sample));
 
-         // Equivalent to:
 
-         #if defined(__WXGTK__) || defined(__WXMOTIF__)
 
-         wxIcon icon(sample_xpm);
 
-         #endif
 
-         #if defined(__WXMSW__)
 
-         wxIcon icon("sample");
 
-         #endif
 
-         @endcode
 
-         @beginWxPerlOnly
 
-         In wxPerl use Wx::Icon->newFromXPM(data).
 
-         @endWxPerlOnly
 
-     */
 
-     wxIcon(const char* const* bits);
 
-     /**
 
-         Loads an icon from a file or resource.
 
-         @param name
 
-             This can refer to a resource name or a filename under MS Windows and X.
 
-             Its meaning is determined by the @a type parameter.
 
-         @param type
 
-             May be one of the ::wxBitmapType values and indicates which type of
 
-             bitmap should be loaded. See the note in the class detailed description.
 
-             Note that the wxICON_DEFAULT_TYPE constant has different value under
 
-             different wxWidgets ports. See the icon.h header for the value it takes
 
-             for a specific port.
 
-         @param desiredWidth
 
-             Specifies the desired width of the icon. This parameter only has
 
-             an effect in Windows where icon resources can contain several icons
 
-             of different sizes.
 
-         @param desiredHeight
 
-             Specifies the desired height of the icon. This parameter only has
 
-             an effect in Windows where icon resources can contain several icons
 
-             of different sizes.
 
-         @see LoadFile()
 
-     */
 
-     wxIcon(const wxString& name, wxBitmapType type = wxICON_DEFAULT_TYPE,
 
-            int desiredWidth = -1, int desiredHeight = -1);
 
-     /**
 
-         Loads an icon from the specified location.
 
-     */
 
-     wxIcon(const wxIconLocation& loc);
 
-     /**
 
-         Destructor.
 
-         See @ref overview_refcount_destruct for more info.
 
-         If the application omits to delete the icon explicitly, the icon will be
 
-         destroyed automatically by wxWidgets when the application exits.
 
-         @warning
 
-         Do not delete an icon that is selected into a memory device context.
 
-     */
 
-     virtual ~wxIcon();
 
-     /**
 
-         Attach a Windows icon handle.
 
-         This wxMSW-specific method allows to assign a native Windows @c HICON
 
-         (which must be castes to @c WXHICON opaque handle type) to wxIcon.
 
-         Notice that this means that the @c HICON will be destroyed by wxIcon
 
-         when it is destroyed.
 
-         @return @true if successful.
 
-         @onlyfor{wxmsw}
 
-         @since 2.9.5
 
-     */
 
-     bool CreateFromHICON(WXHICON icon);
 
-     /**
 
-         Returns disabled (dimmed) version of the icon.
 
-         This method is available in wxIcon only under wxMSW, other ports only
 
-         have it in wxBitmap. You can always use wxImage::ConvertToDisabled()
 
-         and create the icon from wxImage manually however.
 
-         @onlyfor{wxmsw}
 
-         @since 2.9.0
 
-     */
 
-     wxIcon ConvertToDisabled(unsigned char brightness = 255) const;
 
-     /**
 
-         Copies @a bmp bitmap to this icon.
 
-         Under MS Windows the bitmap must have mask colour set.
 
-         @see LoadFile()
 
-     */
 
-     void CopyFromBitmap(const wxBitmap& bmp);
 
-     /**
 
-         Gets the colour depth of the icon.
 
-         A value of 1 indicates a monochrome icon.
 
-     */
 
-     int GetDepth() const;
 
-     /**
 
-         Gets the height of the icon in pixels.
 
-         @see GetWidth()
 
-     */
 
-     int GetHeight() const;
 
-     /**
 
-         Gets the width of the icon in pixels.
 
-         @see GetHeight()
 
-     */
 
-     int GetWidth() const;
 
-     /**
 
-         Returns @true if icon data is present.
 
-     */
 
-     virtual bool IsOk() const;
 
-     /**
 
-         Loads an icon from a file or resource.
 
-         @param name
 
-             Either a filename or a Windows resource name.
 
-             The meaning of name is determined by the @a type parameter.
 
-         @param type
 
-             One of the ::wxBitmapType values; see the note in the class
 
-             detailed description.
 
-             Note that the wxICON_DEFAULT_TYPE constant has different value under
 
-             different wxWidgets ports. See the icon.h header for the value it takes
 
-             for a specific port.
 
-         @param desiredWidth
 
-             Specifies the desired width of the icon. This parameter only has
 
-             an effect in Windows where icon resources can contain several icons
 
-             of different sizes.
 
-         @param desiredHeight
 
-             Specifies the desired height of the icon. This parameter only has
 
-             an effect in Windows where icon resources can contain several icons
 
-             of different sizes.
 
-         @return @true if the operation succeeded, @false otherwise.
 
-     */
 
-     bool LoadFile(const wxString& name, wxBitmapType type = wxICON_DEFAULT_TYPE,
 
-                   int desiredWidth = -1, int desiredHeight = -1);
 
-     /**
 
-         Sets the depth member (does not affect the icon data).
 
-         @param depth
 
-             Icon depth.
 
-     */
 
-     void SetDepth(int depth);
 
-     /**
 
-         Sets the height member (does not affect the icon data).
 
-         @param height
 
-             Icon height in pixels.
 
-     */
 
-     void SetHeight(int height);
 
-     /**
 
-         Sets the width member (does not affect the icon data).
 
-         @param width
 
-             Icon width in pixels.
 
-     */
 
-     void SetWidth(int width);
 
-     /**
 
-         Assignment operator, using @ref overview_refcount.
 
-         @param icon
 
-             Icon to assign.
 
-     */
 
-     wxIcon& operator=(const wxIcon& icon);
 
- };
 
- /**
 
-     An empty wxIcon.
 
- */
 
- wxIcon wxNullIcon;
 
 
  |