aboutsummaryrefslogtreecommitdiff
path: root/src/sfml/graphics/RenderStates.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/RenderStates.zig
parent486935299e4b7e097754611d9f8dd40003351ae4 (diff)
Update SFML wrapper
Diffstat (limited to 'src/sfml/graphics/RenderStates.zig')
-rw-r--r--src/sfml/graphics/RenderStates.zig20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/sfml/graphics/RenderStates.zig b/src/sfml/graphics/RenderStates.zig
new file mode 100644
index 0000000..e7234ae
--- /dev/null
+++ b/src/sfml/graphics/RenderStates.zig
@@ -0,0 +1,20 @@
+//! Defines settings for drawing things on a target
+
+const sf = struct {
+ pub usingnamespace @import("../sfml.zig");
+ pub usingnamespace sf.graphics;
+};
+
+blend_mode: sf.BlendMode = sf.BlendMode.BlendAlpha,
+//transform: null, // TODO: implement transforms (#25)
+texture: ?sf.Texture = null,
+shader: ?sf.Shader = null,
+
+pub fn _toCSFML(self: @This()) sf.c.sfRenderStates {
+ return .{
+ .blendMode = self.blend_mode._toCSFML(),
+ .transform = .{ .matrix = .{ 1, 0, 0, 0, 1, 0, 0, 0, 1} },
+ .texture = if (self.texture) |t| t._get() else null,
+ .shader = if (self.shader) |s| s._ptr else null
+ };
+} \ No newline at end of file