]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/bitmap.h
Cast for argument to delete[] - VC6 doesn't want to delete a const pointer
[wxWidgets.git] / include / wx / mac / carbon / bitmap.h
index e2a5a5b57e843980f1f0c7eac998e954b145c416..5aa1ce31b352c296411c2d3bcac13f091b675b67 100644 (file)
 #include "wx/palette.h"
 
 // Bitmap
-class WXDLLEXPORT wxBitmap;
+class WXDLLIMPEXP_FWD_CORE wxBitmap;
 class wxBitmapRefData ;
-class WXDLLEXPORT wxBitmapHandler;
-class WXDLLEXPORT wxControl;
-class WXDLLEXPORT wxCursor;
-class WXDLLEXPORT wxDC;
-class WXDLLEXPORT wxIcon;
-class WXDLLEXPORT wxImage;
-class WXDLLEXPORT wxPixelDataBase;
+class WXDLLIMPEXP_FWD_CORE wxBitmapHandler;
+class WXDLLIMPEXP_FWD_CORE wxControl;
+class WXDLLIMPEXP_FWD_CORE wxCursor;
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxIcon;
+class WXDLLIMPEXP_FWD_CORE wxImage;
+class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
 
 // A mask is a bitmap used for drawing bitmaps
 // Internally it is stored as a 8 bit deep memory chunk, 0 = black means the source will be drawn
@@ -31,7 +31,7 @@ class WXDLLEXPORT wxPixelDataBase;
 // 8 bit is chosen only for performance reasons, note also that this is the inverse value range
 // from alpha, where 0 = invisible , 255 = fully drawn
 
-class WXDLLEXPORT wxMask: public wxObject
+class WXDLLIMPEXP_CORE wxMask: public wxObject
 {
     DECLARE_DYNAMIC_CLASS(wxMask)
 
@@ -47,7 +47,7 @@ public:
 
     // Construct a mask from a mono bitmap (black meaning show pixels, white meaning transparent)
     wxMask(const wxBitmap& bitmap);
-    
+
     // implementation helper only : construct a mask from a 32 bit memory buffer
     wxMask(const wxMemoryBuffer& buf, int width , int height , int bytesPerRow ) ;
 
@@ -61,10 +61,10 @@ public:
 
     void Init() ;
 
-    // a 8 bit depth mask 
+    // a 8 bit depth mask
     void* GetRawAccess() const;
     int GetBytesPerRow() const { return m_bytesPerRow ; }
-    // renders/updates native representation when necessary 
+    // renders/updates native representation when necessary
     void RealizeNative() ;
 
     WXHBITMAP GetHBITMAP() const ;
@@ -80,16 +80,11 @@ private:
 
 };
 
-class WXDLLIMPEXP_CORE wxBitmapHandler: public wxBitmapHandlerBase
-{
-    DECLARE_ABSTRACT_CLASS(wxBitmapHandler)
-};
-
-class WXDLLEXPORT wxBitmap: public wxBitmapBase
+class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase
 {
     DECLARE_DYNAMIC_CLASS(wxBitmap)
 
-    friend class WXDLLEXPORT wxBitmapHandler;
+    friend class WXDLLIMPEXP_FWD_CORE wxBitmapHandler;
 
 public:
     wxBitmap(); // Platform-specific
@@ -134,8 +129,6 @@ public:
     // copies the contents and mask of the given (colour) icon to the bitmap
     virtual bool CopyFromIcon(const wxIcon& icon);
 
-    bool Ok() const { return IsOk(); }
-    bool IsOk() const;
     int GetWidth() const;
     int GetHeight() const;
     int GetDepth() const;
@@ -163,13 +156,16 @@ public:
     bool HasAlpha() const;
     void UseAlpha();
 
-    // returns the 'native' implementation, a GWorldPtr for the content and one for the mask 
+    // returns the 'native' implementation, a GWorldPtr for the content and one for the mask
     WXHBITMAP GetHBITMAP( WXHBITMAP * mask = NULL ) const;
 
-#ifdef __WXMAC_OSX__
     // returns a CGImageRef which must released after usage with CGImageRelease
-    WXCGIMAGEREF CGImageCreate() const ;
-#endif
+    CGImageRef CreateCGImage() const ;
+
+    // returns a IconRef which must be retained before and released after usage
+    IconRef GetIconRef() const;
+    // returns a IconRef which must be released after usage
+    IconRef CreateIconRef() const;
     // get read only access to the underlying buffer
     void *GetRawAccess() const ;
     // brackets to the underlying OS structure for read/write access
@@ -178,9 +174,8 @@ public:
     void EndRawAccess() ;
 
 protected:
-    // ref counting code
-    virtual wxObjectRefData *CreateRefData() const;
-    virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
+    virtual wxGDIRefData *CreateGDIRefData() const;
+    virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
 };
-#endif
-  // _WX_BITMAP_H_
+
+#endif // _WX_BITMAP_H_