gosu 0.7.20 → 0.7.21

Sign up to get free protection for your applications and to get access to all the features.
@@ -93,7 +93,7 @@ GLuint Gosu::Texture::texName() const
93
93
  }
94
94
 
95
95
  std::auto_ptr<Gosu::TexChunk>
96
- Gosu::Texture::tryAlloc(Graphics& graphics,
96
+ Gosu::Texture::tryAlloc(Graphics& graphics, Transforms& transforms,
97
97
  DrawOpQueueStack& queues, boost::shared_ptr<Texture> ptr,
98
98
  const Bitmap& bmp, unsigned srcX,
99
99
  unsigned srcY, unsigned srcWidth,
@@ -105,7 +105,7 @@ std::auto_ptr<Gosu::TexChunk>
105
105
  if (!block)
106
106
  return result;
107
107
 
108
- result.reset(new TexChunk(graphics, queues, ptr, block->left + padding, block->top + padding,
108
+ result.reset(new TexChunk(graphics, transforms, queues, ptr, block->left + padding, block->top + padding,
109
109
  block->width - 2 * padding, block->height - 2 * padding, padding));
110
110
 
111
111
  #if defined(__BIG_ENDIAN__)
@@ -144,3 +144,34 @@ void Gosu::Texture::free(unsigned x, unsigned y)
144
144
  allocator.free(x, y);
145
145
  num -= 1;
146
146
  }
147
+
148
+ Gosu::Bitmap Gosu::Texture::toBitmap(unsigned x, unsigned y, unsigned width, unsigned height) const
149
+ {
150
+ #if defined(__BIG_ENDIAN__)
151
+ unsigned format = GL_RGBA;
152
+ #elif defined(GOSU_IS_IPHONE)
153
+ unsigned format = GL_RGBA;
154
+ #else
155
+ unsigned format = GL_BGRA;
156
+ #endif
157
+
158
+ Gosu::Bitmap fullTexture;
159
+ fullTexture.resize(size(), size());
160
+ glBindTexture(GL_TEXTURE_2D, name);
161
+ glGetTexImage(GL_TEXTURE_2D, 0, format, GL_UNSIGNED_BYTE, fullTexture.data());
162
+ Gosu::Bitmap bitmap;
163
+ bitmap.resize(width, height);
164
+ bitmap.insert(fullTexture, -int(x), -int(y));
165
+
166
+ #if defined(__BIG_ENDIAN__)
167
+ for (unsigned y = 0; y < height; ++y)
168
+ for (unsigned x = 0; x < width; ++x)
169
+ bitmap.setPixel(x, y, bigToNative(bitmap.getPixel(x, y).argb() & 0xffffff00 >> 8 | bitmap.getPixel(x, y).alpha() << 24));
170
+ #elif defined(GOSU_IS_IPHONE)
171
+ for (unsigned y = 0; y < height; ++y)
172
+ for (unsigned x = 0; x < width; ++x)
173
+ bitmap.setPixel(x, y, bitmap.getPixel(x, y).abgr());
174
+ #endif
175
+
176
+ return bitmap;
177
+ }
@@ -2,6 +2,7 @@
2
2
  #define GOSUIMPL_GRAPHICS_TEXTURE_HPP
3
3
 
4
4
  #include <Gosu/Fwd.hpp>
5
+ #include <Gosu/Bitmap.hpp>
5
6
  #include <GosuImpl/Graphics/Common.hpp>
6
7
  #include <GosuImpl/Graphics/TexChunk.hpp>
7
8
  #include <GosuImpl/Graphics/BlockAllocator.hpp>
@@ -25,10 +26,11 @@ namespace Gosu
25
26
  unsigned size() const;
26
27
  GLuint texName() const;
27
28
  std::auto_ptr<TexChunk>
28
- tryAlloc(Graphics& graphics, DrawOpQueueStack& queues, boost::shared_ptr<Texture> ptr,
29
+ tryAlloc(Graphics& graphics, Transforms& transforms, DrawOpQueueStack& queues, boost::shared_ptr<Texture> ptr,
29
30
  const Bitmap& bmp, unsigned srcX, unsigned srcY, unsigned srcWidth, unsigned srcHeight,
30
31
  unsigned padding);
31
32
  void free(unsigned x, unsigned y);
33
+ Gosu::Bitmap toBitmap(unsigned x, unsigned y, unsigned width, unsigned height) const;
32
34
  };
33
35
  }
34
36
 
@@ -0,0 +1,59 @@
1
+ // Default matrices, adapted from original Transform support
2
+ // contribution by erisdiscord. Thank you!
3
+
4
+ #include <Gosu/Graphics.hpp>
5
+ #include <Gosu/Math.hpp>
6
+ #include <GosuImpl/Graphics/Common.hpp>
7
+ #include <cmath>
8
+
9
+ Gosu::Transform
10
+ Gosu::rotate(double angle, double aroundX, double aroundY)
11
+ {
12
+ double c = std::cos(degreesToRadians(angle));
13
+ double s = std::sin(degreesToRadians(angle));
14
+ Gosu::Transform result = {
15
+ +c, +s, 0, 0,
16
+ -s, +c, 0, 0,
17
+ 0, 0, 1, 0,
18
+ 0, 0, 0, 1
19
+ };
20
+ if (aroundX != 0 || aroundY != 0)
21
+ result = multiply(multiply(translate(-aroundX, -aroundY), result), translate(aroundX, aroundY));
22
+ return result;
23
+ }
24
+
25
+ Gosu::Transform
26
+ Gosu::translate(double x, double y)
27
+ {
28
+ Gosu::Transform result = {
29
+ 1, 0, 0, 0,
30
+ 0, 1, 0, 0,
31
+ 0, 0, 1, 0,
32
+ x, y, 0, 1
33
+ };
34
+ return result;
35
+ }
36
+
37
+ Gosu::Transform
38
+ Gosu::scale(double factor)
39
+ {
40
+ Gosu::Transform result = {
41
+ factor, 0, 0, 0,
42
+ 0, factor, 0, 0,
43
+ 0, 0, 1, 0,
44
+ 0, 0, 0, 1
45
+ };
46
+ return result;
47
+ }
48
+
49
+ Gosu::Transform
50
+ Gosu::scale(double factorX, double factorY)
51
+ {
52
+ Gosu::Transform result = {
53
+ factorX, 0, 0, 0,
54
+ 0, factorY, 0, 0,
55
+ 0, 0, 1, 0,
56
+ 0, 0, 0, 1
57
+ };
58
+ return result;
59
+ }
@@ -163,6 +163,7 @@
163
163
  namespace Gosu {
164
164
  void enableUndocumentedRetrofication() { extern bool undocumentedRetrofication; undocumentedRetrofication = true; }
165
165
  unsigned __maxTextureSize() { return Gosu::Texture::maxTextureSize(); }
166
+ void register_entity(const std::wstring& name, Gosu::Image* image) { registerEntity(name, image->getData().toBitmap()); }
166
167
  }
167
168
 
168
169
  #include <sstream>
@@ -266,6 +267,7 @@ namespace Gosu
266
267
  %ignore Gosu::createText;
267
268
  %ignore Gosu::textHeight;
268
269
  %ignore Gosu::drawText;
270
+ %ignore Gosu::registerEntity;
269
271
  %include "../Gosu/Text.hpp"
270
272
 
271
273
 
@@ -292,6 +294,7 @@ namespace Gosu
292
294
  namespace Gosu {
293
295
  void enableUndocumentedRetrofication() { extern bool undocumentedRetrofication; undocumentedRetrofication = true; }
294
296
  unsigned __maxTextureSize() { return Gosu::Texture::maxTextureSize(); }
297
+ void register_entity(const std::wstring& name, Gosu::Image* image) { registerEntity(name, image->getData().toBitmap()); }
295
298
  }
296
299
 
297
300
  // Color
@@ -435,6 +438,20 @@ namespace Gosu {
435
438
  tileWidth, tileHeight, tileable, vec);
436
439
  return vec;
437
440
  }
441
+ std::string toBlob() const
442
+ {
443
+ Gosu::Bitmap bmp = $self->getData().toBitmap();
444
+ return std::string(reinterpret_cast<const char*>(bmp.data()),
445
+ reinterpret_cast<const char*>(bmp.data()) + bmp.width() * bmp.height() * 4);
446
+ }
447
+ unsigned columns() const
448
+ {
449
+ return $self->width();
450
+ }
451
+ unsigned rows() const
452
+ {
453
+ return $self->height();
454
+ }
438
455
  }
