aboutsummaryrefslogtreecommitdiff
path: root/src/sfml/graphics/VertexArray.zig
diff options
context:
space:
mode:
authortslil clingman <>2021-10-27 15:37:28 -0400
committertslil clingman <>2021-10-27 15:37:28 -0400
commit48dee0817f5fe8c09a085f0150e0c6b4a699ab7c (patch)
treed6ab0a54f2260cb73c79e00ca1489c034f555f09 /src/sfml/graphics/VertexArray.zig
parent486935299e4b7e097754611d9f8dd40003351ae4 (diff)
Update SFML wrapper
Diffstat (limited to 'src/sfml/graphics/VertexArray.zig')
-rw-r--r--src/sfml/graphics/VertexArray.zig16
1 files changed, 10 insertions, 6 deletions
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,