ASPiK SDK
|
Encapsulates various platform depended kinds of bitmaps. More...
#include <cbitmap.h>
Public Types | |
using | PlatformBitmapPtr = SharedPointer< IPlatformBitmap > |
Public Member Functions | |
CBitmap (const CResourceDescription &desc) | |
Create an image from a resource identifier. | |
CBitmap (CCoord width, CCoord height) | |
Create an image with a given size. | |
CBitmap (CPoint size, double scaleFactor=1.) | |
Create an image with a given size. | |
CBitmap (const PlatformBitmapPtr &platformBitmap) | |
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 | |
CCoord | getHeight () const |
get the height of the image | |
CPoint | getSize () const |
get size of image | |
bool | isLoaded () const |
check if image is loaded | |
const CResourceDescription & | getResourceDescription () const |
PlatformBitmapPtr | getPlatformBitmap () const |
void | setPlatformBitmap (const PlatformBitmapPtr &bitmap) |
bool | addBitmap (const PlatformBitmapPtr &platformBitmap) |
PlatformBitmapPtr | getBestPlatformBitmapForScaleFactor (double scaleFactor) const |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
void | forget () override |
decrease refcount and delete object if refcount == 0 | |
void | remember () override |
increase refcount | |
virtual int32_t | getNbReference () const |
get refcount | |
virtual void | beforeDelete () |
Protected Types | |
using | BitmapVector = std::vector< PlatformBitmapPtr > |
Protected Attributes | |
CResourceDescription | resourceDesc |
BitmapVector | bitmaps |
Encapsulates various platform depended kinds of bitmaps.
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.
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.
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.