439
456
 
440
457
  // Audio:
@@ -516,10 +533,6 @@ namespace Gosu {
516
533
  $self->graphics().drawTriangle(x1, y1, c1, x2, y2, c2, x3, y3, c3,
517
534
  z, mode);
518
535
  }
519
- /*void drawRect(double x, double y, double w, double h, Gosu::Color c,
520
- Gosu::ZPos z = 0, Gosu::AlphaMode mode = Gosu::amDefault) {
521
- $self->graphics().drawRect(x, y, w, h, c, z, mode);
522
- }*/
523
536
  void drawQuad(double x1, double y1, Gosu::Color c1,
524
537
  double x2, double y2, Gosu::Color c2,
525
538
  double x3, double y3, Gosu::Color c3,
@@ -589,4 +602,33 @@ namespace Gosu {
589
602
  rb_yield(Qnil);
590
603
  return new Gosu::Image($self->graphics().endRecording());
591
604
  }
605
+ void transform(double m0, double m1, double m2, double m3, double m4, double m5, double m6, double m7,
606
+ double m8, double m9, double m10, double m11, double m12, double m13, double m14, double m15) {
607
+ Gosu::Transform transform = {
608
+ m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15
609
+ };
610
+ $self->graphics().pushTransform(transform);
611
+ rb_yield(Qnil);
612
+ $self->graphics().popTransform();
613
+ }
614
+ void rotate(double angle, double aroundX = 0, double aroundY = 0) {
615
+ $self->graphics().pushTransform(Gosu::rotate(angle, aroundX, aroundY));
616
+ rb_yield(Qnil);
617
+ $self->graphics().popTransform();
618
+ }
619
+ void scale(double factor) {
620
+ $self->graphics().pushTransform(Gosu::scale(factor));
621
+ rb_yield(Qnil);
622
+ $self->graphics().popTransform();
623
+ }
624
+ void scale(double factorX, double factorY) {
625
+ $self->graphics().pushTransform(Gosu::scale(factorX, factorY));
626
+ rb_yield(Qnil);
627
+ $self->graphics().popTransform();
628
+ }
629
+ void translate(double x, double y) {
630
+ $self->graphics().pushTransform(Gosu::translate(x, y));
631
+ rb_yield(Qnil);
632
+ $self->graphics().popTransform();
633
+ }
592
634
  };
@@ -2152,17 +2152,17 @@ namespace Swig {
2152
2152
  /* -------- TYPES TABLE (BEGIN) -------- */
2153
2153
 
2154
2154
  #define SWIGTYPE_p_Channel swig_types[0]
2155
- #define SWIGTYPE_p_Gosu__Audio swig_types[1]
2156
- #define SWIGTYPE_p_Gosu__Button swig_types[2]
2157
- #define SWIGTYPE_p_Gosu__Color swig_types[3]
2158
- #define SWIGTYPE_p_Gosu__Font swig_types[4]
2159
- #define SWIGTYPE_p_Gosu__GLTexInfo swig_types[5]
2160
- #define SWIGTYPE_p_Gosu__Image swig_types[6]
2161
- #define SWIGTYPE_p_Gosu__Sample swig_types[7]
2162
- #define SWIGTYPE_p_Gosu__SampleInstance swig_types[8]
2163
- #define SWIGTYPE_p_Gosu__Song swig_types[9]
2164
- #define SWIGTYPE_p_Gosu__TextInput swig_types[10]
2165
- #define SWIGTYPE_p_Gosu__Window swig_types[11]
2155
+ #define SWIGTYPE_p_Gosu__Button swig_types[1]
2156
+ #define SWIGTYPE_p_Gosu__Color swig_types[2]
2157
+ #define SWIGTYPE_p_Gosu__Font swig_types[3]
2158
+ #define SWIGTYPE_p_Gosu__GLTexInfo swig_types[4]
2159
+ #define SWIGTYPE_p_Gosu__Image swig_types[5]
2160
+ #define SWIGTYPE_p_Gosu__Sample swig_types[6]
2161
+ #define SWIGTYPE_p_Gosu__SampleInstance swig_types[7]
2162
+ #define SWIGTYPE_p_Gosu__Song swig_types[8]
2163
+ #define SWIGTYPE_p_Gosu__TextInput swig_types[9]
2164
+ #define SWIGTYPE_p_Gosu__Window swig_types[10]
2165
+ #define SWIGTYPE_p_boost__arrayT_double_16_t swig_types[11]
2166
2166
  #define SWIGTYPE_p_char swig_types[12]
2167
2167
  #define SWIGTYPE_p_double swig_types[13]
2168
2168
  #define SWIGTYPE_p_std__wstring swig_types[14]
@@ -2234,6 +2234,7 @@ static VALUE mGosu;
2234
2234
  namespace Gosu {
2235
2235
  void enableUndocumentedRetrofication() { extern bool undocumentedRetrofication; undocumentedRetrofication = true; }
2236
2236
  unsigned __maxTextureSize() { return Gosu::Texture::maxTextureSize(); }
2237
+ void register_entity(const std::wstring& name, Gosu::Image* image) { registerEntity(name, image->getData().toBitmap()); }
2237
2238
  }
2238
2239
 
2239
2240
  #include <sstream>
@@ -2607,6 +2608,17 @@ SWIGINTERN std::vector< Gosu::Image * > Gosu_Image_loadTiles(Gosu::Window &windo
2607
2608
  tileWidth, tileHeight, tileable, vec);
2608
2609
  return vec;
2609
2610
  }
2611
+ SWIGINTERN std::string Gosu_Image_toBlob(Gosu::Image const *self){
2612
+ Gosu::Bitmap bmp = self->getData().toBitmap();
2613
+ return std::string(reinterpret_cast<const char*>(bmp.data()),
2614
+ reinterpret_cast<const char*>(bmp.data()) + bmp.width() * bmp.height() * 4);
2615
+ }
2616
+ SWIGINTERN unsigned int Gosu_Image_columns(Gosu::Image const *self){
2617
+ return self->width();
2618
+ }
2619
+ SWIGINTERN unsigned int Gosu_Image_rows(Gosu::Image const *self){
2620
+ return self->height();
2621
+ }
2610
2622
 
2611
2623
  SWIGINTERNINLINE VALUE
2612
2624
  SWIG_From_bool (bool value)
@@ -2687,6 +2699,34 @@ SWIGINTERN Gosu::Image *Gosu_Window_record(Gosu::Window *self){
2687
2699
  rb_yield(Qnil);
2688
2700
  return new Gosu::Image(self->graphics().endRecording());
2689
2701
  }
2702
+ SWIGINTERN void Gosu_Window_transform(Gosu::Window *self,double m0,double m1,double m2,double m3,double m4,double m5,double m6,double m7,double m8,double m9,double m10,double m11,double m12,double m13,double m14,double m15){
2703
+ Gosu::Transform transform = {
2704
+ m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15
2705
+ };
2706
+ self->graphics().pushTransform(transform);
2707
+ rb_yield(Qnil);
2708
+ self->graphics().popTransform();
2709
+ }
2710
+ SWIGINTERN void Gosu_Window_rotate(Gosu::Window *self,double angle,double aroundX=0,double aroundY=0){
2711
+ self->graphics().pushTransform(Gosu::rotate(angle, aroundX, aroundY));
2712
+ rb_yield(Qnil);
2713
+ self->graphics().popTransform();
2714
+ }
2715
+ SWIGINTERN void Gosu_Window_scale__SWIG_0(Gosu::Window *self,double factor){
2716
+ self->graphics().pushTransform(Gosu::scale(factor));
2717
+ rb_yield(Qnil);
2718
+ self->graphics().popTransform();
2719
+ }
2720
+ SWIGINTERN void Gosu_Window_scale__SWIG_1(Gosu::Window *self,double factorX,double factorY){
2721
+ self->graphics().pushTransform(Gosu::scale(factorX, factorY));
2722
+ rb_yield(Qnil);
2723
+ self->graphics().popTransform();
2724
+ }
2725
+ SWIGINTERN void Gosu_Window_translate(Gosu::Window *self,double x,double y){
2726
+ self->graphics().pushTransform(Gosu::translate(x, y));
2727
+ rb_yield(Qnil);
2728
+ self->graphics().popTransform();
2729
+ }
2690
2730
 
2691
2731
  static void markWindow(void* window) {
2692
2732
  Gosu::TextInput* ti = static_cast<Gosu::Window*>(window)->input().textInput();
@@ -3246,6 +3286,208 @@ fail:
3246
3286
  }
