uh 2.0.0.pre2 → 2.0.0.pre3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +18 -0
- data/ext/uh/extconf.rb +1 -2
- data/lib/uh.rb +0 -6
- data/lib/uh/display.rb +16 -0
- data/lib/uh/version.rb +1 -1
- data/lib/uh/window.rb +0 -28
- metadata +24 -29
- data/.gitignore +0 -4
- data/.travis.yml +0 -7
- data/Gemfile +0 -5
- data/Guardfile +0 -7
- data/LICENSE +0 -30
- data/Rakefile +0 -13
- data/ext/uh/color.c +0 -12
- data/ext/uh/display.c +0 -242
- data/ext/uh/event.c +0 -168
- data/ext/uh/font.c +0 -14
- data/ext/uh/pixmap.c +0 -92
- data/ext/uh/screen.c +0 -12
- data/ext/uh/uh.c +0 -143
- data/ext/uh/uh.h +0 -106
- data/ext/uh/window.c +0 -262
- data/lib/uh/drawable.rb +0 -7
- data/lib/uh/pixmap.rb +0 -5
- data/test/test_helper.rb +0 -19
- data/test/uh/test_geo.rb +0 -52
- data/uh.gemspec +0 -23
data/ext/uh/event.c
DELETED
@@ -1,168 +0,0 @@
|
|
1
|
-
#include "uh.h"
|
2
|
-
|
3
|
-
|
4
|
-
#define SET_XEV(x) \
|
5
|
-
XEvent *xev;\
|
6
|
-
Data_Get_Struct(x, XEvent, xev);
|
7
|
-
|
8
|
-
|
9
|
-
VALUE event_make_event(VALUE klass, XEvent *xev);
|
10
|
-
void event_make_configure_request(VALUE self);
|
11
|
-
void event_make_key_any(VALUE self);
|
12
|
-
void event_make_win_any(VALUE self);
|
13
|
-
|
14
|
-
|
15
|
-
VALUE event_make(XEvent *xev) {
|
16
|
-
typedef struct {
|
17
|
-
int type;
|
18
|
-
VALUE klass;
|
19
|
-
void (*function)(VALUE self);
|
20
|
-
} EvClass;
|
21
|
-
EvClass ev_classes[] = {
|
22
|
-
{ConfigureRequest, cConfigureRequest, event_make_configure_request},
|
23
|
-
{DestroyNotify, cDestroyNotify, NULL},
|
24
|
-
{Expose, cExpose, NULL},
|
25
|
-
{KeyPress, cKeyPress, event_make_key_any},
|
26
|
-
{KeyRelease, cKeyRelease, event_make_key_any},
|
27
|
-
{MapRequest, cMapRequest, NULL},
|
28
|
-
{PropertyNotify, cPropertyNotify, NULL},
|
29
|
-
{UnmapNotify, cUnmapNotify, NULL}
|
30
|
-
};
|
31
|
-
unsigned int i;
|
32
|
-
VALUE event;
|
33
|
-
|
34
|
-
for (i = 0; i < (sizeof ev_classes / sizeof ev_classes[0]); i++) {
|
35
|
-
if (ev_classes[i].type == xev->type) {
|
36
|
-
event = event_make_event(ev_classes[i].klass, xev);
|
37
|
-
event_make_win_any(event);
|
38
|
-
if (ev_classes[i].function)
|
39
|
-
ev_classes[i].function(event);
|
40
|
-
|
41
|
-
return event;
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
return event_make_event(cEvent, xev);
|
46
|
-
}
|
47
|
-
|
48
|
-
VALUE event_make_event(VALUE klass, XEvent *xev) {
|
49
|
-
const char *type_descs[LASTEvent];
|
50
|
-
VALUE event;
|
51
|
-
|
52
|
-
type_descs[KeyPress] = "key_press";
|
53
|
-
type_descs[KeyRelease] = "key_release";
|
54
|
-
type_descs[ButtonPress] = "button_press";
|
55
|
-
type_descs[ButtonRelease] = "button_release";
|
56
|
-
type_descs[MotionNotify] = "motion_notify";
|
57
|
-
type_descs[EnterNotify] = "enter_notify";
|
58
|
-
type_descs[LeaveNotify] = "leave_notify";
|
59
|
-
type_descs[FocusIn] = "focus_in";
|
60
|
-
type_descs[FocusOut] = "focus_out";
|
61
|
-
type_descs[KeymapNotify] = "keymap_notify";
|
62
|
-
type_descs[Expose] = "expose";
|
63
|
-
type_descs[GraphicsExpose] = "graphics_expose";
|
64
|
-
type_descs[NoExpose] = "no_expose";
|
65
|
-
type_descs[VisibilityNotify] = "visibility_notify";
|
66
|
-
type_descs[CreateNotify] = "create_notify";
|
67
|
-
type_descs[DestroyNotify] = "destroy_notify";
|
68
|
-
type_descs[UnmapNotify] = "unmap_notify";
|
69
|
-
type_descs[MapNotify] = "map_notify";
|
70
|
-
type_descs[MapRequest] = "map_request";
|
71
|
-
type_descs[ReparentNotify] = "reparent_notify";
|
72
|
-
type_descs[ConfigureNotify] = "configure_notify";
|
73
|
-
type_descs[ConfigureRequest] = "configure_request";
|
74
|
-
type_descs[GravityNotify] = "gravity_notify";
|
75
|
-
type_descs[ResizeRequest] = "resize_request";
|
76
|
-
type_descs[CirculateNotify] = "circulate_notify";
|
77
|
-
type_descs[CirculateRequest] = "circulate_request";
|
78
|
-
type_descs[PropertyNotify] = "property_notify";
|
79
|
-
type_descs[SelectionClear] = "selection_clear";
|
80
|
-
type_descs[SelectionRequest] = "selection_request";
|
81
|
-
type_descs[SelectionNotify] = "selection_notify";
|
82
|
-
type_descs[ColormapNotify] = "colormap_notify";
|
83
|
-
type_descs[ClientMessage] = "client_message";
|
84
|
-
type_descs[MappingNotify] = "mapping_notify";
|
85
|
-
type_descs[GenericEvent] = "generic";
|
86
|
-
|
87
|
-
event = Data_Wrap_Struct(klass, 0, 0, xev);
|
88
|
-
rb_ivar_set(event, rb_intern("@type"),
|
89
|
-
ID2SYM(rb_intern(type_descs[xev->type])));
|
90
|
-
rb_ivar_set(event, rb_intern("@send_event"),
|
91
|
-
xev->xany.send_event ? Qtrue : Qfalse);
|
92
|
-
|
93
|
-
return event;
|
94
|
-
}
|
95
|
-
|
96
|
-
void event_make_configure_request(VALUE self) {
|
97
|
-
SET_XEV(self);
|
98
|
-
|
99
|
-
if (xev->xconfigurerequest.value_mask & CWX)
|
100
|
-
rb_ivar_set(self, rb_intern("@x"), INT2FIX(xev->xconfigurerequest.x));
|
101
|
-
|
102
|
-
if (xev->xconfigurerequest.value_mask & CWY)
|
103
|
-
rb_ivar_set(self, rb_intern("@y"), INT2FIX(xev->xconfigurerequest.y));
|
104
|
-
|
105
|
-
if (xev->xconfigurerequest.value_mask & CWWidth)
|
106
|
-
rb_ivar_set(self, rb_intern("@width"),
|
107
|
-
INT2FIX(xev->xconfigurerequest.width));
|
108
|
-
|
109
|
-
if (xev->xconfigurerequest.value_mask & CWHeight)
|
110
|
-
rb_ivar_set(self, rb_intern("@height"),
|
111
|
-
INT2FIX(xev->xconfigurerequest.height));
|
112
|
-
|
113
|
-
rb_ivar_set(self, rb_intern("@above_window_id"),
|
114
|
-
LONG2NUM(xev->xconfigurerequest.above));
|
115
|
-
rb_ivar_set(self, rb_intern("@detail"),
|
116
|
-
INT2FIX(xev->xconfigurerequest.detail));
|
117
|
-
rb_ivar_set(self, rb_intern("@value_mask"),
|
118
|
-
LONG2NUM(xev->xconfigurerequest.detail));
|
119
|
-
}
|
120
|
-
|
121
|
-
void event_make_key_any(VALUE self) {
|
122
|
-
KeySym ks;
|
123
|
-
SET_XEV(self);
|
124
|
-
|
125
|
-
ks = XkbKeycodeToKeysym(xev->xany.display, xev->xkey.keycode, 0, 0);
|
126
|
-
if (ks == NoSymbol)
|
127
|
-
return;
|
128
|
-
|
129
|
-
rb_ivar_set(self, rb_intern("@key"), rb_str_new_cstr(XKeysymToString(ks)));
|
130
|
-
rb_ivar_set(self, rb_intern("@modifier_mask"), INT2FIX(xev->xkey.state));
|
131
|
-
}
|
132
|
-
|
133
|
-
void event_make_win_any(VALUE self) {
|
134
|
-
Window window;
|
135
|
-
SET_XEV(self);
|
136
|
-
|
137
|
-
switch (xev->type) {
|
138
|
-
case ConfigureRequest:
|
139
|
-
window = xev->xconfigurerequest.window;
|
140
|
-
break;
|
141
|
-
case DestroyNotify:
|
142
|
-
window = xev->xdestroywindow.window;
|
143
|
-
break;
|
144
|
-
case Expose:
|
145
|
-
window = xev->xexpose.window;
|
146
|
-
break;
|
147
|
-
case KeyPress:
|
148
|
-
window = xev->xkey.window;
|
149
|
-
break;
|
150
|
-
case MapRequest:
|
151
|
-
window = xev->xmaprequest.window;
|
152
|
-
break;
|
153
|
-
case PropertyNotify:
|
154
|
-
window = xev->xproperty.window;
|
155
|
-
break;
|
156
|
-
case UnmapNotify:
|
157
|
-
rb_ivar_set(self, rb_intern("@event_window"),
|
158
|
-
window_make(xev->xany.display, xev->xunmap.event));
|
159
|
-
window = xev->xunmap.window;
|
160
|
-
break;
|
161
|
-
default:
|
162
|
-
window = xev->xany.window;
|
163
|
-
break;
|
164
|
-
}
|
165
|
-
|
166
|
-
rb_ivar_set(self, rb_intern("@window"),
|
167
|
-
window_make(xev->xany.display, window));
|
168
|
-
}
|
data/ext/uh/font.c
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#include "uh.h"
|
2
|
-
|
3
|
-
|
4
|
-
VALUE font_make(int width, int ascent, int descent) {
|
5
|
-
VALUE obj;
|
6
|
-
VALUE args[0];
|
7
|
-
|
8
|
-
obj = rb_class_new_instance(0, args, cFont);
|
9
|
-
rb_ivar_set(obj, rb_intern("@width"), INT2FIX(width));
|
10
|
-
rb_ivar_set(obj, rb_intern("@ascent"), INT2FIX(ascent));
|
11
|
-
rb_ivar_set(obj, rb_intern("@descent"), INT2FIX(descent));
|
12
|
-
|
13
|
-
return obj;
|
14
|
-
}
|
data/ext/uh/pixmap.c
DELETED
@@ -1,92 +0,0 @@
|
|
1
|
-
#include "uh.h"
|
2
|
-
|
3
|
-
|
4
|
-
#define SET_PIXMAP(x) \
|
5
|
-
UhPixmap *pixmap;\
|
6
|
-
Data_Get_Struct(x, UhPixmap, pixmap);
|
7
|
-
|
8
|
-
#define DPY pixmap->dpy
|
9
|
-
#define PIXMAP pixmap->pixmap
|
10
|
-
#define GC pixmap->gc
|
11
|
-
|
12
|
-
|
13
|
-
void pixmap_deallocate(UhPixmap *p);
|
14
|
-
|
15
|
-
|
16
|
-
VALUE pixmap_draw_rect(VALUE self, VALUE x, VALUE y, VALUE w, VALUE h) {
|
17
|
-
SET_PIXMAP(self)
|
18
|
-
|
19
|
-
XFillRectangle(DPY, PIXMAP, GC,
|
20
|
-
FIX2INT(x), FIX2INT(y), FIX2INT(w), FIX2INT(h)
|
21
|
-
);
|
22
|
-
|
23
|
-
return Qnil;
|
24
|
-
}
|
25
|
-
|
26
|
-
VALUE pixmap_draw_string(VALUE self, VALUE x, VALUE y, VALUE str) {
|
27
|
-
SET_PIXMAP(self)
|
28
|
-
|
29
|
-
XDrawString(DPY, PIXMAP, GC,
|
30
|
-
FIX2INT(x), FIX2INT(y), RSTRING_PTR(str), RSTRING_LEN(str)
|
31
|
-
);
|
32
|
-
|
33
|
-
return Qnil;
|
34
|
-
}
|
35
|
-
|
36
|
-
VALUE pixmap_gc_black(VALUE self) {
|
37
|
-
SET_PIXMAP(self)
|
38
|
-
|
39
|
-
XSetForeground(DPY, GC, BlackPixel(DPY, SCREEN_DEFAULT));
|
40
|
-
|
41
|
-
return Qnil;
|
42
|
-
}
|
43
|
-
|
44
|
-
VALUE pixmap_gc_color(VALUE self, VALUE rcolor) {
|
45
|
-
SET_PIXMAP(self)
|
46
|
-
|
47
|
-
XSetForeground(DPY, GC, NUM2LONG(rb_ivar_get(rcolor, rb_intern("@pixel"))));
|
48
|
-
|
49
|
-
return Qnil;
|
50
|
-
}
|
51
|
-
|
52
|
-
VALUE pixmap_gc_white(VALUE self) {
|
53
|
-
SET_PIXMAP(self)
|
54
|
-
|
55
|
-
XSetForeground(DPY, GC, WhitePixel(DPY, SCREEN_DEFAULT));
|
56
|
-
|
57
|
-
return Qnil;
|
58
|
-
}
|
59
|
-
|
60
|
-
|
61
|
-
VALUE pixmap__copy(VALUE self, VALUE rwindow_id, VALUE rwidth, VALUE rheight) {
|
62
|
-
SET_PIXMAP(self)
|
63
|
-
|
64
|
-
XCopyArea(DPY, PIXMAP, FIX2INT(rwindow_id), GC,
|
65
|
-
0, 0, FIX2INT(rwidth), FIX2INT(rheight), 0, 0
|
66
|
-
);
|
67
|
-
|
68
|
-
return Qnil;
|
69
|
-
}
|
70
|
-
|
71
|
-
|
72
|
-
VALUE pixmap_make(Display *display, Pixmap xpixmap, VALUE width, VALUE height) {
|
73
|
-
UhPixmap *pixmap;
|
74
|
-
VALUE obj;
|
75
|
-
|
76
|
-
obj = Data_Make_Struct(cPixmap, UhPixmap, 0, pixmap_deallocate, pixmap);
|
77
|
-
pixmap->dpy = display;
|
78
|
-
pixmap->pixmap = xpixmap;
|
79
|
-
pixmap->gc = XCreateGC(display, DefaultRootWindow(display), 0, NULL);
|
80
|
-
|
81
|
-
rb_ivar_set(obj, rb_intern("@width"), width);
|
82
|
-
rb_ivar_set(obj, rb_intern("@height"), height);
|
83
|
-
|
84
|
-
return obj;
|
85
|
-
}
|
86
|
-
|
87
|
-
|
88
|
-
void pixmap_deallocate(UhPixmap *pixmap) {
|
89
|
-
XFreePixmap(DPY, PIXMAP);
|
90
|
-
XFreeGC(DPY, GC);
|
91
|
-
free(pixmap);
|
92
|
-
}
|
data/ext/uh/screen.c
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
#include "uh.h"
|
2
|
-
|
3
|
-
|
4
|
-
VALUE screen_init(VALUE self, VALUE id, VALUE x, VALUE y, VALUE w, VALUE h) {
|
5
|
-
rb_ivar_set(self, rb_intern("@id"), id);
|
6
|
-
rb_ivar_set(self, rb_intern("@x"), x);
|
7
|
-
rb_ivar_set(self, rb_intern("@y"), y);
|
8
|
-
rb_ivar_set(self, rb_intern("@width"), w);
|
9
|
-
rb_ivar_set(self, rb_intern("@height"), h);
|
10
|
-
|
11
|
-
return self;
|
12
|
-
}
|
data/ext/uh/uh.c
DELETED
@@ -1,143 +0,0 @@
|
|
1
|
-
#include "uh.h"
|
2
|
-
|
3
|
-
|
4
|
-
void uh_color();
|
5
|
-
void uh_display();
|
6
|
-
void uh_events();
|
7
|
-
void uh_font();
|
8
|
-
void uh_pixmap();
|
9
|
-
void uh_screen();
|
10
|
-
void uh_window();
|
11
|
-
|
12
|
-
|
13
|
-
void Init_uh(void) {
|
14
|
-
mUh = rb_define_module("Uh");
|
15
|
-
|
16
|
-
eDisplayError = rb_define_class_under(
|
17
|
-
mUh, "DisplayError", rb_eStandardError
|
18
|
-
);
|
19
|
-
|
20
|
-
uh_color();
|
21
|
-
uh_display();
|
22
|
-
uh_events();
|
23
|
-
uh_font();
|
24
|
-
uh_pixmap();
|
25
|
-
uh_screen();
|
26
|
-
uh_window();
|
27
|
-
}
|
28
|
-
|
29
|
-
void uh_color() {
|
30
|
-
cColor = rb_define_class_under(mUh, "Color", rb_cObject);
|
31
|
-
rb_define_attr(cColor, "pixel", 1, 0);
|
32
|
-
}
|
33
|
-
|
34
|
-
void uh_display() {
|
35
|
-
cDisplay = rb_define_class_under(mUh, "Display", rb_cObject);
|
36
|
-
rb_define_singleton_method(cDisplay, "on_error", display_s_on_error, 0);
|
37
|
-
rb_define_alloc_func(cDisplay, display_alloc);
|
38
|
-
rb_define_attr(cDisplay, "name", 1, 0);
|
39
|
-
rb_define_method(cDisplay, "close", display_close, 0);
|
40
|
-
rb_define_method(cDisplay, "color_by_name", display_color_by_name, 1);
|
41
|
-
rb_define_method(cDisplay, "create_pixmap", display_create_pixmap, 2);
|
42
|
-
rb_define_method(cDisplay, "fileno", display_fileno, 0);
|
43
|
-
rb_define_method(cDisplay, "flush", display_flush, 0);
|
44
|
-
rb_define_method(cDisplay, "grab_key", display_grab_key, 2);
|
45
|
-
rb_define_method(cDisplay, "listen_events", display_listen_events, -1);
|
46
|
-
rb_define_method(cDisplay, "each_event", display_each_event, 0);
|
47
|
-
rb_define_method(cDisplay, "next_event", display_next_event, 0);
|
48
|
-
rb_define_method(cDisplay, "open", display_open, 0);
|
49
|
-
rb_define_method(cDisplay, "pending", display_pending, 0);
|
50
|
-
rb_define_method(cDisplay, "query_font", display_query_font, 0);
|
51
|
-
rb_define_method(cDisplay, "root", display_root, 0);
|
52
|
-
rb_define_method(cDisplay, "screens", display_screens, 0);
|
53
|
-
rb_define_method(cDisplay, "sync", display_sync, 1);
|
54
|
-
}
|
55
|
-
|
56
|
-
void uh_events() {
|
57
|
-
mEvents = rb_define_module_under(mUh, "Events");
|
58
|
-
|
59
|
-
cEvent = rb_define_class_under(mEvents, "Event", rb_cObject);
|
60
|
-
rb_define_attr(cEvent, "type", 1, 0);
|
61
|
-
rb_define_attr(cEvent, "window", 1, 0);
|
62
|
-
|
63
|
-
cConfigureRequest = rb_define_class_under(mEvents, "ConfigureRequest", cEvent);
|
64
|
-
rb_define_attr(cConfigureRequest, "x", 1, 0);
|
65
|
-
rb_define_attr(cConfigureRequest, "y", 1, 0);
|
66
|
-
rb_define_attr(cConfigureRequest, "width", 1, 0);
|
67
|
-
rb_define_attr(cConfigureRequest, "height", 1, 0);
|
68
|
-
rb_define_attr(cConfigureRequest, "above_window_id", 1, 0);
|
69
|
-
rb_define_attr(cConfigureRequest, "detail", 1, 0);
|
70
|
-
rb_define_attr(cConfigureRequest, "value_mask", 1, 0);
|
71
|
-
|
72
|
-
cDestroyNotify = rb_define_class_under(mEvents, "DestroyNotify", cEvent);
|
73
|
-
|
74
|
-
cExpose = rb_define_class_under(mEvents, "Expose", cEvent);
|
75
|
-
|
76
|
-
cKeyPress = rb_define_class_under(mEvents, "KeyPress", cEvent);
|
77
|
-
rb_define_attr(cKeyPress, "key", 1, 0);
|
78
|
-
rb_define_attr(cKeyPress, "modifier_mask", 1, 0);
|
79
|
-
|
80
|
-
cKeyRelease = rb_define_class_under(mEvents, "KeyRelease", cEvent);
|
81
|
-
rb_define_attr(cKeyRelease, "key", 1, 0);
|
82
|
-
rb_define_attr(cKeyRelease, "modifier_mask", 1, 0);
|
83
|
-
|
84
|
-
cMapRequest = rb_define_class_under(mEvents, "MapRequest", cEvent);
|
85
|
-
|
86
|
-
cPropertyNotify = rb_define_class_under(mEvents, "PropertyNotify", cEvent);
|
87
|
-
|
88
|
-
cUnmapNotify = rb_define_class_under(mEvents, "UnmapNotify", cEvent);
|
89
|
-
}
|
90
|
-
|
91
|
-
void uh_font() {
|
92
|
-
cFont = rb_define_class_under(mUh, "Font", rb_cObject);
|
93
|
-
rb_define_attr(cFont, "width", 1, 0);
|
94
|
-
rb_define_attr(cFont, "ascent", 1, 0);
|
95
|
-
rb_define_attr(cFont, "descent", 1, 0);
|
96
|
-
}
|
97
|
-
|
98
|
-
void uh_pixmap() {
|
99
|
-
cPixmap = rb_define_class_under(mUh, "Pixmap", rb_cObject);
|
100
|
-
rb_define_attr(cPixmap, "width", 1, 0);
|
101
|
-
rb_define_attr(cPixmap, "height", 1, 0);
|
102
|
-
rb_define_method(cPixmap, "draw_rect", pixmap_draw_rect, 4);
|
103
|
-
rb_define_method(cPixmap, "draw_string", pixmap_draw_string, 3);
|
104
|
-
rb_define_method(cPixmap, "gc_black", pixmap_gc_black, 0);
|
105
|
-
rb_define_method(cPixmap, "gc_color", pixmap_gc_color, 1);
|
106
|
-
rb_define_method(cPixmap, "gc_white", pixmap_gc_white, 0);
|
107
|
-
rb_define_private_method(cPixmap, "_copy", pixmap__copy, 3);
|
108
|
-
}
|
109
|
-
|
110
|
-
void uh_screen() {
|
111
|
-
cScreen = rb_define_class_under(mUh, "Screen", rb_cObject);
|
112
|
-
rb_define_method(cScreen, "initialize", screen_init, 5);
|
113
|
-
rb_define_attr(cScreen, "id", 1, 0);
|
114
|
-
rb_define_attr(cScreen, "x", 1, 0);
|
115
|
-
rb_define_attr(cScreen, "y", 1, 0);
|
116
|
-
rb_define_attr(cScreen, "width", 1, 0);
|
117
|
-
rb_define_attr(cScreen, "height", 1, 0);
|
118
|
-
}
|
119
|
-
|
120
|
-
void uh_window() {
|
121
|
-
cWindow = rb_define_class_under(mUh, "Window", rb_cObject);
|
122
|
-
rb_define_attr(cWindow, "id", 1, 0);
|
123
|
-
rb_define_method(cWindow, "destroy", window_destroy, 0);
|
124
|
-
rb_define_method(cWindow, "focus", window_focus, 0);
|
125
|
-
rb_define_method(cWindow, "kill", window_kill, 0);
|
126
|
-
rb_define_method(cWindow, "map", window_map, 0);
|
127
|
-
rb_define_method(cWindow, "mask", window_mask, 0);
|
128
|
-
rb_define_method(cWindow, "mask=", window_mask_set, 1);
|
129
|
-
rb_define_method(cWindow, "name", window_name, 0);
|
130
|
-
rb_define_method(cWindow, "name=", window_name_set, 1);
|
131
|
-
rb_define_method(cWindow, "override_redirect?", window_override_redirect, 0);
|
132
|
-
rb_define_method(cWindow, "raise", window_raise, 0);
|
133
|
-
rb_define_method(cWindow, "unmap", window_unmap, 0);
|
134
|
-
rb_define_method(cWindow, "wclass", window_wclass, 0);
|
135
|
-
rb_define_method(cWindow, "icccm_wm_delete", window_icccm_wm_delete, 0);
|
136
|
-
rb_define_method(cWindow, "icccm_wm_protocols", window_icccm_wm_protocols, 0);
|
137
|
-
rb_define_private_method(cWindow, "_configure", window__configure, 4);
|
138
|
-
rb_define_private_method(cWindow, "_configure_event",
|
139
|
-
window__configure_event, 4);
|
140
|
-
rb_define_private_method(cWindow, "_create", window__create, 4);
|
141
|
-
rb_define_private_method(cWindow, "_create_sub", window__create_sub, 4);
|
142
|
-
rb_define_private_method(cWindow, "_moveresize", window__moveresize, 4);
|
143
|
-
}
|
data/ext/uh/uh.h
DELETED
@@ -1,106 +0,0 @@
|
|
1
|
-
#ifndef RUBY_UH
|
2
|
-
#define RUBY_UH
|
3
|
-
|
4
|
-
#include <ruby.h>
|
5
|
-
|
6
|
-
#include <X11/Xlib.h>
|
7
|
-
#include <X11/XKBlib.h>
|
8
|
-
#include <X11/Xutil.h>
|
9
|
-
#include <X11/extensions/Xinerama.h>
|
10
|
-
|
11
|
-
|
12
|
-
#define ROOT_DEFAULT DefaultRootWindow(DPY)
|
13
|
-
#define SCREEN_DEFAULT DefaultScreen(DPY)
|
14
|
-
|
15
|
-
|
16
|
-
typedef struct s_display UhDisplay;
|
17
|
-
typedef struct s_pixmap UhPixmap;
|
18
|
-
typedef struct s_window UhWindow;
|
19
|
-
|
20
|
-
struct s_display {
|
21
|
-
Display *dpy;
|
22
|
-
};
|
23
|
-
|
24
|
-
struct s_pixmap {
|
25
|
-
Display *dpy;
|
26
|
-
Pixmap pixmap;
|
27
|
-
GC gc;
|
28
|
-
};
|
29
|
-
|
30
|
-
struct s_window {
|
31
|
-
Display *dpy;
|
32
|
-
Window id;
|
33
|
-
};
|
34
|
-
|
35
|
-
|
36
|
-
VALUE mUh, mEvents,
|
37
|
-
cColor,
|
38
|
-
cDisplay,
|
39
|
-
cEvent, cConfigureRequest, cDestroyNotify, cExpose, cKeyPress, cKeyRelease,
|
40
|
-
cMapRequest, cPropertyNotify, cUnmapNotify,
|
41
|
-
cFont,
|
42
|
-
cPixmap,
|
43
|
-
cScreen,
|
44
|
-
cWindow,
|
45
|
-
eDisplayError;
|
46
|
-
|
47
|
-
|
48
|
-
VALUE color_make(unsigned long pixel);
|
49
|
-
|
50
|
-
VALUE display_s_on_error(VALUE klass);
|
51
|
-
VALUE display_alloc(VALUE klass);
|
52
|
-
VALUE display_close(VALUE self);
|
53
|
-
VALUE display_color_by_name(VALUE self, VALUE rcolor);
|
54
|
-
VALUE display_create_pixmap(VALUE self, VALUE w, VALUE h);
|
55
|
-
VALUE display_each_event(VALUE self);
|
56
|
-
VALUE display_fileno(VALUE self);
|
57
|
-
VALUE display_flush(VALUE self);
|
58
|
-
VALUE display_grab_key(VALUE self, VALUE key, VALUE modifier);
|
59
|
-
VALUE display_listen_events(int argc, VALUE *argv, VALUE self);
|
60
|
-
VALUE display_next_event(VALUE self);
|
61
|
-
VALUE display_open(VALUE self);
|
62
|
-
VALUE display_pending(VALUE self);
|
63
|
-
VALUE display_query_font(VALUE self);
|
64
|
-
VALUE display_root(VALUE self);
|
65
|
-
VALUE display_root_change_attributes(VALUE self, VALUE mask);
|
66
|
-
VALUE display_screens(VALUE self);
|
67
|
-
VALUE display_sync(VALUE self, VALUE discard);
|
68
|
-
|
69
|
-
VALUE event_make(XEvent *xev);
|
70
|
-
|
71
|
-
VALUE font_make(int width, int ascent, int descent);
|
72
|
-
|
73
|
-
VALUE pixmap__copy(VALUE self, VALUE rwindow_id, VALUE rwidth, VALUE rheight);
|
74
|
-
VALUE pixmap_draw_rect(VALUE self, VALUE x, VALUE y, VALUE w, VALUE h);
|
75
|
-
VALUE pixmap_draw_string(VALUE self, VALUE x, VALUE y, VALUE str);
|
76
|
-
VALUE pixmap_gc_black(VALUE self);
|
77
|
-
VALUE pixmap_gc_color(VALUE self, VALUE rcolor);
|
78
|
-
VALUE pixmap_gc_white(VALUE self);
|
79
|
-
VALUE pixmap_make(Display *display, Pixmap xpixmap, VALUE width, VALUE height);
|
80
|
-
|
81
|
-
VALUE screen_init(VALUE self, VALUE id, VALUE x, VALUE y, VALUE w, VALUE h);
|
82
|
-
|
83
|
-
VALUE window_destroy(VALUE self);
|
84
|
-
VALUE window_focus(VALUE self);
|
85
|
-
VALUE window_icccm_wm_delete(VALUE self);
|
86
|
-
VALUE window_icccm_wm_protocols(VALUE self);
|
87
|
-
VALUE window_kill(VALUE self);
|
88
|
-
VALUE window_map(VALUE self);
|
89
|
-
VALUE window_mask(VALUE self);
|
90
|
-
VALUE window_mask_set(VALUE self, VALUE mask);
|
91
|
-
VALUE window_name(VALUE self);
|
92
|
-
VALUE window_name_set(VALUE self, VALUE name);
|
93
|
-
VALUE window_override_redirect(VALUE self);
|
94
|
-
VALUE window_raise(VALUE self);
|
95
|
-
VALUE window_unmap(VALUE self);
|
96
|
-
VALUE window_wclass(VALUE self);
|
97
|
-
VALUE window__configure(VALUE self, VALUE rx, VALUE ry, VALUE rw, VALUE rh);
|
98
|
-
VALUE window__configure_event(VALUE self, VALUE rx, VALUE ry, VALUE rw, VALUE rh);
|
99
|
-
VALUE window__create(VALUE self, VALUE x, VALUE y, VALUE w, VALUE h);
|
100
|
-
VALUE window__create_sub(VALUE self, VALUE x, VALUE y, VALUE w, VALUE h);
|
101
|
-
VALUE window__moveresize(VALUE self, VALUE x, VALUE y, VALUE width, VALUE height);
|
102
|
-
int window_id(VALUE window);
|
103
|
-
VALUE window_make(Display *display, Window window_id);
|
104
|
-
|
105
|
-
|
106
|
-
#endif
|