From 7ea042647db07717e4e2c3fd8b025352570aeb9d Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Tue, 31 Aug 2021 11:51:22 -0500 Subject: [PATCH] default obj constructors --- bindings/bindings.nim | 7 ++----- bindings/generated/internal.nim | 6 ------ bindings/generated/pixie.nim | 12 +++++++----- bindings/generated/pixie.py | 31 +++++++++++++++++++------------ 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/bindings/bindings.nim b/bindings/bindings.nim index 04a99a9..b96db68 100644 --- a/bindings/bindings.nim +++ b/bindings/bindings.nim @@ -16,9 +16,6 @@ type Matrix3* = object a*, b*, c*, d*, e*, f*, g*, h*, i*: float32 -proc vector2*(x, y: float32): Vector2 = - Vector2(x: x, y: y) - proc matrix3*(): Matrix3 = Matrix3(a: 1, b: 0, c: 0, d: 0, e: 1, f: 0, g: 0, h: 0, i: 1) @@ -63,7 +60,7 @@ exportProcs: bindings.takeError exportObject Vector2: - discard vector2(0, 0) + discard exportObject Matrix3: discard matrix3() @@ -75,7 +72,7 @@ exportObject Color: discard exportObject ColorStop: - discard colorStop(Color(), 0) + discard exportObject TextMetrics: discard diff --git a/bindings/generated/internal.nim b/bindings/generated/internal.nim index 733a1f5..85ae1c1 100644 --- a/bindings/generated/internal.nim +++ b/bindings/generated/internal.nim @@ -4,15 +4,9 @@ proc pixie_check_error*(): bool {.raises: [], cdecl, exportc, dynlib.} = proc pixie_take_error*(): cstring {.raises: [], cdecl, exportc, dynlib.} = takeError().cstring -proc pixie_vector_2*(x: float32, y: float32): Vector2 {.raises: [], cdecl, exportc, dynlib.} = - vector2(x, y) - proc pixie_matrix_3*(): Matrix3 {.raises: [], cdecl, exportc, dynlib.} = matrix3() -proc pixie_color_stop*(color: Color, position: float32): ColorStop {.raises: [], cdecl, exportc, dynlib.} = - colorStop(color, position) - type SeqFloat32* = ref object s: seq[float32] diff --git a/bindings/generated/pixie.nim b/bindings/generated/pixie.nim index 05c599c..0a1388e 100644 --- a/bindings/generated/pixie.nim +++ b/bindings/generated/pixie.nim @@ -87,9 +87,16 @@ type ColorStop* = object color*: Color position*: float32 +proc colorStop*(color: Color, position: float32): ColorStop = + result.color = color + result.position = position + type TextMetrics* = object width*: float32 +proc textMetrics*(width: float32): TextMetrics = + result.width = width + type SeqFloat32Obj = object reference: pointer @@ -210,11 +217,6 @@ proc pixie_take_error(): cstring {.importc: "pixie_take_error", cdecl.} proc takeError*(): cstring {.inline.} = result = pixie_take_error() -proc pixie_color_stop(color: Color, position: float32): ColorStop {.importc: "pixie_color_stop", cdecl.} - -proc colorStop*(color: Color, position: float32): ColorStop {.inline.} = - result = pixie_color_stop(color, position) - proc pixie_seq_float_32_len(s: SeqFloat32): int {.importc: "pixie_seq_float_32_len", cdecl.} proc len*(s: SeqFloat32): int = diff --git a/bindings/generated/pixie.py b/bindings/generated/pixie.py index 07f7d9e..619d1b9 100644 --- a/bindings/generated/pixie.py +++ b/bindings/generated/pixie.py @@ -101,9 +101,8 @@ class Vector2(Structure): ] def __init__(self, x, y): - tmp = dll.pixie_vector_2(x, y) - self.x = tmp.x - self.y = tmp.y + self.x = x + self.y = y def __eq__(self, obj): self.x == obj.x and self.y == obj.y @@ -144,6 +143,12 @@ class Rect(Structure): ("h", c_float) ] + def __init__(self, x, y, w, h): + self.x = x + self.y = y + self.w = w + self.h = h + def __eq__(self, obj): self.x == obj.x and self.y == obj.y and self.w == obj.w and self.h == obj.h @@ -155,6 +160,12 @@ class Color(Structure): ("a", c_float) ] + def __init__(self, r, g, b, a): + self.r = r + self.g = g + self.b = b + self.a = a + def __eq__(self, obj): self.r == obj.r and self.g == obj.g and self.b == obj.b and self.a == obj.a @@ -165,9 +176,8 @@ class ColorStop(Structure): ] def __init__(self, color, position): - tmp = dll.pixie_color_stop(color, position) - self.color = tmp.color - self.position = tmp.position + self.color = color + self.position = position def __eq__(self, obj): self.color == obj.color and self.position == obj.position @@ -177,6 +187,9 @@ class TextMetrics(Structure): ("width", c_float) ] + def __init__(self, width): + self.width = width + def __eq__(self, obj): self.width == obj.width @@ -1339,15 +1352,9 @@ dll.pixie_check_error.restype = c_bool dll.pixie_take_error.argtypes = [] dll.pixie_take_error.restype = c_char_p -dll.pixie_vector_2.argtypes = [c_float, c_float] -dll.pixie_vector_2.restype = Vector2 - dll.pixie_matrix_3.argtypes = [] dll.pixie_matrix_3.restype = Matrix3 -dll.pixie_color_stop.argtypes = [Color, c_float] -dll.pixie_color_stop.restype = ColorStop - dll.pixie_seq_float_32_unref.argtypes = [SeqFloat32] dll.pixie_seq_float_32_unref.restype = None