3247
3287
 
3248
3288
 
3289
+ SWIGINTERN VALUE
3290
+ _wrap_rotate(int argc, VALUE *argv, VALUE self) {
3291
+ double arg1 ;
3292
+ double arg2 = (double) 0 ;
3293
+ double arg3 = (double) 0 ;
3294
+ double val1 ;
3295
+ int ecode1 = 0 ;
3296
+ double val2 ;
3297
+ int ecode2 = 0 ;
3298
+ double val3 ;
3299
+ int ecode3 = 0 ;
3300
+ Gosu::Transform result;
3301
+ VALUE vresult = Qnil;
3302
+
3303
+ if ((argc < 1) || (argc > 3)) {
3304
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3305
+ }
3306
+ ecode1 = SWIG_AsVal_double(argv[0], &val1);
3307
+ if (!SWIG_IsOK(ecode1)) {
3308
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::rotate", 1, argv[0] ));
3309
+ }
3310
+ arg1 = static_cast< double >(val1);
3311
+ if (argc > 1) {
3312
+ ecode2 = SWIG_AsVal_double(argv[1], &val2);
3313
+ if (!SWIG_IsOK(ecode2)) {
3314
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::rotate", 2, argv[1] ));
3315
+ }
3316
+ arg2 = static_cast< double >(val2);
3317
+ }
3318
+ if (argc > 2) {
3319
+ ecode3 = SWIG_AsVal_double(argv[2], &val3);
3320
+ if (!SWIG_IsOK(ecode3)) {
3321
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","Gosu::rotate", 3, argv[2] ));
3322
+ }
3323
+ arg3 = static_cast< double >(val3);
3324
+ }
3325
+ {
3326
+ try {
3327
+ result = Gosu::rotate(arg1,arg2,arg3);
3328
+ } catch(const std::runtime_error& e) {
3329
+ SWIG_exception(SWIG_RuntimeError, e.what());
3330
+ }
3331
+ }
3332
+ vresult = SWIG_NewPointerObj((new Gosu::Transform(static_cast< const Gosu::Transform& >(result))), SWIGTYPE_p_boost__arrayT_double_16_t, SWIG_POINTER_OWN | 0 );
3333
+ return vresult;
3334
+ fail:
3335
+ return Qnil;
3336
+ }
3337
+
3338
+
3339
+ SWIGINTERN VALUE
3340
+ _wrap_translate(int argc, VALUE *argv, VALUE self) {
3341
+ double arg1 ;
3342
+ double arg2 ;
3343
+ double val1 ;
3344
+ int ecode1 = 0 ;
3345
+ double val2 ;
3346
+ int ecode2 = 0 ;
3347
+ Gosu::Transform result;
3348
+ VALUE vresult = Qnil;
3349
+
3350
+ if ((argc < 2) || (argc > 2)) {
3351
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
3352
+ }
3353
+ ecode1 = SWIG_AsVal_double(argv[0], &val1);
3354
+ if (!SWIG_IsOK(ecode1)) {
3355
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::translate", 1, argv[0] ));
3356
+ }
3357
+ arg1 = static_cast< double >(val1);
3358
+ ecode2 = SWIG_AsVal_double(argv[1], &val2);
3359
+ if (!SWIG_IsOK(ecode2)) {
3360
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::translate", 2, argv[1] ));
3361
+ }
3362
+ arg2 = static_cast< double >(val2);
3363
+ {
3364
+ try {
3365
+ result = Gosu::translate(arg1,arg2);
3366
+ } catch(const std::runtime_error& e) {
3367
+ SWIG_exception(SWIG_RuntimeError, e.what());
3368
+ }
3369
+ }
3370
+ vresult = SWIG_NewPointerObj((new Gosu::Transform(static_cast< const Gosu::Transform& >(result))), SWIGTYPE_p_boost__arrayT_double_16_t, SWIG_POINTER_OWN | 0 );
3371
+ return vresult;
3372
+ fail:
3373
+ return Qnil;
3374
+ }
3375
+
3376
+
3377
+ SWIGINTERN VALUE
3378
+ _wrap_scale__SWIG_0(int argc, VALUE *argv, VALUE self) {
3379
+ double arg1 ;
3380
+ double val1 ;
3381
+ int ecode1 = 0 ;
3382
+ Gosu::Transform result;
3383
+ VALUE vresult = Qnil;
3384
+
3385
+ if ((argc < 1) || (argc > 1)) {
3386
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3387
+ }
3388
+ ecode1 = SWIG_AsVal_double(argv[0], &val1);
3389
+ if (!SWIG_IsOK(ecode1)) {
3390
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::scale", 1, argv[0] ));
3391
+ }
3392
+ arg1 = static_cast< double >(val1);
3393
+ {
3394
+ try {
3395
+ result = Gosu::scale(arg1);
3396
+ } catch(const std::runtime_error& e) {
3397
+ SWIG_exception(SWIG_RuntimeError, e.what());
3398
+ }
3399
+ }
3400
+ vresult = SWIG_NewPointerObj((new Gosu::Transform(static_cast< const Gosu::Transform& >(result))), SWIGTYPE_p_boost__arrayT_double_16_t, SWIG_POINTER_OWN | 0 );
3401
+ return vresult;
3402
+ fail:
3403
+ return Qnil;
3404
+ }
3405
+
3406
+
3407
+ SWIGINTERN VALUE
3408
+ _wrap_scale__SWIG_1(int argc, VALUE *argv, VALUE self) {
3409
+ double arg1 ;
3410
+ double arg2 ;
3411
+ double val1 ;
3412
+ int ecode1 = 0 ;
3413
+ double val2 ;
3414
+ int ecode2 = 0 ;
3415
+ Gosu::Transform result;
3416
+ VALUE vresult = Qnil;
3417
+
3418
+ if ((argc < 2) || (argc > 2)) {
3419
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
3420
+ }
3421
+ ecode1 = SWIG_AsVal_double(argv[0], &val1);
3422
+ if (!SWIG_IsOK(ecode1)) {
3423
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "double","Gosu::scale", 1, argv[0] ));
3424
+ }
3425
+ arg1 = static_cast< double >(val1);
3426
+ ecode2 = SWIG_AsVal_double(argv[1], &val2);
3427
+ if (!SWIG_IsOK(ecode2)) {
3428
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu::scale", 2, argv[1] ));
3429
+ }
3430
+ arg2 = static_cast< double >(val2);
3431
+ {
3432
+ try {
3433
+ result = Gosu::scale(arg1,arg2);
3434
+ } catch(const std::runtime_error& e) {
3435
+ SWIG_exception(SWIG_RuntimeError, e.what());
3436
+ }
3437
+ }
3438
+ vresult = SWIG_NewPointerObj((new Gosu::Transform(static_cast< const Gosu::Transform& >(result))), SWIGTYPE_p_boost__arrayT_double_16_t, SWIG_POINTER_OWN | 0 );
3439
+ return vresult;
3440
+ fail:
3441
+ return Qnil;
3442
+ }
3443
+
3444
+
3445
+ SWIGINTERN VALUE _wrap_scale(int nargs, VALUE *args, VALUE self) {
3446
+ int argc;
3447
+ VALUE argv[2];
3448
+ int ii;
3449
+
3450
+ argc = nargs;
3451
+ if (argc > 2) SWIG_fail;
3452
+ for (ii = 0; (ii < argc); ++ii) {
3453
+ argv[ii] = args[ii];
3454
+ }
3455
+ if (argc == 1) {
3456
+ int _v;
3457
+ {
3458
+ int res = SWIG_AsVal_double(argv[0], NULL);
3459
+ _v = SWIG_CheckState(res);
3460
+ }
3461
+ if (_v) {
3462
+ return _wrap_scale__SWIG_0(nargs, args, self);
3463
+ }
3464
+ }
3465
+ if (argc == 2) {
3466
+ int _v;
3467
+ {
3468
+ int res = SWIG_AsVal_double(argv[0], NULL);
3469
+ _v = SWIG_CheckState(res);
3470
+ }
3471
+ if (_v) {
3472
+ {
3473
+ int res = SWIG_AsVal_double(argv[1], NULL);
3474
+ _v = SWIG_CheckState(res);
3475
+ }
3476
+ if (_v) {
3477
+ return _wrap_scale__SWIG_1(nargs, args, self);
3478
+ }
3479
+ }
3480
+ }
3481
+
3482
+ fail:
3483
+ Ruby_Format_OverloadedError( argc, 2, "scale",
3484
+ " Gosu::Transform scale(double factor)\n"
3485
+ " Gosu::Transform scale(double factorX, double factorY)\n");
3486
+
3487
+ return Qnil;
3488
+ }
3489
+
3490
+
3249
3491
  SWIGINTERN VALUE
