aboutsummaryrefslogtreecommitdiff
path: root/src/sfml/window/context_settings.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/sfml/window/context_settings.zig')
-rw-r--r--src/sfml/window/context_settings.zig28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/sfml/window/context_settings.zig b/src/sfml/window/context_settings.zig
new file mode 100644
index 0000000..19b8f03
--- /dev/null
+++ b/src/sfml/window/context_settings.zig
@@ -0,0 +1,28 @@
+const sf = @import("../sfml.zig");
+
+pub const ContextSettings = packed struct {
+ const PaddingType = @import("std").meta.Int(.unsigned, @bitSizeOf(c_int) - @bitSizeOf(bool));
+
+ depth_bits: c_uint = 0,
+ stencil_bits: c_uint = 0,
+ antialiasing_level: c_uint = 0,
+ major_version: c_uint = 1,
+ minor_version: c_uint = 1,
+ attribute_flags: u32 = 0,
+ srgb_capable: bool = false,
+ _padding: PaddingType = 0,
+
+ pub const Attribute = struct {
+ pub const default: u32 = 0;
+ pub const core: u32 = 1;
+ pub const debug: u32 = 4;
+ };
+
+ pub fn _toCSFML(self: ContextSettings) sf.c.sfContextSettings {
+ return @bitCast(sf.c.sfContextSettings, self);
+ }
+
+ pub fn _fromCSFML(context_settings: sf.c.sfContextSettings) ContextSettings {
+ return @bitCast(ContextSettings, context_settings);
+ }
+}; \ No newline at end of file