gtk2 2.2.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/gtk2/rbgdkproperty.c +4 -4
- data/ext/gtk2/rbgtk.c +17 -0
- data/ext/gtk2/rbgtkdialog.c +26 -7
- data/ext/gtk2/rbgtkselectiondata.c +4 -5
- data/test/test_gdk_pixbuf.rb +34 -0
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bbad66db4dc62467dffc4b796ecc313c4a8d67e
|
4
|
+
data.tar.gz: 7eaebb9d25f79263729263ca4790f8a0eba435f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2314f7bad7851a9f647e687e8419f195ff6e0a8724383e82a467d9e783e0304b4cb9182c6eb69f311ae3285c2ec1b32f1e515c483b2d2e89fc9ce99987bbaeda
|
7
|
+
data.tar.gz: 54e8d50f59d5d19fc8c63abcc78a3b1572a3d4c671015c5f63fb0051c91eb85a895f9f816256078e030baa15be37d12e36a2ecb7575efb38e0a087480bb35890
|
data/ext/gtk2/rbgdkproperty.c
CHANGED
@@ -245,12 +245,12 @@ rg_m_get(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
245
245
|
ret = rb_ary_new();
|
246
246
|
|
247
247
|
if(rtype != GDK_SELECTION_TYPE_ATOM){
|
248
|
-
for(j = 0; j < (rlen/sizeof(
|
249
|
-
rb_ary_push(ret, INT2FIX(((
|
248
|
+
for(j = 0; j < (rlen/sizeof(glong)); j++){
|
249
|
+
rb_ary_push(ret, INT2FIX(((glong*)rdat)[j]));
|
250
250
|
}
|
251
251
|
} else {
|
252
|
-
for(j = 0; j < (rlen/sizeof(
|
253
|
-
rb_ary_push(ret, BOXED2RVAL((GdkAtom)((
|
252
|
+
for(j = 0; j < (rlen/sizeof(glong)); j++){
|
253
|
+
rb_ary_push(ret, BOXED2RVAL((GdkAtom)((glong*)rdat)[j], GDK_TYPE_ATOM));
|
254
254
|
}
|
255
255
|
}
|
256
256
|
break;
|
data/ext/gtk2/rbgtk.c
CHANGED
@@ -208,10 +208,27 @@ gtk_init()
|
|
208
208
|
gtk_exit()
|
209
209
|
*/
|
210
210
|
|
211
|
+
static gboolean
|
212
|
+
quit_loop(G_GNUC_UNUSED gpointer user_data)
|
213
|
+
{
|
214
|
+
gtk_main_quit();
|
215
|
+
return G_SOURCE_REMOVE;
|
216
|
+
}
|
217
|
+
|
211
218
|
static VALUE
|
212
219
|
rg_m_main(G_GNUC_UNUSED VALUE self)
|
213
220
|
{
|
221
|
+
GSource *interrupt_source;
|
222
|
+
|
223
|
+
interrupt_source = rbg_interrupt_source_new();
|
224
|
+
g_source_set_callback(interrupt_source, quit_loop, NULL, NULL);
|
225
|
+
g_source_attach(interrupt_source, NULL);
|
214
226
|
gtk_main();
|
227
|
+
g_source_destroy(interrupt_source);
|
228
|
+
g_source_unref(interrupt_source);
|
229
|
+
|
230
|
+
rb_thread_check_ints();
|
231
|
+
|
215
232
|
return Qnil;
|
216
233
|
}
|
217
234
|
|
data/ext/gtk2/rbgtkdialog.c
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C)
|
4
|
-
* Copyright (C) 2002-2005 Ruby-GNOME2 Project Team
|
3
|
+
* Copyright (C) 2002-2014 Ruby-GNOME2 Project Team
|
5
4
|
* Copyright (C) 1998-2000 Yukihiro Matsumoto,
|
6
5
|
* Daisuke Kanda,
|
7
6
|
* Hiroshi Igarashi
|
@@ -126,15 +125,35 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
|
|
126
125
|
return Qnil;
|
127
126
|
}
|
128
127
|
|
128
|
+
static gboolean
|
129
|
+
destroy_dialog(gpointer user_data)
|
130
|
+
{
|
131
|
+
GtkWidget *dialog = user_data;
|
132
|
+
gtk_widget_destroy(dialog);
|
133
|
+
return G_SOURCE_REMOVE;
|
134
|
+
}
|
135
|
+
|
129
136
|
static VALUE
|
130
137
|
rg_run(VALUE self)
|
131
138
|
{
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
139
|
+
GtkDialog *dialog;
|
140
|
+
GSource *interrupt_source;
|
141
|
+
VALUE response;
|
142
|
+
|
143
|
+
dialog = _SELF(self);
|
144
|
+
interrupt_source = rbg_interrupt_source_new();
|
145
|
+
g_source_set_callback(interrupt_source, destroy_dialog, dialog, NULL);
|
146
|
+
g_source_attach(interrupt_source, NULL);
|
147
|
+
response = INT2NUM(gtk_dialog_run(dialog));
|
148
|
+
g_source_destroy(interrupt_source);
|
149
|
+
g_source_unref(interrupt_source);
|
150
|
+
|
151
|
+
rb_thread_check_ints();
|
152
|
+
|
153
|
+
if (rb_block_given_p()) {
|
154
|
+
return rb_yield(response);
|
136
155
|
} else {
|
137
|
-
return
|
156
|
+
return response;
|
138
157
|
}
|
139
158
|
}
|
140
159
|
|
@@ -36,20 +36,19 @@ rbgtk_atom2selectiondata(VALUE type, VALUE size, VALUE src, GdkAtom *gtype,
|
|
36
36
|
GdkAtom ntype = RVAL2ATOM(type);
|
37
37
|
|
38
38
|
if(ntype == GDK_SELECTION_TYPE_INTEGER){
|
39
|
-
|
40
|
-
i = ALLOC(
|
39
|
+
glong *i;
|
40
|
+
i = ALLOC(glong);
|
41
41
|
*i = NUM2INT(src);
|
42
42
|
dat = i;
|
43
|
-
fmt =
|
43
|
+
fmt = 32;
|
44
44
|
len = 1;
|
45
45
|
} else if(ntype == GDK_SELECTION_TYPE_STRING) {
|
46
46
|
dat = (void *)RVAL2CSTR(src);
|
47
|
+
fmt = 8;
|
47
48
|
if (NIL_P(size)) {
|
48
|
-
fmt = sizeof(char) * 8;
|
49
49
|
len = RSTRING_LEN(src);
|
50
50
|
} else {
|
51
51
|
len = NUM2UINT(size);
|
52
|
-
fmt = (RSTRING_LEN(src) / len) * 8;
|
53
52
|
}
|
54
53
|
} else if(ntype == compound_text){
|
55
54
|
guchar* str = (guchar*)dat;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# Copyright (C) 2014 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
class TestGdkPixbuf < Test::Unit::TestCase
|
18
|
+
def test_from_drawable
|
19
|
+
colormap = nil
|
20
|
+
gdk_window = Gdk::Window.default_root_window
|
21
|
+
src_x = 0
|
22
|
+
src_y = 0
|
23
|
+
width, height = gdk_window.size
|
24
|
+
|
25
|
+
assert_nothing_raised do
|
26
|
+
Gdk::Pixbuf.from_drawable(colormap,
|
27
|
+
gdk_window,
|
28
|
+
src_x,
|
29
|
+
src_y,
|
30
|
+
width,
|
31
|
+
height)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gtk2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Ruby-GNOME2 Project Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: atk
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.2.
|
19
|
+
version: 2.2.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.2.
|
26
|
+
version: 2.2.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: pango
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.2.
|
33
|
+
version: 2.2.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.2.
|
40
|
+
version: 2.2.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: gdk_pixbuf2
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.2.
|
47
|
+
version: 2.2.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.2.
|
54
|
+
version: 2.2.1
|
55
55
|
description: Ruby/GTK2 is a Ruby binding of GTK+-2.x.
|
56
56
|
email: ruby-gnome2-devel-en@lists.sourceforge.net
|
57
57
|
executables: []
|
@@ -61,9 +61,6 @@ extra_rdoc_files: []
|
|
61
61
|
files:
|
62
62
|
- README
|
63
63
|
- Rakefile
|
64
|
-
- extconf.rb
|
65
|
-
- lib/gtk2.rb
|
66
|
-
- lib/gtk2/base.rb
|
67
64
|
- ext/gtk2/depend
|
68
65
|
- ext/gtk2/extconf.rb
|
69
66
|
- ext/gtk2/global.h
|
@@ -315,6 +312,9 @@ files:
|
|
315
312
|
- ext/gtk2/rbgtkwidget.c
|
316
313
|
- ext/gtk2/rbgtkwindow.c
|
317
314
|
- ext/gtk2/rbgtkwindowgroup.c
|
315
|
+
- extconf.rb
|
316
|
+
- lib/gtk2.rb
|
317
|
+
- lib/gtk2/base.rb
|
318
318
|
- sample/gtk-demo/README
|
319
319
|
- sample/gtk-demo/alphatest.png
|
320
320
|
- sample/gtk-demo/apple-red.png
|
@@ -509,6 +509,7 @@ files:
|
|
509
509
|
- test/test_gdk_geometry.rb
|
510
510
|
- test/test_gdk_keymap.rb
|
511
511
|
- test/test_gdk_pango.rb
|
512
|
+
- test/test_gdk_pixbuf.rb
|
512
513
|
- test/test_gdk_rectangle.rb
|
513
514
|
- test/test_gdk_selection_data.rb
|
514
515
|
- test/test_gdk_window.rb
|
@@ -542,17 +543,17 @@ require_paths:
|
|
542
543
|
- lib
|
543
544
|
required_ruby_version: !ruby/object:Gem::Requirement
|
544
545
|
requirements:
|
545
|
-
- -
|
546
|
+
- - ">="
|
546
547
|
- !ruby/object:Gem::Version
|
547
548
|
version: 1.9.3
|
548
549
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
549
550
|
requirements:
|
550
|
-
- -
|
551
|
+
- - ">="
|
551
552
|
- !ruby/object:Gem::Version
|
552
553
|
version: '0'
|
553
554
|
requirements: []
|
554
555
|
rubyforge_project:
|
555
|
-
rubygems_version: 2.
|
556
|
+
rubygems_version: 2.2.2
|
556
557
|
signing_key:
|
557
558
|
specification_version: 4
|
558
559
|
summary: Ruby/GTK2 is a Ruby binding of GTK+-2.x.
|