This is an extension of the BaseBitmap class that supports higher bit depths, floating point images and multiple layers.
The layers are stored hierarchically. There are three kinds of layers:
- Layer : A regular layer, with full range of functionality.
- Folder : A collection of layers. This is a dummy element that has no image content, but other stuff like name, visibility etc.
- Alpha : An alpha channel layer, with full range of functionality.
- Note
- Has to be created with Alloc() and destroyed with Free(). Use AutoAlloc to automate the allocation and destruction based on scope.
-
This represents internally the same class as VPBuffer, so a VPBuffer can be cast to a MultipassBitmap and vice versa.
|
| Bool | SetColorProfile (const ColorProfile *profile, Int32 index=COLORPROFILE_INDEX_IMAGE) |
| |
| const ColorProfile * | GetColorProfile (Int32 index=COLORPROFILE_INDEX_IMAGE) const |
| |
| IMAGERESULT | Init (const Filename &name, Int32 frame=-1, Bool *ismovie=nullptr) |
| |
| IMAGERESULT | Init (Int32 x, Int32 y, Int32 depth=24, INITBITMAPFLAGS flags=INITBITMAPFLAGS::NONE) |
| |
| void | FlushAll () |
| |
| IMAGERESULT | Save (const Filename &name, Int32 format, BaseContainer *data, SAVEBIT savebits) const |
| |
| BaseBitmap * | GetClone () const |
| |
| BaseBitmap * | GetClonePart (Int32 x, Int32 y, Int32 w, Int32 h) const |
| |
| Bool | CopyTo (BaseBitmap *dst) const |
| |
| Bool | CopyPartTo (BaseBitmap *dst, Int32 x, Int32 y, Int32 w, Int32 h) const |
| |
| Int32 | GetBw () const |
| |
| Int32 | GetBh () const |
| |
| Int32 | GetBt () const |
| |
| Int32 | GetBpz () const |
| |
| COLORMODE | GetColorMode () const |
| |
| void | ScaleIt (BaseBitmap *dst, Int32 intens, Bool sample, Bool nprop) const |
| |
| void | ScaleBicubic (BaseBitmap *dst, Int32 src_xmin, Int32 src_ymin, Int32 src_xmax, Int32 src_ymax, Int32 dst_xmin, Int32 dst_ymin, Int32 dst_xmax, Int32 dst_ymax) const |
| |
| void | SetPen (Int32 r, Int32 g, Int32 b) |
| |
| void | Clear (Int32 r, Int32 g, Int32 b) |
| |
| void | Clear (Int32 x1, Int32 y1, Int32 x2, Int32 y2, Int32 r, Int32 g, Int32 b) |
| |
| void | Line (Int32 x1, Int32 y1, Int32 x2, Int32 y2) |
| |
| void | Arc (Int32 x, Int32 y, Float radius, Float angle_start, Float angle_end, Int32 subdiv=32) |
| |
| void | GetPixel (Int32 x, Int32 y, UInt16 *r, UInt16 *g, UInt16 *b) const |
| |
| Vector32 | GetPixelDirect (Int32 x, Int32 y) const |
| |
| Bool | SetPixel (Int32 x, Int32 y, Int32 r, Int32 g, Int32 b) |
| |
| void | GetAlphaPixel (BaseBitmap *channel, Int32 x, Int32 y, UInt16 *val) const |
| |
| Bool | SetAlphaPixel (BaseBitmap *channel, Int32 x, Int32 y, Int32 val) |
| |
| void | GetPixelCnt (Int32 x, Int32 y, Int32 cnt, UChar *buffer, Int32 inc, COLORMODE dstmode, PIXELCNT flags, ColorProfileConvert *conversion=nullptr) const |
| |
| Bool | SetPixelCnt (Int32 x, Int32 y, Int32 cnt, UChar *buffer, Int32 inc, COLORMODE srcmode, PIXELCNT flags) |
| |
| BaseBitmap * | AddChannel (Bool internal, Bool straight) |
| |
| void | RemoveChannel (BaseBitmap *channel) |
| |
| const BaseBitmap * | GetInternalChannel () const |
| |
| BaseBitmap * | GetInternalChannel () |
| |
| Int32 | GetChannelCount () const |
| |
| const BaseBitmap * | GetChannelNum (Int32 num) const |
| |
| BaseBitmap * | GetChannelNum (Int32 num) |
| |
| GeData | GetData (Int32 id, const GeData &t_default) const |
| |
| Bool | SetData (Int32 id, const GeData &data) |
| |
| UInt32 | GetDirty () const |
| |
| void | SetDirty () |
| |
| const BaseBitmap * | GetUpdateRegionBitmap () const |
| |
| BaseBitmap * | GetUpdateRegionBitmap () |
| |
| void | GetUpdateRegion (Int32 &xMin, Int32 &xMax, Int32 &yMin, Int32 &yMax, Bool reset) |
| |
| Int | GetMemoryInfo () const |
| |
| Bool | IsMultipassBitmap () const |
| |
| void | SetCMAP (Int32 i, Int32 r, Int32 g, Int32 b) |
| |
| Bool | GetImageRef (SAVEBIT saveBit, Bool alpha, maxon::ImageRef &imageRef) const |
| |
| static BaseBitmap * | Alloc () |
| |
| static void | Free (BaseBitmap *&bm) |
| |
| static IMAGERESULT | Init (BaseBitmap *&res, const Filename &name, Int32 frame=-1, Bool *ismovie=nullptr, BitmapLoaderPlugin **loaderplugin=nullptr, const maxon::Delegate< void(Float progress)> &progressCallback=nullptr) |
| |
| static constexpr Int32 | COLORPROFILE_INDEX_IMAGE |
| |
| static constexpr Int32 | COLORPROFILE_INDEX_RENDERSPACE |
| |
| static constexpr Int32 | COLORPROFILE_INDEX_VIEW_TRANSFORM |
| |
| static constexpr Int32 | COLORPROFILE_INDEX_DISPLAYSPACE |
| |