class Core::Portable::OptimizedBitmap

class OptimizedBitmap: public Core::Portable::Bitmap
{
public:
    // methods

    IO::Buffer& getDataBuffer();
};

Inherited Members

public:
    // enums

    enum Options;

    // fields

     frameCount;

    // methods

    void construct(
        int width,
        int height,
        BitmapPixelFormat format,
        int options,
        const uint8* externalBuffer = nullptr,
        uint32 externalBufferSize = 0
    );

    PROPERTY_BOOL(alphaChannelUsed, AlphaChannelUsed);
    FrameCount int getWidth() const;
    int getHeight() const;
    Rect& getSize(Rect& size) const;
    Rect getSize() const;
    Rect& getFrame(Rect& frameRect, int frameIndex = 0) const;
    BitmapPixelFormat getFormat() const;
    BitmapData& accessForWrite();
    const BitmapData& accessForRead() const;
    bool copyFrom(const Bitmap& bitmap);
    bool copyFrom(const Bitmap& bitmap, RectRef rect);
    void* getBufferAddress();
    const void* getBufferAddress() const;
    uint32 getBufferSize() const;
    void use();
    void unuse();
    bool isReferenced() const;

    static Bitmap* loadPNGImage(
        IO::Stream& stream,
        BitmapPixelFormat requestedFormat = kBitmapAny,
        bool explicitFormat = true
    );

    static Bitmap* loadBMPImage(IO::Stream& stream);
    static bool saveBMPImage(IO::Stream& stream, const Bitmap& bitmap);
    static uint32 getTotalBitmapMemory();