VSTGUI  4.3
Graphical User Interface Framework not only for VST plugins
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
CBitmap Class Reference

Encapsulates various platform depended kinds of bitmaps. More...

+ Inheritance diagram for CBitmap:
+ Collaboration diagram for CBitmap:

Public Member Functions

 CBitmap (const CResourceDescription &desc)
 Create a pixmap from a resource identifier. More...
 
 CBitmap (CCoord width, CCoord height)
 Create a pixmap with a given size. More...
 
 CBitmap (IPlatformBitmap *platformBitmap)
 
 ~CBitmap ()
 
virtual bool isTypeOf (IdStringPtr s) const
 
virtual CBaseObjectnewCopy () const
 
virtual void beforeDelete ()
 
CBitmap Methods
virtual void draw (CDrawContext *context, const CRect &rect, const CPoint &offset=CPoint(0, 0), float alpha=1.f)
 
CCoord getWidth () const
 get the width of the image More...
 
CCoord getHeight () const
 get the height of the image More...
 
bool isLoaded () const
 check if image is loaded More...
 
const CResourceDescriptiongetResourceDescription () const
 
IPlatformBitmap * getPlatformBitmap () const
 
void setPlatformBitmap (IPlatformBitmap *bitmap)
 
bool addBitmap (IPlatformBitmap *platformBitmap)
 
IPlatformBitmap * getBestPlatformBitmapForScaleFactor (double scaleFactor) const
 
Reference Counting Methods
virtual void forget ()
 decrease refcount and delete object if refcount == 0 More...
 
virtual void remember ()
 increase refcount More...
 
virtual int32_t getNbReference () const
 get refcount More...
 
Message Methods
virtual CMessageResult notify (CBaseObject *sender, IdStringPtr message)
 

Protected Types

typedef SharedPointer
< IPlatformBitmap > 
BitmapPointer
 
typedef std::vector
< BitmapPointer
BitmapVector
 

Protected Member Functions

 CBitmap ()
 

Protected Attributes

CResourceDescription resourceDesc
 
BitmapVector bitmaps
 

Detailed Description

Encapsulates various platform depended kinds of bitmaps.

Changes in 4.0

In Version 4.0 CBitmap was simplified. Previous versions supported drawing a color transparent of the bitmap. Since CBitmap supports alpha drawing of bitmaps since some time, it's now the only way of drawing a bitmap with some parts transparent.

Supported file formats

File format support is handled in a platform dependent way. On Windows GDI+ is used to import images. On Mac OS X CoreGraphics is used to import them. For cross platform compatibility it is recommended to use PNG files.

Loading Bitmaps

You load a bitmap via a CResourceDescription which can hold a string or a number. If you use names, you need to use the real filename with extension. Then it gets automaticly loaded on Mac OS X out of the Resources folder of the vst bundle. On Windows you also specify the resource in the .rc file with the real filename.

// using a number
1001 PNG DISCARDABLE "bmp01001.png"
// using a string
RealFileName.png PNG DISCARDABLE "RealFileName.png"
CBitmap* bitmap1 = new CBitmap (1001); // number
CBitmap* bitmap2 = new CBitmap ("RealFileName.png"); // string

Member Typedef Documentation

typedef SharedPointer<IPlatformBitmap> BitmapPointer
protected
typedef std::vector<BitmapPointer> BitmapVector
protected

Constructor & Destructor Documentation

CBitmap ( const CResourceDescription desc)

Create a pixmap from a resource identifier.

+ Here is the call graph for this function:

CBitmap ( CCoord  width,
CCoord  height 
)

Create a pixmap with a given size.

+ Here is the call graph for this function:

CBitmap ( IPlatformBitmap *  platformBitmap)
~CBitmap ( )
CBitmap ( )
protected

Member Function Documentation

bool addBitmap ( IPlatformBitmap *  platformBitmap)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void beforeDelete ( )
inlinevirtualinherited

Reimplemented in CView.

+ Here is the caller graph for this function:

void draw ( CDrawContext context,
const CRect rect,
const CPoint offset = CPoint (0, 0),
float  alpha = 1.f 
)
virtual

Reimplemented in CNinePartTiledBitmap.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void forget ( )
inlinevirtualinherited

decrease refcount and delete object if refcount == 0

+ Here is the call graph for this function:

IPlatformBitmap * getBestPlatformBitmapForScaleFactor ( double  scaleFactor) const
CCoord getHeight ( ) const

get the height of the image

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual int32_t getNbReference ( ) const
inlinevirtualinherited

get refcount

IPlatformBitmap * getPlatformBitmap ( ) const

+ Here is the caller graph for this function:

const CResourceDescription& getResourceDescription ( ) const
inline
CCoord getWidth ( ) const

get the width of the image

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool isLoaded ( ) const
inline

check if image is loaded

+ Here is the call graph for this function:

virtual bool isTypeOf ( IdStringPtr  s) const
inlinevirtual

Reimplemented in CNinePartTiledBitmap.

virtual CBaseObject* newCopy ( ) const
inlinevirtual

Reimplemented in CNinePartTiledBitmap.

virtual void remember ( )
inlinevirtualinherited

increase refcount

+ Here is the caller graph for this function:

void setPlatformBitmap ( IPlatformBitmap *  bitmap)

+ Here is the caller graph for this function:

Member Data Documentation

BitmapVector bitmaps
protected
CResourceDescription resourceDesc
protected

The documentation for this class was generated from the following files: