]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/artprov.h
Set TOOLKIT_LOWERCASE correctly for the various flavors of wxOSX
[wxWidgets.git] / interface / wx / artprov.h
index 6ce90114e1c77a00f13e2cd6d1cd5a446a645aca..0ab6d8cee63ee6eb9c49514eb5a08cce7df653c2 100644 (file)
     (@note this is not yet really possible as of wxWidgets 2.3.3, the set of wxArtProvider
      bitmaps is too small).
 
-    @section wxartprovider_identify Identifying art resources
+    @section artprovider_identify Identifying art resources
 
     Every bitmap and icon bundle are known to wxArtProvider under an unique ID that
     is used when requesting a resource from it. The ID is represented by wxArtID type
     and can have one of these predefined values (you can see bitmaps represented by these
-    constants in the @ref page_samples_artprovider):
+    constants in the @ref page_samples_artprov):
 
     <table>
     <tr><td>
     The default theme is typically installed in @c /usr/share/icons/hicolor.
 
 
-    @section wxartprovider_clients Clients
+    @section artprovider_clients Clients
 
     Client is the entity that calls wxArtProvider's GetBitmap or GetIcon function.
     It is represented by wxClientID type and can have one of these values:
     @library{wxcore}
     @category{misc,data}
 
-    @see the @ref page_samples_artprovider for an example of wxArtProvider usage.
+    @see the @ref page_samples_artprov for an example of wxArtProvider usage.
 */
 class wxArtProvider : public wxObject
 {
@@ -193,11 +193,29 @@ public:
                           const wxSize& size = wxDefaultSize);
 
     /**
-        Returns a suitable size hint for the given @e wxArtClient. If
-        @a platform_default is @true, return a size based on the current platform,
-        otherwise return the size from the topmost wxArtProvider. @e wxDefaultSize may
-        be returned if the client doesn't have a specified size, like wxART_OTHER for
-        example.
+        Returns native icon size for use specified by @a client hint.
+
+        If the platform has no commonly used default for this use or if
+        @a client is not recognized, returns wxDefaultSize.
+
+        @note In some cases, a platform may have @em several appropriate
+              native sizes (for example, wxART_FRAME_ICON for frame icons).
+              In that case, this method returns only one of them, picked
+              reasonably.
+
+        @since 2.9.0
+     */
+    static wxSize GetNativeSizeHint(const wxArtClient& client);
+
+    /**
+        Returns a suitable size hint for the given @e wxArtClient.
+
+        If @a platform_default is @true, return a size based on the current
+        platform using GetNativeSizeHint(), otherwise return the size from the
+        topmost wxArtProvider. @e wxDefaultSize may be returned if the client
+        doesn't have a specified size, like wxART_OTHER for example.
+
+        @see GetNativeSizeHint()
     */
     static wxSize GetSizeHint(const wxArtClient& client,
                               bool platform_default = false);
@@ -218,10 +236,21 @@ public:
                                       const wxArtClient& client = wxART_OTHER);
 
     /**
-        Register new art provider and add it to the bottom of providers stack
-        (i.e. it will be queried as the last one).
+        Returns true if the platform uses native icons provider that should
+        take precedence over any customizations.
 
-        @see Push()
+        This is true for any platform that has user-customizable icon themes,
+        currently only wxGTK.
+
+        A typical use for this method is to decide whether a custom art provider
+        should be plugged in using Push() or PushBack().
+
+        @since 2.9.0
+     */
+    static bool HasNativeProvider();
+
+    /**
+        @deprecated Use PushBack() instead.
     */
     static void Insert(wxArtProvider* provider);
 
@@ -234,10 +263,21 @@ public:
         Register new art provider and add it to the top of providers stack
         (i.e. it will be queried as the first provider).
 
-        @see Insert()
+        @see PushBack()
     */
     static void Push(wxArtProvider* provider);
 
+    /**
+        Register new art provider and add it to the bottom of providers stack.
+        In other words, it will be queried as the last one, after all others,
+        including the default provider.
+
+        @see Push()
+
+        @since 2.9.0
+    */
+    static void PushBack(wxArtProvider* provider);
+
     /**
         Remove a provider from the stack if it is on it. The provider is not
         deleted, unlike when using Delete().