]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/tech/tn0015.txt
using scan-line polygon conversion for constructing wxregion
[wxWidgets.git] / docs / tech / tn0015.txt
index 365d5e46af36763c79c6f49a91bc7e94357dbd79..5041fcb5654c3b41141c24ec59ba3eb914ec11fb 100644 (file)
@@ -22,8 +22,8 @@ when adding new bitmap/icon.
 First of all, you have to add new wxArtID constant to include/wx/artprov.h.
 Look for "Art IDs" and add new definition to the list, e.g.
     #define wxART_MY_BITMAP     wxART_MAKE_ART_ID(wxART_MY_BITMAP)
 First of all, you have to add new wxArtID constant to include/wx/artprov.h.
 Look for "Art IDs" and add new definition to the list, e.g.
     #define wxART_MY_BITMAP     wxART_MAKE_ART_ID(wxART_MY_BITMAP)
-    
-Add it to docs/latex/wx/artprov.tex, too.
+
+Add it to interface/wx/artprov.h, too.
 
 It may happen that the intended use of the new resource doesn't fit into any
 of defined client categories (search for "Art clients" in the header). In case
 
 It may happen that the intended use of the new resource doesn't fit into any
 of defined client categories (search for "Art clients" in the header). In case
@@ -46,7 +46,7 @@ currently only used by the generic file dialog. Remember that wxArtProvider
 can be used by users, not only the library.
 
 Finally, wxDefaultArtProvider in $(wx)/src/common/artstd.cpp must be updated.
 can be used by users, not only the library.
 
 Finally, wxDefaultArtProvider in $(wx)/src/common/artstd.cpp must be updated.
-This consists of two steps: 
+This consists of two steps:
 
   a) add #include line for your XPM file, e.g. #include "../../art/my_bmp.xpm"
   b) add ART(...) line to wxDefaultArtProvider::CreateBitmap(). The first
 
   a) add #include line for your XPM file, e.g. #include "../../art/my_bmp.xpm"
   b) add ART(...) line to wxDefaultArtProvider::CreateBitmap(). The first
@@ -58,6 +58,35 @@ That's all. The bitmap is now available to wxArtProvider users.
 Note: there's no difference between icons and bitmaps, always treat them as
 bitmaps inside wx(Default)ArtProvider.
 
 Note: there's no difference between icons and bitmaps, always treat them as
 bitmaps inside wx(Default)ArtProvider.
 
+1b. Adding Tango version of the resource.
+-----------------------------------------
+
+While all the bitmaps are provided in XPM format so that they are available in
+all builds of wxWidgets, we also provide most of them in PNG format with full
+transparency support that is not available in XPM. Another advantage of the PNG
+versions is that the icons used are those of the Tango project and so have the
+consistent look, unlike the XPM ones.
+
+So if you an icon exists in http://tango.freedesktop.org/Tango_Icon_Gallery you
+should add it too. For this you need to:
+
+1. Convert the PNG to a C array of bytes suitable for inclusion in the code.
+   This is done using misc/scripts/png2c.py script, e.g. if the variable "f"
+   contains the name of the icon you want to add and you have installed Tango
+   icons in a standard location under a Linux system:
+
+    ./misc/scripts/png2c.py -s /usr/share/icons/Tango/{16x16,24x24}/*/$f.png >
+        art/tango/${f//-/_}.h
+
+   Of course, the same command may be ran with different paths under Windows.
+   Just remember to add both 16 and 24 pixel versions of the bitmap to the
+   header and use the "-s" option to embed the image size in its array name.
+
+2. Add #include for the newly created file to src/common/arttango.cpp.
+
+3. Add an entry to s_allBitmaps array in the same file.
+
+
 2. Accessing the resource
 -------------------------
 
 2. Accessing the resource
 -------------------------
 
@@ -80,7 +109,7 @@ It is highly desirable to let the users know what stock bitmaps are available
 in wxWidgets. The "artprov" sample serves this purpose: it contains a browser
 dialog that displays all available art resources.
 
 in wxWidgets. The "artprov" sample serves this purpose: it contains a browser
 dialog that displays all available art resources.
 
-It has to be updated to accomodate for new bitmaps. Fortunately, this is
+It has to be updated to accommodate for new bitmaps. Fortunately, this is
 trivial: open $(wx)/samples/artprov/artbrows.cpp in text editor and
 ART_ICON(wxART_MY_BITMAP) line to the FillBitmaps() function.
 
 trivial: open $(wx)/samples/artprov/artbrows.cpp in text editor and
 ART_ICON(wxART_MY_BITMAP) line to the FillBitmaps() function.