Organized shapes, textures, audio, text, lights and gui functions.

This commit is contained in:
jussi
2023-11-09 22:02:59 +02:00
parent e056446750
commit 8effd050ff
17 changed files with 438 additions and 423 deletions

View File

@@ -4,7 +4,7 @@
#include "lua_core.h"
/*
## Audio - Audio device management
## Audio - Audio device management functions
*/
/*
@@ -21,7 +21,7 @@ int laudioSetMasterVolume( lua_State *L ) {
}
/*
## Audio - Wave/Sound Loading
## Audio - Wave/Sound loading/unloading functions
*/
/*
@@ -166,7 +166,7 @@ int laudioExportWaveAsCode( lua_State *L ) {
}
/*
## Audio - Wave/Sound management
## Audio - Wave/Sound management functions
*/
/*
@@ -325,7 +325,7 @@ int laudioWaveCrop( lua_State *L ) {
}
/*
## Audio - Music management
## Audio - Music management functions
*/
/*

View File

@@ -8,7 +8,7 @@
#include "rlights.h"
/*
## Lights - Basics
## Lights - Light management functions
*/
/*

View File

@@ -1704,7 +1704,7 @@ void luaRegister() {
assingGlobalFunction( "LoadBufferFromFile", lcoreLoadBufferFromFile );
/* Shapes. */
/* Drawing. */
/* Basic shapes drawing functions. */
assingGlobalFunction( "SetShapesTexture", lshapesSetShapesTexture );
assingGlobalFunction( "DrawPixel", lshapesDrawPixel );
assingGlobalFunction( "DrawLine", lshapesDrawLine );
@@ -1737,7 +1737,7 @@ void luaRegister() {
assingGlobalFunction( "DrawPoly", lshapesDrawPoly );
assingGlobalFunction( "DrawPolyLines", lshapesDrawPolyLines );
assingGlobalFunction( "DrawPolyLinesEx", lshapesDrawPolyLinesEx );
/* Collision. */
/* Basic shapes collision detection functions. */
assingGlobalFunction( "CheckCollisionRecs", lshapesCheckCollisionRecs );
assingGlobalFunction( "CheckCollisionCircles", lshapesCheckCollisionCircles );
assingGlobalFunction( "CheckCollisionCircleRec", lshapesCheckCollisionCircleRec );
@@ -1750,7 +1750,7 @@ void luaRegister() {
assingGlobalFunction( "GetCollisionRec", lshapesGetCollisionRec );
/* Textures. */
/* Image Loading. */
/* Image loading functions. */
assingGlobalFunction( "LoadImage", ltexturesLoadImage );
assingGlobalFunction( "LoadImageFromTexture", ltexturesLoadImageFromTexture );
assingGlobalFunction( "LoadImageFromScreen", ltexturesLoadImageFromScreen );
@@ -1758,7 +1758,7 @@ void luaRegister() {
assingGlobalFunction( "UnloadImage", ltextureUnloadImage );
assingGlobalFunction( "ExportImage", ltexturesExportImage );
assingGlobalFunction( "ExportImageAsCode", ltexturesExportImageAsCode );
/* Image Generation. */
/* Image generation functions. */
assingGlobalFunction( "GenImageColor", ltexturesGenImageColor );
assingGlobalFunction( "GenImageGradientV", ltexturesGenImageGradientV );
assingGlobalFunction( "GenImageGradientH", ltexturesGenImageGradientH );
@@ -1768,7 +1768,7 @@ void luaRegister() {
assingGlobalFunction( "GenImagePerlinNoise", ltexturesGenImagePerlinNoise );
assingGlobalFunction( "GenImageCellular", ltexturesGenImageCellular );
assingGlobalFunction( "GenImageText", ltexturesGenImageText );
/* Image Manipulation Functions. */
/* Image manipulation functions. */
assingGlobalFunction( "ImageCopy", ltexturesImageCopy );
assingGlobalFunction( "ImageFromImage", ltexturesImageFromImage );
assingGlobalFunction( "ImageText", ltexturesImageText );
@@ -1799,7 +1799,11 @@ void luaRegister() {
assingGlobalFunction( "LoadImagePalette", ltexturesLoadImagePalette );
assingGlobalFunction( "GetImageAlphaBorder", ltexturesGetImageAlphaBorder );
assingGlobalFunction( "GetImageColor", ltexturesGetImageColor );
/* Image Drawing. */
/* Image configuration functions. */
assingGlobalFunction( "GetImageSize", ltexturesGetImageSize );
assingGlobalFunction( "GetImageMipmaps", ltexturesGetImageMipmaps );
assingGlobalFunction( "GetImageFormat", ltexturesGetImageFormat );
/* Image drawing functions. */
assingGlobalFunction( "ImageClearBackground", ltexturesImageClearBackground );
assingGlobalFunction( "ImageDrawPixel", ltexturesImageDrawPixel );
assingGlobalFunction( "ImageDrawLine", ltexturesImageDrawLine );
@@ -1809,11 +1813,7 @@ void luaRegister() {
assingGlobalFunction( "ImageDrawRectangleLines", ltexturesImageDrawRectangleLines );
assingGlobalFunction( "ImageDraw", ltexturesImageDraw );
assingGlobalFunction( "ImageDrawTextEx", ltexturesImageDrawTextEx );
/* Image Configuration. */
assingGlobalFunction( "GetImageSize", ltexturesGetImageSize );
assingGlobalFunction( "GetImageMipmaps", ltexturesGetImageMipmaps );
assingGlobalFunction( "GetImageFormat", ltexturesGetImageFormat );
/* Texture Loading. */
/* Texture loading functions. */
assingGlobalFunction( "LoadTexture", ltexturesLoadTexture );
assingGlobalFunction( "LoadTextureFromImage", ltexturesLoadTextureFromImage );
assingGlobalFunction( "LoadTextureCubemap", ltexturesLoadTextureCubemap );
@@ -1826,12 +1826,7 @@ void luaRegister() {
assingGlobalFunction( "UnloadRenderTexture", ltextureUnloadRenderTexture );
assingGlobalFunction( "UpdateTexture", ltexturesUpdateTexture );
assingGlobalFunction( "UpdateTextureRec", ltexturesUpdateTextureRec );
/* Texture Drawing. */
assingGlobalFunction( "DrawTexture", ltexturesDrawTexture );
assingGlobalFunction( "DrawTextureRec", ltexturesDrawTextureRec );
assingGlobalFunction( "DrawTexturePro", ltexturesDrawTexturePro );
assingGlobalFunction( "DrawTextureNPatch", ltexturesDrawTextureNPatch );
/* Texture Configuration. */
/* Texture configuration functions. */
assingGlobalFunction( "GenTextureMipmaps", ltexturesGenTextureMipmaps );
assingGlobalFunction( "SetTextureFilter", ltexturesSetTextureFilter );
assingGlobalFunction( "SetTextureWrap", ltexturesSetTextureWrap );
@@ -1839,11 +1834,16 @@ void luaRegister() {
assingGlobalFunction( "GetTextureSize", ltexturesGetTextureSize );
assingGlobalFunction( "GetTextureMipmaps", ltexturesGetTextureMipmaps );
assingGlobalFunction( "GetTextureFormat", ltexturesGetTextureFormat );
/* RenderTexture Configuration. */
/* Texture drawing functions. */
assingGlobalFunction( "DrawTexture", ltexturesDrawTexture );
assingGlobalFunction( "DrawTextureRec", ltexturesDrawTextureRec );
assingGlobalFunction( "DrawTexturePro", ltexturesDrawTexturePro );
assingGlobalFunction( "DrawTextureNPatch", ltexturesDrawTextureNPatch );
/* RenderTexture configuration functions. */
assingGlobalFunction( "GetRenderTextureId", ltexturesGetRenderTextureId );
assingGlobalFunction( "GetRenderTextureTexture", ltexturesGetRenderTextureTexture );
assingGlobalFunction( "GetRenderTextureDepthTexture", ltexturesGetRenderTextureDepthTexture );
/* Color/pixel */
/* Color/pixel related functions */
assingGlobalFunction( "Fade", ltexturesFade );
assingGlobalFunction( "ColorToInt", ltexturesColorToInt );
assingGlobalFunction( "ColorNormalize", ltexturesColorNormalize );
@@ -1953,14 +1953,14 @@ void luaRegister() {
assingGlobalFunction( "GetRayCollisionQuad", lmodelsGetRayCollisionQuad );
/* Text. */
/* Loading. */
/* Font loading/unloading functions. */
assingGlobalFunction( "GetFontDefault", ltextGetFontDefault );
assingGlobalFunction( "LoadFont", ltextLoadFont );
assingGlobalFunction( "LoadFontEx", ltextLoadFontEx );
assingGlobalFunction( "LoadFontFromImage", ltextLoadFontFromImage );
assingGlobalFunction( "IsFontReady", ltextIsFontReady );
assingGlobalFunction( "UnloadFont", ltextUnloadFont );
/* Drawing. */
/* Text drawing functions. */
assingGlobalFunction( "DrawFPS", ltextDrawFPS );
assingGlobalFunction( "DrawText", ltextDrawText );
assingGlobalFunction( "DrawTextEx", ltextDrawTextEx );
@@ -1969,7 +1969,7 @@ void luaRegister() {
assingGlobalFunction( "DrawTextCodepoints", ltextDrawTextCodepoints );
assingGlobalFunction( "DrawTextBoxed", ltextDrawTextBoxed );
assingGlobalFunction( "DrawTextBoxedTinted", ltextDrawTextBoxedTinted );
/* Font info functions. */
/* Text font info functions. */
assingGlobalFunction( "MeasureText", ltextMeasureText );
assingGlobalFunction( "GetGlyphIndex", ltextGetGlyphIndex );
assingGlobalFunction( "GetGlyphInfo", ltextGetGlyphInfo );
@@ -1980,9 +1980,9 @@ void luaRegister() {
assingGlobalFunction( "GetFontTexture", ltextGetFontTexture );
/* Audio. */
/* Audio device management. */
/* Audio device management functions. */
assingGlobalFunction( "SetMasterVolume", laudioSetMasterVolume );
/* Wave/Sound Loading. */
/* Wave/Sound loading/unloading functions. */
assingGlobalFunction( "LoadSound", laudioLoadSound );
assingGlobalFunction( "LoadWave", laudioLoadWave );
assingGlobalFunction( "IsWaveReady", laudioIsWaveReady );
@@ -1992,7 +1992,7 @@ void luaRegister() {
assingGlobalFunction( "UnloadSound", laudioUnloadSound );
assingGlobalFunction( "ExportWave", laudioExportWave );
assingGlobalFunction( "ExportWaveAsCode", laudioExportWaveAsCode );
/* Wave/Sound management */
/* Wave/Sound management functions. */
assingGlobalFunction( "PlaySound", laudioPlaySound );
assingGlobalFunction( "StopSound", laudioStopSound );
assingGlobalFunction( "PauseSound", laudioPauseSound );
@@ -2004,7 +2004,7 @@ void luaRegister() {
assingGlobalFunction( "WaveFormat", laudioWaveFormat );
assingGlobalFunction( "WaveCopy", laudioWaveCopy );
assingGlobalFunction( "WaveCrop", laudioWaveCrop );
/* Music management. */
/* Music management functions. */
assingGlobalFunction( "LoadMusicStream", laudioLoadMusicStream );
assingGlobalFunction( "IsMusicReady", laudioIsMusicReady );
assingGlobalFunction( "UnloadMusicStream", laudioUnloadMusicStream );
@@ -2155,8 +2155,6 @@ void luaRegister() {
/* Style. */
assingGlobalFunction( "GuiSetStyle", lguiGuiSetStyle );
assingGlobalFunction( "GuiGetStyle", lguiGuiGetStyle );
assingGlobalFunction( "GuiLoadStyle", lguiGuiLoadStyle );
assingGlobalFunction( "GuiLoadStyleDefault", lguiGuiLoadStyleDefault );
/* Container. */
assingGlobalFunction( "GuiWindowBox", lguiGuiWindowBox );
assingGlobalFunction( "GuiGroupBox", lguiGuiGroupBox );
@@ -2192,6 +2190,9 @@ void luaRegister() {
assingGlobalFunction( "GuiColorPanel", lguiGuiColorPanel );
assingGlobalFunction( "GuiColorBarAlpha", lguiGuiColorBarAlpha );
assingGlobalFunction( "GuiColorBarHue", lguiGuiColorBarHue );
/* Styles loading functions */
assingGlobalFunction( "GuiLoadStyle", lguiGuiLoadStyle );
assingGlobalFunction( "GuiLoadStyleDefault", lguiGuiLoadStyleDefault );
/* Icons. */
assingGlobalFunction( "GuiIconText", lguiGuiIconText );
assingGlobalFunction( "GuiDrawIcon", lguiGuiDrawIcon );
@@ -2201,7 +2202,7 @@ void luaRegister() {
assingGlobalFunction( "GuiCheckIconPixel", lguiGuiCheckIconPixel );
/* Lights */
/* Basics. */
/* Light management functions. */
assingGlobalFunction( "CreateLight", llightsCreateLight );
assingGlobalFunction( "UpdateLightValues", llightsUpdateLightValues );
assingGlobalFunction( "SetLightType", llightsSetLightType );

View File

@@ -7,7 +7,7 @@
#include "raygui.h"
/*
## Gui - Global
## Gui - Global gui state control functions
*/
/*
@@ -107,7 +107,7 @@ int lguiGuiGetState( lua_State *L ) {
}
/*
## Gui - Font
## Gui - Font set/get functions
*/
/*
@@ -137,7 +137,7 @@ int lguiGuiGetFont( lua_State *L ) {
}
/*
## Gui - Style
## Gui - Style set/get functions
*/
/*
@@ -172,39 +172,7 @@ int lguiGuiGetStyle( lua_State *L ) {
}
/*
> success = RL.GuiLoadStyle( string fileName )
Load style file over global style variable (.rgs)
- Failure return false
- Success return true
*/
int lguiGuiLoadStyle( lua_State *L ) {
if ( FileExists( luaL_checkstring( L, 1 ) ) ) {
GuiLoadStyle( lua_tostring( L, 1 ) );
lua_pushboolean( L, true );
return 1;
}
TraceLog( state->logLevelInvalid, "Invalid file '%s'", lua_tostring( L, 1 ) );
lua_pushboolean( L, false );
return 1;
}
/*
> RL.GuiLoadStyleDefault()
Load style default over global style
*/
int lguiGuiLoadStyleDefault( lua_State *L ) {
GuiLoadStyleDefault();
return 0;
}
/*
## Gui - Container
## Gui - Container/separator controls, useful for controls organization
*/
/*
@@ -280,7 +248,7 @@ int lguiGuiScrollPanel( lua_State *L ) {
}
/*
## Gui - Basic
## Gui - Basic controls set
*/
/*
@@ -606,7 +574,7 @@ int lguiGuiGrid( lua_State *L ) {
}
/*
## Gui - Advanced
## Gui - Advance controls set
*/
/*
@@ -750,7 +718,43 @@ int lguiGuiColorBarHue( lua_State *L ) {
}
/*
## Gui - Icons
## Gui - Styles loading functions
*/
/*
> success = RL.GuiLoadStyle( string fileName )
Load style file over global style variable (.rgs)
- Failure return false
- Success return true
*/
int lguiGuiLoadStyle( lua_State *L ) {
if ( FileExists( luaL_checkstring( L, 1 ) ) ) {
GuiLoadStyle( lua_tostring( L, 1 ) );
lua_pushboolean( L, true );
return 1;
}
TraceLog( state->logLevelInvalid, "Invalid file '%s'", lua_tostring( L, 1 ) );
lua_pushboolean( L, false );
return 1;
}
/*
> RL.GuiLoadStyleDefault()
Load style default over global style
*/
int lguiGuiLoadStyleDefault( lua_State *L ) {
GuiLoadStyleDefault();
return 0;
}
/*
## Gui - Icons functionality
*/
/*

View File

@@ -5,7 +5,7 @@
#include "textures.h"
/*
## Shapes - Drawing
## Shapes - Basic shapes drawing functions
*/
/*
@@ -556,7 +556,7 @@ int lshapesDrawPolyLinesEx( lua_State *L ) {
}
/*
## Shapes - Collision
## Shapes - Basic shapes collision detection functions
*/
/*

View File

@@ -158,7 +158,7 @@ bool wordWrap, Color *tints, int tintCount, Color *backTints, int backTintCount
}
/*
## Text - Loading
## Text - Font loading/unloading functions
*/
/*
@@ -278,7 +278,7 @@ int ltextUnloadFont( lua_State *L ) {
}
/*
## Text - Draw
## Text - Text drawing functions
*/
/*
@@ -457,7 +457,7 @@ int ltextDrawTextBoxedTinted( lua_State *L ) {
}
/*
## Text - Font info functions
## Text - Text font info functions
*/
/*

View File

@@ -5,7 +5,7 @@
#include "lua_core.h"
/*
## Textures - Image Loading
## Textures - Image loading functions
*/
/*
@@ -111,7 +111,7 @@ int ltexturesExportImageAsCode( lua_State *L ) {
}
/*
## Textures - Image Generation
## Textures - Image generation functions
*/
/*
@@ -265,7 +265,7 @@ int ltexturesGenImageText( lua_State *L ) {
}
/*
## Textures - Image Manipulation Functions
## Textures - Image manipulation functions
*/
/*
@@ -717,7 +717,56 @@ int ltexturesGetImageColor( lua_State *L ) {
}
/*
## Textures - Image Drawing
## Textures - Image configuration functions
*/
/*
> size = RL.GetImageSize( Image image )
Get image size
- Success return Vector2
*/
int ltexturesGetImageSize( lua_State *L ) {
Image *image = uluaGetImage( L, 1 );
uluaPushVector2( L, (Vector2){ image->width, image->height } );
return 1;
}
/*
> mipmaps = RL.GetImageMipmaps( Image image )
Get image mipmaps. Mipmap levels, 1 by default
- Success return int
*/
int ltexturesGetImageMipmaps( lua_State *L ) {
Image *image = uluaGetImage( L, 1 );
lua_pushinteger( L, image->mipmaps );
return 1;
}
/*
> format = RL.GetImageFormat( Image image )
Get image data format (PixelFormat type)
- Success return int
*/
int ltexturesGetImageFormat( lua_State *L ) {
Image *image = uluaGetImage( L, 1 );
lua_pushinteger( L, image->format );
return 1;
}
/*
## Textures - Image drawing functions
*/
/*
@@ -864,56 +913,7 @@ int ltexturesImageDrawTextEx( lua_State *L ) {
}
/*
## Textures - Image Configuration
*/
/*
> size = RL.GetImageSize( Image image )
Get image size
- Success return Vector2
*/
int ltexturesGetImageSize( lua_State *L ) {
Image *image = uluaGetImage( L, 1 );
uluaPushVector2( L, (Vector2){ image->width, image->height } );
return 1;
}
/*
> mipmaps = RL.GetImageMipmaps( Image image )
Get image mipmaps. Mipmap levels, 1 by default
- Success return int
*/
int ltexturesGetImageMipmaps( lua_State *L ) {
Image *image = uluaGetImage( L, 1 );
lua_pushinteger( L, image->mipmaps );
return 1;
}
/*
> format = RL.GetImageFormat( Image image )
Get image data format (PixelFormat type)
- Success return int
*/
int ltexturesGetImageFormat( lua_State *L ) {
Image *image = uluaGetImage( L, 1 );
lua_pushinteger( L, image->format );
return 1;
}
/*
## Textures - Texture Loading
## Textures - Texture loading functions
*/
/*
@@ -1190,76 +1190,7 @@ int ltexturesUpdateTextureRec( lua_State *L ) {
}
/*
## Textures - Texture Drawing
*/
/*
> RL.DrawTexture( Texture texture, Vector2 position, Color tint )
Draw a Texture2D
*/
int ltexturesDrawTexture( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
Vector2 pos = uluaGetVector2( L, 2 );
Color color = uluaGetColor( L, 3 );
DrawTexture( *texture, pos.x, pos.y, color );
return 0;
}
/*
> RL.DrawTextureRec( Texture texture, Rectangle source, Vector2 position, Color tint )
Draw a part of a texture defined by a rectangle
*/
int ltexturesDrawTextureRec( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
Rectangle srcRect = uluaGetRectangle( L, 2 );
Vector2 pos = uluaGetVector2( L, 3 );
Color tint = uluaGetColor( L, 4 );
DrawTextureRec( *texture, srcRect, pos, tint );
return 0;
}
/*
> RL.DrawTexturePro( Texture texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint )
Draw a part of a texture defined by a rectangle with "pro" parameters
*/
int ltexturesDrawTexturePro( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
Rectangle srcRect = uluaGetRectangle( L, 2 );
Rectangle dstRect = uluaGetRectangle( L, 3 );
Vector2 origin = uluaGetVector2( L, 4 );
float rot = luaL_checknumber( L, 5 );
Color color = uluaGetColor( L, 6 );
DrawTexturePro( *texture, srcRect, dstRect, origin, rot, color );
return 0;
}
/*
> RL.DrawTextureNPatch( Texture texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint )
Draws a texture (or part of it) that stretches or shrinks nicely
*/
int ltexturesDrawTextureNPatch( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
NPatchInfo nPatchInfo = uluaGetNPatchInfo( L, 2 );
Rectangle dest = uluaGetRectangle( L, 3 );
Vector2 origin = uluaGetVector2( L, 4 );
float rotation = luaL_checknumber( L, 5 );
Color tint = uluaGetColor( L, 6 );
DrawTextureNPatch( *texture, nPatchInfo, dest, origin, rotation, tint );
return 0;
}
/*
## Textures - Texture Configuration
## Textures - Texture configuration functions
*/
/*
@@ -1364,7 +1295,76 @@ int ltexturesGetTextureFormat( lua_State *L ) {
}
/*
## Textures - RenderTexture Configuration
## Textures - Texture drawing functions
*/
/*
> RL.DrawTexture( Texture texture, Vector2 position, Color tint )
Draw a Texture2D
*/
int ltexturesDrawTexture( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
Vector2 pos = uluaGetVector2( L, 2 );
Color color = uluaGetColor( L, 3 );
DrawTexture( *texture, pos.x, pos.y, color );
return 0;
}
/*
> RL.DrawTextureRec( Texture texture, Rectangle source, Vector2 position, Color tint )
Draw a part of a texture defined by a rectangle
*/
int ltexturesDrawTextureRec( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
Rectangle srcRect = uluaGetRectangle( L, 2 );
Vector2 pos = uluaGetVector2( L, 3 );
Color tint = uluaGetColor( L, 4 );
DrawTextureRec( *texture, srcRect, pos, tint );
return 0;
}
/*
> RL.DrawTexturePro( Texture texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint )
Draw a part of a texture defined by a rectangle with "pro" parameters
*/
int ltexturesDrawTexturePro( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
Rectangle srcRect = uluaGetRectangle( L, 2 );
Rectangle dstRect = uluaGetRectangle( L, 3 );
Vector2 origin = uluaGetVector2( L, 4 );
float rot = luaL_checknumber( L, 5 );
Color color = uluaGetColor( L, 6 );
DrawTexturePro( *texture, srcRect, dstRect, origin, rot, color );
return 0;
}
/*
> RL.DrawTextureNPatch( Texture texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint )
Draws a texture (or part of it) that stretches or shrinks nicely
*/
int ltexturesDrawTextureNPatch( lua_State *L ) {
Texture *texture = uluaGetTexture( L, 1 );
NPatchInfo nPatchInfo = uluaGetNPatchInfo( L, 2 );
Rectangle dest = uluaGetRectangle( L, 3 );
Vector2 origin = uluaGetVector2( L, 4 );
float rotation = luaL_checknumber( L, 5 );
Color tint = uluaGetColor( L, 6 );
DrawTextureNPatch( *texture, nPatchInfo, dest, origin, rotation, tint );
return 0;
}
/*
## Textures - RenderTexture configuration functions
*/
/*
@@ -1413,7 +1413,7 @@ int ltexturesGetRenderTextureDepthTexture( lua_State *L ) {
}
/*
## Textures - Color/pixel
## Textures - Color/pixel related functions
*/
/*