Define CopyFromIcon() directly in wxBitmapBase for the non-MSW ports, as it was implemented exactly in the same way in all ports using this class anyhow. This means this function is not virtual any longer, but this shouldn't be a problem as it was never supposed to be overridden in application code and this couldn't be done with wxMSW, where it never was virtual in the first place, anyhow. No real changes, just a simplification.
94 lines
3.1 KiB
C++
94 lines
3.1 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/dfb/bitmap.h
|
|
// Purpose: wxBitmap class
|
|
// Author: Vaclav Slavik
|
|
// Created: 2006-08-04
|
|
// Copyright: (c) 2006 REA Elektronik GmbH
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_DFB_BITMAP_H_
|
|
#define _WX_DFB_BITMAP_H_
|
|
|
|
#include "wx/dfb/dfbptr.h"
|
|
|
|
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
|
|
|
wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// wxBitmap
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxBitmap : public wxBitmapBase
|
|
{
|
|
public:
|
|
wxBitmap() {}
|
|
wxBitmap(const wxIDirectFBSurfacePtr& surface) { Create(surface); }
|
|
wxBitmap(int width, int height, int depth = -1) { Create(width, height, depth); }
|
|
wxBitmap(const wxSize& sz, int depth = -1) { Create(sz, depth); }
|
|
wxBitmap(const char bits[], int width, int height, int depth = 1);
|
|
wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
|
|
wxBitmap(const char* const* bits);
|
|
#if wxUSE_IMAGE
|
|
wxBitmap(const wxImage& image, int depth = -1, double WXUNUSED(scale) = 1.0);
|
|
#endif
|
|
|
|
bool Create(const wxIDirectFBSurfacePtr& surface);
|
|
bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH);
|
|
bool Create(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH)
|
|
{ return Create(sz.GetWidth(), sz.GetHeight(), depth); }
|
|
bool Create(int width, int height, const wxDC& WXUNUSED(dc))
|
|
{ return Create(width,height); }
|
|
|
|
virtual int GetHeight() const;
|
|
virtual int GetWidth() const;
|
|
virtual int GetDepth() const;
|
|
|
|
#if wxUSE_IMAGE
|
|
virtual wxImage ConvertToImage() const;
|
|
#endif
|
|
|
|
virtual wxMask *GetMask() const;
|
|
virtual void SetMask(wxMask *mask);
|
|
|
|
virtual wxBitmap GetSubBitmap(const wxRect& rect) const;
|
|
|
|
virtual bool SaveFile(const wxString &name, wxBitmapType type,
|
|
const wxPalette *palette = NULL) const;
|
|
virtual bool LoadFile(const wxString &name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
|
|
|
|
#if wxUSE_PALETTE
|
|
virtual wxPalette *GetPalette() const;
|
|
virtual void SetPalette(const wxPalette& palette);
|
|
#endif
|
|
|
|
static void InitStandardHandlers();
|
|
|
|
// raw bitmap access support functions
|
|
void *GetRawData(wxPixelDataBase& data, int bpp);
|
|
void UngetRawData(wxPixelDataBase& data);
|
|
|
|
bool HasAlpha() const;
|
|
|
|
// implementation:
|
|
#if WXWIN_COMPATIBILITY_3_0
|
|
wxDEPRECATED(virtual void SetHeight(int height));
|
|
wxDEPRECATED(virtual void SetWidth(int width));
|
|
wxDEPRECATED(virtual void SetDepth(int depth));
|
|
#endif
|
|
|
|
// get underlying native representation:
|
|
wxIDirectFBSurfacePtr GetDirectFBSurface() const;
|
|
|
|
protected:
|
|
virtual wxGDIRefData *CreateGDIRefData() const;
|
|
virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
|
|
|
|
bool CreateWithFormat(int width, int height, int dfbFormat);
|
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxBitmap);
|
|
};
|
|
|
|
#endif // _WX_DFB_BITMAP_H_
|