]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/bitmap.h
implemented (untested) work around for wxScrolledWindow painting bug
[wxWidgets.git] / include / wx / motif / bitmap.h
index 17b7142ce7ce02967eaa4921f0d913fd115fa982..785509cb695f6e5cb86308742ccf7a3291ef130e 100644 (file)
@@ -27,6 +27,7 @@ class WXDLLEXPORT wxBitmap;
 class WXDLLEXPORT wxBitmapHandler;
 class WXDLLEXPORT wxIcon;
 class WXDLLEXPORT wxCursor;
 class WXDLLEXPORT wxBitmapHandler;
 class WXDLLEXPORT wxIcon;
 class WXDLLEXPORT wxCursor;
+class WXDLLEXPORT wxImage;
 
 // A mask is a mono bitmap used for drawing bitmaps
 // transparently.
 
 // A mask is a mono bitmap used for drawing bitmaps
 // transparently.
@@ -155,6 +156,10 @@ public:
 
   // If depth is omitted, will create a bitmap compatible with the display
   wxBitmap(int width, int height, int depth = -1);
 
   // If depth is omitted, will create a bitmap compatible with the display
   wxBitmap(int width, int height, int depth = -1);
+
+  // Convert from wxImage:  
+  wxBitmap(const wxImage& image, int depth = -1) { (void)CreateFromImage(image, depth); }
+
   ~wxBitmap();
 
   virtual bool Create(int width, int height, int depth = -1);
   ~wxBitmap();
 
   virtual bool Create(int width, int height, int depth = -1);
@@ -164,6 +169,8 @@ public:
    
   virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_XPM);
   virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
    
   virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_XPM);
   virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
+    
+  wxImage ConvertToImage() const;
 
   bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
   int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
 
   bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
   int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
@@ -183,8 +190,8 @@ public:
   void SetMask(wxMask *mask) ;
 
   wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
   void SetMask(wxMask *mask) ;
 
   wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
-  bool operator == (const wxBitmap& bitmap) { return m_refData == bitmap.m_refData; }
-  bool operator != (const wxBitmap& bitmap) { return m_refData != bitmap.m_refData; }
+  bool operator == (const wxBitmap& bitmap) const { return m_refData == bitmap.m_refData; }
+  bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; }
 
   // Format handling
   static wxList& GetHandlers() { return sm_handlers; }
 
   // Format handling
   static wxList& GetHandlers() { return sm_handlers; }
@@ -201,16 +208,18 @@ public:
   // Motif implementation
 public:
   WXDisplay* GetDisplay() const { return M_BITMAPDATA->m_display; }
   // Motif implementation
 public:
   WXDisplay* GetDisplay() const { return M_BITMAPDATA->m_display; }
-  WXDisplay* GetPixmap() const { return M_BITMAPDATA->m_pixmap; }
+  WXPixmap GetPixmap() const { return (WXPixmap) M_BITMAPDATA->m_pixmap; }
   virtual WXPixmap GetLabelPixmap(WXWidget w) ;
   virtual WXPixmap GetArmPixmap(WXWidget w) ;
   virtual WXPixmap GetInsensPixmap(WXWidget w = (WXWidget) 0) ;
   virtual WXPixmap GetLabelPixmap(WXWidget w) ;
   virtual WXPixmap GetArmPixmap(WXWidget w) ;
   virtual WXPixmap GetInsensPixmap(WXWidget w = (WXWidget) 0) ;
+  void SetPixmapNull() { M_BITMAPDATA->m_pixmap = 0; }
 
 protected:
   static wxList sm_handlers;
 
 protected:
     bool CreateFromXpm(const char **bits);
 
 protected:
   static wxList sm_handlers;
 
 protected:
     bool CreateFromXpm(const char **bits);
+    bool CreateFromImage(const wxImage& image, int depth);    
 };
 
 // Creates a bitmap with transparent areas drawn in
 };
 
 // Creates a bitmap with transparent areas drawn in