3250
3492
  _wrap_enable_undocumented_retrofication(int argc, VALUE *argv, VALUE self) {
3251
3493
  if ((argc < 0) || (argc > 0)) {
@@ -3286,6 +3528,40 @@ fail:
3286
3528
  }
3287
3529
 
3288
3530
 
3531
+ SWIGINTERN VALUE
3532
+ _wrap_register_entity(int argc, VALUE *argv, VALUE self) {
3533
+ std::wstring *arg1 = 0 ;
3534
+ Gosu::Image *arg2 = (Gosu::Image *) 0 ;
3535
+ std::wstring temp1 ;
3536
+ void *argp2 = 0 ;
3537
+ int res2 = 0 ;
3538
+
3539
+ if ((argc < 2) || (argc > 2)) {
3540
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
3541
+ }
3542
+ {
3543
+ VALUE localTemporary = rb_obj_as_string(argv[0]);
3544
+ temp1 = Gosu::utf8ToWstring(StringValueCStr(localTemporary));
3545
+ arg1 = &temp1;
3546
+ }
3547
+ res2 = SWIG_ConvertPtr(argv[1], &argp2,SWIGTYPE_p_Gosu__Image, 0 | 0 );
3548
+ if (!SWIG_IsOK(res2)) {
3549
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "Gosu::Image *","Gosu::register_entity", 2, argv[1] ));
3550
+ }
3551
+ arg2 = reinterpret_cast< Gosu::Image * >(argp2);
3552
+ {
3553
+ try {
3554
+ Gosu::register_entity((std::wstring const &)*arg1,arg2);
3555
+ } catch(const std::runtime_error& e) {
3556
+ SWIG_exception(SWIG_RuntimeError, e.what());
3557
+ }
3558
+ }
3559
+ return Qnil;
3560
+ fail:
3561
+ return Qnil;
3562
+ }
3563
+
3564
+
3289
3565
  swig_class SwigClassColor;
3290
3566
 
3291
3567
  SWIGINTERN VALUE
@@ -6376,49 +6652,139 @@ fail:
6376
6652
  }
6377
6653
 
6378
6654
 
6379
- swig_class SwigClassSampleInstance;
6380
-
6381
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
6382
- SWIGINTERN VALUE
6383
- _wrap_SampleInstance_allocate(VALUE self) {
6384
- #else
6385
- SWIGINTERN VALUE
6386
- _wrap_SampleInstance_allocate(int argc, VALUE *argv, VALUE self) {
6387
- #endif
6388
-
6389
-
6390
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_Gosu__SampleInstance);
6391
- #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
6392
- rb_obj_call_init(vresult, argc, argv);
6393
- #endif
6394
- return vresult;
6395
- }
6396
-
6397
-
6398
6655
  SWIGINTERN VALUE
6399
- _wrap_new_SampleInstance(int argc, VALUE *argv, VALUE self) {
6400
- int arg1 ;
6401
- int arg2 ;
6402
- int val1 ;
6403
- int ecode1 = 0 ;
6404
- int val2 ;
6405
- int ecode2 = 0 ;
6406
- const char *classname SWIGUNUSED = "Gosu::SampleInstance";
6407
- Gosu::SampleInstance *result = 0 ;
6656
+ _wrap_Image_to_blob(int argc, VALUE *argv, VALUE self) {
6657
+ Gosu::Image *arg1 = (Gosu::Image *) 0 ;
6658
+ void *argp1 = 0 ;
6659
+ int res1 = 0 ;
6660
+ std::string result;
6661
+ VALUE vresult = Qnil;
6408
6662
 
6409
- if ((argc < 2) || (argc > 2)) {
6410
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
6663
+ if ((argc < 0) || (argc > 0)) {
6664
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
6411
6665
  }
6412
- ecode1 = SWIG_AsVal_int(argv[0], &val1);
6413
- if (!SWIG_IsOK(ecode1)) {
6414
- SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","Gosu::SampleInstance", 1, argv[0] ));
6415
- }
6416
- arg1 = static_cast< int >(val1);
6417
- ecode2 = SWIG_AsVal_int(argv[1], &val2);
6418
- if (!SWIG_IsOK(ecode2)) {
6419
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","Gosu::SampleInstance", 2, argv[1] ));
6420
- }
6421
- arg2 = static_cast< int >(val2);
6666
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
6667
+ if (!SWIG_IsOK(res1)) {
6668
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","toBlob", 1, self ));
6669
+ }
6670
+ arg1 = reinterpret_cast< Gosu::Image * >(argp1);
6671
+ {
6672
+ try {
6673
+ result = Gosu_Image_toBlob((Gosu::Image const *)arg1);
6674
+ } catch(const std::runtime_error& e) {
6675
+ SWIG_exception(SWIG_RuntimeError, e.what());
6676
+ }
6677
+ }
6678
+ vresult = SWIG_From_std_string(static_cast< std::string >(result));
6679
+ return vresult;
6680
+ fail:
6681
+ return Qnil;
6682
+ }
6683
+
6684
+
6685
+ SWIGINTERN VALUE
6686
+ _wrap_Image_columns(int argc, VALUE *argv, VALUE self) {
6687
+ Gosu::Image *arg1 = (Gosu::Image *) 0 ;
6688
+ void *argp1 = 0 ;
6689
+ int res1 = 0 ;
6690
+ unsigned int result;
6691
+ VALUE vresult = Qnil;
6692
+
6693
+ if ((argc < 0) || (argc > 0)) {
6694
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
6695
+ }
6696
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
6697
+ if (!SWIG_IsOK(res1)) {
6698
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","columns", 1, self ));
6699
+ }
6700
+ arg1 = reinterpret_cast< Gosu::Image * >(argp1);
6701
+ {
6702
+ try {
6703
+ result = (unsigned int)Gosu_Image_columns((Gosu::Image const *)arg1);
6704
+ } catch(const std::runtime_error& e) {
6705
+ SWIG_exception(SWIG_RuntimeError, e.what());
6706
+ }
6707
+ }
6708
+ vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
6709
+ return vresult;
6710
+ fail:
6711
+ return Qnil;
6712
+ }
6713
+
6714
+
6715
+ SWIGINTERN VALUE
6716
+ _wrap_Image_rows(int argc, VALUE *argv, VALUE self) {
6717
+ Gosu::Image *arg1 = (Gosu::Image *) 0 ;
6718
+ void *argp1 = 0 ;
6719
+ int res1 = 0 ;
6720
+ unsigned int result;
6721
+ VALUE vresult = Qnil;
6722
+
6723
+ if ((argc < 0) || (argc > 0)) {
6724
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
6725
+ }
6726
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Image, 0 | 0 );
6727
+ if (!SWIG_IsOK(res1)) {
6728
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Image const *","rows", 1, self ));
6729
+ }
6730
+ arg1 = reinterpret_cast< Gosu::Image * >(argp1);
6731
+ {
6732
+ try {
6733
+ result = (unsigned int)Gosu_Image_rows((Gosu::Image const *)arg1);
6734
+ } catch(const std::runtime_error& e) {
6735
+ SWIG_exception(SWIG_RuntimeError, e.what());
6736
+ }
6737
+ }
6738
+ vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
6739
+ return vresult;
6740
+ fail:
6741
+ return Qnil;
6742
+ }
6743
+
6744
+
6745
+ swig_class SwigClassSampleInstance;
6746
+
6747
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
6748
+ SWIGINTERN VALUE
6749
+ _wrap_SampleInstance_allocate(VALUE self) {
6750
+ #else
6751
+ SWIGINTERN VALUE
6752
+ _wrap_SampleInstance_allocate(int argc, VALUE *argv, VALUE self) {
6753
+ #endif
6754
+
6755
+
6756
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_Gosu__SampleInstance);
6757
+ #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
6758
+ rb_obj_call_init(vresult, argc, argv);
6759
+ #endif
6760
+ return vresult;
6761
+ }
6762
+
6763
+
6764
+ SWIGINTERN VALUE
6765
+ _wrap_new_SampleInstance(int argc, VALUE *argv, VALUE self) {
6766
+ int arg1 ;
6767
+ int arg2 ;
6768
+ int val1 ;
6769
+ int ecode1 = 0 ;
6770
+ int val2 ;
6771
+ int ecode2 = 0 ;
6772
+ const char *classname SWIGUNUSED = "Gosu::SampleInstance";
6773
+ Gosu::SampleInstance *result = 0 ;
6774
+
6775
+ if ((argc < 2) || (argc > 2)) {
6776
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
6777
+ }
6778
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
6779
+ if (!SWIG_IsOK(ecode1)) {
6780
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","Gosu::SampleInstance", 1, argv[0] ));
6781
+ }
6782
+ arg1 = static_cast< int >(val1);
6783
+ ecode2 = SWIG_AsVal_int(argv[1], &val2);
6784
+ if (!SWIG_IsOK(ecode2)) {
6785
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","Gosu::SampleInstance", 2, argv[1] ));
6786
+ }
6787
+ arg2 = static_cast< int >(val2);
6422
6788
  {
6423
6789
  try {
6424
6790
  result = (Gosu::SampleInstance *)new Gosu::SampleInstance(arg1,arg2);
@@ -7966,105 +8332,6 @@ fail:
7966
8332
  }
7967
8333
 
7968
8334
 
7969
- SWIGINTERN VALUE
7970
- _wrap_Window_audio__SWIG_0(int argc, VALUE *argv, VALUE self) {
7971
- Gosu::Window *arg1 = (Gosu::Window *) 0 ;
7972
- void *argp1 = 0 ;
7973
- int res1 = 0 ;
7974
- Gosu::Audio *result = 0 ;
7975
- VALUE vresult = Qnil;
7976
-
7977
- if ((argc < 0) || (argc > 0)) {
7978
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
7979
- }
7980
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
7981
- if (!SWIG_IsOK(res1)) {
7982
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window const *","audio", 1, self ));
7983
- }
7984
- arg1 = reinterpret_cast< Gosu::Window * >(argp1);
7985
- {
7986
- try {
7987
- result = (Gosu::Audio *) &((Gosu::Window const *)arg1)->audio();
7988
- } catch(const std::runtime_error& e) {
7989
- SWIG_exception(SWIG_RuntimeError, e.what());
7990
- }
7991
- }
7992
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Gosu__Audio, 0 | 0 );
7993
- return vresult;
7994
- fail:
7995
- return Qnil;
7996
- }
7997
-
7998
-
7999
- SWIGINTERN VALUE
8000
- _wrap_Window_audio__SWIG_1(int argc, VALUE *argv, VALUE self) {
8001
- Gosu::Window *arg1 = (Gosu::Window *) 0 ;
8002
- void *argp1 = 0 ;
8003
- int res1 = 0 ;
8004
- Gosu::Audio *result = 0 ;
8005
- VALUE vresult = Qnil;
8006
-
8007
- if ((argc < 0) || (argc > 0)) {
8008
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
8009
- }
8010
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
8011
- if (!SWIG_IsOK(res1)) {
8012
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","audio", 1, self ));
8013
- }
8014
- arg1 = reinterpret_cast< Gosu::Window * >(argp1);
8015
- {
8016
- try {
8017
- result = (Gosu::Audio *) &(arg1)->audio();
8018
- } catch(const std::runtime_error& e) {
8019
- SWIG_exception(SWIG_RuntimeError, e.what());
8020
- }
8021
- }
8022
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Gosu__Audio, 0 | 0 );
8023
- return vresult;
8024
- fail:
8025
- return Qnil;
8026
- }
8027
-
8028
-
8029
- SWIGINTERN VALUE _wrap_Window_audio(int nargs, VALUE *args, VALUE self) {
8030
- int argc;
8031
- VALUE argv[2];
8032
- int ii;
8033
-
8034
- argc = nargs + 1;
8035
- argv[0] = self;
8036
- if (argc > 2) SWIG_fail;
8037
- for (ii = 1; (ii < argc); ++ii) {
8038
- argv[ii] = args[ii-1];
8039
- }
8040
- if (argc == 1) {
8041
- int _v;
8042
- void *vptr = 0;
8043
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Gosu__Window, 0);
8044
- _v = SWIG_CheckState(res);
8045
- if (_v) {
8046
- return _wrap_Window_audio__SWIG_1(nargs, args, self);
8047
- }
8048
- }
8049
- if (argc == 1) {
8050
- int _v;
8051
- void *vptr = 0;
8052
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Gosu__Window, 0);
8053
- _v = SWIG_CheckState(res);
8054
- if (_v) {
8055
- return _wrap_Window_audio__SWIG_0(nargs, args, self);
8056
- }
8057
- }
8058
-
8059
- fail:
8060
- Ruby_Format_OverloadedError( argc, 2, "Window.audio",
8061
- " Gosu::Audio & Window.audio()\n"
8062
- " Gosu::Audio & Window.audio()\n");
8063
-
8064
- return Qnil;
8065
- }
8066
-
8067
-
8068
8335
  SWIGINTERN VALUE
