odin-blend2d

Odin bindings to Blend2D
Log | Files | Refs | README | LICENSE

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