gosu 1.0.0.pre2 → 1.0.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 +1 -1
- data/lib/gosu/patches.rb +0 -14
- data/lib/gosu/preview.rb +1 -3
- data/src/RubyGosu.cxx +466 -2
- metadata +3 -4
- data/lib/gosu/zen.rb +0 -89
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c9b393a63015707256dca78e9079b01dbc004d85b89c6bf68d021085f65a905
|
4
|
+
data.tar.gz: 60396892082e2fa81a7ab03f8662fe00630745f84b1e0a47e9abcd7bed5c7692
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb477140be8f524abfeb3694277bd815690c4c0ae432ac011956a43640f49309aca3c0a9b3619c17cc83461ae5c9c9b6fb1bfa155e72f1be19b4f166e23b3022
|
7
|
+
data.tar.gz: 24707e94f193a4fe949a447a01b732057860eb271a8a0d61ba6c45a0b1b5da8c2894ffc65d3ff3fe2b97fe7e8b9c5b38b9995d4d443d014fe6059f520f900393
|
data/include/Gosu/Font.hpp
CHANGED
@@ -40,7 +40,7 @@ namespace Gosu
|
|
40
40
|
|
41
41
|
//! Returns the width, in pixels, the given text would occupy if drawn.
|
42
42
|
double text_width(const std::string& text) const;
|
43
|
-
//! Returns the width, in pixels, the given
|
43
|
+
//! Returns the width, in pixels, the given markup would occupy if drawn.
|
44
44
|
double markup_width(const std::string& markup) const;
|
45
45
|
|
46
46
|
//! Draws text so the top left corner of the text is at (x; y).
|
data/lib/gosu/patches.rb
CHANGED
@@ -18,26 +18,12 @@ class ::Numeric
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
class Gosu::Font
|
22
|
-
# draw_text will stop parsing markup in Gosu 1.0.
|
23
|
-
alias_method :draw_text, :draw_markup
|
24
|
-
# draw_text_rel will stop parsing markup in Gosu 1.0.
|
25
|
-
alias_method :draw_text_rel, :draw_markup_rel
|
26
|
-
# text_width will stop parsing markup in Gosu 1.0.
|
27
|
-
alias_method :text_width, :markup_width
|
28
|
-
end
|
29
|
-
|
30
21
|
class Gosu::Image
|
31
22
|
BlobHelper = Struct.new(:columns, :rows, :to_blob)
|
32
23
|
|
33
24
|
def self.from_blob(width, height, rgba = "\0\0\0\0" * (width * height))
|
34
25
|
self.new(BlobHelper.new(width, height, rgba))
|
35
26
|
end
|
36
|
-
|
37
|
-
# from_markup will stop parsing markup in Gosu 1.0.
|
38
|
-
def self.from_markup(*args)
|
39
|
-
self.from_text(*args)
|
40
|
-
end
|
41
27
|
end
|
42
28
|
|
43
29
|
# Color constants.
|
data/lib/gosu/preview.rb
CHANGED
@@ -3,8 +3,6 @@ warn "gosu/preview.rb has been removed in Gosu 0.9.0, and Gosu itself \n" +
|
|
3
3
|
"Notable differences:\n" +
|
4
4
|
"• no global $window variable\n" +
|
5
5
|
"• no global Gosu.mouse_x and Gosu.mouse_y functions\n" +
|
6
|
-
"• Image#initialize et.al. use an options hash now
|
7
|
-
"If you cannot update your code base right now, you should require \n" +
|
8
|
-
"Gosu 0.8.x in your Gemfile: gem 'gosu', '~> 0.8.0'";
|
6
|
+
"• Image#initialize et.al. use an options hash now";
|
9
7
|
|
10
8
|
require 'gosu'
|
data/src/RubyGosu.cxx
CHANGED
@@ -2856,11 +2856,19 @@ SWIGINTERN Gosu::Font *new_Gosu_Font__SWIG_1(int height,VALUE options=0){
|
|
2856
2856
|
|
2857
2857
|
return new Gosu::Font(height, font_name, font_flags);
|
2858
2858
|
}
|
2859
|
+
SWIGINTERN double Gosu_Font_text_width(Gosu::Font *self,std::string const &markup,double scale_x=1.0){
|
2860
|
+
static bool issued_warning = false;
|
2861
|
+
if (scale_x != 1.0 && !issued_warning) {
|
2862
|
+
issued_warning = true;
|
2863
|
+
rb_warn("The second argument to Gosu::Font#text_width is deprecated, multiply the result instead");
|
2864
|
+
}
|
2865
|
+
return self->text_width(markup) * scale_x;
|
2866
|
+
}
|
2859
2867
|
SWIGINTERN double Gosu_Font_markup_width(Gosu::Font *self,std::string const &markup,double scale_x=1.0){
|
2860
2868
|
static bool issued_warning = false;
|
2861
2869
|
if (scale_x != 1.0 && !issued_warning) {
|
2862
2870
|
issued_warning = true;
|
2863
|
-
rb_warn("The second argument to Font#markup_width
|
2871
|
+
rb_warn("The second argument to Gosu::Font#markup_width is deprecated, multiply the result instead");
|
2864
2872
|
}
|
2865
2873
|
return self->markup_width(markup) * scale_x;
|
2866
2874
|
}
|
@@ -2926,7 +2934,81 @@ SWIGINTERN Gosu::Image *Gosu_Image_subimage(Gosu::Image *self,int x,int y,int w,
|
|
2926
2934
|
std::unique_ptr<Gosu::ImageData> image_data = self->data().subimage(x, y, w, h);
|
2927
2935
|
return image_data.get() ? new Gosu::Image(std::move(image_data)) : nullptr;
|
2928
2936
|
}
|
2929
|
-
SWIGINTERN Gosu::Image *Gosu_Image_from_text(std::string const &
|
2937
|
+
SWIGINTERN Gosu::Image *Gosu_Image_from_text(std::string const &text,double font_height,VALUE options=0){
|
2938
|
+
std::string font = Gosu::default_font_name();
|
2939
|
+
int width = -1;
|
2940
|
+
double spacing = 0;
|
2941
|
+
Gosu::Alignment align = Gosu::AL_LEFT;
|
2942
|
+
unsigned image_flags = 0;
|
2943
|
+
unsigned font_flags = 0;
|
2944
|
+
|
2945
|
+
if (options) {
|
2946
|
+
Check_Type(options, T_HASH);
|
2947
|
+
|
2948
|
+
VALUE keys = rb_funcall(options, rb_intern("keys"), 0, NULL);
|
2949
|
+
int keys_size = NUM2INT(rb_funcall(keys, rb_intern("size"), 0, NULL));
|
2950
|
+
|
2951
|
+
for (int i = 0; i < keys_size; ++i) {
|
2952
|
+
VALUE key = rb_ary_entry(keys, i);
|
2953
|
+
const char* key_string = Gosu::cstr_from_symbol(key);
|
2954
|
+
|
2955
|
+
VALUE value = rb_hash_aref(options, key);
|
2956
|
+
if (!strcmp(key_string, "font")) {
|
2957
|
+
font = StringValuePtr(value);
|
2958
|
+
}
|
2959
|
+
else if (!strcmp(key_string, "bold")) {
|
2960
|
+
if (RTEST(value)) font_flags |= Gosu::FF_BOLD;
|
2961
|
+
}
|
2962
|
+
else if (!strcmp(key_string, "italic")) {
|
2963
|
+
if (RTEST(value)) font_flags |= Gosu::FF_ITALIC;
|
2964
|
+
}
|
2965
|
+
else if (!strcmp(key_string, "underline")) {
|
2966
|
+
if (RTEST(value)) font_flags |= Gosu::FF_UNDERLINE;
|
2967
|
+
}
|
2968
|
+
else if (!strcmp(key_string, "align")) {
|
2969
|
+
const char* cstr = Gosu::cstr_from_symbol(value);
|
2970
|
+
|
2971
|
+
if (!strcmp(cstr, "left")) {
|
2972
|
+
align = Gosu::AL_LEFT;
|
2973
|
+
}
|
2974
|
+
else if (!strcmp(cstr, "center")) {
|
2975
|
+
align = Gosu::AL_CENTER;
|
2976
|
+
}
|
2977
|
+
else if (!strcmp(cstr, "right")) {
|
2978
|
+
align = Gosu::AL_RIGHT;
|
2979
|
+
}
|
2980
|
+
else if (!strcmp(cstr, "justify")) {
|
2981
|
+
align = Gosu::AL_JUSTIFY;
|
2982
|
+
}
|
2983
|
+
else {
|
2984
|
+
rb_raise(rb_eArgError, "Argument passed to :align must be a valid text "
|
2985
|
+
"alignment (:left, :center, :right, :justify)");
|
2986
|
+
}
|
2987
|
+
}
|
2988
|
+
else if (!strcmp(key_string, "width")) {
|
2989
|
+
width = NUM2INT(value);
|
2990
|
+
}
|
2991
|
+
else if (!strcmp(key_string, "spacing")) {
|
2992
|
+
spacing = NUM2DBL(value);
|
2993
|
+
}
|
2994
|
+
else if (!strcmp(key_string, "retro")) {
|
2995
|
+
if (RTEST(value)) image_flags |= Gosu::IF_RETRO;
|
2996
|
+
}
|
2997
|
+
else {
|
2998
|
+
static bool issued_warning = false;
|
2999
|
+
if (!issued_warning) {
|
3000
|
+
issued_warning = true;
|
3001
|
+
rb_warn("Unknown keyword argument: :%s", key_string);
|
3002
|
+
}
|
3003
|
+
}
|
3004
|
+
}
|
3005
|
+
}
|
3006
|
+
|
3007
|
+
Gosu::Bitmap bitmap = Gosu::layout_text(text, font, font_height, spacing, width,
|
3008
|
+
align, font_flags);
|
3009
|
+
return new Gosu::Image(bitmap, image_flags);
|
3010
|
+
}
|
3011
|
+
SWIGINTERN Gosu::Image *Gosu_Image_from_markup(std::string const &markup,double font_height,VALUE options=0){
|
2930
3012
|
std::string font = Gosu::default_font_name();
|
2931
3013
|
int width = -1;
|
2932
3014
|
double spacing = 0;
|
@@ -5281,6 +5363,134 @@ fail:
|
|
5281
5363
|
}
|
5282
5364
|
|
5283
5365
|
|
5366
|
+
SWIGINTERN VALUE
|
5367
|
+
_wrap_Font_draw_text(int argc, VALUE *argv, VALUE self) {
|
5368
|
+
Gosu::Font *arg1 = (Gosu::Font *) 0 ;
|
5369
|
+
std::string *arg2 = 0 ;
|
5370
|
+
double arg3 ;
|
5371
|
+
double arg4 ;
|
5372
|
+
Gosu::ZPos arg5 ;
|
5373
|
+
double arg6 = (double) 1 ;
|
5374
|
+
double arg7 = (double) 1 ;
|
5375
|
+
Gosu::Color arg8 = (Gosu::Color) Gosu::Color::WHITE ;
|
5376
|
+
Gosu::AlphaMode arg9 = (Gosu::AlphaMode) Gosu::AM_DEFAULT ;
|
5377
|
+
void *argp1 = 0 ;
|
5378
|
+
int res1 = 0 ;
|
5379
|
+
int res2 = SWIG_OLDOBJ ;
|
5380
|
+
double val3 ;
|
5381
|
+
int ecode3 = 0 ;
|
5382
|
+
double val4 ;
|
5383
|
+
int ecode4 = 0 ;
|
5384
|
+
double val5 ;
|
5385
|
+
int ecode5 = 0 ;
|
5386
|
+
double val6 ;
|
5387
|
+
int ecode6 = 0 ;
|
5388
|
+
double val7 ;
|
5389
|
+
int ecode7 = 0 ;
|
5390
|
+
|
5391
|
+
if ((argc < 4) || (argc > 8)) {
|
5392
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail;
|
5393
|
+
}
|
5394
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
|
5395
|
+
if (!SWIG_IsOK(res1)) {
|
5396
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font const *","draw_text", 1, self ));
|
5397
|
+
}
|
5398
|
+
arg1 = reinterpret_cast< Gosu::Font * >(argp1);
|
5399
|
+
{
|
5400
|
+
std::string *ptr = (std::string *)0;
|
5401
|
+
res2 = SWIG_AsPtr_std_string(argv[0], &ptr);
|
5402
|
+
if (!SWIG_IsOK(res2)) {
|
5403
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "std::string const &","draw_text", 2, argv[0] ));
|
5404
|
+
}
|
5405
|
+
if (!ptr) {
|
5406
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","draw_text", 2, argv[0]));
|
5407
|
+
}
|
5408
|
+
arg2 = ptr;
|
5409
|
+
}
|
5410
|
+
ecode3 = SWIG_AsVal_double(argv[1], &val3);
|
5411
|
+
if (!SWIG_IsOK(ecode3)) {
|
5412
|
+
SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","draw_text", 3, argv[1] ));
|
5413
|
+
}
|
5414
|
+
arg3 = static_cast< double >(val3);
|
5415
|
+
ecode4 = SWIG_AsVal_double(argv[2], &val4);
|
5416
|
+
if (!SWIG_IsOK(ecode4)) {
|
5417
|
+
SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","draw_text", 4, argv[2] ));
|
5418
|
+
}
|
5419
|
+
arg4 = static_cast< double >(val4);
|
5420
|
+
ecode5 = SWIG_AsVal_double(argv[3], &val5);
|
5421
|
+
if (!SWIG_IsOK(ecode5)) {
|
5422
|
+
SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "Gosu::ZPos","draw_text", 5, argv[3] ));
|
5423
|
+
}
|
5424
|
+
arg5 = static_cast< Gosu::ZPos >(val5);
|
5425
|
+
if (argc > 4) {
|
5426
|
+
ecode6 = SWIG_AsVal_double(argv[4], &val6);
|
5427
|
+
if (!SWIG_IsOK(ecode6)) {
|
5428
|
+
SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","draw_text", 6, argv[4] ));
|
5429
|
+
}
|
5430
|
+
arg6 = static_cast< double >(val6);
|
5431
|
+
}
|
5432
|
+
if (argc > 5) {
|
5433
|
+
ecode7 = SWIG_AsVal_double(argv[5], &val7);
|
5434
|
+
if (!SWIG_IsOK(ecode7)) {
|
5435
|
+
SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "double","draw_text", 7, argv[5] ));
|
5436
|
+
}
|
5437
|
+
arg7 = static_cast< double >(val7);
|
5438
|
+
}
|
5439
|
+
if (argc > 6) {
|
5440
|
+
{
|
5441
|
+
if (TYPE(argv[6]) == T_FIXNUM || TYPE(argv[6]) == T_BIGNUM) {
|
5442
|
+
arg8 = Gosu::Color(NUM2ULONG(argv[6]));
|
5443
|
+
}
|
5444
|
+
else {
|
5445
|
+
void* ptr;
|
5446
|
+
int res = SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_Gosu__Color, 0);
|
5447
|
+
if (!SWIG_IsOK(res)) {
|
5448
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid value");
|
5449
|
+
}
|
5450
|
+
else if (ptr == nullptr) {
|
5451
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid null reference of type Gosu::Color");
|
5452
|
+
}
|
5453
|
+
else {
|
5454
|
+
arg8 = *reinterpret_cast<Gosu::Color*>(ptr);
|
5455
|
+
}
|
5456
|
+
}
|
5457
|
+
}
|
5458
|
+
}
|
5459
|
+
if (argc > 7) {
|
5460
|
+
{
|
5461
|
+
const char* cstr = Gosu::cstr_from_symbol(argv[7]);
|
5462
|
+
|
5463
|
+
if (!strcmp(cstr, "default")) {
|
5464
|
+
arg9 = Gosu::AM_DEFAULT;
|
5465
|
+
}
|
5466
|
+
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
5467
|
+
arg9 = Gosu::AM_ADD;
|
5468
|
+
}
|
5469
|
+
else if (!strcmp(cstr, "multiply")) {
|
5470
|
+
arg9 = Gosu::AM_MULTIPLY;
|
5471
|
+
}
|
5472
|
+
else {
|
5473
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid alpha mode (expected one of :default, :add, "
|
5474
|
+
":multiply)");
|
5475
|
+
}
|
5476
|
+
}
|
5477
|
+
}
|
5478
|
+
{
|
5479
|
+
try {
|
5480
|
+
((Gosu::Font const *)arg1)->draw_text((std::string const &)*arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
|
5481
|
+
}
|
5482
|
+
catch (const std::exception& e) {
|
5483
|
+
SWIG_exception(SWIG_RuntimeError, e.what());
|
5484
|
+
}
|
5485
|
+
}
|
5486
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
5487
|
+
return Qnil;
|
5488
|
+
fail:
|
5489
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
5490
|
+
return Qnil;
|
5491
|
+
}
|
5492
|
+
|
5493
|
+
|
5284
5494
|
SWIGINTERN VALUE
|
5285
5495
|
_wrap_Font_draw_markup(int argc, VALUE *argv, VALUE self) {
|
5286
5496
|
Gosu::Font *arg1 = (Gosu::Font *) 0 ;
|
@@ -5409,6 +5619,150 @@ fail:
|
|
5409
5619
|
}
|
5410
5620
|
|
5411
5621
|
|
5622
|
+
SWIGINTERN VALUE
|
5623
|
+
_wrap_Font_draw_text_rel(int argc, VALUE *argv, VALUE self) {
|
5624
|
+
Gosu::Font *arg1 = (Gosu::Font *) 0 ;
|
5625
|
+
std::string *arg2 = 0 ;
|
5626
|
+
double arg3 ;
|
5627
|
+
double arg4 ;
|
5628
|
+
Gosu::ZPos arg5 ;
|
5629
|
+
double arg6 ;
|
5630
|
+
double arg7 ;
|
5631
|
+
double arg8 = (double) 1 ;
|
5632
|
+
double arg9 = (double) 1 ;
|
5633
|
+
Gosu::Color arg10 = (Gosu::Color) Gosu::Color::WHITE ;
|
5634
|
+
Gosu::AlphaMode arg11 = (Gosu::AlphaMode) Gosu::AM_DEFAULT ;
|
5635
|
+
void *argp1 = 0 ;
|
5636
|
+
int res1 = 0 ;
|
5637
|
+
int res2 = SWIG_OLDOBJ ;
|
5638
|
+
double val3 ;
|
5639
|
+
int ecode3 = 0 ;
|
5640
|
+
double val4 ;
|
5641
|
+
int ecode4 = 0 ;
|
5642
|
+
double val5 ;
|
5643
|
+
int ecode5 = 0 ;
|
5644
|
+
double val6 ;
|
5645
|
+
int ecode6 = 0 ;
|
5646
|
+
double val7 ;
|
5647
|
+
int ecode7 = 0 ;
|
5648
|
+
double val8 ;
|
5649
|
+
int ecode8 = 0 ;
|
5650
|
+
double val9 ;
|
5651
|
+
int ecode9 = 0 ;
|
5652
|
+
|
5653
|
+
if ((argc < 6) || (argc > 10)) {
|
5654
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 6)",argc); SWIG_fail;
|
5655
|
+
}
|
5656
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
|
5657
|
+
if (!SWIG_IsOK(res1)) {
|
5658
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font const *","draw_text_rel", 1, self ));
|
5659
|
+
}
|
5660
|
+
arg1 = reinterpret_cast< Gosu::Font * >(argp1);
|
5661
|
+
{
|
5662
|
+
std::string *ptr = (std::string *)0;
|
5663
|
+
res2 = SWIG_AsPtr_std_string(argv[0], &ptr);
|
5664
|
+
if (!SWIG_IsOK(res2)) {
|
5665
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "std::string const &","draw_text_rel", 2, argv[0] ));
|
5666
|
+
}
|
5667
|
+
if (!ptr) {
|
5668
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","draw_text_rel", 2, argv[0]));
|
5669
|
+
}
|
5670
|
+
arg2 = ptr;
|
5671
|
+
}
|
5672
|
+
ecode3 = SWIG_AsVal_double(argv[1], &val3);
|
5673
|
+
if (!SWIG_IsOK(ecode3)) {
|
5674
|
+
SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","draw_text_rel", 3, argv[1] ));
|
5675
|
+
}
|
5676
|
+
arg3 = static_cast< double >(val3);
|
5677
|
+
ecode4 = SWIG_AsVal_double(argv[2], &val4);
|
5678
|
+
if (!SWIG_IsOK(ecode4)) {
|
5679
|
+
SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "double","draw_text_rel", 4, argv[2] ));
|
5680
|
+
}
|
5681
|
+
arg4 = static_cast< double >(val4);
|
5682
|
+
ecode5 = SWIG_AsVal_double(argv[3], &val5);
|
5683
|
+
if (!SWIG_IsOK(ecode5)) {
|
5684
|
+
SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "Gosu::ZPos","draw_text_rel", 5, argv[3] ));
|
5685
|
+
}
|
5686
|
+
arg5 = static_cast< Gosu::ZPos >(val5);
|
5687
|
+
ecode6 = SWIG_AsVal_double(argv[4], &val6);
|
5688
|
+
if (!SWIG_IsOK(ecode6)) {
|
5689
|
+
SWIG_exception_fail(SWIG_ArgError(ecode6), Ruby_Format_TypeError( "", "double","draw_text_rel", 6, argv[4] ));
|
5690
|
+
}
|
5691
|
+
arg6 = static_cast< double >(val6);
|
5692
|
+
ecode7 = SWIG_AsVal_double(argv[5], &val7);
|
5693
|
+
if (!SWIG_IsOK(ecode7)) {
|
5694
|
+
SWIG_exception_fail(SWIG_ArgError(ecode7), Ruby_Format_TypeError( "", "double","draw_text_rel", 7, argv[5] ));
|
5695
|
+
}
|
5696
|
+
arg7 = static_cast< double >(val7);
|
5697
|
+
if (argc > 6) {
|
5698
|
+
ecode8 = SWIG_AsVal_double(argv[6], &val8);
|
5699
|
+
if (!SWIG_IsOK(ecode8)) {
|
5700
|
+
SWIG_exception_fail(SWIG_ArgError(ecode8), Ruby_Format_TypeError( "", "double","draw_text_rel", 8, argv[6] ));
|
5701
|
+
}
|
5702
|
+
arg8 = static_cast< double >(val8);
|
5703
|
+
}
|
5704
|
+
if (argc > 7) {
|
5705
|
+
ecode9 = SWIG_AsVal_double(argv[7], &val9);
|
5706
|
+
if (!SWIG_IsOK(ecode9)) {
|
5707
|
+
SWIG_exception_fail(SWIG_ArgError(ecode9), Ruby_Format_TypeError( "", "double","draw_text_rel", 9, argv[7] ));
|
5708
|
+
}
|
5709
|
+
arg9 = static_cast< double >(val9);
|
5710
|
+
}
|
5711
|
+
if (argc > 8) {
|
5712
|
+
{
|
5713
|
+
if (TYPE(argv[8]) == T_FIXNUM || TYPE(argv[8]) == T_BIGNUM) {
|
5714
|
+
arg10 = Gosu::Color(NUM2ULONG(argv[8]));
|
5715
|
+
}
|
5716
|
+
else {
|
5717
|
+
void* ptr;
|
5718
|
+
int res = SWIG_ConvertPtr(argv[8], &ptr, SWIGTYPE_p_Gosu__Color, 0);
|
5719
|
+
if (!SWIG_IsOK(res)) {
|
5720
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid value");
|
5721
|
+
}
|
5722
|
+
else if (ptr == nullptr) {
|
5723
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid null reference of type Gosu::Color");
|
5724
|
+
}
|
5725
|
+
else {
|
5726
|
+
arg10 = *reinterpret_cast<Gosu::Color*>(ptr);
|
5727
|
+
}
|
5728
|
+
}
|
5729
|
+
}
|
5730
|
+
}
|
5731
|
+
if (argc > 9) {
|
5732
|
+
{
|
5733
|
+
const char* cstr = Gosu::cstr_from_symbol(argv[9]);
|
5734
|
+
|
5735
|
+
if (!strcmp(cstr, "default")) {
|
5736
|
+
arg11 = Gosu::AM_DEFAULT;
|
5737
|
+
}
|
5738
|
+
else if (!strcmp(cstr, "add") || !strcmp(cstr, "additive")) {
|
5739
|
+
arg11 = Gosu::AM_ADD;
|
5740
|
+
}
|
5741
|
+
else if (!strcmp(cstr, "multiply")) {
|
5742
|
+
arg11 = Gosu::AM_MULTIPLY;
|
5743
|
+
}
|
5744
|
+
else {
|
5745
|
+
SWIG_exception_fail(SWIG_ValueError, "invalid alpha mode (expected one of :default, :add, "
|
5746
|
+
":multiply)");
|
5747
|
+
}
|
5748
|
+
}
|
5749
|
+
}
|
5750
|
+
{
|
5751
|
+
try {
|
5752
|
+
((Gosu::Font const *)arg1)->draw_text_rel((std::string const &)*arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
|
5753
|
+
}
|
5754
|
+
catch (const std::exception& e) {
|
5755
|
+
SWIG_exception(SWIG_RuntimeError, e.what());
|
5756
|
+
}
|
5757
|
+
}
|
5758
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
5759
|
+
return Qnil;
|
5760
|
+
fail:
|
5761
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
5762
|
+
return Qnil;
|
5763
|
+
}
|
5764
|
+
|
5765
|
+
|
5412
5766
|
SWIGINTERN VALUE
|
5413
5767
|
_wrap_Font_draw_markup_rel(int argc, VALUE *argv, VALUE self) {
|
5414
5768
|
Gosu::Font *arg1 = (Gosu::Font *) 0 ;
|
@@ -5766,6 +6120,62 @@ fail:
|
|
5766
6120
|
}
|
5767
6121
|
|
5768
6122
|
|
6123
|
+
SWIGINTERN VALUE
|
6124
|
+
_wrap_Font_text_width(int argc, VALUE *argv, VALUE self) {
|
6125
|
+
Gosu::Font *arg1 = (Gosu::Font *) 0 ;
|
6126
|
+
std::string *arg2 = 0 ;
|
6127
|
+
double arg3 = (double) 1.0 ;
|
6128
|
+
void *argp1 = 0 ;
|
6129
|
+
int res1 = 0 ;
|
6130
|
+
int res2 = SWIG_OLDOBJ ;
|
6131
|
+
double val3 ;
|
6132
|
+
int ecode3 = 0 ;
|
6133
|
+
double result;
|
6134
|
+
VALUE vresult = Qnil;
|
6135
|
+
|
6136
|
+
if ((argc < 1) || (argc > 2)) {
|
6137
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
6138
|
+
}
|
6139
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_Gosu__Font, 0 | 0 );
|
6140
|
+
if (!SWIG_IsOK(res1)) {
|
6141
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "Gosu::Font *","text_width", 1, self ));
|
6142
|
+
}
|
6143
|
+
arg1 = reinterpret_cast< Gosu::Font * >(argp1);
|
6144
|
+
{
|
6145
|
+
std::string *ptr = (std::string *)0;
|
6146
|
+
res2 = SWIG_AsPtr_std_string(argv[0], &ptr);
|
6147
|
+
if (!SWIG_IsOK(res2)) {
|
6148
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "std::string const &","text_width", 2, argv[0] ));
|
6149
|
+
}
|
6150
|
+
if (!ptr) {
|
6151
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","text_width", 2, argv[0]));
|
6152
|
+
}
|
6153
|
+
arg2 = ptr;
|
6154
|
+
}
|
6155
|
+
if (argc > 1) {
|
6156
|
+
ecode3 = SWIG_AsVal_double(argv[1], &val3);
|
6157
|
+
if (!SWIG_IsOK(ecode3)) {
|
6158
|
+
SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "double","text_width", 3, argv[1] ));
|
6159
|
+
}
|
6160
|
+
arg3 = static_cast< double >(val3);
|
6161
|
+
}
|
6162
|
+
{
|
6163
|
+
try {
|
6164
|
+
result = (double)Gosu_Font_text_width(arg1,(std::string const &)*arg2,arg3);
|
6165
|
+
}
|
6166
|
+
catch (const std::exception& e) {
|
6167
|
+
SWIG_exception(SWIG_RuntimeError, e.what());
|
6168
|
+
}
|
6169
|
+
}
|
6170
|
+
vresult = SWIG_From_double(static_cast< double >(result));
|
6171
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
6172
|
+
return vresult;
|
6173
|
+
fail:
|
6174
|
+
if (SWIG_IsNewObj(res2)) delete arg2;
|
6175
|
+
return Qnil;
|
6176
|
+
}
|
6177
|
+
|
6178
|
+
|
5769
6179
|
SWIGINTERN VALUE
|
5770
6180
|
_wrap_Font_markup_width(int argc, VALUE *argv, VALUE self) {
|
5771
6181
|
Gosu::Font *arg1 = (Gosu::Font *) 0 ;
|
@@ -7015,6 +7425,56 @@ fail:
|
|
7015
7425
|
}
|
7016
7426
|
|
7017
7427
|
|
7428
|
+
SWIGINTERN VALUE
|
7429
|
+
_wrap_Image_from_markup(int argc, VALUE *argv, VALUE self) {
|
7430
|
+
std::string *arg1 = 0 ;
|
7431
|
+
double arg2 ;
|
7432
|
+
VALUE arg3 = (VALUE) 0 ;
|
7433
|
+
int res1 = SWIG_OLDOBJ ;
|
7434
|
+
double val2 ;
|
7435
|
+
int ecode2 = 0 ;
|
7436
|
+
Gosu::Image *result = 0 ;
|
7437
|
+
VALUE vresult = Qnil;
|
7438
|
+
|
7439
|
+
if ((argc < 2) || (argc > 3)) {
|
7440
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
|
7441
|
+
}
|
7442
|
+
{
|
7443
|
+
std::string *ptr = (std::string *)0;
|
7444
|
+
res1 = SWIG_AsPtr_std_string(argv[0], &ptr);
|
7445
|
+
if (!SWIG_IsOK(res1)) {
|
7446
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "std::string const &","Gosu_Image_from_markup", 1, argv[0] ));
|
7447
|
+
}
|
7448
|
+
if (!ptr) {
|
7449
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "std::string const &","Gosu_Image_from_markup", 1, argv[0]));
|
7450
|
+
}
|
7451
|
+
arg1 = ptr;
|
7452
|
+
}
|
7453
|
+
ecode2 = SWIG_AsVal_double(argv[1], &val2);
|
7454
|
+
if (!SWIG_IsOK(ecode2)) {
|
7455
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","Gosu_Image_from_markup", 2, argv[1] ));
|
7456
|
+
}
|
7457
|
+
arg2 = static_cast< double >(val2);
|
7458
|
+
if (argc > 2) {
|
7459
|
+
arg3 = argv[2];
|
7460
|
+
}
|
7461
|
+
{
|
7462
|
+
try {
|
7463
|
+
result = (Gosu::Image *)Gosu_Image_from_markup((std::string const &)*arg1,arg2,arg3);
|
7464
|
+
}
|
7465
|
+
catch (const std::exception& e) {
|
7466
|
+
SWIG_exception(SWIG_RuntimeError, e.what());
|
7467
|
+
}
|
7468
|
+
}
|
7469
|
+
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Gosu__Image, SWIG_POINTER_OWN | 0 );
|
7470
|
+
if (SWIG_IsNewObj(res1)) delete arg1;
|
7471
|
+
return vresult;
|
7472
|
+
fail:
|
7473
|
+
if (SWIG_IsNewObj(res1)) delete arg1;
|
7474
|
+
return Qnil;
|
7475
|
+
}
|
7476
|
+
|
7477
|
+
|
7018
7478
|
SWIGINTERN VALUE
|
7019
7479
|
_wrap_Image_load_tiles__SWIG_0(int argc, VALUE *argv, VALUE self) {
|
7020
7480
|
VALUE arg1 = (VALUE) 0 ;
|
@@ -12024,9 +12484,12 @@ SWIGEXPORT void Init_gosu(void) {
|
|
12024
12484
|
rb_define_method(SwigClassFont.klass, "name", VALUEFUNC(_wrap_Font_name), -1);
|
12025
12485
|
rb_define_method(SwigClassFont.klass, "height", VALUEFUNC(_wrap_Font_height), -1);
|
12026
12486
|
rb_define_method(SwigClassFont.klass, "flags", VALUEFUNC(_wrap_Font_flags), -1);
|
12487
|
+
rb_define_method(SwigClassFont.klass, "draw_text", VALUEFUNC(_wrap_Font_draw_text), -1);
|
12027
12488
|
rb_define_method(SwigClassFont.klass, "draw_markup", VALUEFUNC(_wrap_Font_draw_markup), -1);
|
12489
|
+
rb_define_method(SwigClassFont.klass, "draw_text_rel", VALUEFUNC(_wrap_Font_draw_text_rel), -1);
|
12028
12490
|
rb_define_method(SwigClassFont.klass, "draw_markup_rel", VALUEFUNC(_wrap_Font_draw_markup_rel), -1);
|
12029
12491
|
rb_define_method(SwigClassFont.klass, "set_image", VALUEFUNC(_wrap_Font_set_image), -1);
|
12492
|
+
rb_define_method(SwigClassFont.klass, "text_width", VALUEFUNC(_wrap_Font_text_width), -1);
|
12030
12493
|
rb_define_method(SwigClassFont.klass, "markup_width", VALUEFUNC(_wrap_Font_markup_width), -1);
|
12031
12494
|
SwigClassFont.mark = 0;
|
12032
12495
|
SwigClassFont.destroy = (void (*)(void *)) free_Gosu_Font;
|
@@ -12063,6 +12526,7 @@ SWIGEXPORT void Init_gosu(void) {
|
|
12063
12526
|
rb_define_method(SwigClassImage.klass, "gl_tex_info", VALUEFUNC(_wrap_Image_gl_tex_info), -1);
|
12064
12527
|
rb_define_method(SwigClassImage.klass, "subimage", VALUEFUNC(_wrap_Image_subimage), -1);
|
12065
12528
|
rb_define_singleton_method(SwigClassImage.klass, "from_text", VALUEFUNC(_wrap_Image_from_text), -1);
|
12529
|
+
rb_define_singleton_method(SwigClassImage.klass, "from_markup", VALUEFUNC(_wrap_Image_from_markup), -1);
|
12066
12530
|
rb_define_singleton_method(SwigClassImage.klass, "load_tiles", VALUEFUNC(_wrap_Image_load_tiles), -1);
|
12067
12531
|
rb_define_method(SwigClassImage.klass, "to_blob", VALUEFUNC(_wrap_Image_to_blob), -1);
|
12068
12532
|
rb_define_method(SwigClassImage.klass, "columns", VALUEFUNC(_wrap_Image_columns), -1);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gosu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Raschke
|
@@ -225,7 +225,6 @@ files:
|
|
225
225
|
- lib/gosu/preview.rb
|
226
226
|
- lib/gosu/run.rb
|
227
227
|
- lib/gosu/swig_patches.rb
|
228
|
-
- lib/gosu/zen.rb
|
229
228
|
- lib64/OpenAL32.dll
|
230
229
|
- lib64/SDL2.dll
|
231
230
|
- rdoc/gosu.rb
|
@@ -333,9 +332,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
333
332
|
version: 2.5.0
|
334
333
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
335
334
|
requirements:
|
336
|
-
- - "
|
335
|
+
- - ">="
|
337
336
|
- !ruby/object:Gem::Version
|
338
|
-
version:
|
337
|
+
version: '0'
|
339
338
|
requirements: []
|
340
339
|
rubygems_version: 3.2.3
|
341
340
|
signing_key:
|
data/lib/gosu/zen.rb
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'gosu/preview'
|
2
|
-
|
3
|
-
module Gosu
|
4
|
-
module Zen
|
5
|
-
|
6
|
-
@@window_args = [800, 600, {}]
|
7
|
-
@@options = {}
|
8
|
-
|
9
|
-
def window width, height, options = nil
|
10
|
-
if $window.nil?
|
11
|
-
@@window_args[0] = width
|
12
|
-
@@window_args[1] = height
|
13
|
-
@@window_args[2].merge! options if options
|
14
|
-
else
|
15
|
-
raise "window size can only be set before the window is created"
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def set what, value
|
20
|
-
if $window.nil?
|
21
|
-
@@options[what.to_sym] = value
|
22
|
-
else
|
23
|
-
$window.send "#{what}=", value
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def init &body
|
28
|
-
ZenWindow.send :define_method, :init, &body
|
29
|
-
end
|
30
|
-
|
31
|
-
def button_down id = nil, &body
|
32
|
-
m = id ? "button_down_#{id}" : :button_down_other
|
33
|
-
ZenWindow.send :define_method, m, &body
|
34
|
-
end
|
35
|
-
|
36
|
-
def button_up id = nil, &body
|
37
|
-
m = id ? "button_up_#{id}" : :button_up_other
|
38
|
-
ZenWindow.send :define_method, m, &body
|
39
|
-
end
|
40
|
-
|
41
|
-
def update &body
|
42
|
-
ZenWindow.send :define_method, :update, &body
|
43
|
-
end
|
44
|
-
|
45
|
-
def draw &body
|
46
|
-
ZenWindow.send :define_method, :draw, &body
|
47
|
-
end
|
48
|
-
|
49
|
-
def run!
|
50
|
-
window = ZenWindow.new *@@window_args
|
51
|
-
@@options.each do |opt, value|
|
52
|
-
window.send "#{opt}=", value
|
53
|
-
end
|
54
|
-
window.show
|
55
|
-
end
|
56
|
-
|
57
|
-
def Zen.included mod
|
58
|
-
at_exit { run! unless $! }
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
class ZenWindow < Window
|
64
|
-
def initialize *args
|
65
|
-
super
|
66
|
-
init
|
67
|
-
end
|
68
|
-
|
69
|
-
def init
|
70
|
-
end
|
71
|
-
|
72
|
-
def button_down id
|
73
|
-
m = :"button_down_#{id}"
|
74
|
-
respond_to?(m) ? send(m) : button_down_other(id)
|
75
|
-
end
|
76
|
-
|
77
|
-
def button_up id
|
78
|
-
m = :"button_up_#{id}"
|
79
|
-
respond_to?(m) ? send(m) : button_up_other(id)
|
80
|
-
end
|
81
|
-
|
82
|
-
def button_down_other id
|
83
|
-
end
|
84
|
-
|
85
|
-
def button_up_other id
|
86
|
-
end
|
87
|
-
|
88
|
-
end
|
89
|
-
end
|