1 /+ 2 + Copyright 2022 – 2024 Aya Partridge 3 + Copyright 2018 - 2022 Michael D. Parker 4 + Distributed under the Boost Software License, Version 1.0. 5 + (See accompanying file LICENSE_1_0.txt or copy at 6 + http://www.boost.org/LICENSE_1_0.txt) 7 +/ 8 module sdl.blendmode; 9 10 import bindbc.sdl.config; 11 import bindbc.sdl.codegen; 12 13 // SDL_BlendMode 14 alias SDL_BlendMode = uint; 15 enum: SDL_BlendMode{ 16 SDL_BLENDMODE_NONE = 0x00000000, 17 SDL_BLENDMODE_BLEND = 0x00000001, 18 SDL_BLENDMODE_ADD = 0x00000002, 19 SDL_BLENDMODE_MOD = 0x00000004, 20 } 21 static if(sdlSupport >= SDLSupport.v2_0_6) 22 enum: SDL_BlendMode{ 23 SDL_BLENDMODE_INVALID = 0x7FFFFFFF, 24 } 25 static if(sdlSupport >= SDLSupport.v2_0_12) 26 enum: SDL_BlendMode{ 27 SDL_BLENDMODE_MUL = 0x00000008, 28 } 29 30 static if(sdlSupport >= SDLSupport.v2_0_6){ 31 alias SDL_BlendOperation = uint; 32 enum: SDL_BlendOperation{ 33 SDL_BLENDOPERATION_ADD = 0x1, 34 SDL_BLENDOPERATION_SUBTRACT = 0x2, 35 SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, 36 SDL_BLENDOPERATION_MINIMUM = 0x4, 37 SDL_BLENDOPERATION_MAXIMUM = 0x5, 38 } 39 40 alias SDL_BlendFactor = uint; 41 enum: SDL_BlendFactor{ 42 SDL_BLENDFACTOR_ZERO = 0x1, 43 SDL_BLENDFACTOR_ONE = 0x2, 44 SDL_BLENDFACTOR_SRC_COLOR = 0x3, 45 SDL_BLENDFACTOR_SRC_COLOUR = SDL_BLENDFACTOR_SRC_COLOR, 46 SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR = 0x4, 47 SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOUR = SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR, 48 SDL_BLENDFACTOR_SRC_ALPHA = 0x5, 49 SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 0x6, 50 SDL_BLENDFACTOR_DST_COLOR = 0x7, 51 SDL_BLENDFACTOR_DST_COLOUR = SDL_BLENDFACTOR_DST_COLOR, 52 SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 0x8, 53 SDL_BLENDFACTOR_ONE_MINUS_DST_COLOUR = SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR, 54 SDL_BLENDFACTOR_DST_ALPHA = 0x9, 55 SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 0xA, 56 } 57 } 58 59 mixin(joinFnBinds((){ 60 FnBind[] ret; 61 if(sdlSupport >= SDLSupport.v2_0_6){ 62 FnBind[] add = [ 63 {q{SDL_BlendMode}, q{SDL_ComposeCustomBlendMode}, q{SDL_BlendFactor srcColourFactor, SDL_BlendFactor dstColourFactor, SDL_BlendOperation colourOperation, SDL_BlendFactor srcAlphaFactor, SDL_BlendFactor dstAlphaFactor, SDL_BlendOperation alphaOperation}}, 64 ]; 65 ret ~= add; 66 } 67 return ret; 68 }()));