Mostly replace ungrammatical "allows to do" with correct "allows doing". Closes https://github.com/wxWidgets/wxWidgets/pull/1183
		
			
				
	
	
		
			308 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			308 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // 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,
 | |
|          wxIconBundle, 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 assigning 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;
 | |
| 
 | |
| 
 |