package vendor:sdl3/image

⌘K
Ctrl+K
or
/

    Overview

    Bindings for SDL3 Image.

    Index

    Constants (32)
    Variables (0)

    This section is empty.

    Procedures (102)
    Procedure Groups (0)

    This section is empty.

    Types

    AnimationDecoderStatus ¶

    AnimationDecoderStatus :: enum i32 {
    	INVALID  = -1, 
    	OK, 
    	FAILED, 
    	COMPLETE, 
    }
    Related Procedures With Returns

    AnimationEncoder ¶

    AnimationEncoder :: struct {}
    Related Procedures With Parameters
    Related Procedures With Returns

    Constants

    MAJOR_VERSION ¶

    MAJOR_VERSION: int : 3

    MINOR_VERSION ¶

    MINOR_VERSION: int : 4

    PATCHLEVEL ¶

    PATCHLEVEL: int : 0

    PROP_ANIMATION_DECODER_CREATE_AVIF_ALLOW_INCREMENTAL_BOOLEAN ¶

    PROP_ANIMATION_DECODER_CREATE_AVIF_ALLOW_INCREMENTAL_BOOLEAN :: "SDL_image.animation_decoder.create.avif.allow_incremental"

    PROP_ANIMATION_DECODER_CREATE_AVIF_ALLOW_PROGRESSIVE_BOOLEAN ¶

    PROP_ANIMATION_DECODER_CREATE_AVIF_ALLOW_PROGRESSIVE_BOOLEAN :: "SDL_image.animation_decoder.create.avif.allow_progressive"

    PROP_ANIMATION_DECODER_CREATE_AVIF_MAX_THREADS_NUMBER ¶

    PROP_ANIMATION_DECODER_CREATE_AVIF_MAX_THREADS_NUMBER :: "SDL_image.animation_decoder.create.avif.max_threads"

    PROP_ANIMATION_DECODER_CREATE_FILENAME_STRING ¶

    PROP_ANIMATION_DECODER_CREATE_FILENAME_STRING :: "SDL_image.animation_decoder.create.filename"

    PROP_ANIMATION_DECODER_CREATE_GIF_NUM_COLORS_NUMBER ¶

    PROP_ANIMATION_DECODER_CREATE_GIF_NUM_COLORS_NUMBER :: "SDL_image.animation_encoder.create.gif.num_colors"

    PROP_ANIMATION_DECODER_CREATE_GIF_TRANSPARENT_COLOR_INDEX_NUMBER ¶

    PROP_ANIMATION_DECODER_CREATE_GIF_TRANSPARENT_COLOR_INDEX_NUMBER :: "SDL_image.animation_encoder.create.gif.transparent_color_index"

    PROP_ANIMATION_DECODER_CREATE_IOSTREAM_AUTOCLOSE_BOOLEAN ¶

    PROP_ANIMATION_DECODER_CREATE_IOSTREAM_AUTOCLOSE_BOOLEAN :: "SDL_image.animation_decoder.create.iostream.autoclose"

    PROP_ANIMATION_DECODER_CREATE_IOSTREAM_POINTER ¶

    PROP_ANIMATION_DECODER_CREATE_IOSTREAM_POINTER :: "SDL_image.animation_decoder.create.iostream"

    PROP_ANIMATION_DECODER_CREATE_TIMEBASE_DENOMINATOR_NUMBER ¶

    PROP_ANIMATION_DECODER_CREATE_TIMEBASE_DENOMINATOR_NUMBER :: "SDL_image.animation_decoder.create.timebase.denominator"

    PROP_ANIMATION_DECODER_CREATE_TIMEBASE_NUMERATOR_NUMBER ¶

    PROP_ANIMATION_DECODER_CREATE_TIMEBASE_NUMERATOR_NUMBER :: "SDL_image.animation_decoder.create.timebase.numerator"

    PROP_ANIMATION_DECODER_CREATE_TYPE_STRING ¶

    PROP_ANIMATION_DECODER_CREATE_TYPE_STRING :: "SDL_image.animation_decoder.create.type"

    PROP_ANIMATION_ENCODER_CREATE_AVIF_KEYFRAME_INTERVAL_NUMBER ¶

    PROP_ANIMATION_ENCODER_CREATE_AVIF_KEYFRAME_INTERVAL_NUMBER :: "SDL_image.animation_encoder.create.avif.keyframe_interval"

    PROP_ANIMATION_ENCODER_CREATE_AVIF_MAX_THREADS_NUMBER ¶

    PROP_ANIMATION_ENCODER_CREATE_AVIF_MAX_THREADS_NUMBER :: "SDL_image.animation_encoder.create.avif.max_threads"

    PROP_ANIMATION_ENCODER_CREATE_FILENAME_STRING ¶

    PROP_ANIMATION_ENCODER_CREATE_FILENAME_STRING :: "SDL_image.animation_encoder.create.filename"

    PROP_ANIMATION_ENCODER_CREATE_GIF_USE_LUT_BOOLEAN ¶

    PROP_ANIMATION_ENCODER_CREATE_GIF_USE_LUT_BOOLEAN :: "SDL_image.animation_encoder.create.gif.use_lut"

    PROP_ANIMATION_ENCODER_CREATE_IOSTREAM_AUTOCLOSE_BOOLEAN ¶

    PROP_ANIMATION_ENCODER_CREATE_IOSTREAM_AUTOCLOSE_BOOLEAN :: "SDL_image.animation_encoder.create.iostream.autoclose"

    PROP_ANIMATION_ENCODER_CREATE_IOSTREAM_POINTER ¶

    PROP_ANIMATION_ENCODER_CREATE_IOSTREAM_POINTER :: "SDL_image.animation_encoder.create.iostream"

    PROP_ANIMATION_ENCODER_CREATE_QUALITY_NUMBER ¶

    PROP_ANIMATION_ENCODER_CREATE_QUALITY_NUMBER :: "SDL_image.animation_encoder.create.quality"

    PROP_ANIMATION_ENCODER_CREATE_TIMEBASE_DENOMINATOR_NUMBER ¶

    PROP_ANIMATION_ENCODER_CREATE_TIMEBASE_DENOMINATOR_NUMBER :: "SDL_image.animation_encoder.create.timebase.denominator"

    PROP_ANIMATION_ENCODER_CREATE_TIMEBASE_NUMERATOR_NUMBER ¶

    PROP_ANIMATION_ENCODER_CREATE_TIMEBASE_NUMERATOR_NUMBER :: "SDL_image.animation_encoder.create.timebase.numerator"

    PROP_ANIMATION_ENCODER_CREATE_TYPE_STRING ¶

    PROP_ANIMATION_ENCODER_CREATE_TYPE_STRING :: "SDL_image.animation_encoder.create.type"

    PROP_METADATA_AUTHOR_STRING ¶

    PROP_METADATA_AUTHOR_STRING :: "SDL_image.metadata.author"
    PROP_METADATA_COPYRIGHT_STRING :: "SDL_image.metadata.copyright"

    PROP_METADATA_CREATION_TIME_STRING ¶

    PROP_METADATA_CREATION_TIME_STRING :: "SDL_image.metadata.creation_time"

    PROP_METADATA_DESCRIPTION_STRING ¶

    PROP_METADATA_DESCRIPTION_STRING :: "SDL_image.metadata.description"

    PROP_METADATA_FRAME_COUNT_NUMBER ¶

    PROP_METADATA_FRAME_COUNT_NUMBER :: "SDL_image.metadata.frame_count"

    PROP_METADATA_IGNORE_PROPS_BOOLEAN ¶

    PROP_METADATA_IGNORE_PROPS_BOOLEAN :: "SDL_image.metadata.ignore_props"

    PROP_METADATA_LOOP_COUNT_NUMBER ¶

    PROP_METADATA_LOOP_COUNT_NUMBER :: "SDL_image.metadata.loop_count"

    PROP_METADATA_TITLE_STRING ¶

    PROP_METADATA_TITLE_STRING :: "SDL_image.metadata.title"

    Variables

    This section is empty.

    Procedures

    AddAnimationEncoderFrame ¶

    AddAnimationEncoderFrame :: proc "c" (encoder: ^AnimationEncoder, surface: ^sdl3.Surface, duration: u64) -> bool ---

    CloseAnimationDecoder ¶

    CloseAnimationDecoder :: proc "c" (decoder: ^AnimationDecoder) -> bool ---

    CloseAnimationEncoder ¶

    CloseAnimationEncoder :: proc "c" (encoder: ^AnimationEncoder) -> bool ---

    CreateAnimatedCursor ¶

    CreateAnimatedCursor :: proc "c" (anim: ^Animation, hot_x: i32, hot_y: i32) -> ^sdl3.Cursor ---

    CreateAnimationDecoder ¶

    CreateAnimationDecoder :: proc "c" (file: cstring) -> ^AnimationDecoder ---
     

    Animation decoder functions

    CreateAnimationDecoderWithProperties ¶

    CreateAnimationDecoderWithProperties :: proc "c" (props: sdl3.PropertiesID) -> ^AnimationDecoder ---

    CreateAnimationDecoder_IO ¶

    CreateAnimationDecoder_IO :: proc "c" (src: ^sdl3.IOStream, closeio: bool, type: cstring) -> ^AnimationDecoder ---

    CreateAnimationEncoder ¶

    CreateAnimationEncoder :: proc "c" (file: cstring) -> ^AnimationEncoder ---
     

    Animation encoder functions

    CreateAnimationEncoderWithProperties ¶

    CreateAnimationEncoderWithProperties :: proc "c" (props: sdl3.PropertiesID) -> ^AnimationEncoder ---

    CreateAnimationEncoder_IO ¶

    CreateAnimationEncoder_IO :: proc "c" (dst: ^sdl3.IOStream, closeio: bool, type: cstring) -> ^AnimationEncoder ---

    FreeAnimation ¶

    FreeAnimation :: proc "c" (anim: ^Animation) ---

    GetAnimationDecoderFrame ¶

    GetAnimationDecoderFrame :: proc "c" (decoder: ^AnimationDecoder, frame: ^^sdl3.Surface, duration: ^u64) -> bool ---

    GetAnimationDecoderProperties ¶

    GetAnimationDecoderProperties :: proc "c" (decoder: ^AnimationDecoder) -> sdl3.PropertiesID ---

    GetAnimationDecoderStatus ¶

    GetAnimationDecoderStatus :: proc "c" (decoder: ^AnimationDecoder) -> AnimationDecoderStatus ---

    GetClipboardImage ¶

    GetClipboardImage :: proc "c" () -> ^sdl3.Surface ---
     

    Get the image currently in the clipboard.

    Load ¶

    Load :: proc "c" (file: cstring) -> ^sdl3.Surface ---
     

    Convenience functions

    LoadANIAnimation_IO ¶

    LoadANIAnimation_IO :: proc "c" (src: ^sdl3.IOStream) -> ^Animation ---
     

    Individual loading functions

    LoadAPNGAnimation_IO ¶

    LoadAPNGAnimation_IO :: proc "c" (src: ^sdl3.IOStream) -> ^Animation ---

    LoadAVIFAnimation_IO ¶

    LoadAVIFAnimation_IO :: proc "c" (src: ^sdl3.IOStream) -> ^Animation ---

    LoadAVIF_IO ¶

    LoadAVIF_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---
     

    Individual loading functions

    LoadAnimation ¶

    LoadAnimation :: proc "c" (file: cstring) -> ^Animation ---

    LoadAnimationTyped_IO ¶

    LoadAnimationTyped_IO :: proc "c" (src: ^sdl3.IOStream, closeio: bool, type: cstring) -> ^Animation ---

    LoadAnimation_IO ¶

    LoadAnimation_IO :: proc "c" (src: ^sdl3.IOStream, closeio: bool) -> ^Animation ---

    LoadBMP_IO ¶

    LoadBMP_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadCUR_IO ¶

    LoadCUR_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadGIFAnimation_IO ¶

    LoadGIFAnimation_IO :: proc "c" (src: ^sdl3.IOStream) -> ^Animation ---

    LoadGIF_IO ¶

    LoadGIF_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadGPUTexture ¶

    LoadGPUTexture :: proc "c" (device: ^sdl3.GPUDevice, copy_pass: ^sdl3.GPUCopyPass, file: cstring, width: ^i32, height: ^i32) -> ^sdl3.GPUTexture ---
     

    Load an image directly into a GPU texture.

    LoadGPUTextureTyped_IO ¶

    LoadGPUTextureTyped_IO :: proc "c" (
    	device:    ^sdl3.GPUDevice, 
    	copy_pass: ^sdl3.GPUCopyPass, 
    	src:       ^sdl3.IOStream, 
    	closeio:   bool, 
    	type:      cstring, 
    	width:     ^i32, 
    	height:    ^i32, 
    ) -> ^sdl3.GPUTexture ---

    LoadGPUTexture_IO ¶

    LoadGPUTexture_IO :: proc "c" (
    	device:    ^sdl3.GPUDevice, 
    	copy_pass: ^sdl3.GPUCopyPass, 
    	src:       ^sdl3.IOStream, 
    	closeio:   bool, 
    	width:     ^i32, 
    	height:    ^i32, 
    ) -> ^sdl3.GPUTexture ---

    LoadICO_IO ¶

    LoadICO_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadJPG_IO ¶

    LoadJPG_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadJXL_IO ¶

    LoadJXL_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadLBM_IO ¶

    LoadLBM_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadPCX_IO ¶

    LoadPCX_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadPNG_IO ¶

    LoadPNG_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadPNM_IO ¶

    LoadPNM_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadQOI_IO ¶

    LoadQOI_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadSVG_IO ¶

    LoadSVG_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadSizedSVG_IO ¶

    LoadSizedSVG_IO :: proc "c" (src: ^sdl3.IOStream, width, height: i32) -> ^sdl3.Surface ---

    LoadTGA_IO ¶

    LoadTGA_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadTIF_IO ¶

    LoadTIF_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadTexture ¶

    LoadTexture :: proc "c" (renderer: ^sdl3.Renderer, file: cstring) -> ^sdl3.Texture ---
     

    Load an image directly into a render texture.

    LoadTextureTyped_IO ¶

    LoadTextureTyped_IO :: proc "c" (renderer: ^sdl3.Renderer, src: ^sdl3.IOStream, closeio: bool, type: cstring) -> ^sdl3.Texture ---

    LoadTexture_IO ¶

    LoadTexture_IO :: proc "c" (renderer: ^sdl3.Renderer, src: ^sdl3.IOStream, closeio: bool) -> ^sdl3.Texture ---

    LoadTyped_IO ¶

    LoadTyped_IO :: proc "c" (src: ^sdl3.IOStream, closeio: bool, type: cstring) -> ^sdl3.Surface ---
     

    Load an image from an SDL data source.

       The 'type' may be one of: "BMP", "GIF", "PNG", etc.
       If the image format supports a transparent pixel, SDL will set the
       colorkey for the surface.  You can enable RLE acceleration on the
       surface afterwards by calling:
        SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);
    

    LoadWEBPAnimation_IO ¶

    LoadWEBPAnimation_IO :: proc "c" (src: ^sdl3.IOStream) -> ^Animation ---

    LoadWEBP_IO ¶

    LoadWEBP_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadXCF_IO ¶

    LoadXCF_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadXPM_IO ¶

    LoadXPM_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    LoadXV_IO ¶

    LoadXV_IO :: proc "c" (src: ^sdl3.IOStream) -> ^sdl3.Surface ---

    Load_IO ¶

    Load_IO :: proc "c" (src: ^sdl3.IOStream, closeio: bool) -> ^sdl3.Surface ---

    ReadXPMFromArray ¶

    ReadXPMFromArray :: proc "c" (xpm: [^]cstring) -> ^sdl3.Surface ---

    ReadXPMFromArrayToRGB888 ¶

    ReadXPMFromArrayToRGB888 :: proc "c" (xpm: [^]cstring) -> ^sdl3.Surface ---

    ResetAnimationDecoder ¶

    ResetAnimationDecoder :: proc "c" (decoder: ^AnimationDecoder) -> bool ---

    Save ¶

    Save :: proc "c" (surface: ^sdl3.Surface, file: cstring) -> bool ---
     

    Individual saving functions

    SaveANIAnimation_IO ¶

    SaveANIAnimation_IO :: proc "c" (anim: ^Animation, dst: ^sdl3.IOStream, closeio: bool) -> bool ---
     

    Individual saving functions

    SaveAPNGAnimation_IO ¶

    SaveAPNGAnimation_IO :: proc "c" (anim: ^Animation, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveAVIF ¶

    SaveAVIF :: proc "c" (surface: ^sdl3.Surface, file: cstring, quality: i32) -> bool ---

    SaveAVIFAnimation_IO ¶

    SaveAVIFAnimation_IO :: proc "c" (anim: ^Animation, dst: ^sdl3.IOStream, closeio: bool, quality: i32) -> bool ---

    SaveAVIF_IO ¶

    SaveAVIF_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool, quality: i32) -> bool ---

    SaveAnimation ¶

    SaveAnimation :: proc "c" (anim: ^Animation, file: cstring) -> bool ---

    SaveAnimationTyped_IO ¶

    SaveAnimationTyped_IO :: proc "c" (anim: ^Animation, dst: ^sdl3.IOStream, closeio: bool, type: cstring) -> bool ---

    SaveBMP ¶

    SaveBMP :: proc "c" (surface: ^sdl3.Surface, file: cstring) -> bool ---

    SaveBMP_IO ¶

    SaveBMP_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveCUR ¶

    SaveCUR :: proc "c" (surface: ^sdl3.Surface, file: cstring) -> bool ---

    SaveCUR_IO ¶

    SaveCUR_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveGIF ¶

    SaveGIF :: proc "c" (surface: ^sdl3.Surface, file: cstring) -> bool ---

    SaveGIFAnimation_IO ¶

    SaveGIFAnimation_IO :: proc "c" (anim: ^Animation, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveGIF_IO ¶

    SaveGIF_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveICO ¶

    SaveICO :: proc "c" (surface: ^sdl3.Surface, file: cstring) -> bool ---

    SaveICO_IO ¶

    SaveICO_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveJPG ¶

    SaveJPG :: proc "c" (surface: ^sdl3.Surface, file: cstring, quality: i32) -> bool ---

    SaveJPG_IO ¶

    SaveJPG_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool, quality: i32) -> bool ---

    SavePNG ¶

    SavePNG :: proc "c" (surface: ^sdl3.Surface, file: cstring) -> bool ---

    SavePNG_IO ¶

    SavePNG_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveTGA ¶

    SaveTGA :: proc "c" (surface: ^sdl3.Surface, file: cstring) -> bool ---

    SaveTGA_IO ¶

    SaveTGA_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool) -> bool ---

    SaveTyped_IO ¶

    SaveTyped_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool, type: cstring) -> bool ---

    SaveWEBP ¶

    SaveWEBP :: proc "c" (surface: ^sdl3.Surface, file: cstring, quality: f32) -> bool ---

    SaveWEBPAnimation_IO ¶

    SaveWEBPAnimation_IO :: proc "c" (anim: ^Animation, dst: ^sdl3.IOStream, closeio: bool, quality: i32) -> bool ---

    SaveWEBP_IO ¶

    SaveWEBP_IO :: proc "c" (surface: ^sdl3.Surface, dst: ^sdl3.IOStream, closeio: bool, quality: f32) -> bool ---

    Version ¶

    Version :: proc "c" () -> i32 ---

    isANI ¶

    isANI :: proc "c" (src: ^sdl3.IOStream) -> bool ---
     

    Functions to detect a file type, given a seekable source

    isAVIF ¶

    isAVIF :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isBMP ¶

    isBMP :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isCUR ¶

    isCUR :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isGIF ¶

    isGIF :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isICO ¶

    isICO :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isJPG ¶

    isJPG :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isJXL ¶

    isJXL :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isLBM ¶

    isLBM :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isPCX ¶

    isPCX :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isPNG ¶

    isPNG :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isPNM ¶

    isPNM :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isQOI ¶

    isQOI :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isSVG ¶

    isSVG :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isTIF ¶

    isTIF :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isWEBP ¶

    isWEBP :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isXCF ¶

    isXCF :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isXPM ¶

    isXPM :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    isXV ¶

    isXV :: proc "c" (src: ^sdl3.IOStream) -> bool ---

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2026-01 (vendor "odin") Windows_amd64 @ 2026-01-29 22:15:46.272335100 +0000 UTC