From 48dee0817f5fe8c09a085f0150e0c6b4a699ab7c Mon Sep 17 00:00:00 2001 From: tslil clingman <> Date: Wed, 27 Oct 2021 15:37:28 -0400 Subject: Update SFML wrapper --- src/sfml/graphics/VertexArray.zig | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/sfml/graphics/VertexArray.zig') diff --git a/src/sfml/graphics/VertexArray.zig b/src/sfml/graphics/VertexArray.zig index ea4ccb2..d340600 100644 --- a/src/sfml/graphics/VertexArray.zig +++ b/src/sfml/graphics/VertexArray.zig @@ -14,19 +14,23 @@ pub fn createFromSlice(vertex: []const sf.graphics.Vertex, primitive: sf.graphic sf.c.sfVertexArray_resize(vert, vertex.len); for (vertex) |v, i| sf.c.sfVertexArray_getVertex(vert, i).* = @bitCast(sf.c.sfVertex, v); - return VertexArray{ .ptr = vert }; + return VertexArray{ ._ptr = vert }; } else return sf.Error.nullptrUnknownReason; } /// Destroys a vertex array -pub fn destroy(self: VertexArray) void { - sf.c.sfVertexArray_destroy(self.ptr); +pub fn destroy(self: *VertexArray) void { + sf.c.sfVertexArray_destroy(self._ptr); } // Draw function -pub fn sfDraw(self: VertexArray, window: sf.graphics.RenderWindow, states: ?*sf.c.sfRenderStates) void { - sf.c.sfRenderWindow_drawVertexArray(window.ptr, self.ptr, states); +pub fn sfDraw(self: VertexArray, window: anytype, states: ?*sf.c.sfRenderStates) void { + switch (@TypeOf(window)) { + sf.graphics.RenderWindow => sf.c.sfRenderWindow_drawVertexArray(window._ptr, self._ptr, states), + sf.graphics.RenderTexture => sf.c.sfRenderTexture_drawVertexArray(window._ptr, self._ptr, states), + else => @compileError("window must be a render target"), + } } /// Pointer to the csfml structure -ptr: *sf.c.sfVertexArray, +_ptr: *sf.c.sfVertexArray, -- cgit v1.3.1