var.odin (3685B)
1 // This file is part of Blend2D project <https://blend2d.com> 2 // 3 // See blend2d.h or LICENSE.md for license and copyright information 4 // SPDX-License-Identifier: Zlib 5 package blend2d 6 7 when ODIN_OS == .Windows { 8 foreign import lib "blend2d.lib" 9 } else when ODIN_OS == .Darwin { 10 foreign import lib "libblend2d.a" 11 } else when ODIN_OS == .Linux { 12 foreign import lib "libblend2d.a" 13 } 14 15 16 //! Variant [C API]. 17 VarCore :: struct { 18 _d: ObjectDetail, 19 } 20 21 @(default_calling_convention="c", link_prefix="bl_") 22 foreign lib { 23 var_init_type :: proc(self: ^Unknown, type: ObjectType) -> Result --- 24 var_init_null :: proc(self: ^Unknown) -> Result --- 25 var_init_bool :: proc(self: ^Unknown, value: i32) -> Result --- 26 var_init_int32 :: proc(self: ^Unknown, value: i32) -> Result --- 27 var_init_int64 :: proc(self: ^Unknown, value: i64) -> Result --- 28 var_init_uint32 :: proc(self: ^Unknown, value: u32) -> Result --- 29 var_init_uint64 :: proc(self: ^Unknown, value: u64) -> Result --- 30 var_init_double :: proc(self: ^Unknown, value: f64) -> Result --- 31 var_init_rgba :: proc(self: ^Unknown, rgba: ^Rgba) -> Result --- 32 var_init_rgba32 :: proc(self: ^Unknown, rgba32: u32) -> Result --- 33 var_init_rgba64 :: proc(self: ^Unknown, rgba64: u64) -> Result --- 34 var_init_move :: proc(self: ^Unknown, other: ^Unknown) -> Result --- 35 var_init_weak :: proc(self: ^Unknown, other: ^Unknown) -> Result --- 36 var_destroy :: proc(self: ^Unknown) -> Result --- 37 var_reset :: proc(self: ^Unknown) -> Result --- 38 var_assign_null :: proc(self: ^Unknown) -> Result --- 39 var_assign_bool :: proc(self: ^Unknown, value: i32) -> Result --- 40 var_assign_int32 :: proc(self: ^Unknown, value: i32) -> Result --- 41 var_assign_int64 :: proc(self: ^Unknown, value: i64) -> Result --- 42 var_assign_uint32 :: proc(self: ^Unknown, value: u32) -> Result --- 43 var_assign_uint64 :: proc(self: ^Unknown, value: u64) -> Result --- 44 var_assign_double :: proc(self: ^Unknown, value: f64) -> Result --- 45 var_assign_rgba :: proc(self: ^Unknown, rgba: ^Rgba) -> Result --- 46 var_assign_rgba32 :: proc(self: ^Unknown, rgba32: u32) -> Result --- 47 var_assign_rgba64 :: proc(self: ^Unknown, rgba64: u64) -> Result --- 48 var_assign_move :: proc(self: ^Unknown, other: ^Unknown) -> Result --- 49 var_assign_weak :: proc(self: ^Unknown, other: ^Unknown) -> Result --- 50 var_get_type :: proc(self: ^Unknown) -> ObjectType --- 51 var_to_bool :: proc(self: ^Unknown, out: ^i32) -> Result --- 52 var_to_int32 :: proc(self: ^Unknown, out: ^i32) -> Result --- 53 var_to_int64 :: proc(self: ^Unknown, out: ^i64) -> Result --- 54 var_to_uint32 :: proc(self: ^Unknown, out: ^u32) -> Result --- 55 var_to_uint64 :: proc(self: ^Unknown, out: ^u64) -> Result --- 56 var_to_double :: proc(self: ^Unknown, out: ^f64) -> Result --- 57 var_to_rgba :: proc(self: ^Unknown, out: ^Rgba) -> Result --- 58 var_to_rgba32 :: proc(self: ^Unknown, out: ^u32) -> Result --- 59 var_to_rgba64 :: proc(self: ^Unknown, out: ^u64) -> Result --- 60 var_equals :: proc(a: ^Unknown, b: ^Unknown) -> i32 --- 61 var_equals_null :: proc(self: ^Unknown) -> i32 --- 62 var_equals_bool :: proc(self: ^Unknown, value: i32) -> i32 --- 63 var_equals_int64 :: proc(self: ^Unknown, value: i64) -> i32 --- 64 var_equals_uint64 :: proc(self: ^Unknown, value: u64) -> i32 --- 65 var_equals_double :: proc(self: ^Unknown, value: f64) -> i32 --- 66 var_equals_rgba :: proc(self: ^Unknown, rgba: ^Rgba) -> i32 --- 67 var_equals_rgba32 :: proc(self: ^Unknown, rgba32: u32) -> i32 --- 68 var_equals_rgba64 :: proc(self: ^Unknown, rgba64: u64) -> i32 --- 69 var_strict_equals :: proc(a: ^Unknown, b: ^Unknown) -> i32 --- 70 } 71