goocanvas 0.90.6-x86-mingw32
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.
- 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
|
+
}
|