' imgputt() ... draw image. support H V flip, 90/180/270 degree rotation. ' Original by counting_pine ' https://www.freebasic.net/forum/viewtopic.php?t=12074 ' ' Added transparent color by mieki256 (2024/02/06) ' Last updated: <2024/02/08 18:01:48 +0900> #ifndef __IMGPUTT__ #define __IMGPUTT__ #inclib "imgputt" enum IMGPUT_TRANSFORM TRANSFORM_NONE = 0 TRANSFORM_HFLIP = 1 TRANSFORM_VFLIP = 2 TRANSFORM_D1FLIP = 4 TRANSFORM_R90 = TRANSFORM_HFLIP or TRANSFORM_D1FLIP TRANSFORM_R180 = TRANSFORM_HFLIP or TRANSFORM_VFLIP TRANSFORM_R270 = TRANSFORM_VFLIP or TRANSFORM_D1FLIP TRANSFORM_D2FLIP = TRANSFORM_R180 or TRANSFORM_D1FLIP end enum #define IMGPUT_TRANS 0 #define IMGPUT_PSET 1 ' imgputt ' Put the image to screen. enable transparent color ' ' srcImg : Source image ' [dstImg] : Destination buffer (image). Default 0 ' [x, y] : position. Default (0, 0) ' [transform] : Transform type. look IMGPUT_TRANSFORM. Default TRANSFORM_NONE ' [mode] : IMGPUT_TRANS = 0 is Trans, IMGPUT_PSET = 1 is Pset ' [sx, sy, sw, sh] : Source area x, y, width, height Declare sub imgputt overload( _ ByVal srcImg as any ptr, _ ByVal dstImg as any ptr = 0, _ ByVal x as integer = 0, _ ByVal y as integer = 0, _ ByVal transform as IMGPUT_TRANSFORM = TRANSFORM_NONE, _ ByVal mode As Integer = IMGPUT_TRANS, _ ByVal sx As Integer = 0, _ ByVal sy As Integer = 0, _ ByVal sw As Integer = 0, _ ByVal sh As Integer = 0 ) ' imgputt ' transform : Transform type. 0, 90, 180, 270 or IMGPUT_TRANSFORM Declare sub imgputt overload( _ ByVal srcImg as any ptr, _ ByVal dstImg as any ptr = 0, _ ByVal x as integer = 0, _ ByVal y as integer = 0, _ ByVal transform as integer, _ ByVal mode As Integer = IMGPUT_TRANS, _ ByVal sx As Integer = 0, _ ByVal sy As Integer = 0, _ ByVal sw As Integer = 0, _ ByVal sh As Integer = 0 ) #endif