]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/bitmap.h
Big wxRegion clean up.
[wxWidgets.git] / include / wx / os2 / bitmap.h
index fa4b750192edb3386de29b8dc68ade28c3e627fe..ba920a1fac854db08a765dd328f31dfad61df552 100644 (file)
@@ -29,6 +29,7 @@ class WXDLLEXPORT wxIcon;
 class WXDLLEXPORT wxMask;
 class WXDLLEXPORT wxCursor;
 class WXDLLEXPORT wxControl;
 class WXDLLEXPORT wxMask;
 class WXDLLEXPORT wxCursor;
 class WXDLLEXPORT wxControl;
+class WXDLLEXPORT wxImage;
 
 // ----------------------------------------------------------------------------
 // Bitmap data
 
 // ----------------------------------------------------------------------------
 // Bitmap data
@@ -54,12 +55,12 @@ public:
     // ------------
 
     wxDC*                           m_pSelectedInto;
     // ------------
 
     wxDC*                           m_pSelectedInto;
-    HPS                             m_hPresentationSpace;
-    LONG                            m_lId;
 
 
-    // optional mask for transparent drawing
+    //
+    // Optional mask for transparent drawing
+    //
     wxMask*                         m_pBitmapMask;
     wxMask*                         m_pBitmapMask;
-};
+}; // end of CLASS wxBitmapRefData
 
 // ----------------------------------------------------------------------------
 // wxBitmap: a mono or colour bitmap
 
 // ----------------------------------------------------------------------------
 // wxBitmap: a mono or colour bitmap
@@ -83,9 +84,8 @@ public:
             );
 
     // Initialize with XPM data
             );
 
     // Initialize with XPM data
-    wxBitmap( char**     ppData
-             ,wxControl* pAnItem = NULL
-            );
+    wxBitmap(const char** ppData);
+    wxBitmap(char** ppData);
 
     // Load a file or resource
     wxBitmap( const wxString& rName
 
     // Load a file or resource
     wxBitmap( const wxString& rName
@@ -106,6 +106,9 @@ public:
              ,int nDepth = -1
             );
 
              ,int nDepth = -1
             );
 
+    wxBitmap( const wxImage& image, int depth = -1 ) 
+                         { (void)CreateFromImage(image, depth); }
+
     // we must have this, otherwise icons are silently copied into bitmaps using
     // the copy ctor but the resulting bitmap is invalid!
     inline wxBitmap(const wxIcon& rIcon)
     // we must have this, otherwise icons are silently copied into bitmaps using
     // the copy ctor but the resulting bitmap is invalid!
     inline wxBitmap(const wxIcon& rIcon)
@@ -133,6 +136,11 @@ public:
 
     virtual ~wxBitmap();
 
 
     virtual ~wxBitmap();
 
+    wxImage ConvertToImage() const;  
+
+    // get the given part of bitmap
+    wxBitmap GetSubBitmap(const wxRect& rRect) const;
+
     // copies the contents and mask of the given (colour) icon to the bitmap
     bool CopyFromIcon(const wxIcon& rIcon);
 
     // copies the contents and mask of the given (colour) icon to the bitmap
     bool CopyFromIcon(const wxIcon& rIcon);
 
@@ -211,8 +219,8 @@ public:
     // An OS/2 version that probably doesn't do anything like the msw version
     wxBitmap GetBitmapForDC(wxDC& rDc) const;
 
     // An OS/2 version that probably doesn't do anything like the msw version
     wxBitmap GetBitmapForDC(wxDC& rDc) const;
 
-    inline LONG GetId() const
-      { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
+//    inline LONG GetId() const
+//      { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
 
 
 protected:
 
 
 protected:
@@ -222,11 +230,15 @@ protected:
     inline virtual wxGDIImageRefData* CreateData() const
         { return new wxBitmapRefData; }
 
     inline virtual wxGDIImageRefData* CreateData() const
         { return new wxBitmapRefData; }
 
+    // creates the bitmap from XPM data, supposed to be called from ctor
+    bool CreateFromXpm(const char **bits);
+    bool CreateFromImage(const wxImage& image, int depth);
+
 private:
     bool CopyFromIconOrCursor(const wxGDIImage& rIcon);
 
     DECLARE_DYNAMIC_CLASS(wxBitmap)
 private:
     bool CopyFromIconOrCursor(const wxGDIImage& rIcon);
 
     DECLARE_DYNAMIC_CLASS(wxBitmap)
-};
+}; // end of CLASS wxBitmap
 
 // ----------------------------------------------------------------------------
 // wxMask: a mono bitmap used for drawing bitmaps transparently.
 
 // ----------------------------------------------------------------------------
 // wxMask: a mono bitmap used for drawing bitmaps transparently.
@@ -275,10 +287,7 @@ public:
 protected:
     WXHBITMAP                       m_hMaskBitmap;
     DECLARE_DYNAMIC_CLASS(wxMask)
 protected:
     WXHBITMAP                       m_hMaskBitmap;
     DECLARE_DYNAMIC_CLASS(wxMask)
-private:
-    HDC                             m_hDc;
-    HPS                             m_hPs;
-};
+}; // end of CLASS wxMask
 
 // ----------------------------------------------------------------------------
 // wxBitmapHandler is a class which knows how to load/save bitmaps to/from file
 
 // ----------------------------------------------------------------------------
 // wxBitmapHandler is a class which knows how to load/save bitmaps to/from file
@@ -342,7 +351,7 @@ public:
                      );
 private:
     DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
                      );
 private:
     DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
-};
+}; // end of CLASS wxBitmapHandler
 
 #endif
   // _WX_BITMAP_H_
 
 #endif
   // _WX_BITMAP_H_