git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			153 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        include/wx/cocoa/bitmap.h
 | 
						|
// Purpose:     wxBitmap class
 | 
						|
// Author:      David Elliott
 | 
						|
// Modified by:
 | 
						|
// Created:     2003/07/19
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) 2003 David Elliott
 | 
						|
// Licence:   	wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef __WX_COCOA_BITMAP_H__
 | 
						|
#define __WX_COCOA_BITMAP_H__
 | 
						|
 | 
						|
#include "wx/palette.h"
 | 
						|
 | 
						|
// Bitmap
 | 
						|
class WXDLLEXPORT wxBitmap;
 | 
						|
class WXDLLEXPORT wxIcon;
 | 
						|
class WXDLLEXPORT wxCursor;
 | 
						|
class WXDLLEXPORT wxImage;
 | 
						|
 | 
						|
// ========================================================================
 | 
						|
// wxMask
 | 
						|
// ========================================================================
 | 
						|
/* DFE: wxMask is not implemented yet */
 | 
						|
 | 
						|
// A mask is a mono bitmap used for drawing bitmaps
 | 
						|
// transparently.
 | 
						|
class WXDLLEXPORT wxMask: public wxObject
 | 
						|
{
 | 
						|
    DECLARE_DYNAMIC_CLASS(wxMask)
 | 
						|
public:
 | 
						|
  wxMask();
 | 
						|
 | 
						|
  // Construct a mask from a bitmap and a colour indicating
 | 
						|
  // the transparent area
 | 
						|
  wxMask(const wxBitmap& bitmap, const wxColour& colour);
 | 
						|
 | 
						|
  // Construct a mask from a bitmap and a palette index indicating
 | 
						|
  // the transparent area
 | 
						|
  wxMask(const wxBitmap& bitmap, int paletteIndex);
 | 
						|
 | 
						|
  // Construct a mask from a mono bitmap (copies the bitmap).
 | 
						|
  wxMask(const wxBitmap& bitmap);
 | 
						|
 | 
						|
  ~wxMask();
 | 
						|
 | 
						|
  bool Create(const wxBitmap& bitmap, const wxColour& colour);
 | 
						|
  bool Create(const wxBitmap& bitmap, int paletteIndex);
 | 
						|
  bool Create(const wxBitmap& bitmap);
 | 
						|
 | 
						|
  // Implementation
 | 
						|
//  inline WXHBITMAP GetMaskBitmap() const { return m_maskBitmap; }
 | 
						|
//  inline void SetMaskBitmap(WXHBITMAP bmp) { m_maskBitmap = bmp; }
 | 
						|
protected:
 | 
						|
//  WXHBITMAP m_maskBitmap;
 | 
						|
};
 | 
						|
 | 
						|
// ========================================================================
 | 
						|
// wxBitmap
 | 
						|
// ========================================================================
 | 
						|
class WXDLLEXPORT wxBitmap: public wxGDIObject
 | 
						|
{
 | 
						|
    DECLARE_DYNAMIC_CLASS(wxBitmap)
 | 
						|
// ------------------------------------------------------------------------
 | 
						|
// initialization
 | 
						|
// ------------------------------------------------------------------------
 | 
						|
public:
 | 
						|
    // Platform-specific default constructor
 | 
						|
    wxBitmap();
 | 
						|
    // Copy constructors
 | 
						|
    wxBitmap(const wxBitmap& bitmap)
 | 
						|
    :   wxGDIObject()
 | 
						|
    {   Ref(bitmap); }
 | 
						|
    // Initialize with raw data.
 | 
						|
    wxBitmap(const char bits[], int width, int height, int depth = 1);
 | 
						|
    // Initialize with XPM data
 | 
						|
    wxBitmap(const char **bits) { CreateFromXpm(bits); }
 | 
						|
    wxBitmap(char **bits) { CreateFromXpm((const char**)bits); }
 | 
						|
    // Load a file or resource
 | 
						|
    wxBitmap(const wxString& name, wxBitmapType type = wxBITMAP_TYPE_BMP_RESOURCE);
 | 
						|
    // Constructor for generalised creation from data
 | 
						|
    wxBitmap(void *data, wxBitmapType type, 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)
 | 
						|
    {   CreateFromImage(image, depth); }
 | 
						|
    // destructor
 | 
						|
    ~wxBitmap();
 | 
						|
  
 | 
						|
// ------------------------------------------------------------------------
 | 
						|
// Implementation
 | 
						|
// ------------------------------------------------------------------------
 | 
						|
public:
 | 
						|
    // Initialize with XPM data
 | 
						|
    bool CreateFromXpm(const char **bits);
 | 
						|
    // Initialize from wxImage
 | 
						|
    bool CreateFromImage(const wxImage& image, int depth=-1);
 | 
						|
 | 
						|
    virtual bool Create(int width, int height, int depth = -1);
 | 
						|
    virtual bool Create(void *data, wxBitmapType type, int width, int height, int depth = 1);
 | 
						|
    virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_TYPE_BMP_RESOURCE);
 | 
						|
    virtual bool SaveFile(const wxString& name, wxBitmapType type, const wxPalette *cmap = NULL) const;
 | 
						|
 | 
						|
    // copies the contents and mask of the given (colour) icon to the bitmap
 | 
						|
    virtual bool CopyFromIcon(const wxIcon& icon);
 | 
						|
 | 
						|
    wxImage ConvertToImage() const;
 | 
						|
 | 
						|
    // get the given part of bitmap
 | 
						|
    wxBitmap GetSubBitmap( const wxRect& rect ) const;
 | 
						|
 | 
						|
    bool Ok() const;
 | 
						|
    int GetWidth() const;
 | 
						|
    int GetHeight() const;
 | 
						|
    int GetDepth() const;
 | 
						|
    int GetQuality() const;
 | 
						|
    void SetWidth(int w);
 | 
						|
    void SetHeight(int h);
 | 
						|
    void SetDepth(int d);
 | 
						|
    void SetQuality(int q);
 | 
						|
    void SetOk(bool isOk);
 | 
						|
 | 
						|
    wxPalette* GetPalette() const;
 | 
						|
    void SetPalette(const wxPalette& palette);
 | 
						|
 | 
						|
    wxMask *GetMask() const;
 | 
						|
    void SetMask(wxMask *mask) ;
 | 
						|
 | 
						|
    int GetBitmapType() const;
 | 
						|
  
 | 
						|
    inline wxBitmap& operator = (const wxBitmap& bitmap)
 | 
						|
    {   if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
 | 
						|
    inline bool operator == (const wxBitmap& bitmap) const
 | 
						|
    {   return m_refData == bitmap.m_refData; }
 | 
						|
    inline bool operator != (const wxBitmap& bitmap) const
 | 
						|
    {   return m_refData != bitmap.m_refData; }
 | 
						|
 | 
						|
    // wxObjectRefData
 | 
						|
    wxObjectRefData *CreateRefData() const;
 | 
						|
    wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
 | 
						|
 | 
						|
    // wxCocoa
 | 
						|
    WX_NSBitmapImageRep GetNSBitmapImageRep();
 | 
						|
 | 
						|
    static void InitStandardHandlers() { }
 | 
						|
    static void CleanUpHandlers() { }
 | 
						|
};
 | 
						|
 | 
						|
#endif // __WX_COCOA_BITMAP_H__
 |