aboutsummaryrefslogtreecommitdiff
path: root/src/irrlicht/DTXImage.h
blob: a4912d3a31dbfc6d4cf110fc5a091a13798b459f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef DTXIMAGE_H
#define DTXIMAGE_H

#include <irrlicht.h>

class DTXImage : public irr::video::IImage
{
    void *lock();
    void unlock();
    const irr::core::dimension2d<irr::u32> &getDimension() const;
    irr::u32 getBitsPerPixel() const;
    irr::u32 getBytesPerPixel() const;
    irr::u32 getImageDataSizeInBytes() const;
    irr::u32 getImageDataSizeInPixels() const;
    irr::video::SColor getPixel(irr::u32 x, irr::u32 y) const;
    void setPixel(irr::u32 x, irr::u32 y, const irr::video::SColor &color,
        bool blend = false);
    irr::video::ECOLOR_FORMAT getColorFormat() const;
    irr::u32 getRedMask() const;
    irr::u32 getGreenMask() const;
    irr::u32 getBlueMask() const;
    irr::u32 getAlphaMask() const;
    irr::u32 getPitch() const;
    void copyToScaling(void *target, irr::u32 width, irr::u32 height,
        irr::video::ECOLOR_FORMAT format = irr::video::ECF_A8R8G8B8,
        irr::u32 pitch = 0);
    void copyToScaling(IImage *target);
    void copyTo(IImage *target,
        const irr::core::position2d<irr::s32>
            &pos=irr::core::position2d<irr::s32>(0, 0));
    void copyTo(IImage *target, const irr::core::position2d<irr::s32> &pos,
        const irr::core::rect<irr::s32> &sourceRect,
        const irr::core::rect<irr::s32> *clipRect = nullptr);
    void copyToWithAlpha(IImage* target,
        const irr::core::position2d<irr::s32> &pos,
        const irr::core::rect<irr::s32> &sourceRect,
        const irr::video::SColor &color,
        const irr::core::rect<irr::s32>* clipRect = 0);
    void copyToScalingBoxFilter(IImage* target, irr::s32 bias = 0,
        bool blend = false);
    void fill(const irr::video::SColor &color);
};

#endif