CBitmap Class Reference

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

#include <vstgui.h>

Inheritance diagram for CBitmap:

CReferenceCounter List of all members.

Public Member Functions

 CBitmap (long resourceID)
 Create a pixmap from a resource identifier.
 CBitmap (CFrame &frame, CCoord width, CCoord height)
 Create a pixmap with a given size.
virtual ~CBitmap ()
virtual void draw (CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0))
 Draw the pixmap using a given rect as output position and a given offset of its source pixmap.
virtual void drawTransparent (CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0))
virtual void drawAlphaBlend (CDrawContext *pContext, CRect &rect, const CPoint &offset=CPoint(0, 0), unsigned char alpha=128)
 Same as CBitmap::draw except that it uses the alpha value to draw the bitmap alpha blended.
CCoord getWidth () const
CCoord getHeight () const
bool isLoaded () const
void * getHandle () const
void setTransparentColor (const CColor color)
CColor getTransparentColor () const
void setTransparencyMask (CDrawContext *pContext, const CPoint &offset=CPoint(0, 0))
void setNoAlpha (bool state)
bool getNoAlpha () const

Protected Member Functions

 CBitmap ()
virtual void dispose ()
virtual bool loadFromResource (long resourceID)
virtual bool loadFromPath (const void *platformPath)

Protected Attributes

long resourceID
CCoord width
CCoord height
CColor transparentCColor
bool noAlpha

Detailed Description

Encapsulates various platform depended kinds of bitmaps.

Alpha Blend and Transparency

With Version 3.0 of VSTGUI it is possible to use alpha blended bitmaps. This comes free on Mac OS X and with Windows you need to include libpng. Per default PNG images will be rendered alpha blended. If you want to use a transparency color with PNG Bitmaps, you need to call setNoAlpha(true) on the bitmap and set the transparency color.

Classic Apple Mac OS

The Bitmaps are PICTs and stored inside the resource fork.

Apple Mac OS X

The Bitmaps can be of type PNG, JPEG, PICT, BMP and are stored in the Resources folder of the plugin bundle. They must be named bmp00100.png (or bmp00100.jpg, etc). The number is the resource id.

Microsoft Windows

The Bitmaps are .bmp files and must be included in the plug (usually using a .rc file). It's also possible to use png as of version 3.0 if you define the macro USE_LIBPNG and include the libpng and zlib libraries/sources to your project.


Constructor & Destructor Documentation

CBitmap::CBitmap long  resourceID  ) 
 

Create a pixmap from a resource identifier.

CBitmap::CBitmap CFrame frame,
CCoord  width,
CCoord  height
 

Create a pixmap with a given size.

CBitmap::~CBitmap  )  [virtual]
 

CBitmap::CBitmap  )  [protected]
 


Member Function Documentation

void CBitmap::dispose  )  [protected, virtual]
 

void CBitmap::draw CDrawContext pContext,
CRect rect,
const CPoint offset = CPoint(0, 0)
[virtual]
 

Draw the pixmap using a given rect as output position and a given offset of its source pixmap.

void CBitmap::drawAlphaBlend CDrawContext pContext,
CRect rect,
const CPoint offset = CPoint(0, 0),
unsigned char  alpha = 128
[virtual]
 

Same as CBitmap::draw except that it uses the alpha value to draw the bitmap alpha blended.

void CBitmap::drawTransparent CDrawContext pContext,
CRect rect,
const CPoint offset = CPoint(0, 0)
[virtual]
 

void * CBitmap::getHandle  )  const
 

CCoord CBitmap::getHeight  )  const [inline]
 

bool CBitmap::getNoAlpha  )  const [inline]
 

CColor CBitmap::getTransparentColor  )  const [inline]
 

CCoord CBitmap::getWidth  )  const [inline]
 

bool CBitmap::isLoaded  )  const
 

bool CBitmap::loadFromPath const void *  platformPath  )  [protected, virtual]
 

bool CBitmap::loadFromResource long  resourceID  )  [protected, virtual]
 

void CBitmap::setNoAlpha bool  state  )  [inline]
 

void CBitmap::setTransparencyMask CDrawContext pContext,
const CPoint offset = CPoint(0, 0)
 

void CBitmap::setTransparentColor const CColor  color  ) 
 


Member Data Documentation

CCoord CBitmap::height [protected]
 

bool CBitmap::noAlpha [protected]
 

long CBitmap::resourceID [protected]
 

CColor CBitmap::transparentCColor [protected]
 

CCoord CBitmap::width [protected]
 


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

Copyright ©2006 Steinberg Media Technologies. All Rights Reserved.