summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTom Black <[email protected]>2016-07-18 00:23:14 -0500
committerTom Black <[email protected]>2016-07-18 00:23:14 -0500
commitf3e0c7c01809efcca866d6add31ede575add1d78 (patch)
treefca728ac645f5fb42c42112725d45ca7060cfa8f
parentbc8c082434007a8423afd34ea90657ba260d5dbd (diff)
downloadruby2d-f3e0c7c01809efcca866d6add31ede575add1d78.tar.gz
ruby2d-f3e0c7c01809efcca866d6add31ede575add1d78.zip
Set window flags
-rw-r--r--ext/ruby2d/ruby2d.c14
-rw-r--r--lib/ruby2d/window.rb5
2 files changed, 19 insertions, 0 deletions
diff --git a/ext/ruby2d/ruby2d.c b/ext/ruby2d/ruby2d.c
index 8583371..32b8ab0 100644
--- a/ext/ruby2d/ruby2d.c
+++ b/ext/ruby2d/ruby2d.c
@@ -262,6 +262,20 @@ static VALUE ruby2d_show(VALUE s) {
int height = NUM2INT(rb_iv_get(self, "@height"));
int flags = 0;
+ // Get window flags
+ if (rb_iv_get(self, "@resizable") == Qtrue) {
+ flags = flags | S2D_RESIZABLE;
+ }
+ if (rb_iv_get(self, "@borderless") == Qtrue) {
+ flags = flags | S2D_BORDERLESS;
+ }
+ if (rb_iv_get(self, "@fullscreen") == Qtrue) {
+ flags = flags | S2D_FULLSCREEN;
+ }
+ if (rb_iv_get(self, "@highdpi") == Qtrue) {
+ flags = flags | S2D_HIGHDPI;
+ }
+
window = S2D_CreateWindow(
title, width, height, update, render, flags
);
diff --git a/lib/ruby2d/window.rb b/lib/ruby2d/window.rb
index 69a4222..63b0d12 100644
--- a/lib/ruby2d/window.rb
+++ b/lib/ruby2d/window.rb
@@ -7,6 +7,7 @@ module Ruby2D
def initialize(width: 640, height: 480, title: "Ruby 2D", fps: 60, vsync: true)
@width, @height, @title = width, height, title
@background = Color.new([0.0, 0.0, 0.0, 1.0])
+ @resizable = false
@mouse_x = @mouse_y = 0
@fps_cap = fps
@fps = 60
@@ -35,6 +36,10 @@ module Ruby2D
@title = opts[:title] || @title
@width = opts[:width] || @width
@height = opts[:height] || @height
+ @resizable = opts[:resizable] || @resizable
+ @borderless = opts[:borderless] || @borderless
+ @fullscreen = opts[:fullscreen] || @fullscreen
+ @highdpi = opts[:highdpi] || @highdpi
if Color.is_valid? opts[:background]
@background = Color.new(opts[:background])
end