Skylicht Engine
Loading...
Searching...
No Matches
irr::video::IImage Class Referenceabstract

Interface for software image data. More...

#include <C:/Projects/skylicht-engine/Projects/Irrlicht/Include/IImage.h>

Inheritance diagram for irr::video::IImage:
irr::IReferenceCounted

Public Member Functions

virtual void * lock ()=0
 Lock function. Use this to get a pointer to the image data.
virtual void unlock ()=0
 Unlock function.
virtual const core::dimension2d< u32 > & getDimension () const =0
 Returns width and height of image data.
virtual u32 getBitsPerPixel () const =0
 Returns bits per pixel.
virtual u32 getBytesPerPixel () const =0
 Returns bytes per pixel.
virtual u32 getImageDataSizeInBytes () const =0
 Returns image data size in bytes.
virtual u32 getImageDataSizeInPixels () const =0
 Returns image data size in pixels.
virtual SColor getPixel (u32 x, u32 y) const =0
 Returns a pixel.
virtual void setPixel (u32 x, u32 y, const SColor &color, bool blend=false)=0
 Sets a pixel.
virtual ECOLOR_FORMAT getColorFormat () const =0
 Returns the color format.
virtual u32 getRedMask () const =0
 Returns mask for red value of a pixel.
virtual u32 getGreenMask () const =0
 Returns mask for green value of a pixel.
virtual u32 getBlueMask () const =0
 Returns mask for blue value of a pixel.
virtual u32 getAlphaMask () const =0
 Returns mask for alpha value of a pixel.
virtual u32 getPitch () const =0
 Returns pitch of image.
virtual void copyToScaling (void *target, u32 width, u32 height, ECOLOR_FORMAT format=ECF_A8R8G8B8, u32 pitch=0, bool swapBG=false)=0
 Copies the image into the target, scaling the image to fit.
virtual void copyToScaling (IImage *target)=0
 Copies the image into the target, scaling the image to fit.
virtual void copyTo (IImage *target, const core::position2d< s32 > &pos=core::position2d< s32 >(0, 0))=0
 copies this surface into another
virtual void copyTo (IImage *target, const core::position2d< s32 > &pos, const core::rect< s32 > &sourceRect, const core::rect< s32 > *clipRect=0)=0
 copies this surface into another
virtual void copyToWithAlpha (IImage *target, const core::position2d< s32 > &pos, const core::rect< s32 > &sourceRect, const SColor &color, const core::rect< s32 > *clipRect=0)=0
 copies this surface into another, using the alpha mask and cliprect and a color to add with
virtual void copyToScalingBoxFilter (IImage *target, s32 bias=0, bool blend=false)=0
 copies this surface into another, scaling it to fit, appyling a box filter
virtual void fill (const SColor &color)=0
 fills the surface with given color
virtual bool isCompressed () const =0
 Inform whether the image is compressed.
virtual bool hasMipMaps () const =0
 Check whether the image has MipMaps.
virtual void swapBG ()=0
Public Member Functions inherited from irr::IReferenceCounted
 IReferenceCounted ()
 Constructor.
virtual ~IReferenceCounted ()
 Destructor.
void grab () const
 Grabs the object. Increments the reference counter by one.
bool drop () const
 Drops the object. Decrements the reference counter by one.
s32 getReferenceCount () const
 Get the reference count.
const c8getDebugName () const
 Returns the debug name of the object.

Static Public Member Functions

static u32 getBitsPerPixelFromFormat (const ECOLOR_FORMAT format)
 get the amount of Bits per Pixel of the given color format
static u32 getCompressedImageSize (ECOLOR_FORMAT format, u32 width, u32 height)
 calculate compressed image size for selected width and height.
static bool isCompressedFormat (const ECOLOR_FORMAT format)
 test if this is compressed color format
static bool isDepthFormat (const ECOLOR_FORMAT format)
 test if the color format is only viable for depth/stencil textures
static bool isRenderTargetOnlyFormat (const ECOLOR_FORMAT format)
 test if the color format is only viable for RenderTarget textures

Additional Inherited Members

Protected Member Functions inherited from irr::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object.

Detailed Description

Interface for software image data.

Image loaders create these images from files. IVideoDrivers convert these images into their (hardware) textures.

Member Function Documentation

◆ hasMipMaps()

virtual bool irr::video::IImage::hasMipMaps ( ) const
pure virtual

Check whether the image has MipMaps.

Returns
True if image has MipMaps, else false.

◆ isRenderTargetOnlyFormat()

bool irr::video::IImage::isRenderTargetOnlyFormat ( const ECOLOR_FORMAT format)
inlinestatic

test if the color format is only viable for RenderTarget textures

Since we don't have support for e.g. floating point IImage formats one should test if the color format can be used for arbitrary usage, or if it is restricted to RTTs.

◆ lock()

virtual void * irr::video::IImage::lock ( )
pure virtual

Lock function. Use this to get a pointer to the image data.

After you don't need the pointer anymore, you must call unlock().

Returns
Pointer to the image data. What type of data is pointed to depends on the color format of the image. For example if the color format is ECF_A8R8G8B8, it is of u32. Be sure to call unlock() after you don't need the pointer any more.

◆ unlock()

virtual void irr::video::IImage::unlock ( )
pure virtual

Unlock function.

Should be called after the pointer received by lock() is not needed anymore.


The documentation for this class was generated from the following file: