gosu 1.0.0 → 1.1.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c9b393a63015707256dca78e9079b01dbc004d85b89c6bf68d021085f65a905
4
- data.tar.gz: 60396892082e2fa81a7ab03f8662fe00630745f84b1e0a47e9abcd7bed5c7692
3
+ metadata.gz: 54c79a5d22ee53e69f48bcd2c1ffb20bf35672ee30d6f08890a9c3037a39fe24
4
+ data.tar.gz: 6a5e06a31f1a7ad257be143a37a1163b324e7124cb56a97154c9eba9fb0686d8
5
5
  SHA512:
6
- metadata.gz: fb477140be8f524abfeb3694277bd815690c4c0ae432ac011956a43640f49309aca3c0a9b3619c17cc83461ae5c9c9b6fb1bfa155e72f1be19b4f166e23b3022
7
- data.tar.gz: 24707e94f193a4fe949a447a01b732057860eb271a8a0d61ba6c45a0b1b5da8c2894ffc65d3ff3fe2b97fe7e8b9c5b38b9995d4d443d014fe6059f520f900393
6
+ metadata.gz: 7db1b37245a24e569bbc623ec025a3e2d13fd61c7a011272e30cca9d4cf6970a2326ec159ee839236fc246ed177702c3de6942e46ba9297c50e51078f61cb564
7
+ data.tar.gz: 0a75ca1ddf6de40050638cc33e8c41acdd68808b1c3942aaecff2219aaf44e8148398bdd27991d5f5d4e1757b8fec651f59c7b9bba82b140dffdcda7df5ab632
@@ -3,7 +3,7 @@
3
3
  #include <string>
4
4
 
5
5
  #define GOSU_MAJOR_VERSION 1
6
- #define GOSU_MINOR_VERSION 0
6
+ #define GOSU_MINOR_VERSION 1
7
7
  #define GOSU_POINT_VERSION 0
8
8
 
9
9
  namespace Gosu
@@ -8,6 +8,14 @@
8
8
 
9
9
  namespace Gosu
10
10
  {
11
+ enum WindowFlags
12
+ {
13
+ WF_WINDOWED,
14
+ WF_FULLSCREEN = 1,
15
+ WF_RESIZABLE = 2,
16
+ WF_BORDERLESS = 4
17
+ };
18
+
11
19
  //! Convenient all-in-one class that serves as the foundation of a standard Gosu application.
12
20
  //! Manages initialization of all of Gosu's core components and provides timing functionality.
13
21
  //! Note that you should really only use one instance of this class at the same time.
@@ -21,17 +29,23 @@ namespace Gosu
21
29
  //! \param width Width of the window in points; that is, pixels on a normal display, and
22
30
  //! 'points' on a high-resolution display.
23
31
  //! \param height See width.
32
+ //! \param window_flags A bitmask of values from Gosu::WindowFlags.
24
33
  //! \param update_interval Interval in milliseconds between two calls to the update member
25
34
  //! function.
26
- Window(unsigned width, unsigned height, bool fullscreen = false,
27
- double update_interval = 16.666666, bool resizable = false);
35
+ Window(int width, int height, unsigned window_flags = WF_WINDOWED,
36
+ double update_interval = 16.666666);
28
37
  virtual ~Window();
29
38
 
30
- unsigned width() const;
31
- unsigned height() const;
39
+ int width() const;
40
+ int height() const;
32
41
  bool fullscreen() const;
42
+ void resize(int width, int height, bool fullscreen);
43
+
33
44
  bool resizable() const;
34
- void resize(unsigned width, unsigned height, bool fullscreen);
45
+ void set_resizable(bool resizable);
46
+
47
+ bool borderless() const;
48
+ void set_borderless(bool borderless);
35
49
 
36
50
  double update_interval() const;
37
51
  void set_update_interval(double update_interval);
@@ -129,22 +143,22 @@ namespace Gosu
129
143
  //! Returns the width (in pixels) of a screen.
130
144
  //! \param window The result describes the screen on which the window is shown, or the
131
145
  //! primary screen if no window is given.
132
- unsigned screen_width(Window* window = nullptr);
146
+ int screen_width(Window* window = nullptr);
133
147
 
134
148
  //! Returns the height (in pixels) of the user's primary screen.
135
149
  //! \param window The result describes the screen on which the window is shown, or the
136
150
  //! primary screen if no window is given.
137
- unsigned screen_height(Window* window = nullptr);
151
+ int screen_height(Window* window = nullptr);
138
152
 
139
153
  //! Returns the maximum width (in 'points') that is available for a non-fullscreen Window.
140
154
  //! All windows larger than this size will automatically be shrunk to fit.
141
155
  //! \param window The result describes the screen on which the window is shown, or the
142
156
  //! primary screen if no window is given.
143
- unsigned available_width(Window* window = nullptr);
157
+ int available_width(Window* window = nullptr);
144
158
 
145
159
  //! Returns the maximum height (in 'points') that is available for a non-fullscreen Window.
146
160
  //! All windows larger than this size will automatically be shrunk to fit.
147
161
  //! \param window The result describes the screen on which the window is shown, or the
148
162
  //! primary screen if no window is given.
149
- unsigned available_height(Window* window = nullptr);
163
+ int available_height(Window* window = nullptr);
150
164
  }
@@ -3,19 +3,16 @@
3
3
  # compatible, but I just call protected_update etc. in the Ruby wrapper so I can add this
4
4
  # custom debugging help:
5
5
  class Gosu::Window
6
- alias_method :initialize_without_hash, :initialize
6
+ alias_method :initialize_with_options_hash, :initialize
7
7
 
8
8
  def initialize width, height, *args
9
9
  if args.empty? or args.first.is_a? Hash
10
10
  options = args.first || {}
11
- fullscreen = options[:fullscreen]
12
- update_interval = options[:update_interval]
13
- resizable = options[:resizable]
14
11
  else
15
- fullscreen, update_interval = *args
12
+ options = { fullscreen: args[0], update_interval: args[1] }
16
13
  end
17
14
  $gosu_gl_blocks = nil
18
- initialize_without_hash width, height, !!fullscreen, update_interval || 16.666666, !!resizable
15
+ initialize_with_options_hash width, height, options
19
16
  end
20
17
 
21
18
  %w(update draw needs_redraw? needs_cursor?
@@ -811,6 +811,18 @@ module Gosu
811
811
  # @return [true, false] whether this window is resizable.
812
812
  def resizable?; end
813
813
 
814
+ ##
815
+ # Toggles between resizable and fixed modes.
816
+ attr_writer :resizable
817
+
818
+ ##
819
+ # @return [true, false] whether this window is borderless.
820
+ def borderless?; end
821
+
822
+ ##
823
+ # Toggles between borderless mode and having window chrome.
824
+ attr_writer :borderless
825
+
814
826
  ##
815
827
  # @return [Float] the interval between calls to {#update}, in milliseconds.
816
828
  attr_accessor :update_interval
@@ -828,7 +840,8 @@ module Gosu
828
840
  # @param height [Integer] the desired window height.
829
841
  # @param [Hash] options
830
842
  # @option options [true, false] :fullscreen (false) whether to present the window in fullscreen mode.
831
- # @option options [true, false] :resizable (false) whether the window can be resized by the user.
843
+ # @option options [true, false] :resizable (false) whether the window can be resized by the user. Not useful if the window is either fullscreen or borderless.
844
+ # @option options [true, false] :borderless (false) whether the window should hide all its window chrome. Does not affect fullscreen windows.
832
845
  # @option options [Float] :update_interval (16.666666) the interval between frames, in milliseconds.
833
846
  def initialize(width, height, options); end
834
847
 
@@ -18,12 +18,12 @@ static SDL_DisplayMode display_mode(Gosu::Window* window)
18
18
  return result;
19
19
  }
20
20
 
21
- unsigned Gosu::screen_width(Window* window)
21
+ int Gosu::screen_width(Window* window)
22
22
  {
23
23
  return display_mode(window).w;
24
24
  }
25
25
 
26
- unsigned Gosu::screen_height(Window* window)
26
+ int Gosu::screen_height(Window* window)
27
27
  {
28
28
  return display_mode(window).h;
29
29
  }
@@ -41,12 +41,12 @@ static NSSize max_window_size(Gosu::Window* window)
41
41
  return [NSWindow contentRectForFrameRect:screen_frame styleMask:style].size;
42
42
  }
43
43
 
44
- unsigned Gosu::available_width(Window* window)
44
+ int Gosu::available_width(Window* window)
45
45
  {
46
46
  return max_window_size(window).width;
47
47
  }
48
48
 
49
- unsigned Gosu::available_height(Window* window)
49
+ int Gosu::available_height(Window* window)
50
50
  {
51
51
  return max_window_size(window).height;
52
52
  }
@@ -90,12 +90,12 @@ static SIZE max_window_size(Gosu::Window* window)
90
90
  return size;
91
91
  }
92
92
 
93
- unsigned Gosu::available_width(Window* window)
93
+ int Gosu::available_width(Window* window)
94
94
  {
95
95
  return max_window_size(window).cx;
96
96
  }
97
97
 
98
- unsigned Gosu::available_height(Window* window)
98
+ int Gosu::available_height(Window* window)
99
99
  {
100
100
  return max_window_size(window).cy;
101
101
  }
@@ -104,12 +104,12 @@ unsigned Gosu::available_height(Window* window)
104
104
  #ifdef GOSU_IS_X
105
105
  // Pessimistic fallback implementation for available_width / available_height.
106
106
  // TODO: Look at this NET_WORKAREA based implementation: https://github.com/glfw/glfw/pull/989/files
107
- unsigned Gosu::available_width(Window* window)
107
+ int Gosu::available_width(Window* window)
108
108
  {
109
109
  return static_cast<unsigned>(Gosu::screen_width(window) * 0.9);
110
110
  }
111
111
 
112
- unsigned Gosu::available_height(Window* window)
112
+ int Gosu::available_height(Window* window)
113
113
  {
114
114
  return static_cast<unsigned>(Gosu::screen_height(window) * 0.8);
115
115
  }
@@ -3218,6 +3218,45 @@ SWIGINTERN void Gosu_TextInput_set_selection_start(Gosu::TextInput *self,VALUE s
3218
3218
  std::string prefix = StringValueCStr(rb_prefix);
3219
3219
  self->set_selection_start(std::min(prefix.length(), self->text().length()));
3220
3220
  }
3221
+ SWIGINTERN Gosu::Window *new_Gosu_Window(VALUE self,int width,int height,VALUE options=0){
3222
+ unsigned flags = 0;
3223
+ double update_interval = 16.666666;
3224
+
3225
+ if (options) {
3226
+ Check_Type(options, T_HASH);
3227
+
3228
+ VALUE keys = rb_funcall(options, rb_intern("keys"), 0, NULL);
3229
+ int keys_size = NUM2INT(rb_funcall(keys, rb_intern("size"), 0, NULL));
3230
+
3231
+ for (int i = 0; i < keys_size; ++i) {
3232
+ VALUE key = rb_ary_entry(keys, i);
3233
+ const char* key_string = Gosu::cstr_from_symbol(key);
3234
+
3235
+ VALUE value = rb_hash_aref(options, key);
3236
+ if (!strcmp(key_string, "fullscreen")) {
3237
+ if (RTEST(value)) flags |= Gosu::WF_FULLSCREEN;
3238
+ }
3239
+ else if (!strcmp(key_string, "resizable")) {
3240
+ if (RTEST(value)) flags |= Gosu::WF_RESIZABLE;
3241
+ }
3242
+ else if (!strcmp(key_string, "borderless")) {
3243
+ if (RTEST(value)) flags |= Gosu::WF_BORDERLESS;
3244
+ }
3245
+ else if (!strcmp(key_string, "update_interval")) {
3246
+ update_interval = NUM2DBL(value);
3247
+ }
3248
+ else {
3249
+ static bool issued_warning = false;
3250
+ if (!issued_warning) {
3251
+ issued_warning = true;
3252
+ rb_warn("Unknown keyword argument: :%s", key_string);
3253
+ }
3254
+ }
3255
+ }
3256
+ }
3257
+
3258
+ return new Gosu::Window(width, height, flags, update_interval);
3259
+ }
3221
3260
  SWIGINTERN void Gosu_Window_set_width(Gosu::Window *self,unsigned int width){
3222
3261
  self->resize(width, self->height(), self->fullscreen());
3223
3262
  }
@@ -3300,12 +3339,6 @@ std::string SwigDirector_TextInput::filter(std::string text) const {
3300
3339
  }
3301
3340
 
3302
3341
 
3303
- SwigDirector_Window::SwigDirector_Window(VALUE self,unsigned int width,unsigned int height,bool fullscreen,double update_interval,bool resizable): Gosu::Window(width, height, fullscreen, update_interval, resizable), Swig::Director(self) {
3304
-
3305
- }
3306
-
3307
-
3308
-
3309
3342
  SwigDirector_Window::~SwigDirector_Window() {
3310
3343
  }
3311
3344
 
@@ -9180,112 +9213,50 @@ fail:
9180
9213
 
9181
9214
  static swig_class SwigClassWindow;
9182
9215
 
9183
- SWIGINTERN VALUE
9184
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9185
- _wrap_Window_allocate(VALUE self)
9186
- #else
9187
- _wrap_Window_allocate(int argc, VALUE *argv, VALUE self)
9188
- #endif
9189
- {
9190
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_Gosu__Window);
9191
- #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
9192
- rb_obj_call_init(vresult, argc, argv);
9193
- #endif
9194
- return vresult;
9216
+ SWIGINTERN void
9217
+ free_Gosu_Window(void *self) {
9218
+ Gosu::Window *arg1 = (Gosu::Window *)self;
9219
+ SWIG_RubyRemoveTracking(arg1);
9220
+ delete arg1;
9195
9221
  }
9196
9222
 
9197
-
9198
9223
  SWIGINTERN VALUE
9199
- _wrap_new_Window(int argc, VALUE *argv, VALUE self) {
9200
- VALUE arg1 = (VALUE) 0 ;
9201
- unsigned int arg2 ;
9202
- unsigned int arg3 ;
9203
- bool arg4 = (bool) false ;
9204
- double arg5 = (double) 16.666666 ;
9205
- bool arg6 = (bool) false ;
9206
- unsigned int val2 ;
9207
- int ecode2 = 0 ;
9208
- unsigned int val3 ;
9209
- int ecode3 = 0 ;
9210
- bool val4 ;
9211
- int ecode4 = 0 ;
9212
- double val5 ;
9213
- int ecode5 = 0 ;
9214
- bool val6 ;
9215
- int ecode6 = 0 ;
9216
- const char *classname SWIGUNUSED = "Gosu::Window";
9217
- Gosu::Window *result = 0 ;
9224
+ _wrap_Window_width(int argc, VALUE *argv, VALUE self) {
9225
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9226
+ void *argp1 = 0 ;
9227
+ int res1 = 0 ;
9228
+ int result;
9229
+ VALUE vresult = Qnil;
9218
9230
 
9219
- if ((argc < 2) || (argc > 5)) {
9220
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
9221
- }
9222
- arg1 = self;
9223
- ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
9224
- if (!SWIG_IsOK(ecode2)) {
9225
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","Window", 2, argv[0] ));
9226
- }
9227
- arg2 = static_cast< unsigned int >(val2);
9228
- ecode3 = SWIG_AsVal_unsigned_SS_int(argv[1], &val3);
9229
- if (!SWIG_IsOK(ecode3)) {
9230
- SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "unsigned int","Window", 3, argv[1] ));
9231
- }
9232
- arg3 = static_cast< unsigned int >(val3);
9233
- if (argc > 2) {
9234
- ecode4 = SWIG_AsVal_bool(argv[2], &val4);
9235
- if (!SWIG_IsOK(ecode4)) {
9236
- SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "bool","Window", 4, argv[2] ));
9237
- }
9238
- arg4 = static_cast< bool >(val4);
9239
- }
9240
- if (argc > 3) {
9241
- ecode5 = SWIG_AsVal_double(argv[3], &val5);
9242
- if (!SWIG_IsOK(ecode5)) {
9243
- SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","Window", 5, argv[3] ));
9244
- }
9245
- arg5 = static_cast< double >(val5);
9231
+ if ((argc < 0) || (argc > 0)) {
9232
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
9246
9233
  }
9247
- if (argc > 4) {
9248
- ecode6 = SWIG_AsVal_bool(argv[4], &val6);
9249
- if (!SWIG_IsOK(ecode6)) {
9250
- SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "bool","Window", 6, argv[4] ));
9251
- }
9252
- arg6 = static_cast< bool >(val6);
9234
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9235
+ if (!SWIG_IsOK(res1)) {
9236
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","width", 1, self ));
9253
9237
  }
9238
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9254
9239
  {
9255
9240
  try {
9256
- if ( strcmp(rb_obj_classname(self), classname) != 0 ) {
9257
- /* subclassed */
9258
- result = (Gosu::Window *)new SwigDirector_Window(arg1,arg2,arg3,arg4,arg5,arg6);
9259
- } else {
9260
- result = (Gosu::Window *)new Gosu::Window(arg2,arg3,arg4,arg5,arg6);
9261
- }
9262
-
9263
- DATA_PTR(self) = result;
9264
- SWIG_RubyAddTracking(result, self);
9241
+ result = (int)((Gosu::Window const *)arg1)->width();
9265
9242
  }
9266
9243
  catch (const std::exception& e) {
9267
9244
  SWIG_exception(SWIG_RuntimeError, e.what());
9268
9245
  }
9269
9246
  }
9270
- return self;
9247
+ vresult = SWIG_From_int(static_cast< int >(result));
9248
+ return vresult;
9271
9249
  fail:
9272
9250
  return Qnil;
9273
9251
  }
9274
9252
 
9275
9253
 
9276
- SWIGINTERN void
9277
- free_Gosu_Window(void *self) {
9278
- Gosu::Window *arg1 = (Gosu::Window *)self;
9279
- SWIG_RubyRemoveTracking(arg1);
9280
- delete arg1;
9281
- }
9282
-
9283
9254
  SWIGINTERN VALUE