8069
8336
  _wrap_Window_draw_line(int argc, VALUE *argv, VALUE self) {
8070
8337
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
@@ -9023,6 +9290,394 @@ fail:
9023
9290
  }
9024
9291
 
9025
9292
 
9293
+ SWIGINTERN VALUE
9294
+ _wrap_Window_transform(int argc, VALUE *argv, VALUE self) {
9295
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9296
+ double arg2 ;
9297
+ double arg3 ;
9298
+ double arg4 ;
9299
+ double arg5 ;
9300
+ double arg6 ;
9301
+ double arg7 ;
9302
+ double arg8 ;
9303
+ double arg9 ;
9304
+ double arg10 ;
9305
+ double arg11 ;
9306
+ double arg12 ;
9307
+ double arg13 ;
9308
+ double arg14 ;
9309
+ double arg15 ;
9310
+ double arg16 ;
9311
+ double arg17 ;
9312
+ void *argp1 = 0 ;
9313
+ int res1 = 0 ;
9314
+ double val2 ;
9315
+ int ecode2 = 0 ;
9316
+ double val3 ;
9317
+ int ecode3 = 0 ;
9318
+ double val4 ;
9319
+ int ecode4 = 0 ;
9320
+ double val5 ;
9321
+ int ecode5 = 0 ;
9322
+ double val6 ;
9323
+ int ecode6 = 0 ;
9324
+ double val7 ;
9325
+ int ecode7 = 0 ;
9326
+ double val8 ;
9327
+ int ecode8 = 0 ;
9328
+ double val9 ;
9329
+ int ecode9 = 0 ;
9330
+ double val10 ;
9331
+ int ecode10 = 0 ;
9332
+ double val11 ;
9333
+ int ecode11 = 0 ;
9334
+ double val12 ;
9335
+ int ecode12 = 0 ;
9336
+ double val13 ;
9337
+ int ecode13 = 0 ;
9338
+ double val14 ;
9339
+ int ecode14 = 0 ;
9340
+ double val15 ;
9341
+ int ecode15 = 0 ;
9342
+ double val16 ;
9343
+ int ecode16 = 0 ;
9344
+ double val17 ;
9345
+ int ecode17 = 0 ;
9346
+
9347
+ if ((argc < 16) || (argc > 16)) {
9348
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 16)",argc); SWIG_fail;
9349
+ }
9350
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9351
+ if (!SWIG_IsOK(res1)) {
9352
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","transform", 1, self ));
9353
+ }
9354
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9355
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
9356
+ if (!SWIG_IsOK(ecode2)) {
9357
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","transform", 2, argv[0] ));
9358
+ }
9359
+ arg2 = static_cast< double >(val2);
9360
+ ecode3 = SWIG_AsVal_double(argv[1], &val3);
9361
+ if (!SWIG_IsOK(ecode3)) {
9362
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","transform", 3, argv[1] ));
9363
+ }
9364
+ arg3 = static_cast< double >(val3);
9365
+ ecode4 = SWIG_AsVal_double(argv[2], &val4);
9366
+ if (!SWIG_IsOK(ecode4)) {
9367
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","transform", 4, argv[2] ));
9368
+ }
9369
+ arg4 = static_cast< double >(val4);
9370
+ ecode5 = SWIG_AsVal_double(argv[3], &val5);
9371
+ if (!SWIG_IsOK(ecode5)) {
9372
+ SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "double","transform", 5, argv[3] ));
9373
+ }
9374
+ arg5 = static_cast< double >(val5);
9375
+ ecode6 = SWIG_AsVal_double(argv[4], &val6);
9376
+ if (!SWIG_IsOK(ecode6)) {
9377
+ SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","transform", 6, argv[4] ));
9378
+ }
9379
+ arg6 = static_cast< double >(val6);
9380
+ ecode7 = SWIG_AsVal_double(argv[5], &val7);
9381
+ if (!SWIG_IsOK(ecode7)) {
9382
+ SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "double","transform", 7, argv[5] ));
9383
+ }
9384
+ arg7 = static_cast< double >(val7);
9385
+ ecode8 = SWIG_AsVal_double(argv[6], &val8);
9386
+ if (!SWIG_IsOK(ecode8)) {
9387
+ SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","transform", 8, argv[6] ));
9388
+ }
9389
+ arg8 = static_cast< double >(val8);
9390
+ ecode9 = SWIG_AsVal_double(argv[7], &val9);
9391
+ if (!SWIG_IsOK(ecode9)) {
9392
+ SWIG_exception_fail(SWIG_ArgError(ecode9), Ruby_Format_TypeError( "", "double","transform", 9, argv[7] ));
9393
+ }
9394
+ arg9 = static_cast< double >(val9);
9395
+ ecode10 = SWIG_AsVal_double(argv[8], &val10);
9396
+ if (!SWIG_IsOK(ecode10)) {
9397
+ SWIG_exception_fail(SWIG_ArgError(ecode10), Ruby_Format_TypeError( "", "double","transform", 10, argv[8] ));
9398
+ }
9399
+ arg10 = static_cast< double >(val10);
9400
+ ecode11 = SWIG_AsVal_double(argv[9], &val11);
9401
+ if (!SWIG_IsOK(ecode11)) {
9402
+ SWIG_exception_fail(SWIG_ArgError(ecode11), Ruby_Format_TypeError( "", "double","transform", 11, argv[9] ));
9403
+ }
9404
+ arg11 = static_cast< double >(val11);
9405
+ ecode12 = SWIG_AsVal_double(argv[10], &val12);
9406
+ if (!SWIG_IsOK(ecode12)) {
9407
+ SWIG_exception_fail(SWIG_ArgError(ecode12), Ruby_Format_TypeError( "", "double","transform", 12, argv[10] ));
9408
+ }
9409
+ arg12 = static_cast< double >(val12);
9410
+ ecode13 = SWIG_AsVal_double(argv[11], &val13);
9411
+ if (!SWIG_IsOK(ecode13)) {
9412
+ SWIG_exception_fail(SWIG_ArgError(ecode13), Ruby_Format_TypeError( "", "double","transform", 13, argv[11] ));
9413
+ }
9414
+ arg13 = static_cast< double >(val13);
9415
+ ecode14 = SWIG_AsVal_double(argv[12], &val14);
9416
+ if (!SWIG_IsOK(ecode14)) {
9417
+ SWIG_exception_fail(SWIG_ArgError(ecode14), Ruby_Format_TypeError( "", "double","transform", 14, argv[12] ));
9418
+ }
9419
+ arg14 = static_cast< double >(val14);
9420
+ ecode15 = SWIG_AsVal_double(argv[13], &val15);
9421
+ if (!SWIG_IsOK(ecode15)) {
9422
+ SWIG_exception_fail(SWIG_ArgError(ecode15), Ruby_Format_TypeError( "", "double","transform", 15, argv[13] ));
9423
+ }
9424
+ arg15 = static_cast< double >(val15);
9425
+ ecode16 = SWIG_AsVal_double(argv[14], &val16);
9426
+ if (!SWIG_IsOK(ecode16)) {
9427
+ SWIG_exception_fail(SWIG_ArgError(ecode16), Ruby_Format_TypeError( "", "double","transform", 16, argv[14] ));
9428
+ }
9429
+ arg16 = static_cast< double >(val16);
9430
+ ecode17 = SWIG_AsVal_double(argv[15], &val17);
9431
+ if (!SWIG_IsOK(ecode17)) {
9432
+ SWIG_exception_fail(SWIG_ArgError(ecode17), Ruby_Format_TypeError( "", "double","transform", 17, argv[15] ));
9433
+ }
9434
+ arg17 = static_cast< double >(val17);
9435
+ {
9436
+ try {
9437
+ Gosu_Window_transform(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15,arg16,arg17);
9438
+ } catch(const std::runtime_error& e) {
9439
+ SWIG_exception(SWIG_RuntimeError, e.what());
9440
+ }
9441
+ }
9442
+ return Qnil;
9443
+ fail:
9444
+ return Qnil;
9445
+ }
9446
+
9447
+
9448
+ SWIGINTERN VALUE
9449
+ _wrap_Window_rotate(int argc, VALUE *argv, VALUE self) {
9450
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9451
+ double arg2 ;
9452
+ double arg3 = (double) 0 ;
9453
+ double arg4 = (double) 0 ;
9454
+ void *argp1 = 0 ;
9455
+ int res1 = 0 ;
9456
+ double val2 ;
9457
+ int ecode2 = 0 ;
9458
+ double val3 ;
9459
+ int ecode3 = 0 ;
9460
+ double val4 ;
9461
+ int ecode4 = 0 ;
9462
+
9463
+ if ((argc < 1) || (argc > 3)) {
9464
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
9465
+ }
9466
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9467
+ if (!SWIG_IsOK(res1)) {
9468
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","rotate", 1, self ));
9469
+ }
9470
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9471
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
9472
+ if (!SWIG_IsOK(ecode2)) {
9473
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","rotate", 2, argv[0] ));
9474
+ }
9475
+ arg2 = static_cast< double >(val2);
9476
+ if (argc > 1) {
9477
+ ecode3 = SWIG_AsVal_double(argv[1], &val3);
9478
+ if (!SWIG_IsOK(ecode3)) {
9479
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","rotate", 3, argv[1] ));
9480
+ }
9481
+ arg3 = static_cast< double >(val3);
9482
+ }
9483
+ if (argc > 2) {
9484
+ ecode4 = SWIG_AsVal_double(argv[2], &val4);
9485
+ if (!SWIG_IsOK(ecode4)) {
9486
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","rotate", 4, argv[2] ));
9487
+ }
9488
+ arg4 = static_cast< double >(val4);
9489
+ }
9490
+ {
9491
+ try {
9492
+ Gosu_Window_rotate(arg1,arg2,arg3,arg4);
9493
+ } catch(const std::runtime_error& e) {
9494
+ SWIG_exception(SWIG_RuntimeError, e.what());
9495
+ }
9496
+ }
9497
+ return Qnil;
9498
+ fail:
9499
+ return Qnil;
9500
+ }
9501
+
9502
+
9503
+ SWIGINTERN VALUE
9504
+ _wrap_Window_scale__SWIG_0(int argc, VALUE *argv, VALUE self) {
9505
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9506
+ double arg2 ;
9507
+ void *argp1 = 0 ;
9508
+ int res1 = 0 ;
9509
+ double val2 ;
9510
+ int ecode2 = 0 ;
9511
+
9512
+ if ((argc < 1) || (argc > 1)) {
9513
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
9514
+ }
9515
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9516
+ if (!SWIG_IsOK(res1)) {
9517
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","scale", 1, self ));
9518
+ }
9519
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9520
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
9521
+ if (!SWIG_IsOK(ecode2)) {
9522
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","scale", 2, argv[0] ));
9523
+ }
9524
+ arg2 = static_cast< double >(val2);
9525
+ {
9526
+ try {
9527
+ Gosu_Window_scale__SWIG_0(arg1,arg2);
9528
+ } catch(const std::runtime_error& e) {
9529
+ SWIG_exception(SWIG_RuntimeError, e.what());
9530
+ }
9531
+ }
9532
+ return Qnil;
9533
+ fail:
9534
+ return Qnil;
9535
+ }
9536
+
9537
+
9538
+ SWIGINTERN VALUE
9539
+ _wrap_Window_scale__SWIG_1(int argc, VALUE *argv, VALUE self) {
9540
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9541
+ double arg2 ;
9542
+ double arg3 ;
9543
+ void *argp1 = 0 ;
9544
+ int res1 = 0 ;
9545
+ double val2 ;
9546
+ int ecode2 = 0 ;
9547
+ double val3 ;
9548
+ int ecode3 = 0 ;
9549
+
9550
+ if ((argc < 2) || (argc > 2)) {
9551
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
9552
+ }
9553
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9554
+ if (!SWIG_IsOK(res1)) {
9555
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","scale", 1, self ));
9556
+ }
9557
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9558
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
9559
+ if (!SWIG_IsOK(ecode2)) {
9560
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","scale", 2, argv[0] ));
9561
+ }
9562
+ arg2 = static_cast< double >(val2);
9563
+ ecode3 = SWIG_AsVal_double(argv[1], &val3);
9564
+ if (!SWIG_IsOK(ecode3)) {
9565
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","scale", 3, argv[1] ));
9566
+ }
9567
+ arg3 = static_cast< double >(val3);
9568
+ {
9569
+ try {
9570
+ Gosu_Window_scale__SWIG_1(arg1,arg2,arg3);
9571
+ } catch(const std::runtime_error& e) {
9572
+ SWIG_exception(SWIG_RuntimeError, e.what());
9573
+ }
9574
+ }
9575
+ return Qnil;
9576
+ fail:
9577
+ return Qnil;
9578
+ }
9579
+
9580
+
9581
+ SWIGINTERN VALUE _wrap_Window_scale(int nargs, VALUE *args, VALUE self) {
9582
+ int argc;
9583
+ VALUE argv[4];
9584
+ int ii;
9585
+
9586
+ argc = nargs + 1;
9587
+ argv[0] = self;
9588
+ if (argc > 4) SWIG_fail;
9589
+ for (ii = 1; (ii < argc); ++ii) {
9590
+ argv[ii] = args[ii-1];
9591
+ }
9592
+ if (argc == 2) {
9593
+ int _v;
9594
+ void *vptr = 0;
9595
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Gosu__Window, 0);
9596
+ _v = SWIG_CheckState(res);
9597
+ if (_v) {
9598
+ {
9599
+ int res = SWIG_AsVal_double(argv[1], NULL);
9600
+ _v = SWIG_CheckState(res);
9601
+ }
9602
+ if (_v) {
9603
+ return _wrap_Window_scale__SWIG_0(nargs, args, self);
9604
+ }
9605
+ }
9606
+ }
9607
+ if (argc == 3) {
9608
+ int _v;
9609
+ void *vptr = 0;
9610
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Gosu__Window, 0);
9611
+ _v = SWIG_CheckState(res);
9612
+ if (_v) {
9613
+ {
9614
+ int res = SWIG_AsVal_double(argv[1], NULL);
9615
+ _v = SWIG_CheckState(res);
9616
+ }
9617
+ if (_v) {
9618
+ {
9619
+ int res = SWIG_AsVal_double(argv[2], NULL);
9620
+ _v = SWIG_CheckState(res);
9621
+ }
9622
+ if (_v) {
9623
+ return _wrap_Window_scale__SWIG_1(nargs, args, self);
9624
+ }
9625
+ }
9626
+ }
9627
+ }
9628
+
9629
+ fail:
9630
+ Ruby_Format_OverloadedError( argc, 4, "scale",
9631
+ " void scale(double factor)\n"
9632
+ " void scale(double factorX, double factorY)\n");
9633
+
9634
+ return Qnil;
9635
+ }
9636
+
9637
+
9638
+ SWIGINTERN VALUE
9639
+ _wrap_Window_translate(int argc, VALUE *argv, VALUE self) {
9640
+ Gosu::Window *arg1 = (Gosu::Window *) 0 ;
9641
+ double arg2 ;
9642
+ double arg3 ;
9643
+ void *argp1 = 0 ;
9644
+ int res1 = 0 ;
9645
+ double val2 ;
9646
+ int ecode2 = 0 ;
9647
+ double val3 ;
9648
+ int ecode3 = 0 ;
9649
+
9650
+ if ((argc < 2) || (argc > 2)) {
9651
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
9652
+ }
9653
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Window, 0 | 0 );
9654
+ if (!SWIG_IsOK(res1)) {
9655
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Window *","translate", 1, self ));
9656
+ }
9657
+ arg1 = reinterpret_cast< Gosu::Window * >(argp1);
9658
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
9659
+ if (!SWIG_IsOK(ecode2)) {
9660
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","translate", 2, argv[0] ));
9661
+ }
9662
+ arg2 = static_cast< double >(val2);
9663
+ ecode3 = SWIG_AsVal_double(argv[1], &val3);
9664
+ if (!SWIG_IsOK(ecode3)) {
9665
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","translate", 3, argv[1] ));
9666
+ }
9667
+ arg3 = static_cast< double >(val3);
9668
+ {
9669
+ try {
9670
+ Gosu_Window_translate(arg1,arg2,arg3);
9671
+ } catch(const std::runtime_error& e) {
9672
+ SWIG_exception(SWIG_RuntimeError, e.what());
9673
+ }
9674
+ }
9675
+ return Qnil;
9676
+ fail:
9677
+ return Qnil;
9678
+ }
9679
+
9680
+
9026
9681
  SWIGINTERN VALUE
