graphics 1.0.1 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +27 -0
- data/README.rdoc +3 -3
- data/Rakefile +2 -0
- data/examples/logo.rb +1 -1
- data/ext/sdl/sdl.c +78 -15
- data/graphics_setup.sh +30 -21
- data/lib/graphics/simulation.rb +8 -5
- data/lib/graphics.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +21 -21
- metadata.gz.sig +1 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ce1c375e7fe1c41126f6ef3b87becdb997368618ab2a9bfab749edd488c8377
|
4
|
+
data.tar.gz: 2e05e558f38241be80074f7f7ac0f2518efddcde1cd333d3cf772980bab825cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ebf2dbe2d78397410bfb00769266c797a3b5da1d14c667eefc8b3396c81142c68c20fdabdbe776c85f843f8f020374f5015faa1b72f6dee9b483ea4c3dd8610
|
7
|
+
data.tar.gz: 0faaf2725fa511e98d2ee3f02b7e1d52d157ba626b6e16404dc6b872f2b4793c55ae1f965bf2779108bc3a72b25a8bc95b0081d42cd65246d11ade89dee9a9c5
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,30 @@
|
|
1
|
+
=== 1.1.1 / 2024-08-27
|
2
|
+
|
3
|
+
* 1 minor enhancement:
|
4
|
+
|
5
|
+
* Add basic package manager detection to deps script. (havenwood)
|
6
|
+
|
7
|
+
* 3 bug fixes:
|
8
|
+
|
9
|
+
* Fixed home link in readme/gemspec.
|
10
|
+
* Minor fix in ext/sdl/sge/sge_surface.cpp.
|
11
|
+
* Reorder installation instructions & format as code. (havenwood)
|
12
|
+
|
13
|
+
=== 1.1.0 / 2023-07-26
|
14
|
+
|
15
|
+
* 3 minor enhancements:
|
16
|
+
|
17
|
+
* Added anti-aliasing to polygon. Want to add filling at some point.
|
18
|
+
* Requiring ruby 2.7+. Too many changes to ruby internals to try to maintain.
|
19
|
+
* polygon now takes an array of points.
|
20
|
+
|
21
|
+
* 4 bug fixes:
|
22
|
+
|
23
|
+
* Fixed a bunch of compiler warnings for ruby struct changes.
|
24
|
+
* Fixed font lookup on linux. (presidentbeef)
|
25
|
+
* Fixed graphics_setup.sh for obsolete build flag on sdl2_image. (NickSchimek)
|
26
|
+
* ruby 3.2: Fixed warning from ruby headers by explicitly removing alloc funcs.
|
27
|
+
|
1
28
|
=== 1.0.1 / 2018-11-14
|
2
29
|
|
3
30
|
* 2 bug fixes:
|
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= graphics
|
2
2
|
|
3
|
-
home :: https://github.com/
|
3
|
+
home :: https://github.com/seattlerb/graphics
|
4
4
|
rdoc :: http://docs.seattlerb.org/graphics
|
5
5
|
|
6
6
|
== DESCRIPTION:
|
@@ -86,8 +86,8 @@ up-to-date versions.
|
|
86
86
|
|
87
87
|
== INSTALL:
|
88
88
|
|
89
|
-
|
90
|
-
|
89
|
+
curl -L https://tinyurl.com/graphics-setup | bash
|
90
|
+
sudo gem install graphics
|
91
91
|
|
92
92
|
== LICENSE:
|
93
93
|
|
data/Rakefile
CHANGED
data/examples/logo.rb
CHANGED
data/ext/sdl/sdl.c
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
#include <sge/sge_collision.h>
|
9
9
|
#include <SDL_mixer.h>
|
10
10
|
|
11
|
-
// https://github.com/
|
11
|
+
// https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#c-struct-to-ruby-object-
|
12
12
|
|
13
13
|
#define DEFINE_CLASS_(name, string_name, mark, free, memsize) \
|
14
14
|
static void mark(void*); \
|
@@ -16,7 +16,15 @@
|
|
16
16
|
static VALUE c##name; \
|
17
17
|
static const rb_data_type_t _##name##_type = { \
|
18
18
|
string_name, \
|
19
|
-
{ mark,
|
19
|
+
{ mark, \
|
20
|
+
free, \
|
21
|
+
memsize, \
|
22
|
+
NULL, /* compact */ \
|
23
|
+
{ NULL } \
|
24
|
+
}, \
|
25
|
+
NULL, /* parent */ \
|
26
|
+
NULL, /* data */ \
|
27
|
+
0, /* flags */ \
|
20
28
|
}; \
|
21
29
|
static SDL_##name* ruby_to_##name(VALUE val) { \
|
22
30
|
SDL_##name* ret; \
|
@@ -30,7 +38,8 @@
|
|
30
38
|
_##name##_mark, _##name##_free, _##name##_memsize)
|
31
39
|
|
32
40
|
#define DEFINE_CLASS_0(name, string_name) \
|
33
|
-
DEFINE_CLASS_(name, string_name,
|
41
|
+
DEFINE_CLASS_(name, string_name, \
|
42
|
+
_##name##_mark, _##name##_free, NULL)
|
34
43
|
|
35
44
|
#define DEFINE_SELF(type, var, rb_var) \
|
36
45
|
SDL_##type* var = ruby_to_##type(rb_var)
|
@@ -321,7 +330,7 @@ static VALUE Key_s_press_p(VALUE mod, VALUE keycode_) {
|
|
321
330
|
SDL_Keycode keycode = NUM2INT(keycode_);
|
322
331
|
SDL_Scancode scancode = SDL_GetScancodeFromKey(keycode);
|
323
332
|
|
324
|
-
if (0 >= scancode || scancode >= key_state_len)
|
333
|
+
if (0 >= scancode || scancode >= (SDL_Scancode)key_state_len)
|
325
334
|
rb_raise(eSDLError, "%d (%d) is out of bounds: %d",
|
326
335
|
keycode, scancode, key_state_len);
|
327
336
|
|
@@ -508,6 +517,10 @@ typedef int (*f_rxyxyc)(SDL_Renderer*,
|
|
508
517
|
typedef int (*f_rxyrc)(SDL_Renderer*,
|
509
518
|
Sint16, Sint16, Sint16,
|
510
519
|
Uint32);
|
520
|
+
typedef int (*f_poly)(SDL_Renderer*,
|
521
|
+
const Sint16 *, const Sint16 *,
|
522
|
+
int,
|
523
|
+
Uint32);
|
511
524
|
|
512
525
|
// TODO: ? maybe ?
|
513
526
|
// int hlineColor (SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y, Uint32 color)
|
@@ -521,9 +534,7 @@ typedef int (*f_rxyrc)(SDL_Renderer*,
|
|
521
534
|
// int trigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
|
522
535
|
// int aatrigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
|
523
536
|
// int filledTrigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
|
524
|
-
// int
|
525
|
-
// int aapolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
|
526
|
-
// int filledPolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
|
537
|
+
// int filledPolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
|
527
538
|
// int texturedPolygon (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, SDL_Surface *texture, int texture_dx, int texture_dy)
|
528
539
|
// void gfxPrimitivesSetFont (const void *fontdata, Uint32 cw, Uint32 ch)
|
529
540
|
// void gfxPrimitivesSetFontRotation(Uint32 rotation)
|
@@ -648,6 +659,46 @@ static VALUE Renderer_draw_line(VALUE self,
|
|
648
659
|
return Qnil;
|
649
660
|
}
|
650
661
|
|
662
|
+
// int polygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
|
663
|
+
// int aapolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
|
664
|
+
|
665
|
+
static f_poly f_polygon[] = { &polygonColor,
|
666
|
+
&aapolygonColor };
|
667
|
+
|
668
|
+
static VALUE Renderer_draw_polygon(VALUE self,
|
669
|
+
VALUE xs_,
|
670
|
+
VALUE ys_,
|
671
|
+
VALUE c,
|
672
|
+
VALUE aa) {
|
673
|
+
DEFINE_SELF(Renderer, renderer, self);
|
674
|
+
|
675
|
+
int xlen = RARRAY_LENINT(xs_);
|
676
|
+
int ylen = RARRAY_LENINT(ys_);
|
677
|
+
|
678
|
+
if (xlen != ylen)
|
679
|
+
rb_raise(rb_eArgError, "xs & ys are different length");
|
680
|
+
|
681
|
+
Sint16 *xs = malloc(xlen*sizeof(Sint16));
|
682
|
+
for (int i = 0; i < xlen; i++) {
|
683
|
+
xs[i] = NUM2SINT16(RARRAY_AREF(xs_, i));
|
684
|
+
}
|
685
|
+
|
686
|
+
Sint16 *ys = malloc(ylen*sizeof(Sint16));
|
687
|
+
for (int i = 0; i < ylen; i++) {
|
688
|
+
ys[i] = NUM2SINT16(RARRAY_AREF(ys_, i));
|
689
|
+
}
|
690
|
+
|
691
|
+
Uint8 idx = IDX1(RTEST(aa));
|
692
|
+
|
693
|
+
if (f_polygon[idx](renderer, xs, ys, xlen, VALUE2COLOR(c)))
|
694
|
+
FAILURE("draw_polygon");
|
695
|
+
|
696
|
+
free(xs);
|
697
|
+
free(ys);
|
698
|
+
|
699
|
+
return Qnil;
|
700
|
+
}
|
701
|
+
|
651
702
|
static f_rxyxyc f_rect[] = { &rectangleColor,
|
652
703
|
&boxColor };
|
653
704
|
|
@@ -1076,17 +1127,17 @@ void Init_sdl() {
|
|
1076
1127
|
mKey = rb_define_module_under(mSDL, "Key");
|
1077
1128
|
mMouse = rb_define_module_under(mSDL, "Mouse");
|
1078
1129
|
|
1079
|
-
cAudio = rb_define_class_under(mSDL, "Audio",
|
1080
|
-
cCollisionMap = rb_define_class_under(mSDL, "CollisionMap",
|
1130
|
+
cAudio = rb_define_class_under(mSDL, "Audio", rb_cObject);
|
1131
|
+
cCollisionMap = rb_define_class_under(mSDL, "CollisionMap", rb_cObject);
|
1081
1132
|
cEvent = rb_define_class_under(mSDL, "Event", rb_cObject);
|
1082
|
-
cPixelFormat = rb_define_class_under(mSDL, "PixelFormat",
|
1083
|
-
cSurface = rb_define_class_under(mSDL, "Surface",
|
1084
|
-
cTTFFont = rb_define_class_under(mSDL, "TTF",
|
1133
|
+
cPixelFormat = rb_define_class_under(mSDL, "PixelFormat", rb_cObject);
|
1134
|
+
cSurface = rb_define_class_under(mSDL, "Surface", rb_cObject);
|
1135
|
+
cTTFFont = rb_define_class_under(mSDL, "TTF", rb_cObject); // TODO: Font
|
1085
1136
|
|
1086
1137
|
cScreen = rb_define_class_under(mSDL, "Screen", cSurface);
|
1087
|
-
cRenderer = rb_define_class_under(mSDL, "Renderer",
|
1088
|
-
cWindow = rb_define_class_under(mSDL, "Window",
|
1089
|
-
cTexture = rb_define_class_under(mSDL, "Texture",
|
1138
|
+
cRenderer = rb_define_class_under(mSDL, "Renderer", rb_cObject);
|
1139
|
+
cWindow = rb_define_class_under(mSDL, "Window", rb_cObject);
|
1140
|
+
cTexture = rb_define_class_under(mSDL, "Texture", rb_cObject);
|
1090
1141
|
|
1091
1142
|
cEventQuit = rb_define_class_under(cEvent, "Quit", cEvent);
|
1092
1143
|
cEventKeydown = rb_define_class_under(cEvent, "Keydown", cEvent);
|
@@ -1098,6 +1149,17 @@ void Init_sdl() {
|
|
1098
1149
|
|
1099
1150
|
eSDLError = rb_define_class_under(mSDL, "Error", rb_eStandardError);
|
1100
1151
|
|
1152
|
+
//// T_DATA cleanup: (mirror DEFINE_CLASS* calls above)
|
1153
|
+
|
1154
|
+
rb_undef_alloc_func(cAudio);
|
1155
|
+
rb_undef_alloc_func(cSurface);
|
1156
|
+
rb_undef_alloc_func(cCollisionMap);
|
1157
|
+
rb_undef_alloc_func(cPixelFormat);
|
1158
|
+
rb_undef_alloc_func(cTTFFont);
|
1159
|
+
rb_undef_alloc_func(cRenderer);
|
1160
|
+
rb_undef_alloc_func(cWindow);
|
1161
|
+
rb_undef_alloc_func(cTexture);
|
1162
|
+
|
1101
1163
|
//// SDL methods:
|
1102
1164
|
|
1103
1165
|
rb_define_module_function(mSDL, "init", sdl_s_init, 1);
|
@@ -1185,6 +1247,7 @@ void Init_sdl() {
|
|
1185
1247
|
rb_define_method(cRenderer, "draw_ellipse", Renderer_draw_ellipse, 7);
|
1186
1248
|
rb_define_method(cRenderer, "draw_line", Renderer_draw_line, 6);
|
1187
1249
|
rb_define_method(cRenderer, "draw_rect", Renderer_draw_rect, 6);
|
1250
|
+
rb_define_method(cRenderer, "draw_polygon", Renderer_draw_polygon, 4);
|
1188
1251
|
rb_define_method(cRenderer, "fast_rect", Renderer_fast_rect, 5);
|
1189
1252
|
rb_define_method(cRenderer, "h", Renderer_h, 0);
|
1190
1253
|
rb_define_method(cRenderer, "new_texture", Renderer_new_texture, 0);
|
data/graphics_setup.sh
CHANGED
@@ -2,39 +2,48 @@
|
|
2
2
|
|
3
3
|
set -v
|
4
4
|
|
5
|
-
case
|
5
|
+
case "$(uname -s)" in
|
6
6
|
Darwin)
|
7
|
-
|
8
|
-
|
7
|
+
if command -v brew >/dev/null; then
|
8
|
+
echo "Detected macOS. Installing dependencies with brew."
|
9
|
+
sudo=""
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
brew install sdl2
|
12
|
+
brew install sdl2_mixer
|
13
|
+
brew install sdl2_ttf
|
14
|
+
brew install sdl2_image
|
15
|
+
brew install sdl2_gfx
|
16
|
+
else
|
17
|
+
echo "Detected macOS but not brew. Install Homebrew and try again."
|
18
|
+
exit 1
|
19
|
+
fi
|
15
20
|
;;
|
16
21
|
Linux)
|
17
|
-
|
18
|
-
|
22
|
+
if command -v apt >/dev/null; then
|
23
|
+
echo "Detected Linux. Installing dependencies with apt."
|
24
|
+
sudo="sudo"
|
19
25
|
|
20
|
-
|
21
|
-
|
26
|
+
$sudo apt-get install --no-install-recommends --no-install-suggests libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev gcc g++
|
27
|
+
else
|
28
|
+
echo "Detected macOS but not apt. Install sdl2 with your package manager."
|
29
|
+
exit 1
|
30
|
+
fi
|
31
|
+
;;
|
22
32
|
*)
|
23
|
-
|
24
|
-
|
33
|
+
echo "Dependency installation not supported for your OS. Install sdl2 with your package manager."
|
34
|
+
exit 1
|
25
35
|
;;
|
26
36
|
esac
|
27
37
|
|
28
|
-
if [ -f $0 ]; then
|
29
|
-
$
|
30
|
-
$
|
31
|
-
$SUDO rake newb
|
38
|
+
if [ -f "$0" ]; then
|
39
|
+
$sudo gem install hoe --conservative
|
40
|
+
$sudo rake newb
|
32
41
|
rake test
|
33
42
|
rake clean package
|
34
|
-
$
|
43
|
+
$sudo gem install pkg/graphics*.gem
|
35
44
|
else
|
36
|
-
$
|
45
|
+
$sudo gem install graphics
|
37
46
|
fi
|
38
47
|
|
39
|
-
echo "
|
48
|
+
echo "Running a graphics test... You should see a window appear."
|
40
49
|
ruby -Ilib -rgraphics -e 'Class.new(Graphics::Simulation) { def draw n; clear :white; text "hit escape to quit", 100, 100, :black; end; }.new(500, 250, "Working!").run'
|
data/lib/graphics/simulation.rb
CHANGED
@@ -206,7 +206,7 @@ class Graphics::AbstractSimulation
|
|
206
206
|
File.expand_path("~/Library/Fonts/"),
|
207
207
|
|
208
208
|
# Ubuntu
|
209
|
-
"/usr/share/fonts
|
209
|
+
"/usr/share/fonts/**/",
|
210
210
|
]
|
211
211
|
FONT_GLOB = "{#{font_dirs.join(",")}}" # :nodoc:
|
212
212
|
|
@@ -497,11 +497,14 @@ class Graphics::AbstractSimulation
|
|
497
497
|
# Draw a closed form polygon from an array of points in a particular
|
498
498
|
# color.
|
499
499
|
|
500
|
-
def polygon
|
500
|
+
def polygon points, c
|
501
|
+
return unless points.size > 1
|
502
|
+
|
501
503
|
points << points.first
|
502
|
-
|
503
|
-
|
504
|
-
|
504
|
+
|
505
|
+
xs, ys = points.transpose
|
506
|
+
|
507
|
+
renderer.draw_polygon xs, ys.map { |y| h-y-1 }, c, :aa
|
505
508
|
end
|
506
509
|
|
507
510
|
##
|
data/lib/graphics.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBCDANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTI0MDEwMjIxMjEyM1oXDTI1MDEwMTIxMjEyM1owRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -21,15 +21,15 @@ cert_chain:
|
|
21
21
|
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
+
AQCygvpmncmkiSs9r/Kceo4bBPDszhTv6iBi4LwMReqnFrpNLMOWJw7xi8x+3eL2
|
26
|
+
XS09ZPNOt2zm70KmFouBMgOysnDY4k2dE8uF6B8JbZOO8QfalW+CoNBliefOTcn2
|
27
|
+
bg5IOP7UoGM5lC174/cbDJrJnRG9bzig5FAP0mvsgA8zgTRXQzIUAZEo92D5K7p4
|
28
|
+
B4/O998ho6BSOgYBI9Yk1ttdCtti6Y+8N9+fZESsjtWMykA+WXWeGUScHqiU+gH8
|
29
|
+
S7043fq9EbQdBr2AXdj92+CDwuTfHI6/Hj5FVBDULufrJaan4xUgL70Hvc6pTTeW
|
30
|
+
deKfBjgVAq7EYHu1AczzlUly
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2024-08-27 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rdoc
|
@@ -71,14 +71,14 @@ dependencies:
|
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
74
|
+
version: '4.2'
|
75
75
|
type: :development
|
76
76
|
prerelease: false
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
81
|
+
version: '4.2'
|
82
82
|
description: |-
|
83
83
|
Graphics provides a simple framework to implement games and/or
|
84
84
|
simulations and is designed to follow mathematical conventions, NOT
|
@@ -179,11 +179,12 @@ files:
|
|
179
179
|
- test/test_graphics.rb
|
180
180
|
- test/test_rainbows.rb
|
181
181
|
- test/test_sdl.rb
|
182
|
-
homepage: https://github.com/
|
182
|
+
homepage: https://github.com/seattlerb/graphics
|
183
183
|
licenses:
|
184
184
|
- MIT
|
185
|
-
metadata:
|
186
|
-
|
185
|
+
metadata:
|
186
|
+
homepage_uri: https://github.com/seattlerb/graphics
|
187
|
+
post_install_message:
|
187
188
|
rdoc_options:
|
188
189
|
- "--main"
|
189
190
|
- README.rdoc
|
@@ -193,16 +194,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
194
|
requirements:
|
194
195
|
- - ">="
|
195
196
|
- !ruby/object:Gem::Version
|
196
|
-
version: '
|
197
|
+
version: '2.7'
|
197
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
199
|
requirements:
|
199
200
|
- - ">="
|
200
201
|
- !ruby/object:Gem::Version
|
201
202
|
version: '0'
|
202
203
|
requirements: []
|
203
|
-
|
204
|
-
|
205
|
-
signing_key:
|
204
|
+
rubygems_version: 3.5.15
|
205
|
+
signing_key:
|
206
206
|
specification_version: 4
|
207
207
|
summary: Graphics provides a simple framework to implement games and/or simulations
|
208
208
|
and is designed to follow mathematical conventions, NOT game programming conventions
|
metadata.gz.sig
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
�
|
2
|
-
}��(5cR�
|
1
|
+
�9�f:�>�uD��H�r�Ul�k�Y��+j 7�;ȥ����h� ��$
|