![]() |
CRM64Pro GDK v0.20.0
A free cross-platform game development kit built on top of SDL 3.0
|
Image layer containing a single image for background/foreground display.
Each SceneLayerImage holds an Image resource and source metadata for save/load operations. Scene manages generic layer properties such as parallax, opacity, visibility, scrolling and repetition, making image layers suitable for backgrounds and foreground overlays.
Classes | |
| class | CRM64Pro::SceneLayerImage |
| Image layer containing a single image for background/foreground display. More... | |
Functions | |
| eSceneLayerType | CRM64Pro::SceneLayerImage::getType () const override |
| Get the layer type. | |
| Sint32 | CRM64Pro::SceneLayerImage::update (Scene *pEngine, SceneLayerContext &rContext) override |
| Update image layer logic (minimal, mainly for callbacks). | |
| Sint32 | CRM64Pro::SceneLayerImage::render (Scene *pEngine, SceneLayerContext &rContext) override |
| Render image layer content. | |
| Sint32 | CRM64Pro::SceneLayerImage::getImageID () const |
| Get the Image resource ID. | |
| bool | CRM64Pro::SceneLayerImage::setImage (Sint32 idImage) |
| Set the Image resource. | |
| void | CRM64Pro::SceneLayerImage::getSource (string &sFile, string &sArchive, string &sPath, eSceneStorageMode &eMode) const |
| Get source file information for save/load operations. | |
| void | CRM64Pro::SceneLayerImage::setSource (const string &sFile, const string &sArchive, const string &sPath, eSceneStorageMode eMode) |
| Set source file information for save/load operations. | |
| float | CRM64Pro::SceneLayerImage::getTotalWidth () const override |
| Get layer total width in pixels. | |
| float | CRM64Pro::SceneLayerImage::getTotalHeight () const override |
| Get layer total height in pixels. | |
| Sint32 | CRM64Pro::Scene::importLayerFromFile (Sint32 iLayer, const string &sFile, const string &sLayerName, Sint32 iTileSizeX, Sint32 iTileSizeY, float fMaxDevPercentage=100.0, Sint32 iCK=-1) |
| Import an image file (BMP, PNG, JPG, PCX, TGA or WebP) into a layer. | |
| Sint32 | CRM64Pro::Scene::importLayerFromImage (Sint32 iLayer, Sint32 idImg, const string &sLayerName, Sint32 iTileSizeX, Sint32 iTileSizeY, float fMaxDevPercentage=100.0, Sint32 iCK=-1) |
| Import an image into a layer. | |
| Sint32 | CRM64Pro::Scene::exportLayerToFile (Sint32 iLayer, const string &sFile) |
| Export a layer to an external PNG image. | |
| Sint32 | CRM64Pro::Scene::exportLayerToImage (Sint32 iLayer, Sint32 idImg) |
| Export a layer to an image. | |
|
overridevirtual |
|
overrideprotectedvirtual |
Update image layer logic (minimal, mainly for callbacks).
| pEngine | Pointer to the Scene instance. |
| rContext | Layer context structure containing update state. |
Implements CRM64Pro::SceneLayer.
|
overrideprotectedvirtual |
Render image layer content.
| pEngine | Pointer to the Scene instance. |
| rContext | Layer context structure containing render state. |
Implements CRM64Pro::SceneLayer.
| Sint32 CRM64Pro::SceneLayerImage::getImageID | ( | ) | const |
| bool CRM64Pro::SceneLayerImage::setImage | ( | Sint32 | idImage | ) |
Set the Image resource.
Transfers exclusive ownership of a stand-alone Image resource to this layer.
| void CRM64Pro::SceneLayerImage::getSource | ( | string & | sFile, |
| string & | sArchive, | ||
| string & | sPath, | ||
| eSceneStorageMode & | eMode ) const |
Get source file information for save/load operations.
| sFile | Output filename. |
| sArchive | Output CDC archive name (empty if not from CDC). |
| sPath | Output directory path. |
| eMode | Output storage mode. |
| void CRM64Pro::SceneLayerImage::setSource | ( | const string & | sFile, |
| const string & | sArchive, | ||
| const string & | sPath, | ||
| eSceneStorageMode | eMode ) |
Set source file information for save/load operations.
| sFile | Filename. |
| sArchive | CDC archive name (empty if not from CDC). |
| sPath | Directory path. |
| eMode | Storage mode. |
|
overridevirtual |
Get layer total width in pixels.
Reimplemented from CRM64Pro::SceneLayer.
|
overridevirtual |
Get layer total height in pixels.
Reimplemented from CRM64Pro::SceneLayer.
| Sint32 CRM64Pro::Scene::importLayerFromFile | ( | Sint32 | iLayer, |
| const string & | sFile, | ||
| const string & | sLayerName, | ||
| Sint32 | iTileSizeX, | ||
| Sint32 | iTileSizeY, | ||
| float | fMaxDevPercentage = 100.0, | ||
| Sint32 | iCK = -1 ) |
Import an image file (BMP, PNG, JPG, PCX, TGA or WebP) into a layer.
Creates a new base tile layer and tileset. Selected layer must be empty (no tile layer). Level name is used for layer and tileset names.
| iLayer | Selected layer ID (from 1 to number of allocated layers), or -1 to use the first empty slot or append a new slot. |
| sFile | string containing [directory]+filename+[supported image extension]. Directory separators '\' and '/' are supported. |
| sLayerName | layer name. If empty, file name is used. |
| iTileSizeX | Tile width to divide image. 0 creates an imagelayer. |
| iTileSizeY | Tile height to divide image. 0 creates an imagelayer. |
| fMaxDevPercentage | Percentage of differing pixels before tile is unique. Default 100% gets only identical tiles. |
| iCK | For images without alpha, this RGB color is transparent. Default -1 (disabled). |
| Sint32 CRM64Pro::Scene::importLayerFromImage | ( | Sint32 | iLayer, |
| Sint32 | idImg, | ||
| const string & | sLayerName, | ||
| Sint32 | iTileSizeX, | ||
| Sint32 | iTileSizeY, | ||
| float | fMaxDevPercentage = 100.0, | ||
| Sint32 | iCK = -1 ) |
Import an image into a layer.
Creates a new base tile layer and tileset. Selected layer must be empty (no tile layer). Level name is used for layer and tileset names.
| iLayer | Selected layer ID (from 1 to number of allocated layers), or -1 to use the first empty slot or append a new slot. |
| idImg | Image ID to import. |
| sLayerName | layer name. If empty, image name is used. |
| iTileSizeX | Tile width to divide image. 0 creates an imagelayer. |
| iTileSizeY | Tile height to divide image. 0 creates an imagelayer. |
| fMaxDevPercentage | Percentage of differing pixels before tile is unique. Default 100% gets only identical tiles. |
| iCK | For images without alpha, this RGB color is transparent. Default -1 (disabled). |
| Sint32 CRM64Pro::Scene::exportLayerToFile | ( | Sint32 | iLayer, |
| const string & | sFile ) |
Export a layer to an external PNG image.
| iLayer | Layer to export, from 1 to number of allocated layers or 0 to export all layers. The layer must have ::SLF_RENDER feature enabled. |
| sFile | string containing the [directory]+filename+[extension]. |
| Sint32 CRM64Pro::Scene::exportLayerToImage | ( | Sint32 | iLayer, |
| Sint32 | idImg ) |
Export a layer to an image.
| iLayer | Layer to export, from 1 to number of allocated layers or 0 to export all layers. The layer must have ::SLF_RENDER feature enabled. |
| idImg | Image ID. The image should not have assigned any surface. |