]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/bitmap.h
Fix bug with unloading wxPluginLibrary objects in "wrong" order.
[wxWidgets.git] / include / wx / os2 / bitmap.h
index 5f0be316b6f0b3bb692f555ff347531db48e9119..653dd9635a66aea007158ae92aa64d97f1b2d8b4 100644 (file)
@@ -25,7 +25,7 @@ class WXDLLIMPEXP_FWD_CORE wxIcon;
 class WXDLLIMPEXP_FWD_CORE wxMask;
 class WXDLLIMPEXP_FWD_CORE wxCursor;
 class WXDLLIMPEXP_FWD_CORE wxControl;
-class WXDLLIMPEXP_FWD_CORE wxImage;
+class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
 
 // ----------------------------------------------------------------------------
 // Bitmap data
@@ -90,30 +90,39 @@ public:
     // needed for old GCC
     wxBitmap(char** data)
     {
-        *this = wxBitmap(wx_const_cast(const char* const*, data));
+        *this = wxBitmap(const_cast<const char* const*>(data));
     }
 #endif
 
     // Load a resource
     wxBitmap( int             nId
-             ,long            lType = wxBITMAP_TYPE_BMP_RESOURCE
+             ,wxBitmapType    lType = wxBITMAP_DEFAULT_TYPE
             );
 
     // For compatiability with other ports, under OS/2 does same as default ctor
     inline wxBitmap( const wxString& WXUNUSED(rFilename)
-                    ,long            WXUNUSED(lType)
+                    ,wxBitmapType    WXUNUSED(lType)
                    )
     { Init(); }
     // New constructor for generalised creation from data
     wxBitmap( const void* pData
-             ,long  lType
+             ,wxBitmapType lType
              ,int   nWidth
              ,int   nHeight
              ,int   nDepth = 1
             );
 
     // 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 )
+    {
+        Init();
+        (void)Create(nWidth, nHeight, nDepth);
+    }
+    wxBitmap( const wxSize& sz, int nDepth = -1 )
+    {
+        Init();
+        (void)Create(sz, nDepth);
+    }
 
     wxBitmap( const wxImage& image, int depth = -1 )
                          { (void)CreateFromImage(image, depth); }
@@ -139,6 +148,7 @@ public:
     virtual ~wxBitmap();
 
     wxImage ConvertToImage() const;
+    wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
 
     // get the given part of bitmap
     wxBitmap GetSubBitmap(const wxRect& rRect) const;
@@ -151,40 +161,47 @@ public:
 
     virtual bool Create( int nWidth
                         ,int nHeight
-                        ,int nDepth = -1
+                        ,int nDepth = wxBITMAP_SCREEN_DEPTH
                        );
+    virtual bool Create(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH)
+        { return Create(sz.GetWidth(), sz.GetHeight(), depth); }
+
     virtual bool Create( const void* pData
-                        ,long  lType
+                        ,wxBitmapType lType
                         ,int   nWidth
                         ,int   nHeight
                         ,int   nDepth = 1
                        );
     virtual bool LoadFile( int             nId
-                          ,long            lType = wxBITMAP_TYPE_BMP_RESOURCE
+                          ,wxBitmapType    lType = wxBITMAP_DEFAULT_TYPE
                          );
     virtual bool LoadFile( const wxString& rName
-                          ,long            lType = wxBITMAP_TYPE_XPM
+                          ,wxBitmapType    lType = wxBITMAP_DEFAULT_TYPE
                          );
     virtual bool SaveFile( const wxString&  rName
-                          ,int              lType
+                          ,wxBitmapType     lType
                           ,const wxPalette* pCmap = NULL
                          );
 
     inline wxBitmapRefData* GetBitmapData() const
       { return (wxBitmapRefData *)m_refData; }
 
+    // raw bitmap access support functions
+    void *GetRawData(wxPixelDataBase& data, int bpp);
+    void UngetRawData(wxPixelDataBase& data);
+
     inline int GetQuality() const
       { return (GetBitmapData() ? GetBitmapData()->m_nQuality : 0); }
 
     void SetQuality(int nQ);
 
     wxPalette* GetPalette() const
-      { return (GetBitmapData() ? (& GetBitmapData()->m_vBitmapPalette) : (wxPalette*) NULL); }
+      { return (GetBitmapData() ? (& GetBitmapData()->m_vBitmapPalette) : NULL); }
 
     void       SetPalette(const wxPalette& rPalette);
 
     inline wxMask* GetMask() const
-      { return (GetBitmapData() ? GetBitmapData()->m_pBitmapMask : (wxMask*) NULL); }
+      { return (GetBitmapData() ? GetBitmapData()->m_pBitmapMask : NULL); }
 
     void SetMask(wxMask* pMask) ;
 
@@ -200,7 +217,7 @@ public:
       { if (GetBitmapData()) GetBitmapData()->m_pSelectedInto = pDc; }
 
     inline wxDC* GetSelectedInto() const
-      { return (GetBitmapData() ? GetBitmapData()->m_pSelectedInto : (wxDC*) NULL); }
+      { return (GetBitmapData() ? GetBitmapData()->m_pSelectedInto : NULL); }
 
     inline bool IsMono(void) const { return m_bIsMono; }
 
@@ -324,26 +341,26 @@ public:
 
     virtual bool Create( wxGDIImage* pImage
                         ,const void* pData
-                        ,long        lFlags
+                        ,wxBitmapType lFlags
                         ,int         nWidth
                         ,int         nHeight
                         ,int         nDepth = 1
                        );
     virtual bool Load( wxGDIImage*     pImage
                       ,int             nId
-                      ,long            lFlags
+                      ,wxBitmapType    lFlags
                       ,int             nDesiredWidth
                       ,int             nDesiredHeight
                      );
-    virtual bool Save( wxGDIImage*     pImage
-                      ,const wxString& rName
-                      ,int             lType
+    virtual bool Save( const wxGDIImage* pImage
+                      ,const wxString&   rName
+                      ,wxBitmapType      lType
                      ) const;
 private:
     inline virtual bool Load( wxGDIImage*     WXUNUSED(pImage)
                              ,const wxString& WXUNUSED(rName)
                              ,WXHANDLE        WXUNUSED(hPs)
-                             ,long            WXUNUSED(lFlags)
+                             ,wxBitmapType    WXUNUSED(lFlags)
                              ,int             WXUNUSED(nDesiredWidth)
                              ,int             WXUNUSED(nDesiredHeight)
                             )