]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/bitmap.h
extend GetAsBitmap with an optional subrect
[wxWidgets.git] / include / wx / os2 / bitmap.h
index 72f44788e6e6077d255dd3c3f650578d88888dd2..a809df37ad622bda7bc2028ee88e6efb6669d6d9 100644 (file)
 #ifndef _WX_BITMAP_H_
 #define _WX_BITMAP_H_
 
-#ifdef __GNUG__
-    #pragma interface "bitmap.h"
-#endif
-
 #include "wx/os2/private.h"
 #include "wx/os2/gdiimage.h"
 #include "wx/gdicmn.h"
@@ -74,7 +70,11 @@ public:
 
     // Copy constructors
     inline wxBitmap(const wxBitmap& rBitmap)
-      { Init(); Ref(rBitmap); }
+        : wxGDIImage(rBitmap)
+    {
+        Init();
+        SetHandle(rBitmap.GetHandle());
+    }
 
     // Initialize with raw data
     wxBitmap( const char bits[]
@@ -84,16 +84,20 @@ public:
             );
 
     // Initialize with XPM data
-    wxBitmap(const char** ppData) { CreateFromXpm(ppData); }
-    wxBitmap(char** ppData) { CreateFromXpm((const char**)ppData); }
+    wxBitmap(const char* const* bits);
 
-    // Load a file or resource
-    wxBitmap( const wxString& rName
+    // Load a resource
+    wxBitmap( int             nId
              ,long            lType = wxBITMAP_TYPE_BMP_RESOURCE
             );
 
+    // For compatiability with other ports, under OS/2 does same as default ctor
+    inline wxBitmap( const wxString& WXUNUSED(rFilename)
+                    ,long            WXUNUSED(lType)
+                   )
+    { Init(); }
     // New constructor for generalised creation from data
-    wxBitmap( void* pData
+    wxBitmap( const void* pData
              ,long  lType
              ,int   nWidth
              ,int   nHeight
@@ -101,10 +105,7 @@ public:
             );
 
     // If depth is omitted, will create a bitmap compatible with the display
-    wxBitmap( int nWidth
-             ,int nHeight
-             ,int nDepth = -1
-            );
+    wxBitmap( int nWidth, int nHeight, int nDepth = -1 );
 
     wxBitmap( const wxImage& image, int depth = -1 )
                          { (void)CreateFromImage(image, depth); }
@@ -114,13 +115,6 @@ public:
     inline wxBitmap(const wxIcon& rIcon)
       { Init(); CopyFromIcon(rIcon); }
 
-    wxBitmap& operator=(const wxBitmap& rBitmap)
-    {
-        if ( m_refData != rBitmap.m_refData )
-            Ref(rBitmap);
-        return(*this);
-    }
-
     wxBitmap& operator=(const wxIcon& rIcon)
     {
         (void)CopyFromIcon(rIcon);
@@ -151,15 +145,18 @@ public:
                         ,int nHeight
                         ,int nDepth = -1
                        );
-    virtual bool Create( void* pData
+    virtual bool Create( const void* pData
                         ,long  lType
                         ,int   nWidth
                         ,int   nHeight
                         ,int   nDepth = 1
                        );
-    virtual bool LoadFile( const wxString& rName
+    virtual bool LoadFile( int             nId
                           ,long            lType = wxBITMAP_TYPE_BMP_RESOURCE
                          );
+    virtual bool LoadFile( const wxString& rName
+                          ,long            lType = wxBITMAP_TYPE_XPM
+                         );
     virtual bool SaveFile( const wxString&  rName
                           ,int              lType
                           ,const wxPalette* pCmap = NULL
@@ -189,19 +186,6 @@ public:
     inline bool operator!=(const wxBitmap& rBitmap) const
       { return m_refData != rBitmap.m_refData; }
 
-#if WXWIN_COMPATIBILITY_2
-    void SetOk(bool bIsOk);
-#endif // WXWIN_COMPATIBILITY_2
-
-#if WXWIN_COMPATIBILITY
-    inline wxPalette* GetColourMap() const
-      { return GetPalette(); }
-
-    inline void       SetColourMap(wxPalette* pCmap)
-      { SetPalette(*pCmap); };
-
-#endif // WXWIN_COMPATIBILITY
-
     // Implementation
 public:
     inline void SetHBITMAP(WXHBITMAP hBmp)
@@ -221,10 +205,6 @@ public:
     // 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); }
-
-
 protected:
     // common part of all ctors
     void Init();
@@ -232,15 +212,12 @@ protected:
     inline virtual wxGDIImageRefData* CreateData() const
         { return new wxBitmapRefData; }
 
-    // creates the bitmap from XPM data, supposed to be called from ctor
-    bool CreateFromXpm(const char** ppData);
     bool CreateFromImage(const wxImage& image, int depth);
 
 private:
     bool CopyFromIconOrCursor(const wxGDIImage& rIcon);
 
     bool                            m_bIsMono;
-
     DECLARE_DYNAMIC_CLASS(wxBitmap)
 }; // end of CLASS wxBitmap
 
@@ -316,15 +293,20 @@ public:
     // keep wxBitmapHandler derived from wxGDIImageHandler compatible with the
     // old class which worked only with bitmaps
     virtual bool Create( wxBitmap* pBitmap
-                        ,void*     pData
+                        ,const void* pData
                         ,long      lFlags
                         ,int       nWidth
                         ,int       nHeight
                         ,int       nDepth = 1
                        );
+    virtual bool LoadFile( wxBitmap*       pBitmap
+                          ,int             nId
+                          ,long            lFlags
+                          ,int             nDesiredWidth
+                          ,int             nDesiredHeight
+                         );
     virtual bool LoadFile( wxBitmap*       pBitmap
                           ,const wxString& rName
-                          ,HPS             hPs
                           ,long            lFlags
                           ,int             nDesiredWidth
                           ,int             nDesiredHeight
@@ -336,15 +318,14 @@ public:
                          );
 
     virtual bool Create( wxGDIImage* pImage
-                        ,void*       pData
+                        ,const void* pData
                         ,long        lFlags
                         ,int         nWidth
                         ,int         nHeight
                         ,int         nDepth = 1
                        );
     virtual bool Load( wxGDIImage*     pImage
-                      ,const wxString& rName
-                      ,HPS             hPs
+                      ,int             nId
                       ,long            lFlags
                       ,int             nDesiredWidth
                       ,int             nDesiredHeight
@@ -354,6 +335,14 @@ public:
                       ,int             lType
                      );
 private:
+    inline virtual bool Load( wxGDIImage*     WXUNUSED(pImage)
+                             ,const wxString& WXUNUSED(rName)
+                             ,HPS             WXUNUSED(hPs)
+                             ,long            WXUNUSED(lFlags)
+                             ,int             WXUNUSED(nDesiredWidth)
+                             ,int             WXUNUSED(nDesiredHeight)
+                            )
+    { return false; }
     DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
 }; // end of CLASS wxBitmapHandler