OldSchool Library
OSL_IMAGE Struct Reference

Structure representing an image loaded in memory. More...

#include <drawing.h>

Data Fields

u16 sizeY
 Displayable size.
 
u16 sysSizeY
 Size aligned to the next power of two.
 
u16 realSizeY
 Actual buffer size (never write outside of these dimensions!)
 
void * data
 Raw image data in memory.
 
u8 flags
 Special image flags.
 
int totalSize
 Total image size in bytes.
 
short location
 Image location (OSL_IN_RAM or OSL_IN_VRAM)
 
short pixelFormat
 Image pixel format.
 
OSL_PALETTEpalette
 Palette for 4 and 8-bit modes.
 
u16 frameSizeY
 Size of a frame in the image.
 
int y
 Image positions.
 
int stretchY
 Final image size when drawn (stretched)
 
float offsetY1
 Offset in the texture.
 
int centerY
 Rotation center.
 
int angle
 Angle (rotation) in degrees.
 

Detailed Description

Structure representing an image loaded in memory.

This structure defines an image in OSLib, including various properties like dimensions, raw data, pixel format, and additional attributes used for drawing and transforming the image.

@struct OSL_IMAGE
@param sizeX
        Displayable width of the image.
@param sizeY
        Displayable height of the image.
@param sysSizeX
        Width aligned to the next power of two, used for system-level optimizations.
@param sysSizeY
        Height aligned to the next power of two, used for system-level optimizations.
@param realSizeX
        Actual buffer width of the image. Never write outside of these dimensions!
@param realSizeY
        Actual buffer height of the image. Never write outside of these dimensions!
@param data
        Pointer to the raw image data in memory.
@param flags
        Special flags for the image, defined by `OSL_IMAGE_FLAGS`.
@param totalSize
        Total size of the image in bytes.
@param location
        Location of the image, either in RAM (`OSL_IN_RAM`) or VRAM (`OSL_IN_VRAM`).
@param pixelFormat
        Pixel format of the image data, determining how the colors are stored.
@param palette
        Pointer to the palette used in 4-bit and 8-bit color modes.
@param frameSizeX
        Width of a frame in the image, useful for animations.
@param frameSizeY
        Height of a frame in the image, useful for animations.
@param x
        X-coordinate of the image position on the screen.
@param y
        Y-coordinate of the image position on the screen.
@param stretchX
        Final width of the image when drawn, allowing for stretching.
@param stretchY
        Final height of the image when drawn, allowing for stretching.
@param offsetX0
        Horizontal offset in the texture for the first point.
@param offsetY0
        Vertical offset in the texture for the first point.
@param offsetX1
        Horizontal offset in the texture for the second point.
@param offsetY1
        Vertical offset in the texture for the second point.
@param centerX
        X-coordinate of the rotation center.
@param centerY
        Y-coordinate of the rotation center.
@param angle
        Rotation angle in degrees, used for rotating the image.

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