9284
- _wrap_Window_width(int argc, VALUE *argv, VALUE self) {
9255
+ _wrap_Window_height(int argc, VALUE *argv, VALUE self) {
9285
9256
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9286
9257
  void *argp1 = 0 ;
9287
9258
  int res1 = 0 ;
9288
- unsigned int result;
9259
+ int result;
9289
9260
  VALUE vresult = Qnil;
9290
9261
 
9291
9262
  if ((argc < 0) || (argc > 0)) {
@@ -9293,18 +9264,18 @@ _wrap_Window_width(int argc, VALUE *argv, VALUE self) {
9293
9264
  }
9294
9265
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9295
9266
  if (!SWIG_IsOK(res1)) {
9296
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","width", 1, self ));
9267
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","height", 1, self ));
9297
9268
  }
9298
9269
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9299
9270
  {
9300
9271
  try {
9301
- result = (unsigned int)((Gosu::Window const *)arg1)->width();
9272
+ result = (int)((Gosu::Window const *)arg1)->height();
9302
9273
  }
9303
9274
  catch (const std::exception& e) {
9304
9275
  SWIG_exception(SWIG_RuntimeError, e.what());
9305
9276
  }
9306
9277
  }
9307
- vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
9278
+ vresult = SWIG_From_int(static_cast< int >(result));
9308
9279
  return vresult;
9309
9280
  fail:
9310
9281
  return Qnil;
@@ -9312,11 +9283,11 @@ fail:
9312
9283
 
9313
9284
 
9314
9285
  SWIGINTERN VALUE
9315
- _wrap_Window_height(int argc, VALUE *argv, VALUE self) {
9286
+ _wrap_Window_fullscreenq___(int argc, VALUE *argv, VALUE self) {
9316
9287
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9317
9288
  void *argp1 = 0 ;
9318
9289
  int res1 = 0 ;
9319
- unsigned int result;
9290
+ bool result;
9320
9291
  VALUE vresult = Qnil;
9321
9292
 
9322
9293
  if ((argc < 0) || (argc > 0)) {
@@ -9324,18 +9295,18 @@ _wrap_Window_height(int argc, VALUE *argv, VALUE self) {
9324
9295
  }
9325
9296
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9326
9297
  if (!SWIG_IsOK(res1)) {
9327
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","height", 1, self ));
9298
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","fullscreen", 1, self ));
9328
9299
  }
9329
9300
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9330
9301
  {
9331
9302
  try {
9332
- result = (unsigned int)((Gosu::Window const *)arg1)->height();
9303
+ result = (bool)((Gosu::Window const *)arg1)->fullscreen();
9333
9304
  }
9334
9305
  catch (const std::exception& e) {
9335
9306
  SWIG_exception(SWIG_RuntimeError, e.what());
9336
9307
  }
9337
9308
  }
9338
- vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
9309
+ vresult = SWIG_From_bool(static_cast< bool >(result));
9339
9310
  return vresult;
9340
9311
  fail:
9341
9312
  return Qnil;
@@ -9343,7 +9314,7 @@ fail:
9343
9314
 
9344
9315
 
9345
9316
  SWIGINTERN VALUE
9346
- _wrap_Window_fullscreenq___(int argc, VALUE *argv, VALUE self) {
9317
+ _wrap_Window_resizableq___(int argc, VALUE *argv, VALUE self) {
9347
9318
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9348
9319
  void *argp1 = 0 ;
9349
9320
  int res1 = 0 ;
@@ -9355,12 +9326,12 @@ _wrap_Window_fullscreenq___(int argc, VALUE *argv, VALUE self) {
9355
9326
  }
9356
9327
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9357
9328
  if (!SWIG_IsOK(res1)) {
9358
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","fullscreen", 1, self ));
9329
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","resizable", 1, self ));
9359
9330
  }
9360
9331
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9361
9332
  {
9362
9333
  try {
9363
- result = (bool)((Gosu::Window const *)arg1)->fullscreen();
9334
+ result = (bool)((Gosu::Window const *)arg1)->resizable();
9364
9335
  }
9365
9336
  catch (const std::exception& e) {
9366
9337
  SWIG_exception(SWIG_RuntimeError, e.what());
@@ -9374,7 +9345,43 @@ fail:
9374
9345
 
9375
9346
 
9376
9347
  SWIGINTERN VALUE
9377
- _wrap_Window_resizableq___(int argc, VALUE *argv, VALUE self) {
9348
+ _wrap_Window_resizablee___(int argc, VALUE *argv, VALUE self) {
9349
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9350
+ bool arg2 ;
9351
+ void *argp1 = 0 ;
9352
+ int res1 = 0 ;
9353
+ bool val2 ;
9354
+ int ecode2 = 0 ;
9355
+
9356
+ if ((argc < 1) || (argc > 1)) {
9357
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
9358
+ }
9359
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9360
+ if (!SWIG_IsOK(res1)) {
9361
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","set_resizable", 1, self ));
9362
+ }
9363
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9364
+ ecode2 = SWIG_AsVal_bool(argv[0], &val2);
9365
+ if (!SWIG_IsOK(ecode2)) {
9366
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","set_resizable", 2, argv[0] ));
9367
+ }
9368
+ arg2 = static_cast< bool >(val2);
9369
+ {
9370
+ try {
9371
+ (arg1)->set_resizable(arg2);
9372
+ }
9373
+ catch (const std::exception& e) {
9374
+ SWIG_exception(SWIG_RuntimeError, e.what());
9375
+ }
9376
+ }
9377
+ return Qnil;
9378
+ fail:
9379
+ return Qnil;
9380
+ }
9381
+
9382
+
9383
+ SWIGINTERN VALUE
9384
+ _wrap_Window_borderlessq___(int argc, VALUE *argv, VALUE self) {
9378
9385
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9379
9386
  void *argp1 = 0 ;
9380
9387
  int res1 = 0 ;
@@ -9386,12 +9393,12 @@ _wrap_Window_resizableq___(int argc, VALUE *argv, VALUE self) {
9386
9393
  }
9387
9394
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9388
9395
  if (!SWIG_IsOK(res1)) {
9389
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","resizable", 1, self ));
9396
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","borderless", 1, self ));
9390
9397
  }
9391
9398
  arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9392
9399
  {
9393
9400
  try {
9394
- result = (bool)((Gosu::Window const *)arg1)->resizable();
9401
+ result = (bool)((Gosu::Window const *)arg1)->borderless();
9395
9402
  }
9396
9403
  catch (const std::exception& e) {
9397
9404
  SWIG_exception(SWIG_RuntimeError, e.what());
@@ -9404,6 +9411,42 @@ fail:
9404
9411
  }
9405
9412
 
9406
9413
 
9414
+ SWIGINTERN VALUE
9415
+ _wrap_Window_borderlesse___(int argc, VALUE *argv, VALUE self) {
9416
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9417
+ bool arg2 ;
9418
+ void *argp1 = 0 ;
9419
+ int res1 = 0 ;
9420
+ bool val2 ;
9421
+ int ecode2 = 0 ;
9422
+
9423
+ if ((argc < 1) || (argc > 1)) {
9424
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
9425
+ }
9426
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9427
+ if (!SWIG_IsOK(res1)) {
9428
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","set_borderless", 1, self ));
9429
+ }
9430
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9431
+ ecode2 = SWIG_AsVal_bool(argv[0], &val2);
9432
+ if (!SWIG_IsOK(ecode2)) {
9433
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","set_borderless", 2, argv[0] ));
9434
+ }
9435
+ arg2 = static_cast< bool >(val2);
9436
+ {
9437
+ try {
9438
+ (arg1)->set_borderless(arg2);
9439
+ }
9440
+ catch (const std::exception& e) {
9441
+ SWIG_exception(SWIG_RuntimeError, e.what());
9442
+ }
9443
+ }
9444
+ return Qnil;
9445
+ fail:
9446
+ return Qnil;
9447
+ }
9448
+
9449
+
9407
9450
  SWIGINTERN VALUE
9408
9451
  _wrap_Window_update_interval(int argc, VALUE *argv, VALUE self) {
9409
9452
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
@@ -10167,6 +10210,67 @@ fail:
10167
10210
  }
10168
10211
 
10169
10212
 
10213
+ SWIGINTERN VALUE
10214
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10215
+ _wrap_Window_allocate(VALUE self)
10216
+ #else
10217
+ _wrap_Window_allocate(int argc, VALUE *argv, VALUE self)
10218
+ #endif
10219
+ {
10220
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_Gosu__Window);
10221
+ #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
10222
+ rb_obj_call_init(vresult, argc, argv);
10223
+ #endif
10224
+ return vresult;
10225
+ }
10226
+
10227
+
10228
+ SWIGINTERN VALUE
10229
+ _wrap_new_Window(int argc, VALUE *argv, VALUE self) {
10230
+ VALUE arg1 = (VALUE) 0 ;
10231
+ int arg2 ;
10232
+ int arg3 ;
10233
+ VALUE arg4 = (VALUE) 0 ;
10234
+ int val2 ;
10235
+ int ecode2 = 0 ;
10236
+ int val3 ;
10237
+ int ecode3 = 0 ;
10238
+ const char *classname SWIGUNUSED = "Gosu::Window";
10239
+ Gosu::Window *result = 0 ;
10240
+
10241
+ if ((argc < 2) || (argc > 3)) {
10242
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
10243
+ }
10244
+ arg1 = self;
10245
+ ecode2 = SWIG_AsVal_int(argv[0], &val2);
10246
+ if (!SWIG_IsOK(ecode2)) {
10247
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","Window", 2, argv[0] ));
10248
+ }
10249
+ arg2 = static_cast< int >(val2);
10250
+ ecode3 = SWIG_AsVal_int(argv[1], &val3);
10251
+ if (!SWIG_IsOK(ecode3)) {
10252
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","Window", 3, argv[1] ));
10253
+ }
10254
+ arg3 = static_cast< int >(val3);
10255
+ if (argc > 2) {
10256
+ arg4 = argv[2];
10257
+ }
10258
+ {
10259
+ try {
10260
+ result = (Gosu::Window *)new_Gosu_Window(arg1,arg2,arg3,arg4);
10261
+ DATA_PTR(self) = result;
10262
+ SWIG_RubyAddTracking(result, self);
10263
+ }
10264
+ catch (const std::exception& e) {
10265
+ SWIG_exception(SWIG_RuntimeError, e.what());
10266
+ }
10267
+ }
10268
+ return self;
10269
+ fail:
10270
+ return Qnil;
10271
+ }
10272
+
10273
+
10170
10274
  SWIGINTERN VALUE
10171
10275
  _wrap_Window_widthe___(int argc, VALUE *argv, VALUE self) {
10172
10276
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
@@ -10584,7 +10688,7 @@ _wrap_screen_width(int argc, VALUE *argv, VALUE self) {
10584
10688
  Gosu::Window *arg1 = (Gosu::Window *) nullptr ;
10585
10689
  void *argp1 = 0 ;
10586
10690
  int res1 = 0 ;
10587
- unsigned int result;
10691
+ int result;
10588
10692
  VALUE vresult = Qnil;
10589
10693
 
10590
10694
  if ((argc < 0) || (argc > 1)) {
@@ -10599,13 +10703,13 @@ _wrap_screen_width(int argc, VALUE *argv, VALUE self) {
10599
10703
  }
10600
10704
  {
10601
10705
  try {
10602
- result = (unsigned int)Gosu::screen_width(arg1);
10706
+ result = (int)Gosu::screen_width(arg1);
10603
10707
  }
10604
10708
  catch (const std::exception& e) {
10605
10709
  SWIG_exception(SWIG_RuntimeError, e.what());
10606
10710
  }
10607
10711
  }
10608
- vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
10712
+ vresult = SWIG_From_int(static_cast< int >(result));
10609
10713
  return vresult;
10610
10714
  fail:
10611
10715
  return Qnil;
@@ -10617,7 +10721,7 @@ _wrap_screen_height(int argc, VALUE *argv, VALUE self) {
10617
10721
  Gosu::Window *arg1 = (Gosu::Window *) nullptr ;
10618
10722
  void *argp1 = 0 ;
10619
10723
  int res1 = 0 ;
10620
- unsigned int result;
10724
+ int result;
10621
10725
  VALUE vresult = Qnil;
10622
10726
 
10623
10727
  if ((argc < 0) || (argc > 1)) {
@@ -10632,13 +10736,13 @@ _wrap_screen_height(int argc, VALUE *argv, VALUE self) {
10632
10736
  }
10633
10737
  {
10634
10738
  try {
10635
- result = (unsigned int)Gosu::screen_height(arg1);
10739
+ result = (int)Gosu::screen_height(arg1);
10636
10740
  }
10637
10741
  catch (const std::exception& e) {
10638
10742
  SWIG_exception(SWIG_RuntimeError, e.what());
10639
10743
  }
10640
10744
  }
10641
- vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
10745
+ vresult = SWIG_From_int(static_cast< int >(result));
10642
10746
  return vresult;
10643
10747
  fail:
10644
10748
  return Qnil;
@@ -10650,7 +10754,7 @@ _wrap_available_width(int argc, VALUE *argv, VALUE self) {
10650
10754
  Gosu::Window *arg1 = (Gosu::Window *) nullptr ;
10651
10755
  void *argp1 = 0 ;
10652
10756
  int res1 = 0 ;
10653
- unsigned int result;
10757
+ int result;
10654
10758
  VALUE vresult = Qnil;
10655
10759
 
10656
10760
  if ((argc < 0) || (argc > 1)) {
@@ -10665,13 +10769,13 @@ _wrap_available_width(int argc, VALUE *argv, VALUE self) {
10665
10769
  }
10666
10770
  {
10667
10771
  try {
10668
- result = (unsigned int)Gosu::available_width(arg1);
10772
+ result = (int)Gosu::available_width(arg1);
10669
10773
  }
10670
10774
  catch (const std::exception& e) {
10671
10775
  SWIG_exception(SWIG_RuntimeError, e.what());
10672
10776
  }
10673
10777
  }
10674
- vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
10778
+ vresult = SWIG_From_int(static_cast< int >(result));
10675
10779
  return vresult;
10676
10780
  fail:
10677
10781
  return Qnil;
@@ -10683,7 +10787,7 @@ _wrap_available_height(int argc, VALUE *argv, VALUE self) {
10683
10787
  Gosu::Window *arg1 = (Gosu::Window *) nullptr ;
10684
10788
  void *argp1 = 0 ;
10685
10789
  int res1 = 0 ;
10686
- unsigned int result;
10790
+ int result;
10687
10791
  VALUE vresult = Qnil;
10688
10792
 
10689
10793
  if ((argc < 0) || (argc > 1)) {
@@ -10698,13 +10802,13 @@ _wrap_available_height(int argc, VALUE *argv, VALUE self) {
10698
10802
  }
10699
10803
  {
10700
10804
  try {
10701
- result = (unsigned int)Gosu::available_height(arg1);
10805
+ result = (int)Gosu::available_height(arg1);
10702
10806
  }
10703
10807
  catch (const std::exception& e) {
10704
10808
  SWIG_exception(SWIG_RuntimeError, e.what());
10705
10809
  }
10706
10810
  }
10707
- vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
10811
+ vresult = SWIG_From_int(static_cast< int >(result));
10708
10812
  return vresult;
10709
10813
  fail:
10710
10814
  return Qnil;
@@ -12425,7 +12529,7 @@ SWIGEXPORT void Init_gosu(void) {
12425
12529
  rb_define_const(mGosu, "VERSION", SWIG_From_std_string(static_cast< std::string >(Gosu::VERSION)));
12426
12530
  rb_define_const(mGosu, "LICENSES", SWIG_From_std_string(static_cast< std::string >(Gosu::LICENSES)));
12427
12531
  rb_define_const(mGosu, "MAJOR_VERSION", SWIG_From_int(static_cast< int >(1)));
12428
- rb_define_const(mGosu, "MINOR_VERSION", SWIG_From_int(static_cast< int >(0)));
12532
+ rb_define_const(mGosu, "MINOR_VERSION", SWIG_From_int(static_cast< int >(1)));
12429
12533
  rb_define_const(mGosu, "POINT_VERSION", SWIG_From_int(static_cast< int >(0)));
12430
12534
  rb_define_module_function(mGosu, "milliseconds", VALUEFUNC(_wrap_milliseconds), -1);
12431
12535
  rb_define_module_function(mGosu, "random", VALUEFUNC(_wrap_random), -1);
@@ -12881,6 +12985,9 @@ SWIGEXPORT void Init_gosu(void) {
12881
12985
  rb_define_method(SwigClassWindow.klass, "height", VALUEFUNC(_wrap_Window_height), -1);
12882
12986
  rb_define_method(SwigClassWindow.klass, "fullscreen?", VALUEFUNC(_wrap_Window_fullscreenq___), -1);
12883
12987
  rb_define_method(SwigClassWindow.klass, "resizable?", VALUEFUNC(_wrap_Window_resizableq___), -1);
12988
+ rb_define_method(SwigClassWindow.klass, "resizable=", VALUEFUNC(_wrap_Window_resizablee___), -1);
12989
+ rb_define_method(SwigClassWindow.klass, "borderless?", VALUEFUNC(_wrap_Window_borderlessq___), -1);
12990
+ rb_define_method(SwigClassWindow.klass, "borderless=", VALUEFUNC(_wrap_Window_borderlesse___), -1);
12884
12991
  rb_define_method(SwigClassWindow.klass, "update_interval", VALUEFUNC(_wrap_Window_update_interval), -1);
12885
12992
  rb_define_method(SwigClassWindow.klass, "update_interval=", VALUEFUNC(_wrap_Window_update_intervale___), -1);
12886
12993
  rb_define_method(SwigClassWindow.klass, "caption", VALUEFUNC(_wrap_Window_caption), -1);