]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/bitmap.h
native scaling support for bitmap
[wxWidgets.git] / include / wx / osx / bitmap.h
index c799d9db5d3b1f4af004c5ff57b13932134fda69..d9ec58f7bfe42115c4c620436b8eb0f78f145aba 100644 (file)
@@ -57,6 +57,8 @@ public:
     bool Create(const wxBitmap& bitmap);
     bool Create(const wxMemoryBuffer& buf, int width , int height , int bytesPerRow ) ;
 
     bool Create(const wxBitmap& bitmap);
     bool Create(const wxMemoryBuffer& buf, int width , int height , int bytesPerRow ) ;
 
+    wxBitmap GetBitmap() const;
+
     // Implementation below
 
     void Init() ;
     // Implementation below
 
     void Init() ;
@@ -103,7 +105,11 @@ public:
     
     // creates an bitmap from the native image format
     wxBitmap(CGImageRef image);
     
     // creates an bitmap from the native image format
     wxBitmap(CGImageRef image);
+    wxBitmap(WX_NSImage image);
 
 
+    // Create a bitmap compatible with the given DC
+    wxBitmap(int width, int height, const wxDC& dc);
+    
     // If depth is omitted, will create a bitmap compatible with the display
     wxBitmap(int width, int height, int depth = -1) { (void)Create(width, height, depth); }
     wxBitmap(const wxSize& sz, int depth = -1) { (void)Create(sz, depth); }
     // If depth is omitted, will create a bitmap compatible with the display
     wxBitmap(int width, int height, int depth = -1) { (void)Create(width, height, depth); }
     wxBitmap(const wxSize& sz, int depth = -1) { (void)Create(sz, depth); }
@@ -127,6 +133,13 @@ public:
 
     virtual bool Create(const void* data, wxBitmapType type, int width, int height, int depth = 1);
     bool Create( CGImageRef image );
 
     virtual bool Create(const void* data, wxBitmapType type, int width, int height, int depth = 1);
     bool Create( CGImageRef image );
+    bool Create( WX_NSImage image );
+    
+    // Create a bitmap compatible with the given DC, inheriting its magnification factor
+    bool Create(int width, int height, const wxDC& dc);
+
+    // Create a bitmap with a scale factor, width and height are multiplied with that factor
+    bool CreateScaled(int logwidth, int logheight, int depth, double logicalScale);
     
     // virtual bool Create( WXHICON icon) ;
     virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
     
     // virtual bool Create( WXHICON icon) ;
     virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
@@ -190,6 +203,7 @@ public:
     void *BeginRawAccess() ;
     void EndRawAccess() ;
 
     void *BeginRawAccess() ;
     void EndRawAccess() ;
 
+    double GetScaleFactor() const;
 protected:
     virtual wxGDIRefData *CreateGDIRefData() const;
     virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
 protected:
     virtual wxGDIRefData *CreateGDIRefData() const;
     virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;