gosu 1.1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/include/Gosu/Font.hpp +4 -4
- data/include/Gosu/Graphics.hpp +6 -4
- data/include/Gosu/GraphicsBase.hpp +6 -6
- data/include/Gosu/Image.hpp +3 -3
- data/include/Gosu/ImageData.hpp +1 -1
- data/include/Gosu/Utility.hpp +10 -8
- data/include/Gosu/Version.hpp +2 -2
- data/lib/gosu/compat.rb +4 -0
- data/src/EmptyImageData.hpp +1 -1
- data/src/Font.cpp +4 -4
- data/src/Graphics.cpp +4 -4
- data/src/Image.cpp +4 -3
- data/src/LargeImageData.cpp +1 -1
- data/src/LargeImageData.hpp +1 -1
- data/src/Macro.cpp +2 -2
- data/src/Macro.hpp +1 -1
- data/src/RenderState.hpp +5 -5
- data/src/RubyGosu.cxx +80 -78
- data/src/RubyGosu.h +2 -2
- data/src/TexChunk.cpp +1 -1
- data/src/TexChunk.hpp +1 -1
- data/src/TrueTypeFontApple.cpp +10 -2
- data/src/Utility.cpp +52 -23
- metadata +2 -4
- data/src/UtilityApple.cpp +0 -16
- data/src/UtilityWin.cpp +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9f867c68587f182be0ba872daf669724376a55b6f7e0c3853eca5f350dc413f
|
4
|
+
data.tar.gz: f24639563ba937303f9a81dd22a78ad5a22fa9243d980c629d163605656be0b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bb10eafcfa8742066e246e607ada383af5d2f3a461910e386064b27788d5620ab289b2081e0e4652240df9faf7cb1bb8d669fb95b7bcfbfb040e767c4354edd
|
7
|
+
data.tar.gz: dc56b6a28a0f8980027c3f3bc5fd110e806617a4b22b3d6e918fa24f99d59cea98cd03d85af875968bcc7b98bc283ac810aca7a37e199ff1f4aaaaea1de7fc80
|
data/include/Gosu/Font.hpp
CHANGED
@@ -44,11 +44,11 @@ namespace Gosu
|
|
44
44
|
//! Draws text so the top left corner of the text is at (x; y).
|
45
45
|
void draw_text(const std::string& text, double x, double y, ZPos z,
|
46
46
|
double scale_x = 1, double scale_y = 1, Color c = Color::WHITE,
|
47
|
-
|
47
|
+
BlendMode mode = BM_DEFAULT) const;
|
48
48
|
//! Draws markup so the top left corner of the text is at (x; y).
|
49
49
|
void draw_markup(const std::string& markup, double x, double y, ZPos z,
|
50
50
|
double scale_x = 1, double scale_y = 1, Color c = Color::WHITE,
|
51
|
-
|
51
|
+
BlendMode mode = BM_DEFAULT) const;
|
52
52
|
|
53
53
|
//! Draws text at a position relative to (x; y).
|
54
54
|
//! \param rel_x Determines where the text is drawn horizontally. If
|
@@ -58,7 +58,7 @@ namespace Gosu
|
|
58
58
|
//! \param rel_y See rel_x.
|
59
59
|
void draw_text_rel(const std::string& text, double x, double y, ZPos z,
|
60
60
|
double rel_x, double rel_y, double scale_x = 1, double scale_y = 1,
|
61
|
-
Color c = Color::WHITE,
|
61
|
+
Color c = Color::WHITE, BlendMode mode = BM_DEFAULT) const;
|
62
62
|
//! Draws text at a position relative to (x; y).
|
63
63
|
//! \param rel_x Determines where the text is drawn horizontally. If
|
64
64
|
//! rel_x is 0.0, the text will be to the right of x, if it is 1.0,
|
@@ -67,7 +67,7 @@ namespace Gosu
|
|
67
67
|
//! \param rel_y See rel_x.
|
68
68
|
void draw_markup_rel(const std::string& markup, double x, double y, ZPos z,
|
69
69
|
double rel_x, double rel_y, double scale_x = 1, double scale_y = 1,
|
70
|
-
Color c = Color::WHITE,
|
70
|
+
Color c = Color::WHITE, BlendMode mode = BM_DEFAULT) const;
|
71
71
|
|
72
72
|
//! Maps a letter to a specific image, instead of generating one using
|
73
73
|
//! Gosu's built-in text rendering.
|
data/include/Gosu/Graphics.hpp
CHANGED
@@ -78,21 +78,23 @@ namespace Gosu
|
|
78
78
|
//! image to simulate lines, or contribute a better draw_line to Gosu.
|
79
79
|
static void draw_line(double x1, double y1, Color c1,
|
80
80
|
double x2, double y2, Color c2,
|
81
|
-
ZPos z,
|
81
|
+
ZPos z, BlendMode mode = BM_DEFAULT);
|
82
82
|
|
83
83
|
static void draw_triangle(double x1, double y1, Color c1,
|
84
84
|
double x2, double y2, Color c2,
|
85
85
|
double x3, double y3, Color c3,
|
86
|
-
ZPos z,
|
86
|
+
ZPos z,
|
87
|
+
BlendMode mode = BM_DEFAULT);
|
87
88
|
|
88
89
|
static void draw_quad(double x1, double y1, Color c1,
|
89
90
|
double x2, double y2, Color c2,
|
90
91
|
double x3, double y3, Color c3,
|
91
92
|
double x4, double y4, Color c4,
|
92
|
-
ZPos z,
|
93
|
+
ZPos z, BlendMode mode = BM_DEFAULT);
|
93
94
|
|
94
95
|
static void draw_rect(double x, double y, double width, double height,
|
95
|
-
Color c, ZPos z,
|
96
|
+
Color c, ZPos z,
|
97
|
+
BlendMode mode = BM_DEFAULT);
|
96
98
|
|
97
99
|
//! For internal use only.
|
98
100
|
void set_physical_resolution(unsigned physical_width, unsigned physical_height);
|
@@ -15,18 +15,18 @@ namespace Gosu
|
|
15
15
|
|
16
16
|
//! Determines the way colors are combined when one is drawn onto
|
17
17
|
//! another.
|
18
|
-
enum
|
18
|
+
enum BlendMode
|
19
19
|
{
|
20
|
-
|
20
|
+
BM_DEFAULT,
|
21
21
|
//! The color's channels will be interpolated. The alpha channel
|
22
22
|
//! specifies the opacity of the new color, 255 is full opacity.
|
23
|
-
|
23
|
+
BM_INTERPOLATE = BM_DEFAULT,
|
24
24
|
//! The colors' channels will be added. The alpha channel specifies
|
25
25
|
//! the percentage of the new color's channels that will be added
|
26
26
|
//! to the old color's channels.
|
27
|
-
|
27
|
+
BM_ADD,
|
28
28
|
//! The color's channels will be multiplied with each other.
|
29
|
-
|
29
|
+
BM_MULTIPLY
|
30
30
|
};
|
31
31
|
|
32
32
|
enum FontFlags
|
@@ -50,7 +50,7 @@ namespace Gosu
|
|
50
50
|
{
|
51
51
|
IF_SMOOTH = 0,
|
52
52
|
|
53
|
-
// Note: No constant for '1', but Gosu treats '1' as
|
53
|
+
// Note: No constant for '1', but Gosu treats '1' as IF_TILEABLE for
|
54
54
|
// backward compatibility reasons (this parameter used to be a bool).
|
55
55
|
|
56
56
|
IF_TILEABLE_LEFT = 1 << 1,
|
data/include/Gosu/Image.hpp
CHANGED
@@ -49,10 +49,10 @@ namespace Gosu
|
|
49
49
|
|
50
50
|
//! Draws the image so its upper left corner is at (x; y).
|
51
51
|
void draw(double x, double y, ZPos z = 0, double scale_x = 1, double scale_y = 1,
|
52
|
-
Color c = Color::WHITE,
|
52
|
+
Color c = Color::WHITE, BlendMode mode = BM_DEFAULT) const;
|
53
53
|
//! Like draw(), but with modulation colors for all four corners.
|
54
54
|
void draw_mod(double x, double y, ZPos z, double scale_x, double scale_y,
|
55
|
-
Color c1, Color c2, Color c3, Color c4,
|
55
|
+
Color c1, Color c2, Color c3, Color c4, BlendMode mode = BM_DEFAULT) const;
|
56
56
|
|
57
57
|
//! Draws the image rotated by the given angle so that its rotation
|
58
58
|
//! center is at (x; y). Note that this is different from how all the
|
@@ -65,7 +65,7 @@ namespace Gosu
|
|
65
65
|
//! \param center_y See center_x.
|
66
66
|
void draw_rot(double x, double y, ZPos z = 0, double angle = 0,
|
67
67
|
double center_x = 0.5, double center_y = 0.5, double scale_x = 1, double scale_y = 1,
|
68
|
-
Color c = Color::WHITE,
|
68
|
+
Color c = Color::WHITE, BlendMode mode = BM_DEFAULT) const;
|
69
69
|
|
70
70
|
#ifndef SWIG
|
71
71
|
//! Provides access to the underlying image data object.
|
data/include/Gosu/ImageData.hpp
CHANGED
data/include/Gosu/Utility.hpp
CHANGED
@@ -1,19 +1,21 @@
|
|
1
1
|
#pragma once
|
2
2
|
|
3
3
|
#include <string>
|
4
|
+
#include <vector>
|
4
5
|
|
5
6
|
namespace Gosu
|
6
7
|
{
|
7
8
|
std::u32string utf8_to_composed_utc4(const std::string& utf8);
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
|
10
|
+
/// Returns true if the filename has the given extension.
|
11
|
+
/// The comparison is case-insensitive, but you must pass the extension in lower case.
|
11
12
|
bool has_extension(std::string_view filename, std::string_view extension);
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
|
14
|
+
/// Returns the user's preferred user_languages/locales, e.g. {"en_US", "de_DE", "ja"}.
|
15
|
+
/// The first two letters of each element will always be a language code.
|
16
|
+
/// This value is not cached. Please memorize the specific value that you are interested in,
|
17
|
+
/// typically the first language in the returned array that your game supports.
|
18
|
+
std::vector<std::string> user_languages();
|
17
19
|
|
18
20
|
class Noncopyable
|
19
21
|
{
|
data/include/Gosu/Version.hpp
CHANGED
data/lib/gosu/compat.rb
CHANGED
data/src/EmptyImageData.hpp
CHANGED
data/src/Font.cpp
CHANGED
@@ -112,13 +112,13 @@ double Gosu::Font::markup_width(const string& markup) const
|
|
112
112
|
}
|
113
113
|
|
114
114
|
void Gosu::Font::draw_text(const string& text, double x, double y, ZPos z,
|
115
|
-
double scale_x, double scale_y, Color c,
|
115
|
+
double scale_x, double scale_y, Color c, BlendMode mode) const
|
116
116
|
{
|
117
117
|
draw_markup(escape_markup(text), x, y, z, scale_x, scale_y, c, mode);
|
118
118
|
}
|
119
119
|
|
120
120
|
void Gosu::Font::draw_markup(const string& markup, double x, double y, ZPos z,
|
121
|
-
double scale_x, double scale_y, Color c,
|
121
|
+
double scale_x, double scale_y, Color c, BlendMode mode) const
|
122
122
|
{
|
123
123
|
double current_y = y;
|
124
124
|
|
@@ -142,7 +142,7 @@ void Gosu::Font::draw_markup(const string& markup, double x, double y, ZPos z,
|
|
142
142
|
|
143
143
|
void Gosu::Font::draw_text_rel(const string& text, double x, double y, ZPos z,
|
144
144
|
double rel_x, double rel_y, double scale_x, double scale_y,
|
145
|
-
Color c,
|
145
|
+
Color c, BlendMode mode) const
|
146
146
|
{
|
147
147
|
if (rel_x) x -= text_width(text) * scale_x * rel_x;
|
148
148
|
if (rel_y) y -= height() * scale_y * rel_y;
|
@@ -152,7 +152,7 @@ void Gosu::Font::draw_text_rel(const string& text, double x, double y, ZPos z,
|
|
152
152
|
|
153
153
|
void Gosu::Font::draw_markup_rel(const string& markup, double x, double y, ZPos z,
|
154
154
|
double rel_x, double rel_y, double scale_x, double scale_y,
|
155
|
-
Color c,
|
155
|
+
Color c, BlendMode mode) const
|
156
156
|
{
|
157
157
|
if (rel_x) x -= markup_width(markup) * scale_x * rel_x;
|
158
158
|
if (rel_y) y -= height() * scale_y * rel_y;
|
data/src/Graphics.cpp
CHANGED
@@ -330,7 +330,7 @@ void Gosu::Graphics::transform(const Gosu::Transform& transform, const function<
|
|
330
330
|
}
|
331
331
|
|
332
332
|
void Gosu::Graphics::draw_line(double x1, double y1, Color c1,
|
333
|
-
double x2, double y2, Color c2, ZPos z,
|
333
|
+
double x2, double y2, Color c2, ZPos z, BlendMode mode)
|
334
334
|
{
|
335
335
|
DrawOp op;
|
336
336
|
op.render_state.mode = mode;
|
@@ -343,7 +343,7 @@ void Gosu::Graphics::draw_line(double x1, double y1, Color c1,
|
|
343
343
|
}
|
344
344
|
|
345
345
|
void Gosu::Graphics::draw_triangle(double x1, double y1, Color c1, double x2, double y2, Color c2,
|
346
|
-
double x3, double y3, Color c3, ZPos z,
|
346
|
+
double x3, double y3, Color c3, ZPos z, BlendMode mode)
|
347
347
|
{
|
348
348
|
DrawOp op;
|
349
349
|
op.render_state.mode = mode;
|
@@ -361,7 +361,7 @@ void Gosu::Graphics::draw_triangle(double x1, double y1, Color c1, double x2, do
|
|
361
361
|
}
|
362
362
|
|
363
363
|
void Gosu::Graphics::draw_quad(double x1, double y1, Color c1, double x2, double y2, Color c2,
|
364
|
-
double x3, double y3, Color c3, double x4, double y4, Color c4, ZPos z,
|
364
|
+
double x3, double y3, Color c3, double x4, double y4, Color c4, ZPos z, BlendMode mode)
|
365
365
|
{
|
366
366
|
normalize_coordinates(x1, y1, x2, y2, x3, y3, c3, x4, y4, c4);
|
367
367
|
|
@@ -384,7 +384,7 @@ void Gosu::Graphics::draw_quad(double x1, double y1, Color c1, double x2, double
|
|
384
384
|
}
|
385
385
|
|
386
386
|
void Gosu::Graphics::draw_rect(double x, double y, double width, double height, Color c,
|
387
|
-
ZPos z, Gosu::
|
387
|
+
ZPos z, Gosu::BlendMode mode)
|
388
388
|
{
|
389
389
|
draw_quad(x, y, c, x + width, y, c, x, y + height, c, x + width, y + height, c, z, mode);
|
390
390
|
}
|
data/src/Image.cpp
CHANGED
@@ -57,7 +57,7 @@ unsigned Gosu::Image::height() const
|
|
57
57
|
}
|
58
58
|
|
59
59
|
void Gosu::Image::draw(double x, double y, ZPos z, double scale_x, double scale_y, Color c,
|
60
|
-
|
60
|
+
BlendMode mode) const
|
61
61
|
{
|
62
62
|
double x2 = x + width() * scale_x;
|
63
63
|
double y2 = y + height() * scale_y;
|
@@ -66,7 +66,7 @@ void Gosu::Image::draw(double x, double y, ZPos z, double scale_x, double scale_
|
|
66
66
|
}
|
67
67
|
|
68
68
|
void Gosu::Image::draw_mod(double x, double y, ZPos z, double scale_x, double scale_y, Color c1,
|
69
|
-
Color c2, Color c3, Color c4,
|
69
|
+
Color c2, Color c3, Color c4, BlendMode mode) const
|
70
70
|
{
|
71
71
|
double x2 = x + width() * scale_x;
|
72
72
|
double y2 = y + height() * scale_y;
|
@@ -75,7 +75,8 @@ void Gosu::Image::draw_mod(double x, double y, ZPos z, double scale_x, double sc
|
|
75
75
|
}
|
76
76
|
|
77
77
|
void Gosu::Image::draw_rot(double x, double y, ZPos z, double angle,
|
78
|
-
double center_x, double center_y, double scale_x, double scale_y, Color c,
|
78
|
+
double center_x, double center_y, double scale_x, double scale_y, Color c,
|
79
|
+
BlendMode mode) const
|
79
80
|
{
|
80
81
|
double size_x = width() * scale_x;
|
81
82
|
double size_y = height() * scale_y;
|
data/src/LargeImageData.cpp
CHANGED
@@ -69,7 +69,7 @@ void Gosu::LargeImageData::draw(double x1, double y1, Color c1,
|
|
69
69
|
double x2, double y2, Color c2,
|
70
70
|
double x3, double y3, Color c3,
|
71
71
|
double x4, double y4, Color c4,
|
72
|
-
ZPos z,
|
72
|
+
ZPos z, BlendMode mode) const
|
73
73
|
{
|
74
74
|
normalize_coordinates(x1, y1, x2, y2, x3, y3, c3, x4, y4, c4);
|
75
75
|
|
data/src/LargeImageData.hpp
CHANGED
@@ -25,7 +25,7 @@ public:
|
|
25
25
|
double x2, double y2, Color c2,
|
26
26
|
double x3, double y3, Color c3,
|
27
27
|
double x4, double y4, Color c4,
|
28
|
-
ZPos z,
|
28
|
+
ZPos z, BlendMode mode) const override;
|
29
29
|
|
30
30
|
const GLTexInfo* gl_tex_info() const override { return nullptr; }
|
31
31
|
|
data/src/Macro.cpp
CHANGED
@@ -162,7 +162,7 @@ int Gosu::Macro::height() const
|
|
162
162
|
}
|
163
163
|
|
164
164
|
void Gosu::Macro::draw(double x1, double y1, Color c1, double x2, double y2, Color c2,
|
165
|
-
double x3, double y3, Color c3, double x4, double y4, Color c4, ZPos z,
|
165
|
+
double x3, double y3, Color c3, double x4, double y4, Color c4, ZPos z, BlendMode mode) const
|
166
166
|
{
|
167
167
|
if (c1 != Color::WHITE || c2 != Color::WHITE || c3 != Color::WHITE || c4 != Color::WHITE) {
|
168
168
|
throw invalid_argument("Macros cannot be tinted with colors");
|
@@ -185,7 +185,7 @@ Gosu::Bitmap Gosu::Macro::to_bitmap() const
|
|
185
185
|
pimpl->width, 0, Color::WHITE,
|
186
186
|
0, pimpl->height, Color::WHITE,
|
187
187
|
pimpl->width, pimpl->height, Color::WHITE,
|
188
|
-
0,
|
188
|
+
0, BM_DEFAULT);
|
189
189
|
}).data().to_bitmap();
|
190
190
|
}
|
191
191
|
|
data/src/Macro.hpp
CHANGED
@@ -18,7 +18,7 @@ public:
|
|
18
18
|
|
19
19
|
void draw(double x1, double y1, Color c1, double x2, double y2, Color c2,
|
20
20
|
double x3, double y3, Color c3, double x4, double y4, Color c4, ZPos z,
|
21
|
-
|
21
|
+
BlendMode mode) const override;
|
22
22
|
|
23
23
|
const Gosu::GLTexInfo* gl_tex_info() const override;
|
24
24
|
|
data/src/RenderState.hpp
CHANGED
@@ -10,10 +10,10 @@ struct Gosu::RenderState
|
|
10
10
|
std::shared_ptr<Texture> texture;
|
11
11
|
const Transform* transform;
|
12
12
|
ClipRect clip_rect;
|
13
|
-
|
13
|
+
BlendMode mode;
|
14
14
|
|
15
15
|
RenderState()
|
16
|
-
: transform(0), mode(
|
16
|
+
: transform(0), mode(BM_DEFAULT)
|
17
17
|
{
|
18
18
|
clip_rect.width = NO_CLIPPING;
|
19
19
|
}
|
@@ -39,10 +39,10 @@ struct Gosu::RenderState
|
|
39
39
|
|
40
40
|
void apply_alpha_mode() const
|
41
41
|
{
|
42
|
-
if (mode ==
|
42
|
+
if (mode == BM_ADD) {
|
43
43
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
44
44
|
}
|
45
|
-
else if (mode ==
|
45
|
+
else if (mode == BM_MULTIPLY) {
|
46
46
|
glBlendFunc(GL_DST_COLOR, GL_ZERO);
|
47
47
|
}
|
48
48
|
else {
|
@@ -174,7 +174,7 @@ public:
|
|
174
174
|
}
|
175
175
|
}
|
176
176
|
|
177
|
-
void set_alpha_mode(
|
177
|
+
void set_alpha_mode(BlendMode new_mode)
|
178
178
|
{
|
179
179
|
if (new_mode == mode) return;
|
180
180
|
|
data/src/RubyGosu.cxx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version 4.
|
3
|
+
* Version 4.0.2
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -2203,7 +2203,7 @@ static VALUE mGosu;
|
|
2203
2203
|
#define SWIG_RUBY_THREAD_END_BLOCK
|
2204
2204
|
|
2205
2205
|
|
2206
|
-
#define SWIGVERSION
|
2206
|
+
#define SWIGVERSION 0x040002
|
2207
2207
|
#define SWIG_VERSION SWIGVERSION
|
2208
2208
|
|
2209
2209
|
|
@@ -2353,7 +2353,7 @@ namespace Gosu
|
|
2353
2353
|
{
|
2354
2354
|
void draw_line(double x1, double y1, Gosu::Color c1,
|
2355
2355
|
double x2, double y2, Gosu::Color c2,
|
2356
|
-
Gosu::ZPos z = 0, Gosu::
|
2356
|
+
Gosu::ZPos z = 0, Gosu::BlendMode mode = Gosu::BM_DEFAULT)
|
2357
2357
|
{
|
2358
2358
|
Gosu::Graphics::draw_line(x1, y1, c1, x2, y2, c2, z, mode);
|
2359
2359
|
}
|
@@ -2361,7 +2361,7 @@ namespace Gosu
|
|
2361
2361
|
void draw_triangle(double x1, double y1, Gosu::Color c1,
|
2362
2362
|
double x2, double y2, Gosu::Color c2,
|
2363
2363
|
double x3, double y3, Gosu::Color c3,
|
2364
|
-
Gosu::ZPos z = 0, Gosu::
|
2364
|
+
Gosu::ZPos z = 0, Gosu::BlendMode mode = Gosu::BM_DEFAULT)
|
2365
2365
|
{
|
2366
2366
|
Gosu::Graphics::draw_triangle(x1, y1, c1, x2, y2, c2, x3, y3, c3, z, mode);
|
2367
2367
|
}
|
@@ -2370,13 +2370,13 @@ namespace Gosu
|
|
2370
2370
|
double x2, double y2, Gosu::Color c2,
|
2371
2371
|
double x3, double y3, Gosu::Color c3,
|
2372
2372
|
double x4, double y4, Gosu::Color c4,
|
2373
|
-
Gosu::ZPos z = 0, Gosu::
|
2373
|
+
Gosu::ZPos z = 0, Gosu::BlendMode mode = Gosu::BM_DEFAULT)
|
2374
2374
|
{
|
2375
2375
|
Gosu::Graphics::draw_quad(x1, y1, c1, x2, y2, c2, x3, y3, c3, x4, y4, c4, z, mode);
|
2376
2376
|
}
|
2377
2377
|
|
2378
2378
|
void draw_rect(double x, double y, double width, double height, Gosu::Color c,
|
2379
|
-
Gosu::ZPos z = 0, Gosu::
|
2379
|
+
Gosu::ZPos z = 0, Gosu::BlendMode mode = Gosu::BM_DEFAULT)
|
2380
2380
|
{
|
2381
2381
|
Gosu::Graphics::draw_rect(x, y, width, height, c, z, mode);
|
2382
2382
|
}
|
@@ -2519,7 +2519,7 @@ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
|
|
2519
2519
|
}
|
2520
2520
|
|
2521
2521
|
|
2522
|
-
/*@SWIG:/
|
2522
|
+
/*@SWIG:/opt/homebrew/Cellar/swig/4.0.2/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2523
2523
|
SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE arg)
|
2524
2524
|
{
|
2525
2525
|
VALUE *args = (VALUE *)arg;
|
@@ -2562,7 +2562,7 @@ SWIG_From_unsigned_SS_int (unsigned int value)
|
|
2562
2562
|
#include <string>
|
2563
2563
|
|
2564
2564
|
|
2565
|
-
/*@SWIG:/
|
2565
|
+
/*@SWIG:/opt/homebrew/Cellar/swig/4.0.2/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2566
2566
|
SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE arg)
|
2567
2567
|
{
|
2568
2568
|
VALUE *args = (VALUE *)arg;
|
@@ -2768,7 +2768,7 @@ SWIG_AsPtr_std_string (VALUE obj, std::string **val)
|
|
2768
2768
|
}
|
2769
2769
|
|
2770
2770
|
|
2771
|
-
/*@SWIG:/
|
2771
|
+
/*@SWIG:/opt/homebrew/Cellar/swig/4.0.2/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2772
2772
|
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
|
2773
2773
|
{
|
2774
2774
|
VALUE *args = (VALUE *)arg;
|
@@ -2923,7 +2923,7 @@ SWIGINTERN Gosu::Image *new_Gosu_Image(VALUE source,VALUE options=0){
|
|
2923
2923
|
|
2924
2924
|
return new Gosu::Image(bmp, src_x, src_y, src_width, src_height, flags);
|
2925
2925
|
}
|
2926
|
-
SWIGINTERN void Gosu_Image_draw_as_quad(Gosu::Image *self,double x1,double y1,Gosu::Color c1,double x2,double y2,Gosu::Color c2,double x3,double y3,Gosu::Color c3,double x4,double y4,Gosu::Color c4,Gosu::ZPos z,Gosu::
|
2926
|
+
SWIGINTERN void Gosu_Image_draw_as_quad(Gosu::Image *self,double x1,double y1,Gosu::Color c1,double x2,double y2,Gosu::Color c2,double x3,double y3,Gosu::Color c3,double x4,double y4,Gosu::Color c4,Gosu::ZPos z,Gosu::BlendMode mode=Gosu::BM_DEFAULT){
|
2927
2927
|
self->data().draw(x1, y1, c1, x2, y2, c2, x3, y3, c3, x4, y4, c4, z, mode);
|
2928
2928
|
}
|
2929
2929
|
SWIGINTERN Gosu::GLTexInfo *Gosu_Image_gl_tex_info(Gosu::Image const *self){
|
@@ -3300,7 +3300,7 @@ std::string SwigDirector_TextInput::filter(std::string text) const {
|
|
3300
3300
|
}
|
3301
3301
|
|
3302
3302
|
|
3303
|
-
SwigDirector_Window::SwigDirector_Window(VALUE self,int width,int height,unsigned int window_flags,double update_interval): Gosu::Window(width, height, window_flags, update_interval), Swig::Director(self) {
|
3303
|
+
SwigDirector_Window::SwigDirector_Window(VALUE self, int width, int height, unsigned int window_flags, double update_interval): Gosu::Window(width, height, window_flags, update_interval), Swig::Director(self) {
|
3304
3304
|
|
3305
3305
|
}
|
3306
3306
|
|
@@ -3864,8 +3864,8 @@ fail:
|
|
3864
3864
|
|
3865
3865
|
|
3866
3866
|
SWIGINTERN VALUE
|
3867
|
-
|
3868
|
-
std::string result;
|
3867
|
+
_wrap_user_languages(int argc, VALUE *argv, VALUE self) {
|
3868
|
+
SwigValueWrapper< std::vector< std::string > > result;
|
3869
3869
|
VALUE vresult = Qnil;
|
3870
3870
|
|
3871
3871
|
if ((argc < 0) || (argc > 0)) {
|
@@ -3873,15 +3873,17 @@ _wrap_language(int argc, VALUE *argv, VALUE self) {
|
|
3873
3873
|
}
|
3874
3874
|
{
|
3875
3875
|
try {
|
3876
|
-
result = Gosu::
|
3876
|
+
result = Gosu::user_languages();
|
3877
3877
|
}
|
3878
3878
|
catch (const std::exception& e) {
|
3879
3879
|
SWIG_exception(SWIG_RuntimeError, e.what());
|
3880
3880
|
}
|
3881
3881
|
}
|
3882
3882
|
{
|
3883
|
-
vresult =
|
3884
|
-
|
3883
|
+
vresult = rb_ary_new2((&result)->size());
|
3884
|
+
for (std::size_t i = 0; i < (&result)->size(); i++) {
|
3885
|
+
rb_ary_store(vresult, i, rb_str_new2((*&result)[i].c_str()));
|
3886
|
+
}
|
3885
3887
|
}
|
3886
3888
|
return vresult;
|
3887
3889
|
fail:
|
@@ -5373,7 +5375,7 @@ _wrap_Font_draw_text(int argc, VALUE *argv, VALUE self) {
|
|
5373
5375
|
double arg6 = (double) 1 ;
|
5374
5376
|
double arg7 = (double) 1 ;
|
5375
5377
|
Gosu::Color arg8 = (Gosu::Color) Gosu::Color::WHITE ;
|
5376
|
-
Gosu::
|
5378
|
+
Gosu::BlendMode arg9 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
5377
5379
|
void *argp1 = 0 ;
|
5378
5380
|
int res1 = 0 ;
|
5379
5381
|
int res2 = SWIG_OLDOBJ ;
|
@@ -5461,16 +5463,16 @@ _wrap_Font_draw_text(int argc, VALUE *argv, VALUE self) {
|
|
5461
5463
|
const char* cstr = Gosu::cstr_from_symbol(argv[7]);
|
5462
5464
|
|
5463
5465
|
if (!strcmp(cstr, "default")) {
|
5464
|
-
arg9 = Gosu::
|
5466
|
+
arg9 = Gosu::BM_DEFAULT;
|
5465
5467
|
}
|
5466
5468
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
5467
|
-
arg9 = Gosu::
|
5469
|
+
arg9 = Gosu::BM_ADD;
|
5468
5470
|
}
|
5469
5471
|
else if (!strcmp(cstr, "multiply")) {
|
5470
|
-
arg9 = Gosu::
|
5472
|
+
arg9 = Gosu::BM_MULTIPLY;
|
5471
5473
|
}
|
5472
5474
|
else {
|
5473
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
5475
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
5474
5476
|
":multiply)");
|
5475
5477
|
}
|
5476
5478
|
}
|
@@ -5501,7 +5503,7 @@ _wrap_Font_draw_markup(int argc, VALUE *argv, VALUE self) {
|
|
5501
5503
|
double arg6 = (double) 1 ;
|
5502
5504
|
double arg7 = (double) 1 ;
|
5503
5505
|
Gosu::Color arg8 = (Gosu::Color) Gosu::Color::WHITE ;
|
5504
|
-
Gosu::
|
5506
|
+
Gosu::BlendMode arg9 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
5505
5507
|
void *argp1 = 0 ;
|
5506
5508
|
int res1 = 0 ;
|
5507
5509
|
int res2 = SWIG_OLDOBJ ;
|
@@ -5589,16 +5591,16 @@ _wrap_Font_draw_markup(int argc, VALUE *argv, VALUE self) {
|
|
5589
5591
|
const char* cstr = Gosu::cstr_from_symbol(argv[7]);
|
5590
5592
|
|
5591
5593
|
if (!strcmp(cstr, "default")) {
|
5592
|
-
arg9 = Gosu::
|
5594
|
+
arg9 = Gosu::BM_DEFAULT;
|
5593
5595
|
}
|
5594
5596
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
5595
|
-
arg9 = Gosu::
|
5597
|
+
arg9 = Gosu::BM_ADD;
|
5596
5598
|
}
|
5597
5599
|
else if (!strcmp(cstr, "multiply")) {
|
5598
|
-
arg9 = Gosu::
|
5600
|
+
arg9 = Gosu::BM_MULTIPLY;
|
5599
5601
|
}
|
5600
5602
|
else {
|
5601
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
5603
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
5602
5604
|
":multiply)");
|
5603
5605
|
}
|
5604
5606
|
}
|
@@ -5631,7 +5633,7 @@ _wrap_Font_draw_text_rel(int argc, VALUE *argv, VALUE self) {
|
|
5631
5633
|
double arg8 = (double) 1 ;
|
5632
5634
|
double arg9 = (double) 1 ;
|
5633
5635
|
Gosu::Color arg10 = (Gosu::Color) Gosu::Color::WHITE ;
|
5634
|
-
Gosu::
|
5636
|
+
Gosu::BlendMode arg11 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
5635
5637
|
void *argp1 = 0 ;
|
5636
5638
|
int res1 = 0 ;
|
5637
5639
|
int res2 = SWIG_OLDOBJ ;
|
@@ -5733,16 +5735,16 @@ _wrap_Font_draw_text_rel(int argc, VALUE *argv, VALUE self) {
|
|
5733
5735
|
const char* cstr = Gosu::cstr_from_symbol(argv[9]);
|
5734
5736
|
|
5735
5737
|
if (!strcmp(cstr, "default")) {
|
5736
|
-
arg11 = Gosu::
|
5738
|
+
arg11 = Gosu::BM_DEFAULT;
|
5737
5739
|
}
|
5738
5740
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
5739
|
-
arg11 = Gosu::
|
5741
|
+
arg11 = Gosu::BM_ADD;
|
5740
5742
|
}
|
5741
5743
|
else if (!strcmp(cstr, "multiply")) {
|
5742
|
-
arg11 = Gosu::
|
5744
|
+
arg11 = Gosu::BM_MULTIPLY;
|
5743
5745
|
}
|
5744
5746
|
else {
|
5745
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
5747
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
5746
5748
|
":multiply)");
|
5747
5749
|
}
|
5748
5750
|
}
|
@@ -5775,7 +5777,7 @@ _wrap_Font_draw_markup_rel(int argc, VALUE *argv, VALUE self) {
|
|
5775
5777
|
double arg8 = (double) 1 ;
|
5776
5778
|
double arg9 = (double) 1 ;
|
5777
5779
|
Gosu::Color arg10 = (Gosu::Color) Gosu::Color::WHITE ;
|
5778
|
-
Gosu::
|
5780
|
+
Gosu::BlendMode arg11 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
5779
5781
|
void *argp1 = 0 ;
|
5780
5782
|
int res1 = 0 ;
|
5781
5783
|
int res2 = SWIG_OLDOBJ ;
|
@@ -5877,16 +5879,16 @@ _wrap_Font_draw_markup_rel(int argc, VALUE *argv, VALUE self) {
|
|
5877
5879
|
const char* cstr = Gosu::cstr_from_symbol(argv[9]);
|
5878
5880
|
|
5879
5881
|
if (!strcmp(cstr, "default")) {
|
5880
|
-
arg11 = Gosu::
|
5882
|
+
arg11 = Gosu::BM_DEFAULT;
|
5881
5883
|
}
|
5882
5884
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
5883
|
-
arg11 = Gosu::
|
5885
|
+
arg11 = Gosu::BM_ADD;
|
5884
5886
|
}
|
5885
5887
|
else if (!strcmp(cstr, "multiply")) {
|
5886
|
-
arg11 = Gosu::
|
5888
|
+
arg11 = Gosu::BM_MULTIPLY;
|
5887
5889
|
}
|
5888
5890
|
else {
|
5889
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
5891
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
5890
5892
|
":multiply)");
|
5891
5893
|
}
|
5892
5894
|
}
|
@@ -6625,7 +6627,7 @@ _wrap_Image_draw(int argc, VALUE *argv, VALUE self) {
|
|
6625
6627
|
double arg5 = (double) 1 ;
|
6626
6628
|
double arg6 = (double) 1 ;
|
6627
6629
|
Gosu::Color arg7 = (Gosu::Color) Gosu::Color::WHITE ;
|
6628
|
-
Gosu::
|
6630
|
+
Gosu::BlendMode arg8 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
6629
6631
|
void *argp1 = 0 ;
|
6630
6632
|
int res1 = 0 ;
|
6631
6633
|
double val2 ;
|
@@ -6703,16 +6705,16 @@ _wrap_Image_draw(int argc, VALUE *argv, VALUE self) {
|
|
6703
6705
|
const char* cstr = Gosu::cstr_from_symbol(argv[6]);
|
6704
6706
|
|
6705
6707
|
if (!strcmp(cstr, "default")) {
|
6706
|
-
arg8 = Gosu::
|
6708
|
+
arg8 = Gosu::BM_DEFAULT;
|
6707
6709
|
}
|
6708
6710
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
6709
|
-
arg8 = Gosu::
|
6711
|
+
arg8 = Gosu::BM_ADD;
|
6710
6712
|
}
|
6711
6713
|
else if (!strcmp(cstr, "multiply")) {
|
6712
|
-
arg8 = Gosu::
|
6714
|
+
arg8 = Gosu::BM_MULTIPLY;
|
6713
6715
|
}
|
6714
6716
|
else {
|
6715
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
6717
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
6716
6718
|
":multiply)");
|
6717
6719
|
}
|
6718
6720
|
}
|
@@ -6743,7 +6745,7 @@ _wrap_Image_draw_mod(int argc, VALUE *argv, VALUE self) {
|
|
6743
6745
|
Gosu::Color arg8 ;
|
6744
6746
|
Gosu::Color arg9 ;
|
6745
6747
|
Gosu::Color arg10 ;
|
6746
|
-
Gosu::
|
6748
|
+
Gosu::BlendMode arg11 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
6747
6749
|
void *argp1 = 0 ;
|
6748
6750
|
int res1 = 0 ;
|
6749
6751
|
double val2 ;
|
@@ -6867,16 +6869,16 @@ _wrap_Image_draw_mod(int argc, VALUE *argv, VALUE self) {
|
|
6867
6869
|
const char* cstr = Gosu::cstr_from_symbol(argv[9]);
|
6868
6870
|
|
6869
6871
|
if (!strcmp(cstr, "default")) {
|
6870
|
-
arg11 = Gosu::
|
6872
|
+
arg11 = Gosu::BM_DEFAULT;
|
6871
6873
|
}
|
6872
6874
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
6873
|
-
arg11 = Gosu::
|
6875
|
+
arg11 = Gosu::BM_ADD;
|
6874
6876
|
}
|
6875
6877
|
else if (!strcmp(cstr, "multiply")) {
|
6876
|
-
arg11 = Gosu::
|
6878
|
+
arg11 = Gosu::BM_MULTIPLY;
|
6877
6879
|
}
|
6878
6880
|
else {
|
6879
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
6881
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
6880
6882
|
":multiply)");
|
6881
6883
|
}
|
6882
6884
|
}
|
@@ -6907,7 +6909,7 @@ _wrap_Image_draw_rot(int argc, VALUE *argv, VALUE self) {
|
|
6907
6909
|
double arg8 = (double) 1 ;
|
6908
6910
|
double arg9 = (double) 1 ;
|
6909
6911
|
Gosu::Color arg10 = (Gosu::Color) Gosu::Color::WHITE ;
|
6910
|
-
Gosu::
|
6912
|
+
Gosu::BlendMode arg11 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
6911
6913
|
void *argp1 = 0 ;
|
6912
6914
|
int res1 = 0 ;
|
6913
6915
|
double val2 ;
|
@@ -7012,16 +7014,16 @@ _wrap_Image_draw_rot(int argc, VALUE *argv, VALUE self) {
|
|
7012
7014
|
const char* cstr = Gosu::cstr_from_symbol(argv[9]);
|
7013
7015
|
|
7014
7016
|
if (!strcmp(cstr, "default")) {
|
7015
|
-
arg11 = Gosu::
|
7017
|
+
arg11 = Gosu::BM_DEFAULT;
|
7016
7018
|
}
|
7017
7019
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
7018
|
-
arg11 = Gosu::
|
7020
|
+
arg11 = Gosu::BM_ADD;
|
7019
7021
|
}
|
7020
7022
|
else if (!strcmp(cstr, "multiply")) {
|
7021
|
-
arg11 = Gosu::
|
7023
|
+
arg11 = Gosu::BM_MULTIPLY;
|
7022
7024
|
}
|
7023
7025
|
else {
|
7024
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
7026
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
7025
7027
|
":multiply)");
|
7026
7028
|
}
|
7027
7029
|
}
|
@@ -7101,7 +7103,7 @@ _wrap_Image_draw_as_quad(int argc, VALUE *argv, VALUE self) {
|
|
7101
7103
|
double arg12 ;
|
7102
7104
|
Gosu::Color arg13 ;
|
7103
7105
|
Gosu::ZPos arg14 ;
|
7104
|
-
Gosu::
|
7106
|
+
Gosu::BlendMode arg15 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
7105
7107
|
void *argp1 = 0 ;
|
7106
7108
|
int res1 = 0 ;
|
7107
7109
|
double val2 ;
|
@@ -7253,16 +7255,16 @@ _wrap_Image_draw_as_quad(int argc, VALUE *argv, VALUE self) {
|
|
7253
7255
|
const char* cstr = Gosu::cstr_from_symbol(argv[13]);
|
7254
7256
|
|
7255
7257
|
if (!strcmp(cstr, "default")) {
|
7256
|
-
arg15 = Gosu::
|
7258
|
+
arg15 = Gosu::BM_DEFAULT;
|
7257
7259
|
}
|
7258
7260
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
7259
|
-
arg15 = Gosu::
|
7261
|
+
arg15 = Gosu::BM_ADD;
|
7260
7262
|
}
|
7261
7263
|
else if (!strcmp(cstr, "multiply")) {
|
7262
|
-
arg15 = Gosu::
|
7264
|
+
arg15 = Gosu::BM_MULTIPLY;
|
7263
7265
|
}
|
7264
7266
|
else {
|
7265
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
7267
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
7266
7268
|
":multiply)");
|
7267
7269
|
}
|
7268
7270
|
}
|
@@ -10987,7 +10989,7 @@ _wrap_draw_line(int argc, VALUE *argv, VALUE self) {
|
|
10987
10989
|
double arg5 ;
|
10988
10990
|
Gosu::Color arg6 ;
|
10989
10991
|
Gosu::ZPos arg7 = (Gosu::ZPos) 0 ;
|
10990
|
-
Gosu::
|
10992
|
+
Gosu::BlendMode arg8 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
10991
10993
|
double val1 ;
|
10992
10994
|
int ecode1 = 0 ;
|
10993
10995
|
double val2 ;
|
@@ -11070,16 +11072,16 @@ _wrap_draw_line(int argc, VALUE *argv, VALUE self) {
|
|
11070
11072
|
const char* cstr = Gosu::cstr_from_symbol(argv[7]);
|
11071
11073
|
|
11072
11074
|
if (!strcmp(cstr, "default")) {
|
11073
|
-
arg8 = Gosu::
|
11075
|
+
arg8 = Gosu::BM_DEFAULT;
|
11074
11076
|
}
|
11075
11077
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
11076
|
-
arg8 = Gosu::
|
11078
|
+
arg8 = Gosu::BM_ADD;
|
11077
11079
|
}
|
11078
11080
|
else if (!strcmp(cstr, "multiply")) {
|
11079
|
-
arg8 = Gosu::
|
11081
|
+
arg8 = Gosu::BM_MULTIPLY;
|
11080
11082
|
}
|
11081
11083
|
else {
|
11082
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
11084
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
11083
11085
|
":multiply)");
|
11084
11086
|
}
|
11085
11087
|
}
|
@@ -11110,7 +11112,7 @@ _wrap_draw_triangle(int argc, VALUE *argv, VALUE self) {
|
|
11110
11112
|
double arg8 ;
|
11111
11113
|
Gosu::Color arg9 ;
|
11112
11114
|
Gosu::ZPos arg10 = (Gosu::ZPos) 0 ;
|
11113
|
-
Gosu::
|
11115
|
+
Gosu::BlendMode arg11 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
11114
11116
|
double val1 ;
|
11115
11117
|
int ecode1 = 0 ;
|
11116
11118
|
double val2 ;
|
@@ -11225,16 +11227,16 @@ _wrap_draw_triangle(int argc, VALUE *argv, VALUE self) {
|
|
11225
11227
|
const char* cstr = Gosu::cstr_from_symbol(argv[10]);
|
11226
11228
|
|
11227
11229
|
if (!strcmp(cstr, "default")) {
|
11228
|
-
arg11 = Gosu::
|
11230
|
+
arg11 = Gosu::BM_DEFAULT;
|
11229
11231
|
}
|
11230
11232
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
11231
|
-
arg11 = Gosu::
|
11233
|
+
arg11 = Gosu::BM_ADD;
|
11232
11234
|
}
|
11233
11235
|
else if (!strcmp(cstr, "multiply")) {
|
11234
|
-
arg11 = Gosu::
|
11236
|
+
arg11 = Gosu::BM_MULTIPLY;
|
11235
11237
|
}
|
11236
11238
|
else {
|
11237
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
11239
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
11238
11240
|
":multiply)");
|
11239
11241
|
}
|
11240
11242
|
}
|
@@ -11268,7 +11270,7 @@ _wrap_draw_quad(int argc, VALUE *argv, VALUE self) {
|
|
11268
11270
|
double arg11 ;
|
11269
11271
|
Gosu::Color arg12 ;
|
11270
11272
|
Gosu::ZPos arg13 = (Gosu::ZPos) 0 ;
|
11271
|
-
Gosu::
|
11273
|
+
Gosu::BlendMode arg14 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
11272
11274
|
double val1 ;
|
11273
11275
|
int ecode1 = 0 ;
|
11274
11276
|
double val2 ;
|
@@ -11415,16 +11417,16 @@ _wrap_draw_quad(int argc, VALUE *argv, VALUE self) {
|
|
11415
11417
|
const char* cstr = Gosu::cstr_from_symbol(argv[13]);
|
11416
11418
|
|
11417
11419
|
if (!strcmp(cstr, "default")) {
|
11418
|
-
arg14 = Gosu::
|
11420
|
+
arg14 = Gosu::BM_DEFAULT;
|
11419
11421
|
}
|
11420
11422
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
11421
|
-
arg14 = Gosu::
|
11423
|
+
arg14 = Gosu::BM_ADD;
|
11422
11424
|
}
|
11423
11425
|
else if (!strcmp(cstr, "multiply")) {
|
11424
|
-
arg14 = Gosu::
|
11426
|
+
arg14 = Gosu::BM_MULTIPLY;
|
11425
11427
|
}
|
11426
11428
|
else {
|
11427
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
11429
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
11428
11430
|
":multiply)");
|
11429
11431
|
}
|
11430
11432
|
}
|
@@ -11451,7 +11453,7 @@ _wrap_draw_rect(int argc, VALUE *argv, VALUE self) {
|
|
11451
11453
|
double arg4 ;
|
11452
11454
|
Gosu::Color arg5 ;
|
11453
11455
|
Gosu::ZPos arg6 = (Gosu::ZPos) 0 ;
|
11454
|
-
Gosu::
|
11456
|
+
Gosu::BlendMode arg7 = (Gosu::BlendMode) Gosu::BM_DEFAULT ;
|
11455
11457
|
double val1 ;
|
11456
11458
|
int ecode1 = 0 ;
|
11457
11459
|
double val2 ;
|
@@ -11516,16 +11518,16 @@ _wrap_draw_rect(int argc, VALUE *argv, VALUE self) {
|
|
11516
11518
|
const char* cstr = Gosu::cstr_from_symbol(argv[6]);
|
11517
11519
|
|
11518
11520
|
if (!strcmp(cstr, "default")) {
|
11519
|
-
arg7 = Gosu::
|
11521
|
+
arg7 = Gosu::BM_DEFAULT;
|
11520
11522
|
}
|
11521
11523
|
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
11522
|
-
arg7 = Gosu::
|
11524
|
+
arg7 = Gosu::BM_ADD;
|
11523
11525
|
}
|
11524
11526
|
else if (!strcmp(cstr, "multiply")) {
|
11525
|
-
arg7 = Gosu::
|
11527
|
+
arg7 = Gosu::BM_MULTIPLY;
|
11526
11528
|
}
|
11527
11529
|
else {
|
11528
|
-
SWIG_exception_fail(SWIG_ValueError, "invalid
|
11530
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid blend mode (expected one of :default, :add, "
|
11529
11531
|
":multiply)");
|
11530
11532
|
}
|
11531
11533
|
}
|
@@ -12518,7 +12520,7 @@ SWIGEXPORT void Init_gosu(void) {
|
|
12518
12520
|
rb_define_const(mGosu, "VERSION", SWIG_From_std_string(static_cast< std::string >(Gosu::VERSION)));
|
12519
12521
|
rb_define_const(mGosu, "LICENSES", SWIG_From_std_string(static_cast< std::string >(Gosu::LICENSES)));
|
12520
12522
|
rb_define_const(mGosu, "MAJOR_VERSION", SWIG_From_int(static_cast< int >(1)));
|
12521
|
-
rb_define_const(mGosu, "MINOR_VERSION", SWIG_From_int(static_cast< int >(
|
12523
|
+
rb_define_const(mGosu, "MINOR_VERSION", SWIG_From_int(static_cast< int >(2)));
|
12522
12524
|
rb_define_const(mGosu, "POINT_VERSION", SWIG_From_int(static_cast< int >(0)));
|
12523
12525
|
rb_define_module_function(mGosu, "milliseconds", VALUEFUNC(_wrap_milliseconds), -1);
|
12524
12526
|
rb_define_module_function(mGosu, "random", VALUEFUNC(_wrap_random), -1);
|
@@ -12532,7 +12534,7 @@ SWIGEXPORT void Init_gosu(void) {
|
|
12532
12534
|
rb_define_module_function(mGosu, "distance", VALUEFUNC(_wrap_distance), -1);
|
12533
12535
|
rb_define_module_function(mGosu, "default_font_name", VALUEFUNC(_wrap_default_font_name), -1);
|
12534
12536
|
rb_define_const(mGosu, "MAX_TEXTURE_SIZE", SWIG_From_unsigned_SS_int(static_cast< unsigned int >(Gosu::MAX_TEXTURE_SIZE)));
|
12535
|
-
rb_define_module_function(mGosu, "
|
12537
|
+
rb_define_module_function(mGosu, "user_languages", VALUEFUNC(_wrap_user_languages), -1);
|
12536
12538
|
rb_define_module_function(mGosu, "enable_undocumented_retrofication", VALUEFUNC(_wrap_enable_undocumented_retrofication), -1);
|
12537
12539
|
|
12538
12540
|
SwigClassColor.klass = rb_define_class_under(mGosu, "Color", rb_cObject);
|
data/src/RubyGosu.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version 4.
|
3
|
+
* Version 4.0.2
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -28,7 +28,7 @@ public:
|
|
28
28
|
class SwigDirector_Window : public Gosu::Window, public Swig::Director {
|
29
29
|
|
30
30
|
public:
|
31
|
-
SwigDirector_Window(VALUE self,int width,int height,unsigned int window_flags=Gosu::WF_WINDOWED,double update_interval=16.666666);
|
31
|
+
SwigDirector_Window(VALUE self, int width, int height, unsigned int window_flags = Gosu::WF_WINDOWED, double update_interval = 16.666666);
|
32
32
|
virtual ~SwigDirector_Window();
|
33
33
|
virtual void show();
|
34
34
|
virtual bool tick();
|
data/src/TexChunk.cpp
CHANGED
@@ -44,7 +44,7 @@ Gosu::TexChunk::~TexChunk()
|
|
44
44
|
}
|
45
45
|
|
46
46
|
void Gosu::TexChunk::draw(double x1, double y1, Color c1, double x2, double y2, Color c2,
|
47
|
-
double x3, double y3, Color c3, double x4, double y4, Color c4, ZPos z,
|
47
|
+
double x3, double y3, Color c3, double x4, double y4, Color c4, ZPos z, BlendMode mode) const
|
48
48
|
{
|
49
49
|
DrawOp op;
|
50
50
|
op.render_state.texture = texture;
|
data/src/TexChunk.hpp
CHANGED
@@ -29,7 +29,7 @@ public:
|
|
29
29
|
double x2, double y2, Color c2,
|
30
30
|
double x3, double y3, Color c3,
|
31
31
|
double x4, double y4, Color c4,
|
32
|
-
ZPos z,
|
32
|
+
ZPos z, BlendMode mode) const override;
|
33
33
|
|
34
34
|
const GLTexInfo* gl_tex_info() const override { return &info; }
|
35
35
|
|
data/src/TrueTypeFontApple.cpp
CHANGED
@@ -24,8 +24,8 @@ const unsigned char* Gosu::ttf_data_by_name(const string& font_name, unsigned fo
|
|
24
24
|
log("Trying to find a font named '%s', flags=%x", font_name.c_str(), font_flags);
|
25
25
|
|
26
26
|
unsigned symbolic_traits = 0;
|
27
|
-
if (font_flags & Gosu::FF_BOLD) symbolic_traits |=
|
28
|
-
if (font_flags & Gosu::FF_ITALIC) symbolic_traits |=
|
27
|
+
if (font_flags & Gosu::FF_BOLD) symbolic_traits |= kCTFontTraitBold;
|
28
|
+
if (font_flags & Gosu::FF_ITALIC) symbolic_traits |= kCTFontTraitItalic;
|
29
29
|
|
30
30
|
NSDictionary *attributes = @{
|
31
31
|
((__bridge id) kCTFontNameAttribute): [NSString stringWithUTF8String:font_name.c_str()],
|
@@ -39,6 +39,14 @@ const unsigned char* Gosu::ttf_data_by_name(const string& font_name, unsigned fo
|
|
39
39
|
if (descriptor) {
|
40
40
|
CTFontRef font = CTFontCreateWithFontDescriptorAndOptions(descriptor, 20, nullptr, 0);
|
41
41
|
if (font) {
|
42
|
+
if ((CTFontGetSymbolicTraits(font) & symbolic_traits) != symbolic_traits) {
|
43
|
+
// For some reason the initial call to CTFontCreateWithFontDescriptorAndOptions does
|
44
|
+
// not respect the requested font traits. Explicitly requesting the traits again
|
45
|
+
// seems to help. Tested on macOS 11.2.2.
|
46
|
+
CTFontRef correct_font = CTFontCreateCopyWithSymbolicTraits(font, 0.0, nullptr, symbolic_traits, symbolic_traits);
|
47
|
+
CFRelease(font);
|
48
|
+
font = correct_font;
|
49
|
+
}
|
42
50
|
NSURL *url = CFBridgingRelease(CTFontCopyAttribute(font, kCTFontURLAttribute));
|
43
51
|
if (url && url.fileSystemRepresentation) {
|
44
52
|
log("Loading file '%s'", url.fileSystemRepresentation);
|
data/src/Utility.cpp
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
#include <Gosu/Utility.hpp>
|
2
|
-
#include <Gosu/Platform.hpp>
|
3
2
|
|
3
|
+
#include <SDL.h>
|
4
4
|
#include <utf8proc.h>
|
5
5
|
|
6
6
|
#include <cstring>
|
7
|
+
#include <memory>
|
7
8
|
#include <stdexcept>
|
8
|
-
using namespace std;
|
9
9
|
|
10
|
-
u32string Gosu::utf8_to_composed_utc4(const string& utf8)
|
10
|
+
std::u32string Gosu::utf8_to_composed_utc4(const std::string& utf8)
|
11
11
|
{
|
12
|
-
u32string utc4;
|
12
|
+
std::u32string utc4;
|
13
13
|
utc4.reserve(utf8.size());
|
14
|
-
|
15
|
-
auto* current_byte = reinterpret_cast<const utf8proc_uint8_t*>(utf8.data());
|
14
|
+
|
15
|
+
const auto* current_byte = reinterpret_cast<const utf8proc_uint8_t*>(utf8.data());
|
16
16
|
auto remaining_length = utf8.length();
|
17
|
-
|
17
|
+
|
18
18
|
// First convert from UTF-8 to UTC-4.
|
19
19
|
utf8proc_int32_t codepoint;
|
20
20
|
while (remaining_length) {
|
@@ -30,35 +30,35 @@ u32string Gosu::utf8_to_composed_utc4(const string& utf8)
|
|
30
30
|
remaining_length -= bytes_read;
|
31
31
|
}
|
32
32
|
}
|
33
|
-
|
33
|
+
|
34
34
|
// Now compose characters in-place.
|
35
|
-
auto utc4_data = reinterpret_cast<
|
36
|
-
// Note that this const_cast will not be necessary anymore in C++17.
|
37
|
-
auto writable_utc4_data = const_cast<utf8proc_int32_t*>(utc4_data);
|
35
|
+
auto* utc4_data = reinterpret_cast<utf8proc_int32_t*>(utc4.data());
|
38
36
|
auto options = static_cast<utf8proc_option_t>(UTF8PROC_NLF2LF | UTF8PROC_COMPOSE);
|
39
|
-
auto new_length = utf8proc_normalize_utf32(
|
37
|
+
auto new_length = utf8proc_normalize_utf32(utc4_data, utc4.length(), options);
|
40
38
|
if (new_length < 0) {
|
41
|
-
throw runtime_error
|
39
|
+
throw std::runtime_error{"Could not normalize '" + utf8 +
|
40
|
+
"': " + utf8proc_errmsg(new_length)};
|
42
41
|
}
|
43
42
|
utc4.resize(new_length);
|
44
|
-
|
43
|
+
|
45
44
|
return utc4;
|
46
45
|
}
|
47
46
|
|
48
|
-
bool Gosu::has_extension(string_view filename, string_view extension)
|
47
|
+
bool Gosu::has_extension(std::string_view filename, std::string_view extension)
|
49
48
|
{
|
50
|
-
size_t ext_len = extension.length();
|
49
|
+
std::size_t ext_len = extension.length();
|
51
50
|
if (ext_len > filename.length()) {
|
52
51
|
return false;
|
53
52
|
}
|
54
53
|
|
55
|
-
string_view::iterator filename_iter = filename.end();
|
56
|
-
string_view::iterator ext_iter = extension.end();
|
54
|
+
std::string_view::iterator filename_iter = filename.end();
|
55
|
+
std::string_view::iterator ext_iter = extension.end();
|
57
56
|
while (ext_len--) {
|
58
57
|
--filename_iter;
|
59
58
|
--ext_iter;
|
60
59
|
|
61
|
-
if (tolower((
|
60
|
+
if (std::tolower(static_cast<int>(*filename_iter)) !=
|
61
|
+
std::tolower(static_cast<int>(*ext_iter))) {
|
62
62
|
return false;
|
63
63
|
}
|
64
64
|
}
|
@@ -66,10 +66,39 @@ bool Gosu::has_extension(string_view filename, string_view extension)
|
|
66
66
|
return true;
|
67
67
|
}
|
68
68
|
|
69
|
-
#if
|
70
|
-
string Gosu::
|
69
|
+
#if SDL_VERSION_ATLEAST(2, 0, 14)
|
70
|
+
std::vector<std::string> Gosu::user_languages()
|
71
|
+
{
|
72
|
+
std::vector<std::string> user_languages;
|
73
|
+
|
74
|
+
std::unique_ptr<SDL_Locale, decltype(SDL_free)*> locales{SDL_GetPreferredLocales(), SDL_free};
|
75
|
+
if (!locales) return user_languages;
|
76
|
+
|
77
|
+
for (const SDL_Locale* locale = locales.get(); locale->language != nullptr; ++locale) {
|
78
|
+
std::string language = locale->language;
|
79
|
+
if (locale->country) {
|
80
|
+
language += "_";
|
81
|
+
language += locale->country;
|
82
|
+
}
|
83
|
+
user_languages.emplace_back(std::move(language));
|
84
|
+
}
|
85
|
+
|
86
|
+
return user_languages;
|
87
|
+
}
|
88
|
+
#else
|
89
|
+
#include <cstdlib>
|
90
|
+
#include <regex>
|
91
|
+
|
92
|
+
std::vector<std::string> Gosu::user_languages()
|
71
93
|
{
|
72
|
-
const
|
73
|
-
|
94
|
+
static const std::regex language_regex{"[a-z]{2}_[A-Z]{2}([^A-Z].*)?"};
|
95
|
+
|
96
|
+
const char* locale = std::getenv("LANG");
|
97
|
+
|
98
|
+
if (locale && std::regex_match(locale, language_regex)) {
|
99
|
+
return {std::string{locale, locale + 5}};
|
100
|
+
}
|
101
|
+
|
102
|
+
return {};
|
74
103
|
}
|
75
104
|
#endif
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gosu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Raschke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2
|
14
14
|
2D game development library.
|
@@ -286,8 +286,6 @@ files:
|
|
286
286
|
- src/TrueTypeFontUnix.cpp
|
287
287
|
- src/TrueTypeFontWin.cpp
|
288
288
|
- src/Utility.cpp
|
289
|
-
- src/UtilityApple.cpp
|
290
|
-
- src/UtilityWin.cpp
|
291
289
|
- src/Version.cpp
|
292
290
|
- src/WinUtility.cpp
|
293
291
|
- src/WinUtility.hpp
|
data/src/UtilityApple.cpp
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
#include <Gosu/Platform.hpp>
|
2
|
-
#if defined(GOSU_IS_MAC)
|
3
|
-
|
4
|
-
#import <Gosu/Utility.hpp>
|
5
|
-
#import <Foundation/Foundation.h>
|
6
|
-
using namespace std;
|
7
|
-
|
8
|
-
string Gosu::language()
|
9
|
-
{
|
10
|
-
@autoreleasepool {
|
11
|
-
NSString* language = [NSLocale preferredLanguages][0];
|
12
|
-
return language.UTF8String ?: "en";
|
13
|
-
}
|
14
|
-
}
|
15
|
-
|
16
|
-
#endif
|
data/src/UtilityWin.cpp
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
#include <Gosu/Platform.hpp>
|
2
|
-
#if defined(GOSU_IS_WIN)
|
3
|
-
|
4
|
-
#include <Gosu/Utility.hpp>
|
5
|
-
#include "WinUtility.hpp"
|
6
|
-
#include <windows.h>
|
7
|
-
using namespace std;
|
8
|
-
|
9
|
-
string Gosu::language()
|
10
|
-
{
|
11
|
-
LCID lcid = GetUserDefaultLCID();
|
12
|
-
char buffer[9];
|
13
|
-
winapi_check(GetLocaleInfoA(lcid, LOCALE_SISO639LANGNAME, buffer, sizeof buffer));
|
14
|
-
return buffer;
|
15
|
-
}
|
16
|
-
|
17
|
-
#endif
|