atk 0.20.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.
@@ -0,0 +1,91 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbatktextrange.c -
5
+
6
+ $Author: sakai $
7
+ $Date: 2007/07/16 03:01:02 $
8
+
9
+ Copyright (C) 2004 Masao Mutoh
10
+
11
+ This file is derived from rbgdkrange.c.
12
+ rbgdkrange.c -
13
+ Copyright (C) 2002,2003 Masao Mutoh
14
+
15
+ rbgdkrange.c file is derived from rbgdkregion.c.
16
+ rbgdkregion.c -
17
+ Copyright (C) 1998-2000 Yukihiro Matsumoto,
18
+ Daisuke Kanda,
19
+ Hiroshi Igarashi
20
+ ************************************************/
21
+
22
+ #include "rbatk.h"
23
+
24
+ #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES
25
+ #define _SELF(r) ((AtkTextRange*)RVAL2BOXED(r, ATK_TYPE_TEXT_RANGE))
26
+
27
+ /**********************************/
28
+ static AtkTextRange*
29
+ atk_text_range_copy(const AtkTextRange* val)
30
+ {
31
+ AtkTextRange* new_val;
32
+ g_return_val_if_fail (val != NULL, NULL);
33
+ new_val = g_new(AtkTextRange, 1);
34
+ *new_val = *val;
35
+ return new_val;
36
+ }
37
+
38
+ GType
39
+ atk_text_range_get_type(void)
40
+ {
41
+ static GType our_type = 0;
42
+
43
+ if (our_type == 0)
44
+ our_type = g_boxed_type_register_static ("AtkTextRange",
45
+ (GBoxedCopyFunc)atk_text_range_copy,
46
+ (GBoxedFreeFunc)g_free);
47
+ return our_type;
48
+ }
49
+ /**********************************/
50
+ /* Struct accessors */
51
+ static VALUE
52
+ atktextrange_bounds(self)
53
+ VALUE self;
54
+ {
55
+ return BOXED2RVAL(&_SELF(self)->bounds, ATK_TYPE_TEXT_RECTANGLE);
56
+ }
57
+
58
+ static VALUE
59
+ atktextrange_start_offset(self)
60
+ VALUE self;
61
+ {
62
+ return INT2NUM(_SELF(self)->start_offset);
63
+ }
64
+
65
+ static VALUE
66
+ atktextrange_end_offset(self)
67
+ VALUE self;
68
+ {
69
+ return INT2NUM(_SELF(self)->end_offset);
70
+ }
71
+
72
+ static VALUE
73
+ atktextrange_content(self)
74
+ VALUE self;
75
+ {
76
+ return CSTR2RVAL(_SELF(self)->content);
77
+ }
78
+ #endif
79
+
80
+ void
81
+ Init_atk_text_range()
82
+ {
83
+ #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES
84
+ VALUE range = G_DEF_CLASS(ATK_TYPE_TEXT_RANGE, "TextRange", mAtk);
85
+
86
+ rb_define_method(range, "bounds", atktextrange_bounds, 0);
87
+ rb_define_method(range, "start_offset", atktextrange_start_offset, 0);
88
+ rb_define_method(range, "end_offset", atktextrange_end_offset, 0);
89
+ rb_define_method(range, "content", atktextrange_content, 0);
90
+ #endif
91
+ }
@@ -0,0 +1,156 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbatktextrectangle.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2004/10/19 13:33:43 $
8
+
9
+ Copyright (C) 2004 Masao Mutoh
10
+
11
+ This file is derived from rbgdkrectangle.c.
12
+ rbgdkrectangle.c -
13
+ Copyright (C) 2002,2003 Masao Mutoh
14
+
15
+ rbgdkrectangle.c file is derived from rbgdkregion.c.
16
+ rbgdkregion.c -
17
+ Copyright (C) 1998-2000 Yukihiro Matsumoto,
18
+ Daisuke Kanda,
19
+ Hiroshi Igarashi
20
+ ************************************************/
21
+
22
+ #include "rbatk.h"
23
+
24
+ #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES
25
+ #define _SELF(r) ((AtkTextRectangle*)RVAL2BOXED(r, ATK_TYPE_TEXT_RECTANGLE))
26
+
27
+ /**********************************/
28
+ static AtkTextRectangle*
29
+ atk_text_rectangle_copy(const AtkTextRectangle* val)
30
+ {
31
+ AtkTextRectangle* new_val;
32
+ g_return_val_if_fail (val != NULL, NULL);
33
+ new_val = g_new(AtkTextRectangle, 1);
34
+ *new_val = *val;
35
+ return new_val;
36
+ }
37
+
38
+ GType
39
+ atk_text_rectangle_get_type(void)
40
+ {
41
+ static GType our_type = 0;
42
+
43
+ if (our_type == 0)
44
+ our_type = g_boxed_type_register_static ("AtkTextRectangle",
45
+ (GBoxedCopyFunc)atk_text_rectangle_copy,
46
+ (GBoxedFreeFunc)g_free);
47
+ return our_type;
48
+ }
49
+ /**********************************/
50
+
51
+ static VALUE
52
+ atktextrect_initialize(self, x, y, width, height)
53
+ VALUE self, x, y, width, height;
54
+ {
55
+ AtkTextRectangle new;
56
+
57
+ new.x = NUM2INT(x);
58
+ new.y = NUM2INT(y);
59
+ new.width = NUM2INT(width);
60
+ new.height = NUM2INT(height);
61
+
62
+ G_INITIALIZE(self, &new);
63
+ return Qnil;
64
+ }
65
+
66
+ /* Struct accessors */
67
+ static VALUE
68
+ atktextrect_x(self)
69
+ VALUE self;
70
+ {
71
+ return INT2NUM(_SELF(self)->x);
72
+ }
73
+
74
+ static VALUE
75
+ atktextrect_y(self)
76
+ VALUE self;
77
+ {
78
+ return INT2NUM(_SELF(self)->y);
79
+ }
80
+
81
+ static VALUE
82
+ atktextrect_w(self)
83
+ VALUE self;
84
+ {
85
+ return INT2NUM(_SELF(self)->width);
86
+ }
87
+
88
+ static VALUE
89
+ atktextrect_h(self)
90
+ VALUE self;
91
+ {
92
+ return INT2NUM(_SELF(self)->height);
93
+ }
94
+
95
+ static VALUE
96
+ atktextrect_set_x(self, x)
97
+ VALUE self, x;
98
+ {
99
+ _SELF(self)->x = NUM2INT(x);
100
+ return self;
101
+ }
102
+
103
+ static VALUE
104
+ atktextrect_set_y(self, y)
105
+ VALUE self, y;
106
+ {
107
+ _SELF(self)->y = NUM2INT(y);
108
+ return self;
109
+ }
110
+
111
+ static VALUE
112
+ atktextrect_set_w(self, width)
113
+ VALUE self, width;
114
+ {
115
+ _SELF(self)->width = NUM2INT(width);
116
+ return self;
117
+ }
118
+
119
+ static VALUE
120
+ atktextrect_set_h(self, height)
121
+ VALUE self, height;
122
+ {
123
+ _SELF(self)->height = NUM2INT(height);
124
+ return self;
125
+ }
126
+
127
+ static VALUE
128
+ atktextrect_to_a(self)
129
+ VALUE self;
130
+ {
131
+ AtkTextRectangle* a = _SELF(self);
132
+ return rb_ary_new3(4, INT2FIX(a->x), INT2FIX(a->y),
133
+ INT2FIX(a->width), INT2FIX(a->height));
134
+ }
135
+ #endif
136
+
137
+ void
138
+ Init_atk_text_rectangle()
139
+ {
140
+ #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES
141
+ VALUE rect = G_DEF_CLASS(ATK_TYPE_TEXT_RECTANGLE, "TextRectangle", mAtk);
142
+
143
+ rb_define_method(rect, "initialize", atktextrect_initialize, 4);
144
+ rb_define_method(rect, "x", atktextrect_x, 0);
145
+ rb_define_method(rect, "y", atktextrect_y, 0);
146
+ rb_define_method(rect, "width", atktextrect_w, 0);
147
+ rb_define_method(rect, "height", atktextrect_h, 0);
148
+ rb_define_method(rect, "set_x", atktextrect_set_x, 1);
149
+ rb_define_method(rect, "set_y", atktextrect_set_y, 1);
150
+ rb_define_method(rect, "set_width", atktextrect_set_w, 1);
151
+ rb_define_method(rect, "set_height", atktextrect_set_h, 1);
152
+ rb_define_method(rect, "to_a", atktextrect_to_a, 0);
153
+
154
+ G_DEF_SETTERS(rect);
155
+ #endif
156
+ }
@@ -0,0 +1,125 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbatkutil.c -
5
+
6
+ $Author: sakai $
7
+ $Date: 2007/07/08 02:51:52 $
8
+
9
+ Copyright (C) 2004 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "rbatk.h"
13
+
14
+ static ID id_call;
15
+
16
+ /* How can I implement them?
17
+ guint atk_add_focus_tracker (AtkEventListener focus_tracker);
18
+ void atk_remove_focus_tracker (guint tracker_id);
19
+ void atk_focus_tracker_init (AtkEventListenerInit add_function);
20
+ void (*AtkEventListener) (AtkObject*);
21
+ void (*AtkEventListenerInit) (void);
22
+ guint atk_add_global_event_listener (GSignalEmissionHook listener,
23
+ const gchar *event_type);
24
+ void atk_remove_global_event_listener
25
+ (guint listener_id);
26
+ */
27
+
28
+ static VALUE
29
+ rbatk_focus_tracker_notify(self, obj)
30
+ VALUE self, obj;
31
+ {
32
+ atk_focus_tracker_notify(ATK_OBJECT(RVAL2GOBJ(obj)));
33
+ return self;
34
+ }
35
+
36
+ static gint
37
+ key_snoop_func(AtkKeyEventStruct* event, gpointer func)
38
+ {
39
+ VALUE ret = rb_funcall((VALUE)func, id_call, 7,
40
+ INT2NUM(event->type), UINT2NUM(event->state),
41
+ UINT2NUM(event->keyval), INT2NUM(event->length),
42
+ CSTR2RVAL(event->string), UINT2NUM(event->keycode),
43
+ UINT2NUM(event->timestamp));
44
+ return NUM2INT(ret);
45
+ }
46
+
47
+ static VALUE
48
+ rbatk_add_key_event_listener(self)
49
+ VALUE self;
50
+ {
51
+ guint ret;
52
+ VALUE func = rb_block_proc();
53
+ G_RELATIVE(self, func);
54
+ ret = atk_add_key_event_listener((AtkKeySnoopFunc)key_snoop_func, (gpointer)func);
55
+ return UINT2NUM(ret);
56
+ }
57
+
58
+ static VALUE
59
+ rbatk_remove_key_event_listener(self, id)
60
+ VALUE self, id;
61
+ {
62
+ atk_remove_key_event_listener(NUM2UINT(id));
63
+ return self;
64
+ }
65
+
66
+ static VALUE
67
+ rbatk_get_root(self)
68
+ VALUE self;
69
+ {
70
+ return GOBJ2RVAL(atk_get_root());
71
+ }
72
+
73
+ #if ATK_CHECK_VERSION(1,6,0)
74
+ static VALUE
75
+ rbatk_get_focus_object(self)
76
+ VALUE self;
77
+ {
78
+ return GOBJ2RVAL(atk_get_focus_object());
79
+ }
80
+ #endif
81
+
82
+ static VALUE
83
+ rbatk_get_toolkit_name(self)
84
+ VALUE self;
85
+ {
86
+ return CSTR2RVAL(atk_get_toolkit_name());
87
+ }
88
+
89
+ static VALUE
90
+ rbatk_get_toolkit_version(self)
91
+ VALUE self;
92
+ {
93
+ return CSTR2RVAL(atk_get_toolkit_version());
94
+ }
95
+
96
+ void
97
+ Init_atk_util()
98
+ {
99
+ VALUE coord;
100
+
101
+ VALUE util = G_DEF_CLASS(ATK_TYPE_UTIL, "Util", mAtk);
102
+
103
+ id_call = rb_intern("call");
104
+
105
+ rb_define_singleton_method(util, "focus_tracker_notify", rbatk_focus_tracker_notify, 1);
106
+ rb_define_singleton_method(util, "add_key_event_listener", rbatk_add_key_event_listener, 0);
107
+ rb_define_singleton_method(util, "remove_key_event_listener", rbatk_remove_key_event_listener, 1);
108
+
109
+ rb_define_singleton_method(util, "root", rbatk_get_root, 0);
110
+ #if ATK_CHECK_VERSION(1,6,0)
111
+ rb_define_singleton_method(util, "focus_object", rbatk_get_focus_object, 0);
112
+ #endif
113
+ rb_define_singleton_method(util, "toolkit_name", rbatk_get_toolkit_name, 0);
114
+ rb_define_singleton_method(util, "toolkit_version", rbatk_get_toolkit_version, 0);
115
+ rb_define_singleton_method(util, "toolkit_version", rbatk_get_toolkit_version, 0);
116
+
117
+ /* AtkCoordType */
118
+ coord = G_DEF_CLASS(ATK_TYPE_COORD_TYPE, "CoordType", util);
119
+ G_DEF_CONSTANTS(util, ATK_TYPE_COORD_TYPE, "ATK_");
120
+
121
+ /* AtkKeyEventType */
122
+ coord = G_DEF_CLASS(ATK_TYPE_KEY_EVENT_TYPE, "KeyEventType", util);
123
+ G_DEF_CONSTANTS(util, ATK_TYPE_KEY_EVENT_TYPE, "ATK_");
124
+
125
+ }
@@ -0,0 +1,74 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbatkvalue.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2003/12/23 15:59:28 $
8
+
9
+ Copyright (C) 2003 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "rbatk.h"
13
+
14
+ #define _SELF(s) (ATK_VALUE(RVAL2GOBJ(s)))
15
+
16
+ static VALUE
17
+ rbatk_value_get_current_value(self)
18
+ VALUE self;
19
+ {
20
+ GValue gval = {0,};
21
+ atk_value_get_current_value(_SELF(self), &gval);
22
+
23
+ return GVAL2RVAL(&gval);
24
+ }
25
+
26
+
27
+ static VALUE
28
+ rbatk_value_get_maximum_value(self)
29
+ VALUE self;
30
+ {
31
+ GValue gval = {0,};
32
+ atk_value_get_maximum_value(_SELF(self), &gval);
33
+
34
+ return GVAL2RVAL(&gval);
35
+ }
36
+
37
+ static VALUE
38
+ rbatk_value_get_minimum_value(self)
39
+ VALUE self;
40
+ {
41
+ GValue gval = {0,};
42
+ atk_value_get_minimum_value(_SELF(self), &gval);
43
+
44
+ return GVAL2RVAL(&gval);
45
+ }
46
+
47
+ static VALUE
48
+ rbatk_value_set_current_value(self, value)
49
+ VALUE self, value;
50
+ {
51
+ GValue gval = {0,};
52
+ g_value_init(&gval, RVAL2GTYPE(value));
53
+
54
+ rbgobj_rvalue_to_gvalue(value, &gval);
55
+
56
+ if (! atk_value_set_current_value(_SELF(self), &gval)){
57
+ rb_raise(rb_eRuntimeError, "Can't set the current value.");
58
+ }
59
+
60
+ return self;
61
+ }
62
+
63
+ void
64
+ Init_atk_value()
65
+ {
66
+ VALUE mValue = G_DEF_INTERFACE(ATK_TYPE_VALUE, "Value", mAtk);
67
+
68
+ rb_define_method(mValue, "current", rbatk_value_get_current_value, 0);
69
+ rb_define_method(mValue, "max", rbatk_value_get_maximum_value, 0);
70
+ rb_define_method(mValue, "min", rbatk_value_get_minimum_value, 0);
71
+ rb_define_method(mValue, "set_current", rbatk_value_set_current_value, 1);
72
+
73
+ G_DEF_SETTERS(mValue);
74
+ }
@@ -0,0 +1,24 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbatkversion.h -
5
+
6
+ This file was generated by mkmf-gnome2.rb.
7
+
8
+ ************************************************/
9
+
10
+ #ifndef __RBATK_VERSION_H__
11
+ #define __RBATK_VERSION_H__
12
+
13
+ #define ATK_MAJOR_VERSION (1)
14
+ #define ATK_MINOR_VERSION (26)
15
+ #define ATK_MICRO_VERSION (0)
16
+
17
+ #define ATK_CHECK_VERSION(major,minor,micro) \
18
+ (ATK_MAJOR_VERSION > (major) || \
19
+ (ATK_MAJOR_VERSION == (major) && ATK_MINOR_VERSION > (minor)) || \
20
+ (ATK_MAJOR_VERSION == (major) && ATK_MINOR_VERSION == (minor) && \
21
+ ATK_MICRO_VERSION >= (micro)))
22
+
23
+
24
+ #endif /* __RBATK_VERSION_H__ */