goocanvas 0.90.6-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +87 -0
- data/README +37 -0
- data/Rakefile +14 -0
- data/ext/goocanvas/depend +5 -0
- data/ext/goocanvas/extconf.rb +66 -0
- data/ext/goocanvas/goocanvas.def +2 -0
- data/ext/goocanvas/rbgoocairo.c +74 -0
- data/ext/goocanvas/rbgoocanvas.c +236 -0
- data/ext/goocanvas/rbgoocanvas.h +66 -0
- data/ext/goocanvas/rbgoocanvasellipse.c +50 -0
- data/ext/goocanvas/rbgoocanvasgroup.c +41 -0
- data/ext/goocanvas/rbgoocanvasimage.c +45 -0
- data/ext/goocanvas/rbgoocanvasitem.c +358 -0
- data/ext/goocanvas/rbgoocanvaspolyline.c +102 -0
- data/ext/goocanvas/rbgoocanvasrect.c +47 -0
- data/ext/goocanvas/rbgoocanvasstyle.c +61 -0
- data/ext/goocanvas/rbgoocanvastable.c +41 -0
- data/ext/goocanvas/rbgoocanvastext.c +58 -0
- data/ext/goocanvas/rbgoocanvaswidget.c +48 -0
- data/ext/goocanvas/rbgooutils.c +44 -0
- data/extconf.rb +49 -0
- data/lib/1.8/goocanvas.so +0 -0
- data/lib/1.9/goocanvas.so +0 -0
- data/lib/goocanvas.rb +145 -0
- data/sample/demo-arrowhead.rb +315 -0
- data/sample/demo-fifteen.rb +218 -0
- data/sample/demo-primitives.rb +720 -0
- data/sample/demo.rb +84 -0
- data/sample/flower.png +0 -0
- data/sample/scalability-demo.rb +130 -0
- data/sample/simple-demo.rb +35 -0
- data/sample/table-demo.rb +137 -0
- data/sample/toroid.png +0 -0
- data/sample/units-demo.rb +80 -0
- data/sample/widgets-demo.rb +197 -0
- data/vendor/local/bin/libgoocanvas-3.dll +0 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvas.h +334 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasatk.h +22 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasellipse.h +120 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasenumtypes.h +33 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasgrid.h +153 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasgroup.h +109 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasimage.h +121 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasitem.h +479 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasitemmodel.h +275 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasitemsimple.h +247 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasmarshal.h +61 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvaspath.h +116 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvaspolyline.h +176 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasprivate.h +59 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasrect.h +121 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasstyle.h +110 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvastable.h +139 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvastext.h +133 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvasutils.h +333 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/goocanvaswidget.h +66 -0
- data/vendor/local/include/goocanvas-1.0.0/goocanvas/stamp-goocanvasmarshal.h +1 -0
- data/vendor/local/lib/libgoocanvas.a +0 -0
- data/vendor/local/lib/libgoocanvas.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/goocanvas.pc +13 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvas.html +1982 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasEllipse.html +269 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasEllipseModel.html +274 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGrid.html +469 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGridModel.html +476 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGroup.html +183 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasGroupModel.html +184 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasImage.html +247 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasImageModel.html +252 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItem.html +3014 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItemModel.html +1764 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItemModelSimple.html +298 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasItemSimple.html +809 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPath.html +279 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPathModel.html +280 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPolyline.html +369 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasPolylineModel.html +375 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasRect.html +247 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasRectModel.html +252 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasStyle.html +489 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasTable.html +452 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasTableModel.html +452 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasText.html +324 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasTextModel.html +287 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/GooCanvasWidget.html +266 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch01.html +53 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch02.html +50 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch03.html +62 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch04.html +60 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/ch05.html +33 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-GooCanvas-Types.html +815 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-architecture.html +157 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-coordinates.html +106 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-creating-items.html +420 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-model-view-canvas.html +246 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-overview.html +106 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-simple-canvas.html +238 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas-wysiwyg.html +84 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas.devhelp +608 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/goocanvas.devhelp2 +639 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/index.html +138 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/index.sgml +814 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/style.css +257 -0
- data/vendor/local/share/gtk-doc/html/goocanvas/up.png +0 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/dummy.sgml +0 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvas-unused.sgml +0 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvas.sgml +536 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasellipse.sgml +82 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasellipsemodel.sgml +82 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgrid.sgml +176 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgridmodel.sgml +176 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgroup.sgml +58 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasgroupmodel.sgml +58 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasimage.sgml +81 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasimagemodel.sgml +81 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitem.sgml +773 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitemmodel.sgml +490 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitemmodelsimple.sgml +135 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasitemsimple.sgml +254 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspath.sgml +64 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspathmodel.sgml +64 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspolyline.sgml +109 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaspolylinemodel.sgml +109 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasrect.sgml +72 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasrectmodel.sgml +72 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasstyle.sgml +186 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastable.sgml +158 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastablemodel.sgml +158 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastext.sgml +103 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvastextmodel.sgml +93 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvasutils.sgml +241 -0
- data/vendor/local/share/gtk-doc/tmpl/goocanvas/goocanvaswidget.sgml +73 -0
- metadata +218 -0
data/ChangeLog
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
2011-01-30 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
|
3
|
+
* ./: support gem for Windows build.
|
4
|
+
|
5
|
+
2011-01-28 Masaaki Aoyagi
|
6
|
+
|
7
|
+
* src/lib/: -> lib/.
|
8
|
+
|
9
|
+
* src/: -> ext/goocanvas/.
|
10
|
+
|
11
|
+
* extconf.rb: -> ext/goocanvas/extconf.rb
|
12
|
+
|
13
|
+
* ext/goocanvas/extconf.rb: support directory structure change.
|
14
|
+
|
15
|
+
* extconf.rb: add.
|
16
|
+
|
17
|
+
* Rakefile: add.
|
18
|
+
|
19
|
+
2010-09-23 Kouhei Sutou <kou@cozmixng.org>
|
20
|
+
|
21
|
+
* extconf.rb: support Ruby/GLib2 directory structure change.
|
22
|
+
|
23
|
+
2008-11-01 Kouhei Sutou <kou@cozmixng.org>
|
24
|
+
|
25
|
+
* src/: use RARRAY_PTR() and RARRAY_LEN().
|
26
|
+
|
27
|
+
2008-09-30 yselkowitz
|
28
|
+
|
29
|
+
* extconf.rb: add missing dependencies.
|
30
|
+
|
31
|
+
2008-09-14 Kouhei Sutou <kou@cozmixng.org>
|
32
|
+
|
33
|
+
* extconf.rb: fix path.
|
34
|
+
|
35
|
+
2008-09-13 Kouhei Sutou <kou@cozmixng.org>
|
36
|
+
|
37
|
+
* extconf.rb: use check_cairo.
|
38
|
+
|
39
|
+
* /: move to The Ruby-GNOME2 Project.
|
40
|
+
|
41
|
+
2008-08-16 Kouhei Sutou <kou@cozmixng.org>
|
42
|
+
|
43
|
+
* sample/demo-primitives.rb: update menu widgets to follow the
|
44
|
+
latest original demo.
|
45
|
+
|
46
|
+
* sample/demo-primitives.rb: TAB -> 2 spaces.
|
47
|
+
|
48
|
+
2008-07-21 Kouhei Sutou <kou@cozmixng.org>
|
49
|
+
|
50
|
+
* src/rbgoocairo.c (rb_cairo_pattern_to_goo)
|
51
|
+
(rb_cairo_matrix_to_goo): fix a reference count bug.
|
52
|
+
|
53
|
+
* sample/demo-fifteen.rb (CanvasSampleFifteen#scramble): fix broken.
|
54
|
+
|
55
|
+
* src/rbgoocanvas.c: bind Goo::Canvas#scroll_to.
|
56
|
+
|
57
|
+
2008-06-27 Kouhei Sutou <kou@cozmixng.org>
|
58
|
+
|
59
|
+
* sample/demo.rb: support quiting by C-q.
|
60
|
+
|
61
|
+
* sample/demo.rb: set $LOAD_PATH.
|
62
|
+
|
63
|
+
2007-06-22 Kouhei Sutou <kou@cozmixng.org>
|
64
|
+
|
65
|
+
* src/:
|
66
|
+
- cleanup macros.
|
67
|
+
- cleanup styles.
|
68
|
+
|
69
|
+
* src/rbgoocanvasitem.c:
|
70
|
+
- fixed style.
|
71
|
+
- used more self-describing macro.
|
72
|
+
|
73
|
+
* README: added.
|
74
|
+
|
75
|
+
2007-05-02 Kouhei Sutou <kou@cozmixng.org>
|
76
|
+
|
77
|
+
* sample/demo.rb: cleanup.
|
78
|
+
|
79
|
+
* extconf.rb, src/rbgoocairo.c: required >= 0.8.0.
|
80
|
+
|
81
|
+
* sample/demo.rb: untabified.
|
82
|
+
|
83
|
+
* extconf.rb: supported GooCanvas version check in C.
|
84
|
+
|
85
|
+
* src/rbgoocanvas.h, src/rbgoocairo.c: supported build with
|
86
|
+
GooCanvas 0.6.0.
|
87
|
+
|
data/README
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
Ruby/GooCanvas
|
2
|
+
==============
|
3
|
+
Ruby/GooCanvas is a Ruby binding of GooCanvas.
|
4
|
+
|
5
|
+
Requirements
|
6
|
+
------------
|
7
|
+
Ruby: http://www.ruby-lang.org/
|
8
|
+
GooCanvas: http://live.gnome.org/GooCanvas
|
9
|
+
|
10
|
+
Install
|
11
|
+
-------
|
12
|
+
0. install ruby-1.8.x or later and GooCanvas.
|
13
|
+
1. ruby extconf.rb
|
14
|
+
2. make
|
15
|
+
3. su
|
16
|
+
4. make install
|
17
|
+
|
18
|
+
Copying
|
19
|
+
-------
|
20
|
+
Copyright (c) 2008 Ruby-GNOME2 Project Team
|
21
|
+
Copyright (c) 2007 Vincent Isambart
|
22
|
+
Copyright (c) 2007 Kouhei Sutou <kou@cozmixng.org>
|
23
|
+
Copyright (c) 2007 Manu
|
24
|
+
|
25
|
+
This program is free software.
|
26
|
+
You can distribute/modify this program under the terms of
|
27
|
+
the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.
|
28
|
+
|
29
|
+
Project Website
|
30
|
+
---------------
|
31
|
+
http://ruby-gnome2.sourceforge.jp/
|
32
|
+
|
33
|
+
Thanks
|
34
|
+
------
|
35
|
+
|
36
|
+
* Andrew Whyte
|
37
|
+
- improved rbgoocanvasitem.c.
|
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require './../glib2/lib/gnome2-raketask'
|
4
|
+
|
5
|
+
package = GNOME2Package.new do |_package|
|
6
|
+
_package.summary = "Ruby/GooCanvas is a Ruby binding of GooCanvas."
|
7
|
+
_package.description = "Ruby/GooCanvas is a Ruby binding of GooCanvas."
|
8
|
+
_package.dependency.gem.runtime = ["gtk2"]
|
9
|
+
_package.win32.packages = ["goocanvas"]
|
10
|
+
_package.win32.dependencies = []
|
11
|
+
_package.post_install_message = "This library is experimental."
|
12
|
+
end
|
13
|
+
package.define_tasks
|
14
|
+
|
@@ -0,0 +1,66 @@
|
|
1
|
+
=begin
|
2
|
+
extconf.rb for Ruby/GooCanvas extension library
|
3
|
+
=end
|
4
|
+
|
5
|
+
require 'pathname'
|
6
|
+
|
7
|
+
base_dir = Pathname(__FILE__).dirname.parent.parent.expand_path
|
8
|
+
top_dir = base_dir.parent.expand_path
|
9
|
+
top_build_dir = Pathname(".").parent.parent.parent.expand_path
|
10
|
+
|
11
|
+
mkmf_gnome2_dir = top_dir + "glib2" + 'lib'
|
12
|
+
version_suffix = ""
|
13
|
+
unless mkmf_gnome2_dir.exist?
|
14
|
+
if /(-\d+\.\d+\.\d+)(?:\.\d+)?\z/ =~ base_dir.basename.to_s
|
15
|
+
version_suffix = $1
|
16
|
+
mkmf_gnome2_dir = top_dir + "glib2#{version_suffix}" + 'lib'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
$LOAD_PATH.unshift(mkmf_gnome2_dir.to_s)
|
21
|
+
|
22
|
+
module_name = "goocanvas"
|
23
|
+
package_id = "goocanvas"
|
24
|
+
|
25
|
+
require 'mkmf-gnome2'
|
26
|
+
|
27
|
+
["glib2", "atk", "pango", "gdk_pixbuf2", "gtk2"].each do |package|
|
28
|
+
directory = "#{package}#{version_suffix}"
|
29
|
+
build_dir = "#{directory}/tmp/#{RUBY_PLATFORM}/#{package}/#{RUBY_VERSION}"
|
30
|
+
add_depend_package(package, "#{directory}/ext/#{package}",
|
31
|
+
top_dir.to_s,
|
32
|
+
:top_build_dir => top_build_dir.to_s,
|
33
|
+
:target_build_dir => build_dir)
|
34
|
+
end
|
35
|
+
|
36
|
+
rcairo_options = {}
|
37
|
+
rcairo_source_dir_names = ["rcairo"]
|
38
|
+
if /mingw|cygwin|mswin32/ =~ RUBY_PLATFORM
|
39
|
+
rcairo_source_dir_names.unshift("rcairo.win32")
|
40
|
+
end
|
41
|
+
rcairo_source_dir_names.each do |rcairo_source_dir_name|
|
42
|
+
rcairo_source_dir = top_dir.parent.expand_path + rcairo_source_dir_name
|
43
|
+
if rcairo_source_dir.exist?
|
44
|
+
rcairo_options[:rcairo_source_dir] = rcairo_source_dir.to_s
|
45
|
+
break
|
46
|
+
end
|
47
|
+
end
|
48
|
+
check_cairo(rcairo_options) or exit(false)
|
49
|
+
|
50
|
+
setup_win32(module_name, base_dir)
|
51
|
+
|
52
|
+
PKGConfig.have_package(package_id) or exit 1
|
53
|
+
|
54
|
+
make_version_header("GOO_CANVAS", package_id, ".")
|
55
|
+
|
56
|
+
create_pkg_config_file("Ruby/GooCanvas", package_id)
|
57
|
+
$defs << "-DRUBY_GOO_CANVAS_COMPILATION"
|
58
|
+
create_makefile(module_name)
|
59
|
+
pkg_config_dir = with_config("pkg-config-dir")
|
60
|
+
if pkg_config_dir.is_a?(String)
|
61
|
+
File.open("Makefile", "ab") do |makefile|
|
62
|
+
makefile.puts
|
63
|
+
makefile.puts("pkgconfigdir=#{pkg_config_dir}")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
@@ -0,0 +1,74 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/* $Id: rbgoocairo.c 3288 2008-09-13 10:07:44Z ktou $ */
|
3
|
+
/* convertion from Cairo types to GooCairo types
|
4
|
+
* Copyright (C) 2007 Vincent Isambart <vincent.isambart@gmail.com>
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbgoocanvas.h"
|
22
|
+
|
23
|
+
static VALUE
|
24
|
+
rb_cairo_pattern_to_goo(VALUE self)
|
25
|
+
{
|
26
|
+
GValue gval = {0,};
|
27
|
+
VALUE result;
|
28
|
+
|
29
|
+
g_value_init(&gval, GOO_TYPE_CAIRO_PATTERN);
|
30
|
+
g_value_set_boxed(&gval, RVAL2CRPATTERN(self));
|
31
|
+
|
32
|
+
result = rbgobj_gvalue_to_rvalue(&gval);
|
33
|
+
g_value_unset(&gval);
|
34
|
+
|
35
|
+
return result;
|
36
|
+
}
|
37
|
+
|
38
|
+
static VALUE
|
39
|
+
rb_cairo_matrix_to_goo(VALUE self)
|
40
|
+
{
|
41
|
+
GValue gval = {0,};
|
42
|
+
VALUE result;
|
43
|
+
|
44
|
+
g_value_init(&gval, GOO_TYPE_CAIRO_MATRIX);
|
45
|
+
g_value_set_boxed(&gval, RVAL2CRMATRIX(self));
|
46
|
+
|
47
|
+
result = rbgobj_gvalue_to_rvalue(&gval);
|
48
|
+
g_value_unset(&gval);
|
49
|
+
|
50
|
+
return result;
|
51
|
+
}
|
52
|
+
|
53
|
+
void
|
54
|
+
Init_goocairo(void)
|
55
|
+
{
|
56
|
+
VALUE Cairo, CairoPattern, CairoMatrix;
|
57
|
+
|
58
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_MATRIX, "CairoMatrix", mGoo);
|
59
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_PATTERN, "CairoPattern", mGoo);
|
60
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_FILL_RULE, "CairoFillRule", mGoo);
|
61
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_OPERATOR, "CairoOperator", mGoo);
|
62
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_ANTIALIAS, "CairoAntiAlias", mGoo);
|
63
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_LINE_CAP, "CairoLineCap", mGoo);
|
64
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_LINE_JOIN, "CairoLineJoin", mGoo);
|
65
|
+
G_DEF_CLASS(GOO_TYPE_CAIRO_HINT_METRICS, "CairoHintMetrics", mGoo);
|
66
|
+
|
67
|
+
Cairo = rb_const_get(rb_mKernel, rb_intern("Cairo"));
|
68
|
+
|
69
|
+
CairoPattern = rb_const_get(Cairo, rb_intern("Pattern"));
|
70
|
+
rb_define_method(CairoPattern, "to_goo", rb_cairo_pattern_to_goo, 0);
|
71
|
+
|
72
|
+
CairoMatrix = rb_const_get(Cairo, rb_intern("Matrix"));
|
73
|
+
rb_define_method(CairoMatrix, "to_goo", rb_cairo_matrix_to_goo, 0);
|
74
|
+
}
|
@@ -0,0 +1,236 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/* $Id: rbgoocanvas.c 3288 2008-09-13 10:07:44Z ktou $ */
|
3
|
+
/* GooCanvas initialization
|
4
|
+
* Copyright (C) 2007 Vincent Isambart <vincent.isambart@gmail.com>
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbgoocanvas.h"
|
22
|
+
|
23
|
+
VALUE mGoo;
|
24
|
+
|
25
|
+
#define SELF(self) RVAL2GC(self)
|
26
|
+
|
27
|
+
void
|
28
|
+
rb_goo_canvas_initialize_item_object(VALUE obj, GooCanvasItem *item)
|
29
|
+
{
|
30
|
+
g_object_ref_sink(item);
|
31
|
+
G_INITIALIZE(obj, item);
|
32
|
+
}
|
33
|
+
|
34
|
+
static VALUE
|
35
|
+
rb_goo_canvas_new(VALUE self)
|
36
|
+
{
|
37
|
+
RBGTK_INITIALIZE(self, goo_canvas_new());
|
38
|
+
return Qnil;
|
39
|
+
}
|
40
|
+
|
41
|
+
static VALUE
|
42
|
+
rb_goo_canvas_set_bounds(VALUE self, VALUE left, VALUE top,
|
43
|
+
VALUE right, VALUE bottom)
|
44
|
+
{
|
45
|
+
goo_canvas_set_bounds(SELF(self), NUM2DBL(left), NUM2DBL(top),
|
46
|
+
NUM2DBL(right), NUM2DBL(bottom));
|
47
|
+
return self;
|
48
|
+
}
|
49
|
+
|
50
|
+
static VALUE
|
51
|
+
rb_goo_canvas_get_root_item(VALUE self)
|
52
|
+
{
|
53
|
+
VALUE root;
|
54
|
+
|
55
|
+
root = GOBJ2RVAL(goo_canvas_get_root_item(SELF(self)));
|
56
|
+
G_CHILD_ADD(self, root);
|
57
|
+
|
58
|
+
return root;
|
59
|
+
}
|
60
|
+
|
61
|
+
static VALUE
|
62
|
+
rb_goo_canvas_grab_focus(int argc, VALUE *argv, VALUE self)
|
63
|
+
{
|
64
|
+
VALUE item;
|
65
|
+
|
66
|
+
if (rb_scan_args(argc, argv, "01", &item) == 1) {
|
67
|
+
goo_canvas_grab_focus(SELF(self), RVAL2GCI(item));
|
68
|
+
} else {
|
69
|
+
rb_call_super(0, 0);
|
70
|
+
}
|
71
|
+
|
72
|
+
return self;
|
73
|
+
}
|
74
|
+
|
75
|
+
static VALUE
|
76
|
+
rb_goo_canvas_pointer_grab(VALUE self, VALUE item, VALUE event_mask, VALUE cursor, VALUE etime)
|
77
|
+
{
|
78
|
+
return GENUM2RVAL(
|
79
|
+
goo_canvas_pointer_grab(SELF(self), RVAL2GCI(item),
|
80
|
+
NUM2INT(event_mask),
|
81
|
+
(GdkCursor *)RVAL2BOXED(cursor, GDK_TYPE_CURSOR),
|
82
|
+
NIL_P(etime) ? 0 : NUM2UINT(etime)),
|
83
|
+
GDK_TYPE_GRAB_STATUS);
|
84
|
+
}
|
85
|
+
|
86
|
+
static VALUE
|
87
|
+
rb_goo_canvas_pointer_ungrab(VALUE self, VALUE item, VALUE etime)
|
88
|
+
{
|
89
|
+
goo_canvas_pointer_ungrab(SELF(self), RVAL2GCI(item),
|
90
|
+
NIL_P(etime) ? 0 : NUM2UINT(etime));
|
91
|
+
return self;
|
92
|
+
}
|
93
|
+
|
94
|
+
static VALUE
|
95
|
+
rb_goo_canvas_render(VALUE self, VALUE cr, VALUE rb_bounds, VALUE scale)
|
96
|
+
{
|
97
|
+
GooCanvasBounds bounds;
|
98
|
+
|
99
|
+
goo_canvas_render(SELF(self), RVAL2CRCONTEXT(cr),
|
100
|
+
RVAL2GCBOUNDS(rb_bounds, &bounds),
|
101
|
+
NUM2DBL(scale));
|
102
|
+
return self;
|
103
|
+
}
|
104
|
+
|
105
|
+
static VALUE
|
106
|
+
rb_goo_canvas_scroll_to(VALUE self, VALUE left, VALUE top)
|
107
|
+
{
|
108
|
+
goo_canvas_scroll_to(SELF(self), NUM2DBL(left), NUM2DBL(top));
|
109
|
+
return self;
|
110
|
+
}
|
111
|
+
|
112
|
+
void
|
113
|
+
Init_goocanvas(void)
|
114
|
+
{
|
115
|
+
VALUE cGooCanvas;
|
116
|
+
|
117
|
+
mGoo = rb_define_module("Goo");
|
118
|
+
cGooCanvas = G_DEF_CLASS(GOO_TYPE_CANVAS, "Canvas", mGoo);
|
119
|
+
|
120
|
+
rb_define_method(cGooCanvas, "initialize", rb_goo_canvas_new, 0);
|
121
|
+
rb_define_method(cGooCanvas, "set_bounds", rb_goo_canvas_set_bounds, 4);
|
122
|
+
rb_define_method(cGooCanvas, "root_item", rb_goo_canvas_get_root_item, 0);
|
123
|
+
rb_define_method(cGooCanvas, "grab_focus", rb_goo_canvas_grab_focus, -1);
|
124
|
+
rb_define_method(cGooCanvas, "pointer_grab", rb_goo_canvas_pointer_grab, 4);
|
125
|
+
rb_define_method(cGooCanvas, "pointer_ungrab",
|
126
|
+
rb_goo_canvas_pointer_ungrab, 2);
|
127
|
+
rb_define_method(cGooCanvas, "render", rb_goo_canvas_render, 3);
|
128
|
+
rb_define_method(cGooCanvas, "scroll_to", rb_goo_canvas_scroll_to, 2);
|
129
|
+
|
130
|
+
Init_goocanvasitem(); /* Goo::CanvasItem */
|
131
|
+
Init_goocanvastext(); /* Goo::CanvasText */
|
132
|
+
Init_goocanvasrect(); /* Goo::CanvasRect */
|
133
|
+
Init_goocanvasellipse(); /* Goo::CanvasEllipse */
|
134
|
+
Init_goocanvaspolyline(); /* Goo::CanvasPolyline */
|
135
|
+
Init_goocanvasimage(); /* Goo::CanvasImage */
|
136
|
+
Init_goocanvastable(); /* Goo::CanvasTable */
|
137
|
+
Init_goocanvaswidget(); /* Goo::CanvasWidget */
|
138
|
+
Init_goocanvasstyle(); /* Goo::CanvasStyle */
|
139
|
+
Init_goocanvasgroup(); /* Goo::CanvasGroup */
|
140
|
+
Init_goocairo(); /* conversion from Cairo types to GooCairo types */
|
141
|
+
|
142
|
+
#if 0
|
143
|
+
GooCanvasItem* goo_canvas_get_root_item (GooCanvas *canvas);
|
144
|
+
void goo_canvas_set_root_item (GooCanvas *canvas,
|
145
|
+
GooCanvasItem *item);
|
146
|
+
|
147
|
+
GooCanvasItemModel* goo_canvas_get_root_item_model (GooCanvas *canvas);
|
148
|
+
void goo_canvas_set_root_item_model (GooCanvas *canvas,
|
149
|
+
GooCanvasItemModel *model);
|
150
|
+
|
151
|
+
GooCanvasItem* goo_canvas_get_item (GooCanvas *canvas,
|
152
|
+
GooCanvasItemModel *model);
|
153
|
+
GooCanvasItem* goo_canvas_get_item_at (GooCanvas *canvas,
|
154
|
+
gdouble x,
|
155
|
+
gdouble y,
|
156
|
+
gboolean is_pointer_event);
|
157
|
+
|
158
|
+
gdouble goo_canvas_get_scale (GooCanvas *canvas);
|
159
|
+
void goo_canvas_set_scale (GooCanvas *canvas,
|
160
|
+
gdouble scale);
|
161
|
+
|
162
|
+
void goo_canvas_get_bounds (GooCanvas *canvas,
|
163
|
+
gdouble *left,
|
164
|
+
gdouble *top,
|
165
|
+
gdouble *right,
|
166
|
+
gdouble *bottom);
|
167
|
+
|
168
|
+
|
169
|
+
void goo_canvas_grab_focus (GooCanvas *canvas,
|
170
|
+
GooCanvasItem *item);
|
171
|
+
|
172
|
+
void goo_canvas_render (GooCanvas *canvas,
|
173
|
+
cairo_t *cr,
|
174
|
+
GooCanvasBounds *bounds,
|
175
|
+
gdouble scale);
|
176
|
+
|
177
|
+
/*
|
178
|
+
* Coordinate conversion.
|
179
|
+
*/
|
180
|
+
void goo_canvas_convert_to_pixels (GooCanvas *canvas,
|
181
|
+
gdouble *x,
|
182
|
+
gdouble *y);
|
183
|
+
void goo_canvas_convert_from_pixels (GooCanvas *canvas,
|
184
|
+
gdouble *x,
|
185
|
+
gdouble *y);
|
186
|
+
|
187
|
+
void goo_canvas_convert_to_item_space (GooCanvas *canvas,
|
188
|
+
GooCanvasItem *item,
|
189
|
+
gdouble *x,
|
190
|
+
gdouble *y);
|
191
|
+
void goo_canvas_convert_from_item_space (GooCanvas *canvas,
|
192
|
+
GooCanvasItem *item,
|
193
|
+
gdouble *x,
|
194
|
+
gdouble *y);
|
195
|
+
|
196
|
+
|
197
|
+
/*
|
198
|
+
* Pointer/keyboard grabbing & ungrabbing.
|
199
|
+
*/
|
200
|
+
GdkGrabStatus goo_canvas_pointer_grab (GooCanvas *canvas,
|
201
|
+
GooCanvasItem *item,
|
202
|
+
GdkEventMask event_mask,
|
203
|
+
GdkCursor *cursor,
|
204
|
+
guint32 time);
|
205
|
+
void goo_canvas_pointer_ungrab (GooCanvas *canvas,
|
206
|
+
GooCanvasItem *item,
|
207
|
+
guint32 time);
|
208
|
+
GdkGrabStatus goo_canvas_keyboard_grab (GooCanvas *canvas,
|
209
|
+
GooCanvasItem *item,
|
210
|
+
gboolean owner_events,
|
211
|
+
guint32 time);
|
212
|
+
void goo_canvas_keyboard_ungrab (GooCanvas *canvas,
|
213
|
+
GooCanvasItem *item,
|
214
|
+
guint32 time);
|
215
|
+
|
216
|
+
|
217
|
+
/*
|
218
|
+
* Internal functions, mainly for canvas subclasses and item implementations.
|
219
|
+
*/
|
220
|
+
GooCanvasItem* goo_canvas_create_item (GooCanvas *canvas,
|
221
|
+
GooCanvasItemModel *model);
|
222
|
+
void goo_canvas_unregister_item (GooCanvas *canvas,
|
223
|
+
GooCanvasItemModel *model);
|
224
|
+
void goo_canvas_update (GooCanvas *canvas);
|
225
|
+
void goo_canvas_request_update (GooCanvas *canvas);
|
226
|
+
void goo_canvas_request_redraw (GooCanvas *canvas,
|
227
|
+
GooCanvasBounds *bounds);
|
228
|
+
gdouble goo_canvas_get_default_line_width (GooCanvas *canvas);
|
229
|
+
|
230
|
+
|
231
|
+
void goo_canvas_register_widget_item (GooCanvas *canvas,
|
232
|
+
GooCanvasWidget *witem);
|
233
|
+
void goo_canvas_unregister_widget_item (GooCanvas *canvas,
|
234
|
+
GooCanvasWidget *witem);
|
235
|
+
#endif
|
236
|
+
}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/* $Id: rbgoocanvas.h 3288 2008-09-13 10:07:44Z ktou $ */
|
3
|
+
/* GooCanvas main header
|
4
|
+
* Copyright (C) 2007 Vincent Isambart <vincent.isambart@gmail.com>
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#ifndef _RBGOOCANVAS_H_included
|
22
|
+
#define _RBGOOCANVAS_H_included
|
23
|
+
|
24
|
+
#include <rb_cairo.h>
|
25
|
+
#include <rbgtk.h>
|
26
|
+
#include <goocanvas.h>
|
27
|
+
|
28
|
+
#include "rbgoo_canvasversion.h"
|
29
|
+
|
30
|
+
#define RVAL2GC(obj) GOO_CANVAS(RVAL2GOBJ(obj))
|
31
|
+
#define RVAL2GCI(obj) GOO_CANVAS_ITEM(RVAL2GOBJ(obj))
|
32
|
+
#define RVAL2GCS(obj) GOO_CANVAS_STYLE(RVAL2GOBJ(obj))
|
33
|
+
|
34
|
+
#define RVAL2GCPOINTS(obj) \
|
35
|
+
((GooCanvasPoints *)(RVAL2BOXED(obj, GOO_TYPE_CANVAS_POINTS)))
|
36
|
+
|
37
|
+
#define RVAL2GCBOUNDS(obj, bounds) \
|
38
|
+
(ruby_to_goo_canvas_bounds(obj, bounds))
|
39
|
+
|
40
|
+
#define RVAL2GTK_WIDGET(obj) GTK_WIDGET(RVAL2GOBJ(obj))
|
41
|
+
|
42
|
+
#define RVAL2GDK_PIXBUF(obj) GDK_PIXBUF(RVAL2GOBJ(obj))
|
43
|
+
|
44
|
+
|
45
|
+
#define RB_GOO_CANVAS_ITEM_INITIALIZE(obj, item) \
|
46
|
+
(rb_goo_canvas_initialize_item_object(obj, GOO_CANVAS_ITEM(item)))
|
47
|
+
|
48
|
+
void rb_goo_canvas_initialize_item_object(VALUE obj, GooCanvasItem *item);
|
49
|
+
GooCanvasBounds *ruby_to_goo_canvas_bounds(VALUE rb_bounds, GooCanvasBounds *dest_bounds);
|
50
|
+
|
51
|
+
void Init_goocanvas(void); /* Goo::Canvas */
|
52
|
+
void Init_goocanvasitem(void); /* Goo::CanvasItem */
|
53
|
+
void Init_goocanvastext(void); /* Goo::CanvasText */
|
54
|
+
void Init_goocanvasrect(void); /* Goo::CanvasRect */
|
55
|
+
void Init_goocanvasellipse(void); /* Goo::CanvasEllipse */
|
56
|
+
void Init_goocanvaspolyline(void); /* Goo::CanvasPolyline */
|
57
|
+
void Init_goocanvasimage(void); /* Goo::CanvasImage */
|
58
|
+
void Init_goocanvastable(void); /* Goo::CanvasTable */
|
59
|
+
void Init_goocanvaswidget(void); /* Goo::CanvasWidget */
|
60
|
+
void Init_goocanvasstyle(void); /* Goo::CanvasStyle */
|
61
|
+
void Init_goocanvasgroup(void); /* Goo::CanvasGroup */
|
62
|
+
void Init_goocairo(void); /* conversion from Cairo types to GooCairo types */
|
63
|
+
|
64
|
+
extern VALUE mGoo;
|
65
|
+
|
66
|
+
#endif /* ! _RBGOOCANVAS_H_included */
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/* $Id: rbgoocanvasellipse.c 3288 2008-09-13 10:07:44Z ktou $ */
|
3
|
+
/* GooCanvasEllipse
|
4
|
+
* Copyright (C) 2007 Vincent Isambart <vincent.isambart@gmail.com>
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbgoocanvas.h"
|
22
|
+
|
23
|
+
static VALUE
|
24
|
+
rb_goo_canvas_ellipse_new(VALUE self, VALUE parent,
|
25
|
+
VALUE center_x, VALUE center_y,
|
26
|
+
VALUE radius_x, VALUE radius_y)
|
27
|
+
{
|
28
|
+
GooCanvasItem *item;
|
29
|
+
item = goo_canvas_ellipse_new(RVAL2GCI(parent),
|
30
|
+
NUM2DBL(center_x),
|
31
|
+
NUM2DBL(center_y),
|
32
|
+
NUM2DBL(radius_x),
|
33
|
+
NUM2DBL(radius_y),
|
34
|
+
NULL);
|
35
|
+
RB_GOO_CANVAS_ITEM_INITIALIZE(self, item);
|
36
|
+
G_CHILD_ADD(parent, self);
|
37
|
+
return Qnil;
|
38
|
+
}
|
39
|
+
|
40
|
+
void
|
41
|
+
Init_goocanvasellipse(void)
|
42
|
+
{
|
43
|
+
VALUE GooCanvasEllipse;
|
44
|
+
|
45
|
+
GooCanvasEllipse = G_DEF_CLASS(GOO_TYPE_CANVAS_ELLIPSE, "CanvasEllipse",
|
46
|
+
mGoo);
|
47
|
+
|
48
|
+
rb_define_method(GooCanvasEllipse, "initialize",
|
49
|
+
rb_goo_canvas_ellipse_new, 5);
|
50
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/* $Id: rbgoocanvasgroup.c 3288 2008-09-13 10:07:44Z ktou $ */
|
3
|
+
/* GooCanvasGroup
|
4
|
+
* Copyright (C) 2007 Vincent Isambart <vincent.isambart@gmail.com>
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbgoocanvas.h"
|
22
|
+
|
23
|
+
static VALUE
|
24
|
+
rb_goo_canvas_group_new(VALUE self, VALUE parent)
|
25
|
+
{
|
26
|
+
GooCanvasItem *item;
|
27
|
+
item = goo_canvas_group_new(RVAL2GCI(parent), NULL);
|
28
|
+
RB_GOO_CANVAS_ITEM_INITIALIZE(self, item);
|
29
|
+
G_CHILD_ADD(parent, self);
|
30
|
+
return Qnil;
|
31
|
+
}
|
32
|
+
|
33
|
+
void
|
34
|
+
Init_goocanvasgroup(void)
|
35
|
+
{
|
36
|
+
VALUE GooCanvasGroup;
|
37
|
+
|
38
|
+
GooCanvasGroup = G_DEF_CLASS(GOO_TYPE_CANVAS_GROUP, "CanvasGroup", mGoo);
|
39
|
+
|
40
|
+
rb_define_method(GooCanvasGroup, "initialize", rb_goo_canvas_group_new, 1);
|
41
|
+
}
|