gosu 1.0.0.pre1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/gosu/extconf.rb +4 -24
- data/include/Gosu/Buttons.hpp +18 -17
- data/include/Gosu/Font.hpp +1 -1
- data/include/Gosu/Fwd.hpp +0 -5
- data/include/Gosu/Input.hpp +13 -40
- data/include/Gosu/Utility.hpp +14 -3
- data/include/Gosu/Version.hpp +3 -3
- data/include/Gosu/Window.hpp +25 -21
- data/lib/OpenAL32.dll +0 -0
- data/lib/gosu/patches.rb +0 -14
- data/lib/gosu/preview.rb +1 -3
- data/lib/gosu/swig_patches.rb +11 -10
- data/lib64/OpenAL32.dll +0 -0
- data/rdoc/gosu.rb +20 -6
- data/src/AudioFile.hpp +3 -0
- data/src/Input.cpp +28 -38
- data/src/Resolution.cpp +8 -8
- data/src/RubyGosu.cxx +646 -91
- data/src/RubyGosu.h +1 -1
- data/src/TrueTypeFontWin.cpp +3 -3
- data/src/Window.cpp +60 -31
- data/src/WindowUIKit.cpp +21 -9
- metadata +5 -31
- data/include/Gosu/AutoLink.hpp +0 -14
- data/include/Gosu/Channel.h +0 -25
- data/include/Gosu/Color.h +0 -38
- data/include/Gosu/Font.h +0 -36
- data/include/Gosu/Gosu.h +0 -82
- data/include/Gosu/Image.h +0 -54
- data/include/Gosu/Sample.h +0 -19
- data/include/Gosu/Song.h +0 -24
- data/include/Gosu/TextInput.h +0 -30
- data/include/Gosu/Window.h +0 -63
- data/lib/gosu/zen.rb +0 -89
- data/lib/libmpg123.dll +0 -0
- data/lib/libsndfile.dll +0 -0
- data/lib64/libmpg123.dll +0 -0
- data/lib64/libsndfile.dll +0 -0
- data/src/ChannelWrapper.cpp +0 -50
- data/src/ColorWrapper.cpp +0 -126
- data/src/Constants.cpp +0 -334
- data/src/FontWrapper.cpp +0 -74
- data/src/GosuWrapper.cpp +0 -251
- data/src/ImageWrapper.cpp +0 -168
- data/src/MPEGFile.hpp +0 -90
- data/src/SampleWrapper.cpp +0 -30
- data/src/SongWrapper.cpp +0 -52
- data/src/TextInputWrapper.cpp +0 -101
- data/src/WindowWrapper.cpp +0 -317
data/include/Gosu/Color.h
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#ifdef __cplusplus
|
4
|
-
extern "C" {
|
5
|
-
#endif
|
6
|
-
|
7
|
-
typedef unsigned char Gosu_Color_Channel;
|
8
|
-
|
9
|
-
unsigned Gosu_Color_create(unsigned argb);
|
10
|
-
unsigned Gosu_Color_create_argb(Gosu_Color_Channel a, Gosu_Color_Channel r, Gosu_Color_Channel g, Gosu_Color_Channel b);
|
11
|
-
unsigned Gosu_Color_create_from_hsv(double h, double s, double v);
|
12
|
-
unsigned Gosu_Color_create_from_ahsv(Gosu_Color_Channel alpha, double h, double s, double v);
|
13
|
-
|
14
|
-
Gosu_Color_Channel Gosu_Color_alpha(unsigned color);
|
15
|
-
Gosu_Color_Channel Gosu_Color_red(unsigned color);
|
16
|
-
Gosu_Color_Channel Gosu_Color_green(unsigned color);
|
17
|
-
Gosu_Color_Channel Gosu_Color_blue(unsigned color);
|
18
|
-
unsigned Gosu_Color_set_alpha(unsigned color, Gosu_Color_Channel value);
|
19
|
-
unsigned Gosu_Color_set_red(unsigned color, Gosu_Color_Channel value);
|
20
|
-
unsigned Gosu_Color_set_green(unsigned color, Gosu_Color_Channel value);
|
21
|
-
unsigned Gosu_Color_set_blue(unsigned color, Gosu_Color_Channel value);
|
22
|
-
|
23
|
-
double Gosu_Color_hue(unsigned color);
|
24
|
-
double Gosu_Color_saturation(unsigned color);
|
25
|
-
double Gosu_Color_value(unsigned color);
|
26
|
-
unsigned Gosu_Color_set_hue(unsigned color, double value);
|
27
|
-
unsigned Gosu_Color_set_saturation(unsigned color, double value);
|
28
|
-
unsigned Gosu_Color_set_value(unsigned color, double value);
|
29
|
-
|
30
|
-
unsigned Gosu_Color_argb(unsigned color);
|
31
|
-
unsigned Gosu_Color_bgr(unsigned color);
|
32
|
-
unsigned Gosu_Color_abgr(unsigned color);
|
33
|
-
|
34
|
-
unsigned Gosu_Color_gl(unsigned color);
|
35
|
-
|
36
|
-
#ifdef __cplusplus
|
37
|
-
}
|
38
|
-
#endif
|
data/include/Gosu/Font.h
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#ifdef __cplusplus
|
4
|
-
extern "C" {
|
5
|
-
#endif
|
6
|
-
|
7
|
-
typedef struct Gosu_Font Gosu_Font;
|
8
|
-
|
9
|
-
Gosu_Font* Gosu_Font_create(int height, const char* name, unsigned flags);
|
10
|
-
|
11
|
-
const char *Gosu_Font_name(Gosu_Font* font);
|
12
|
-
int Gosu_Font_height(Gosu_Font* font);
|
13
|
-
unsigned Gosu_Font_flags(Gosu_Font* font);
|
14
|
-
|
15
|
-
double Gosu_Font_text_width(Gosu_Font* font, const char* text);
|
16
|
-
double Gosu_Font_markup_width(Gosu_Font* font, const char* text);
|
17
|
-
|
18
|
-
void Gosu_Font_draw_text(Gosu_Font* font, const char* text, double x, double y, double z,
|
19
|
-
double scale_x, double scale_y, unsigned c, unsigned mode);
|
20
|
-
void Gosu_Font_draw_markup(Gosu_Font* font, const char* text, double x, double y, double z,
|
21
|
-
double scale_x, double scale_y, unsigned c, unsigned mode);
|
22
|
-
|
23
|
-
void Gosu_Font_draw_text_rel(Gosu_Font* font, const char* text, double x, double y, double z,
|
24
|
-
double rel_x, double rel_y, double scale_x, double scale_y,
|
25
|
-
unsigned c, unsigned mode);
|
26
|
-
void Gosu_Font_draw_markup_rel(Gosu_Font* font, const char* text, double x, double y, double z,
|
27
|
-
double rel_x, double rel_y, double scale_x, double scale_y,
|
28
|
-
unsigned c, unsigned mode);
|
29
|
-
|
30
|
-
void Gosu_Font_set_image(Gosu_Font* font, const char* codepoint, unsigned font_flags, Gosu_Image* image);
|
31
|
-
|
32
|
-
void Gosu_Font_destroy(Gosu_Font* font);
|
33
|
-
|
34
|
-
#ifdef __cplusplus
|
35
|
-
}
|
36
|
-
#endif
|
data/include/Gosu/Gosu.h
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#ifdef __cplusplus
|
4
|
-
extern "C" {
|
5
|
-
#endif
|
6
|
-
|
7
|
-
#include <Gosu/Window.h>
|
8
|
-
#include <Gosu/Image.h>
|
9
|
-
#include <Gosu/Font.h>
|
10
|
-
#include <Gosu/Color.h>
|
11
|
-
#include <Gosu/TextInput.h>
|
12
|
-
#include <Gosu/Sample.h>
|
13
|
-
#include <Gosu/Song.h>
|
14
|
-
#include <Gosu/Channel.h>
|
15
|
-
|
16
|
-
// Graphics operations
|
17
|
-
void Gosu_gl_z(double z, void function(void *data), void* data);
|
18
|
-
void Gosu_gl(void function(void *data), void* data);
|
19
|
-
void Gosu_flush();
|
20
|
-
Gosu_Image* Gosu_render(int width, int height, void function(void *data), void* data, unsigned image_flags);
|
21
|
-
Gosu_Image* Gosu_record(int width, int height, void function(void *data), void* data);
|
22
|
-
void Gosu_clip_to(double x, double y, double width, double height, void function(void *data), void* data);
|
23
|
-
|
24
|
-
// Transformations
|
25
|
-
void Gosu_transform(double m0, double m1, double m2, double m3, double m4, double m5, double m6,
|
26
|
-
double m7, double m8, double m9, double m10, double m11, double m12, double m13,
|
27
|
-
double m14, double m15, void function(void *data), void* data);
|
28
|
-
void Gosu_translate(double x, double y, void function(void *data), void* data);
|
29
|
-
void Gosu_scale(double scale_x, double scale_y, double around_x, double around_y, void function(void *data), void* data);
|
30
|
-
void Gosu_rotate(double angle, double around_x, double around_y, void function(void *data), void* data);
|
31
|
-
|
32
|
-
void Gosu_clip_to(double x, double y, double width, double height, void function(void *data), void* data);
|
33
|
-
|
34
|
-
// Rendering
|
35
|
-
void Gosu_draw_line(double x1, double y1, unsigned c1,
|
36
|
-
double x2, double y2, unsigned c2,
|
37
|
-
double z, unsigned mode);
|
38
|
-
void Gosu_draw_triangle(double x1, double y1, unsigned c1,
|
39
|
-
double x2, double y2, unsigned c2,
|
40
|
-
double x3, double y3, unsigned c3,
|
41
|
-
double z, unsigned mode);
|
42
|
-
void Gosu_draw_rect(double x, double y, double width, double height, unsigned c, double z, unsigned mode);
|
43
|
-
void Gosu_draw_quad(double x1, double y1, unsigned c1,
|
44
|
-
double x2, double y2, unsigned c2,
|
45
|
-
double x3, double y3, unsigned c3,
|
46
|
-
double x4, double y4, unsigned c4,
|
47
|
-
double z, unsigned mode);
|
48
|
-
|
49
|
-
// Math functions
|
50
|
-
double Gosu_distance(double x1, double y1, double x2, double y2);
|
51
|
-
|
52
|
-
double Gosu_angle(double from_x, double from_y, double to_x, double to_y);
|
53
|
-
double Gosu_angle_diff(double from, double to);
|
54
|
-
|
55
|
-
double Gosu_offset_x(double angle, double radius);
|
56
|
-
double Gosu_offset_y(double angle, double radius);
|
57
|
-
|
58
|
-
double Gosu_random(double min, double max);
|
59
|
-
|
60
|
-
// Window/Screen information
|
61
|
-
unsigned Gosu_available_width(Gosu_Window* window);
|
62
|
-
unsigned Gosu_available_height(Gosu_Window* window);
|
63
|
-
unsigned Gosu_screen_width(Gosu_Window* window);
|
64
|
-
unsigned Gosu_screen_height(Gosu_Window* window);
|
65
|
-
|
66
|
-
// Button querying
|
67
|
-
int Gosu_button_down(int id);
|
68
|
-
const char* Gosu_button_id_to_char(int id);
|
69
|
-
unsigned Gosu_button_char_to_id(const char* character);
|
70
|
-
const char *Gosu_button_name(int id);
|
71
|
-
const char *Gosu_gamepad_name(int id);
|
72
|
-
double Gosu_axis(int id);
|
73
|
-
|
74
|
-
// Misc
|
75
|
-
int Gosu_fps();
|
76
|
-
const char* Gosu_language();
|
77
|
-
long Gosu_milliseconds();
|
78
|
-
const char* Gosu_default_font_name();
|
79
|
-
|
80
|
-
#ifdef __cplusplus
|
81
|
-
}
|
82
|
-
#endif
|
data/include/Gosu/Image.h
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#ifdef __cplusplus
|
4
|
-
extern "C" {
|
5
|
-
#endif
|
6
|
-
|
7
|
-
typedef struct Gosu_Image Gosu_Image;
|
8
|
-
|
9
|
-
typedef struct Gosu_GLTexInfo {
|
10
|
-
int tex_name;
|
11
|
-
double left, right, top, bottom;
|
12
|
-
} Gosu_GLTexInfo;
|
13
|
-
|
14
|
-
// Constructor
|
15
|
-
Gosu_Image* Gosu_Image_create(const char *filename, unsigned image_flags);
|
16
|
-
Gosu_Image *Gosu_Image_create_from_blob(unsigned char *blob, int byte_count, int width, int height, unsigned image_flags); // support for RMagick blob objects
|
17
|
-
Gosu_Image *Gosu_Image_create_from_markup(const char *markup, const char *font, double font_height,
|
18
|
-
int width, double spacing, unsigned align, unsigned font_flags, unsigned image_flags);
|
19
|
-
Gosu_Image* Gosu_Image_create_from_text(const char *text, const char *font, double font_height,
|
20
|
-
int width, double spacing, unsigned align, unsigned font_flags, unsigned image_flags);
|
21
|
-
Gosu_Image* Gosu_Image_create_from_subimage(Gosu_Image *source, int left, int top, int width, int height);
|
22
|
-
|
23
|
-
void Gosu_Image_create_from_tiles(const char *source, int tile_width, int tile_height, void function(void* data, Gosu_Image* image), void *data, unsigned image_flags);
|
24
|
-
void Gosu_Image_create_tiles_from_image(Gosu_Image *image, int tile_width, int tile_height, void function(void *data, Gosu_Image *image), void *data, unsigned image_flags);
|
25
|
-
|
26
|
-
// Destructor
|
27
|
-
void Gosu_Image_destroy(Gosu_Image *image);
|
28
|
-
|
29
|
-
// Image properties
|
30
|
-
unsigned Gosu_Image_width(Gosu_Image *image);
|
31
|
-
unsigned Gosu_Image_height(Gosu_Image *image);
|
32
|
-
|
33
|
-
// Rendering
|
34
|
-
void Gosu_Image_draw(Gosu_Image *image, double x, double y, double z,
|
35
|
-
double scale_x, double scale_y, unsigned color, unsigned mode);
|
36
|
-
void Gosu_Image_draw_rot(Gosu_Image *image, double x, double y, double z,
|
37
|
-
double angle, double center_x, double center_y,
|
38
|
-
double scale_x, double scale_y, unsigned color, unsigned mode);
|
39
|
-
void Gosu_Image_draw_as_quad(Gosu_Image *image, double x1, double y1, unsigned color1,
|
40
|
-
double x2, double y2, unsigned color2,
|
41
|
-
double x3, double y3, unsigned color3,
|
42
|
-
double x4, double y4, unsigned color4,
|
43
|
-
double z, unsigned mode);
|
44
|
-
|
45
|
-
// Operations
|
46
|
-
void Gosu_Image_insert(Gosu_Image *image, Gosu_Image *source, int x, int y);
|
47
|
-
void Gosu_Image_save(Gosu_Image *image, const char *filename);
|
48
|
-
unsigned char* Gosu_Image_to_blob(Gosu_Image *image);
|
49
|
-
Gosu_GLTexInfo* Gosu_Image_gl_tex_info_create(Gosu_Image *image);
|
50
|
-
void Gosu_Image_gl_tex_info_destroy(Gosu_GLTexInfo *tex_info);
|
51
|
-
|
52
|
-
#ifdef __cplusplus
|
53
|
-
}
|
54
|
-
#endif
|
data/include/Gosu/Sample.h
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <Gosu/Channel.h>
|
4
|
-
|
5
|
-
#ifdef __cplusplus
|
6
|
-
extern "C" {
|
7
|
-
#endif
|
8
|
-
|
9
|
-
typedef struct Gosu_Sample Gosu_Sample;
|
10
|
-
|
11
|
-
Gosu_Sample* Gosu_Sample_create(const char* filename);
|
12
|
-
void Gosu_Sample_destroy(Gosu_Sample* sample);
|
13
|
-
|
14
|
-
Gosu_Channel* Gosu_Sample_play(Gosu_Sample *sample, double volume, double speed, bool looping);
|
15
|
-
Gosu_Channel* Gosu_Sample_play_pan(Gosu_Sample *sample, double pan, double volume, double speed, bool looping);
|
16
|
-
|
17
|
-
#ifdef __cplusplus
|
18
|
-
}
|
19
|
-
#endif
|
data/include/Gosu/Song.h
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#ifdef __cplusplus
|
4
|
-
extern "C" {
|
5
|
-
#endif
|
6
|
-
|
7
|
-
typedef struct Gosu_Song Gosu_Song;
|
8
|
-
|
9
|
-
Gosu_Song* Gosu_Song_create(const char* filename);
|
10
|
-
void Gosu_Song_destroy(Gosu_Song* song);
|
11
|
-
|
12
|
-
void Gosu_Song_pause(Gosu_Song* song);
|
13
|
-
bool Gosu_Song_paused(Gosu_Song* song);
|
14
|
-
void Gosu_Song_play(Gosu_Song* song, bool looping);
|
15
|
-
bool Gosu_Song_playing(Gosu_Song* song);
|
16
|
-
void Gosu_Song_stop(Gosu_Song* song);
|
17
|
-
double Gosu_Song_volume(Gosu_Song* song);
|
18
|
-
void Gosu_Song_set_volume(Gosu_Song* song, double volume);
|
19
|
-
|
20
|
-
Gosu_Song* Gosu_Song_current_song();
|
21
|
-
|
22
|
-
#ifdef __cplusplus
|
23
|
-
}
|
24
|
-
#endif
|
data/include/Gosu/TextInput.h
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#ifdef __cplusplus
|
4
|
-
extern "C" {
|
5
|
-
#endif
|
6
|
-
|
7
|
-
typedef struct Gosu_TextInput Gosu_TextInput;
|
8
|
-
|
9
|
-
Gosu_TextInput* Gosu_TextInput_create();
|
10
|
-
|
11
|
-
const char* Gosu_TextInput_text(Gosu_TextInput* text_input);
|
12
|
-
void Gosu_TextInput_set_text(Gosu_TextInput* text_input, const char* text);
|
13
|
-
|
14
|
-
unsigned Gosu_TextInput_caret_pos(Gosu_TextInput* text_input);
|
15
|
-
void Gosu_TextInput_set_caret_pos(Gosu_TextInput* text_input, unsigned pos);
|
16
|
-
|
17
|
-
unsigned Gosu_TextInput_selection_start(Gosu_TextInput* text_input);
|
18
|
-
void Gosu_TextInput_set_selection_start(Gosu_TextInput* text_input, unsigned pos);
|
19
|
-
|
20
|
-
void Gosu_TextInput_set_filter(Gosu_TextInput *text_input, void function(void* data, const char* text), void* data);
|
21
|
-
void Gosu_TextInput_set_filter_result(Gosu_TextInput *text_input, const char* result);
|
22
|
-
void Gosu_TextInput_insert_text(Gosu_TextInput *text_input, const char* text);
|
23
|
-
void Gosu_TextInput_delete_backward(Gosu_TextInput *text_input);
|
24
|
-
void Gosu_TextInput_delete_forward(Gosu_TextInput *text_input);
|
25
|
-
|
26
|
-
void Gosu_TextInput_destroy(Gosu_TextInput* text_input);
|
27
|
-
|
28
|
-
#ifdef __cplusplus
|
29
|
-
}
|
30
|
-
#endif
|
data/include/Gosu/Window.h
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
#include <stdbool.h>
|
3
|
-
#include "TextInput.h"
|
4
|
-
|
5
|
-
#ifdef __cplusplus
|
6
|
-
extern "C" {
|
7
|
-
#endif
|
8
|
-
|
9
|
-
typedef struct Gosu_Window Gosu_Window;
|
10
|
-
|
11
|
-
// Constructor
|
12
|
-
Gosu_Window* Gosu_Window_create(int width, int height, bool fullscreen, double update_interval, bool resizable);
|
13
|
-
|
14
|
-
// callbacks
|
15
|
-
void Gosu_Window_set_update(Gosu_Window *window, void function(void *data), void* data);
|
16
|
-
void Gosu_Window_set_draw(Gosu_Window *window, void function(void *data), void* data);
|
17
|
-
void Gosu_Window_set_button_down(Gosu_Window *window, void function(void *data, unsigned btn), void* data);
|
18
|
-
void Gosu_Window_set_button_up(Gosu_Window *window, void function(void *data, unsigned btn), void* data);
|
19
|
-
void Gosu_Window_set_gamepad_connected(Gosu_Window *window, void function(void *data, int id), void* data);
|
20
|
-
void Gosu_Window_set_gamepad_disconnected(Gosu_Window *window, void function(void *data, int id), void* data);
|
21
|
-
void Gosu_Window_set_drop(Gosu_Window *window, void function(void *data, const char *filename), void* data);
|
22
|
-
void Gosu_Window_set_needs_redraw(Gosu_Window *window, bool function(void *data), void* data);
|
23
|
-
void Gosu_Window_set_needs_cursor(Gosu_Window *window, bool function(void *data), void* data);
|
24
|
-
void Gosu_Window_set_close(Gosu_Window *window, void function(void *data), void* data);
|
25
|
-
|
26
|
-
void Gosu_Window_default_button_down(Gosu_Window* window, unsigned btn);
|
27
|
-
|
28
|
-
// Properties
|
29
|
-
int Gosu_Window_width(Gosu_Window* window);
|
30
|
-
int Gosu_Window_height(Gosu_Window* window);
|
31
|
-
bool Gosu_Window_is_fullscreen(Gosu_Window* window);
|
32
|
-
bool Gosu_Window_is_resizable(Gosu_Window* window);
|
33
|
-
double Gosu_Window_update_interval(Gosu_Window* window);
|
34
|
-
const char* Gosu_Window_caption(Gosu_Window* window);
|
35
|
-
|
36
|
-
Gosu_TextInput* Gosu_Window_text_input(Gosu_Window *window);
|
37
|
-
double Gosu_Window_mouse_x(Gosu_Window* window);
|
38
|
-
double Gosu_Window_mouse_y(Gosu_Window* window);
|
39
|
-
int Gosu_Window_is_button_down(Gosu_Window* window, unsigned btn);
|
40
|
-
|
41
|
-
// Setters
|
42
|
-
void Gosu_Window_set_text_input(Gosu_Window *window, Gosu_TextInput *text_input);
|
43
|
-
void Gosu_Window_set_caption(Gosu_Window* window, const char* caption);
|
44
|
-
void Gosu_Window_set_update_interval(Gosu_Window* window, double update_interval);
|
45
|
-
void Gosu_Window_set_mouse_x(Gosu_Window* window, double width);
|
46
|
-
void Gosu_Window_set_mouse_y(Gosu_Window* window, double height);
|
47
|
-
void Gosu_Window_set_width(Gosu_Window* window, int width);
|
48
|
-
void Gosu_Window_set_height(Gosu_Window* window, int height);
|
49
|
-
|
50
|
-
void Gosu_Window_resize(Gosu_Window* window, int width, int height, bool fullscreen);
|
51
|
-
|
52
|
-
// Main Loop
|
53
|
-
void Gosu_Window_show(Gosu_Window* window);
|
54
|
-
void Gosu_Window_close_immediately(Gosu_Window* window);
|
55
|
-
bool Gosu_Window_tick(Gosu_Window* window);
|
56
|
-
|
57
|
-
// Destructor
|
58
|
-
void Gosu_Window_destroy(Gosu_Window* window);
|
59
|
-
|
60
|
-
|
61
|
-
#ifdef __cplusplus
|
62
|
-
}
|
63
|
-
#endif
|
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
|
data/lib/libmpg123.dll
DELETED
Binary file
|