9027
9682
  _wrap_disown_Window(int argc, VALUE *argv, VALUE self) {
9028
9683
  Gosu::Window *arg1 = (Gosu::Window *) 0 ;
@@ -9052,7 +9707,6 @@ fail:
9052
9707
  /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
9053
9708
 
9054
9709
  static swig_type_info _swigt__p_Channel = {"_p_Channel", "Channel *", 0, 0, (void*)0, 0};
9055
- static swig_type_info _swigt__p_Gosu__Audio = {"_p_Gosu__Audio", "Gosu::Audio *", 0, 0, (void*)0, 0};
9056
9710
  static swig_type_info _swigt__p_Gosu__Button = {"_p_Gosu__Button", "Gosu::Button *", 0, 0, (void*)0, 0};
9057
9711
  static swig_type_info _swigt__p_Gosu__Color = {"_p_Gosu__Color", "Gosu::Color *", 0, 0, (void*)0, 0};
9058
9712
  static swig_type_info _swigt__p_Gosu__Font = {"_p_Gosu__Font", "Gosu::Font *", 0, 0, (void*)0, 0};
@@ -9063,13 +9717,13 @@ static swig_type_info _swigt__p_Gosu__SampleInstance = {"_p_Gosu__SampleInstance
9063
9717
  static swig_type_info _swigt__p_Gosu__Song = {"_p_Gosu__Song", "Gosu::Song *", 0, 0, (void*)0, 0};
9064
9718
  static swig_type_info _swigt__p_Gosu__TextInput = {"_p_Gosu__TextInput", "Gosu::TextInput *", 0, 0, (void*)0, 0};
9065
9719
  static swig_type_info _swigt__p_Gosu__Window = {"_p_Gosu__Window", "Gosu::Window *", 0, 0, (void*)0, 0};
9720
+ static swig_type_info _swigt__p_boost__arrayT_double_16_t = {"_p_boost__arrayT_double_16_t", "boost::array< double,16 > *|Gosu::Transform *", 0, 0, (void*)0, 0};
9066
9721
  static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
9067
9722
  static swig_type_info _swigt__p_double = {"_p_double", "Gosu::ZPos *|double *", 0, 0, (void*)0, 0};
9068
9723
  static swig_type_info _swigt__p_std__wstring = {"_p_std__wstring", "std::wstring *", 0, 0, (void*)0, 0};
9069
9724
 
9070
9725
  static swig_type_info *swig_type_initial[] = {
9071
9726
  &_swigt__p_Channel,
9072
- &_swigt__p_Gosu__Audio,
9073
9727
  &_swigt__p_Gosu__Button,
9074
9728
  &_swigt__p_Gosu__Color,
9075
9729
  &_swigt__p_Gosu__Font,
@@ -9080,13 +9734,13 @@ static swig_type_info *swig_type_initial[] = {
9080
9734
  &_swigt__p_Gosu__Song,
9081
9735
  &_swigt__p_Gosu__TextInput,
9082
9736
  &_swigt__p_Gosu__Window,
9737
+ &_swigt__p_boost__arrayT_double_16_t,
9083
9738
  &_swigt__p_char,
9084
9739
  &_swigt__p_double,
9085
9740
  &_swigt__p_std__wstring,
9086
9741
  };
9087
9742
 
9088
9743
  static swig_cast_info _swigc__p_Channel[] = { {&_swigt__p_Channel, 0, 0, 0},{0, 0, 0, 0}};
9089
- static swig_cast_info _swigc__p_Gosu__Audio[] = { {&_swigt__p_Gosu__Audio, 0, 0, 0},{0, 0, 0, 0}};
9090
9744
  static swig_cast_info _swigc__p_Gosu__Button[] = { {&_swigt__p_Gosu__Button, 0, 0, 0},{0, 0, 0, 0}};
9091
9745
  static swig_cast_info _swigc__p_Gosu__Color[] = { {&_swigt__p_Gosu__Color, 0, 0, 0},{0, 0, 0, 0}};
9092
9746
  static swig_cast_info _swigc__p_Gosu__Font[] = { {&_swigt__p_Gosu__Font, 0, 0, 0},{0, 0, 0, 0}};
@@ -9097,13 +9751,13 @@ static swig_cast_info _swigc__p_Gosu__SampleInstance[] = { {&_swigt__p_Gosu__Sa
9097
9751
  static swig_cast_info _swigc__p_Gosu__Song[] = { {&_swigt__p_Gosu__Song, 0, 0, 0},{0, 0, 0, 0}};
9098
9752
  static swig_cast_info _swigc__p_Gosu__TextInput[] = { {&_swigt__p_Gosu__TextInput, 0, 0, 0},{0, 0, 0, 0}};
9099
9753
  static swig_cast_info _swigc__p_Gosu__Window[] = { {&_swigt__p_Gosu__Window, 0, 0, 0},{0, 0, 0, 0}};
9754
+ static swig_cast_info _swigc__p_boost__arrayT_double_16_t[] = { {&_swigt__p_boost__arrayT_double_16_t, 0, 0, 0},{0, 0, 0, 0}};
9100
9755
  static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
9101
9756
  static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
9102
9757
  static swig_cast_info _swigc__p_std__wstring[] = { {&_swigt__p_std__wstring, 0, 0, 0},{0, 0, 0, 0}};
9103
9758
 
9104
9759
  static swig_cast_info *swig_cast_initial[] = {
9105
9760
  _swigc__p_Channel,
9106
- _swigc__p_Gosu__Audio,
9107
9761
  _swigc__p_Gosu__Button,
9108
9762
  _swigc__p_Gosu__Color,
9109
9763
  _swigc__p_Gosu__Font,
@@ -9114,6 +9768,7 @@ static swig_cast_info *swig_cast_initial[] = {
9114
9768
  _swigc__p_Gosu__Song,
9115
9769
  _swigc__p_Gosu__TextInput,
9116
9770
  _swigc__p_Gosu__Window,
9771
+ _swigc__p_boost__arrayT_double_16_t,
9117
9772
  _swigc__p_char,
9118
9773
  _swigc__p_double,
9119
9774
  _swigc__p_std__wstring,
@@ -9379,8 +10034,8 @@ SWIGEXPORT void Init_gosu(void) {
9379
10034
  SWIG_RubyInitializeTrackings();
9380
10035
  rb_define_const(mGosu, "MAJOR_VERSION", SWIG_From_int(static_cast< int >(0)));
9381
10036
  rb_define_const(mGosu, "MINOR_VERSION", SWIG_From_int(static_cast< int >(7)));
9382
- rb_define_const(mGosu, "POINT_VERSION", SWIG_From_int(static_cast< int >(20)));
9383
- rb_define_const(mGosu, "VERSION", SWIG_FromCharPtr("0.7.20"));
10037
+ rb_define_const(mGosu, "POINT_VERSION", SWIG_From_int(static_cast< int >(21)));
10038
+ rb_define_const(mGosu, "VERSION", SWIG_FromCharPtr("0.7.21"));
9384
10039
  rb_define_module_function(mGosu, "milliseconds", VALUEFUNC(_wrap_milliseconds), -1);
9385
10040
  rb_define_module_function(mGosu, "random", VALUEFUNC(_wrap_random), -1);
9386
10041
  rb_define_module_function(mGosu, "degrees_to_radians", VALUEFUNC(_wrap_degrees_to_radians), -1);
@@ -9394,8 +10049,12 @@ SWIGEXPORT void Init_gosu(void) {
9394
10049
  rb_define_module_function(mGosu, "default_font_name", VALUEFUNC(_wrap_default_font_name), -1);
9395
10050
  rb_define_module_function(mGosu, "screen_width", VALUEFUNC(_wrap_screen_width), -1);
9396
10051
  rb_define_module_function(mGosu, "screen_height", VALUEFUNC(_wrap_screen_height), -1);
10052
+ rb_define_module_function(mGosu, "rotate", VALUEFUNC(_wrap_rotate), -1);
10053
+ rb_define_module_function(mGosu, "translate", VALUEFUNC(_wrap_translate), -1);
10054
+ rb_define_module_function(mGosu, "scale", VALUEFUNC(_wrap_scale), -1);
9397
10055
  rb_define_module_function(mGosu, "enable_undocumented_retrofication", VALUEFUNC(_wrap_enable_undocumented_retrofication), -1);
9398
10056
  rb_define_module_function(mGosu, "__max_texture_size", VALUEFUNC(_wrap___max_texture_size), -1);
10057
+ rb_define_module_function(mGosu, "register_entity", VALUEFUNC(_wrap_register_entity), -1);
9399
10058
 
9400
10059
  SwigClassColor.klass = rb_define_class_under(mGosu, "Color", rb_cObject);
9401
10060
  SWIG_TypeClientData(SWIGTYPE_p_Gosu__Color, (void *) &SwigClassColor);
@@ -9486,6 +10145,9 @@ SWIGEXPORT void Init_gosu(void) {
9486
10145
  rb_define_singleton_method(SwigClassImage.klass, "from_text4", VALUEFUNC(_wrap_Image_from_text4), -1);
9487
10146
  rb_define_singleton_method(SwigClassImage.klass, "from_text7", VALUEFUNC(_wrap_Image_from_text7), -1);
9488
10147
  rb_define_singleton_method(SwigClassImage.klass, "load_tiles", VALUEFUNC(_wrap_Image_load_tiles), -1);
10148
+ rb_define_method(SwigClassImage.klass, "to_blob", VALUEFUNC(_wrap_Image_to_blob), -1);
10149
+ rb_define_method(SwigClassImage.klass, "columns", VALUEFUNC(_wrap_Image_columns), -1);
10150
+ rb_define_method(SwigClassImage.klass, "rows", VALUEFUNC(_wrap_Image_rows), -1);
9489
10151
  SwigClassImage.mark = 0;
9490
10152
  SwigClassImage.destroy = (void (*)(void *)) free_Gosu_Image;
9491
10153
  SwigClassImage.trackObjects = 1;
@@ -9691,7 +10353,6 @@ SWIGEXPORT void Init_gosu(void) {
9691
10353
  rb_define_method(SwigClassWindow.klass, "needs_redraw?", VALUEFUNC(_wrap_Window_needs_redrawq___), -1);
9692
10354
  rb_define_method(SwigClassWindow.klass, "button_down", VALUEFUNC(_wrap_Window_button_down), -1);
9693
10355
  rb_define_method(SwigClassWindow.klass, "button_up", VALUEFUNC(_wrap_Window_button_up), -1);
9694
- rb_define_method(SwigClassWindow.klass, "audio", VALUEFUNC(_wrap_Window_audio), -1);
9695
10356
  rb_define_method(SwigClassWindow.klass, "draw_line", VALUEFUNC(_wrap_Window_draw_line), -1);
9696
10357
  rb_define_method(SwigClassWindow.klass, "draw_triangle", VALUEFUNC(_wrap_Window_draw_triangle), -1);
9697
10358
  rb_define_method(SwigClassWindow.klass, "draw_quad", VALUEFUNC(_wrap_Window_draw_quad), -1);
@@ -9711,6 +10372,10 @@ SWIGEXPORT void Init_gosu(void) {
9711
10372
  rb_define_method(SwigClassWindow.klass, "gl", VALUEFUNC(_wrap_Window_gl), -1);
9712
10373
  rb_define_method(SwigClassWindow.klass, "clip_to", VALUEFUNC(_wrap_Window_clip_to), -1);
9713
10374
  rb_define_method(SwigClassWindow.klass, "record", VALUEFUNC(_wrap_Window_record), -1);
10375
+ rb_define_method(SwigClassWindow.klass, "transform", VALUEFUNC(_wrap_Window_transform), -1);
10376
+ rb_define_method(SwigClassWindow.klass, "rotate", VALUEFUNC(_wrap_Window_rotate), -1);
10377
+ rb_define_method(SwigClassWindow.klass, "scale", VALUEFUNC(_wrap_Window_scale), -1);
10378
+ rb_define_method(SwigClassWindow.klass, "translate", VALUEFUNC(_wrap_Window_translate), -1);
9714
10379
  SwigClassWindow.mark = (void (*)(void *)) markWindow;
9715
10380
  SwigClassWindow.destroy = (void (*)(void *)) free_Gosu_Window;
9716
10381
  SwigClassWindow.trackObjects = 1;