gdk_pixbuf2 2.2.4-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README +29 -0
- data/Rakefile +34 -0
- data/ext/gdk_pixbuf2/depend +11 -0
- data/ext/gdk_pixbuf2/extconf.rb +66 -0
- data/ext/gdk_pixbuf2/gdk_pixbuf2.def +2 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbuf-format.c +179 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbuf-loader.c +164 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbuf.c +737 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbuf.h +41 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbuf2conversions.h +42 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbuf2private.h +35 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbufanimation.c +93 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbufanimationiter.c +71 -0
- data/ext/gdk_pixbuf2/rbgdk-pixbufsimpleanim.c +53 -0
- data/ext/gdk_pixbuf2/rbgdk-pixdata.c +213 -0
- data/extconf.rb +49 -0
- data/lib/2.0/gdk_pixbuf2.so +0 -0
- data/lib/2.1/gdk_pixbuf2.so +0 -0
- data/lib/2.2/gdk_pixbuf2.so +0 -0
- data/lib/gdk_pixbuf2.rb +57 -0
- data/sample/anim.rb +38 -0
- data/sample/composite.rb +45 -0
- data/sample/flip.rb +47 -0
- data/sample/floppybuddy.gif +0 -0
- data/sample/format.rb +39 -0
- data/sample/gnome-foot.png +0 -0
- data/sample/inline.rb +37 -0
- data/sample/loader.rb +20 -0
- data/sample/pixdata.rb +39 -0
- data/sample/rotate.rb +45 -0
- data/sample/save.rb +25 -0
- data/sample/scale.rb +45 -0
- data/sample/simpleanim.rb +34 -0
- data/sample/utils.rb +44 -0
- data/sample/xpm.rb +40 -0
- data/vendor/local/bin/gdk-pixbuf-csource.exe +0 -0
- data/vendor/local/bin/gdk-pixbuf-pixdata.exe +0 -0
- data/vendor/local/bin/gdk-pixbuf-query-loaders.exe +0 -0
- data/vendor/local/bin/libgdk_pixbuf-2.0-0.dll +0 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +204 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +464 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +33 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +120 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +343 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +108 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +36 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +64 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +158 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +43 -0
- data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +168 -0
- data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache +139 -0
- data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.a +0 -0
- data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll +0 -0
- data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll.a +0 -0
- data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.la +41 -0
- data/vendor/local/lib/gdk_pixbuf-2.0.def +128 -0
- data/vendor/local/lib/girepository-1.0/GdkPixbuf-2.0.typelib +0 -0
- data/vendor/local/lib/libgdk_pixbuf-2.0.dll.a +0 -0
- data/vendor/local/lib/libgdk_pixbuf-2.0.la +41 -0
- data/vendor/local/lib/pkgconfig/gdk-pixbuf-2.0.pc +19 -0
- data/vendor/local/share/gir-1.0/GdkPixbuf-2.0.gir +3443 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/GdkPixbufLoader.html +827 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/annotation-glossary.html +65 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-12.html +35 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-14.html +46 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-2.html +108 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-26.html +50 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-28.html +47 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-30.html +35 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-4.html +72 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-6.html +65 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-8.html +39 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-deprecated.html +53 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-full.html +787 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/composite.png +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Animations.html +1068 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-Loading.html +794 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-saving.html +864 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Image-Data-in-Memory.html +491 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Inline-data.html +639 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Module-Interface.html +1298 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Reference-Counting-and-Memory-Mangement.html +208 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Scaling.html +914 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-The-GdkPixbuf-Structure.html +898 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Utilities.html +381 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Versioning.html +184 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-X-Drawables-to-Pixbufs.html +197 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Xlib-Rendering.html +438 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-XlibRGB.html +1115 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-csource.html +167 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-Xlib-initialization.html +159 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-from-drawables.html +45 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-rendering.html +44 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-query-loaders.html +85 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf.devhelp2 +226 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/index.html +150 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/index.sgml +322 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/license.html +59 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/rn01.html +101 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/rn02.html +50 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/style.css +476 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/up.png +0 -0
- data/vendor/local/share/license/gdk-pixbuf/AUTHORS +65 -0
- data/vendor/local/share/license/gdk-pixbuf/COPYING +482 -0
- data/vendor/local/share/locale/af/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ang/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ar/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/as/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ast/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/az/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/be@latin/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/bn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/bn_IN/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/br/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/bs/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/crh/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/csb/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/cy/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/dz/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/en@shaw/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/en_CA/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/en_GB/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/fa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/gu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/he/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/hi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/hr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/hy/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ia/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/io/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/is/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ka/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/km/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/kn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ku/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/li/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/lv/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/mai/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/mi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/mk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ml/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/mn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/mr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ms/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/my/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/nds/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ne/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/nso/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/oc/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/or/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/pa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ps/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/si/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/sq/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/sr@ije/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ta/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/te/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/tg/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/th/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/tk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/tt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/ug/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/uz/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/uz@cyrillic/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/wa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/xh/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/yi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gdk-pixbuf.mo +0 -0
- data/vendor/local/share/man/man1/gdk-pixbuf-csource.1 +135 -0
- data/vendor/local/share/man/man1/gdk-pixbuf-query-loaders.1 +73 -0
- metadata +273 -0
@@ -0,0 +1,41 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2002-2004 Masao Mutoh
|
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., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef __RBGDK_PIXBUF_H__
|
23
|
+
#define __RBGDK_PIXBUF_H__
|
24
|
+
|
25
|
+
#define GDK_PIXBUF_ENABLE_BACKEND
|
26
|
+
#include <gdk-pixbuf/gdk-pixbuf.h>
|
27
|
+
#include <gdk-pixbuf/gdk-pixdata.h>
|
28
|
+
#include "rbgobject.h"
|
29
|
+
#include "rbgdk-pixbuf2conversions.h"
|
30
|
+
|
31
|
+
extern GType gdk_pixbuf_format_get_type(void);
|
32
|
+
|
33
|
+
#define RBGDK_PIXBUF_CHECK_VERSION(major,minor,micro) \
|
34
|
+
(GDK_PIXBUF_MAJOR > (major) || \
|
35
|
+
(GDK_PIXBUF_MAJOR == (major) && GDK_PIXBUF_MINOR > (minor)) || \
|
36
|
+
(GDK_PIXBUF_MAJOR == (major) && GDK_PIXBUF_MINOR == (minor) && \
|
37
|
+
GDK_PIXBUF_MICRO >= (micro)))
|
38
|
+
|
39
|
+
#define GDK_TYPE_PIXBUF_FORMAT (gdk_pixbuf_format_get_type())
|
40
|
+
|
41
|
+
#endif /* __RBGDK_PIXBUF_H__ */
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#ifndef __RBGDK_PIXBUF2CONVERSIONS_H__
|
22
|
+
#define __RBGDK_PIXBUF2CONVERSIONS_H__
|
23
|
+
|
24
|
+
#define RVAL2GDKPIXBUF(o) (GDK_PIXBUF(RVAL2GOBJ(o)))
|
25
|
+
#define RVAL2GDKPIXBUFANIMATION(o) (GDK_PIXBUF_ANIMATION(RVAL2GOBJ(o)))
|
26
|
+
#define RVAL2GDKPIXBUFANIMATIONITER(o) (GDK_PIXBUF_ANIMATION_ITER(RVAL2GOBJ(o)))
|
27
|
+
#define RVAL2GDKPIXBUFLOADER(o) (GDK_PIXBUF_LOADER(RVAL2GOBJ(o)))
|
28
|
+
#define RVAL2GDKPIXBUFSIMPLEANIM(o) (GDK_PIXBUF_SIMPLE_ANIM(RVAL2GOBJ(o)))
|
29
|
+
|
30
|
+
#define RVAL2GDKPIXBUFFORMAT(o) ((GdkPixbufFormat*)RVAL2BOXED(o, GDK_TYPE_PIXBUF_FORMAT))
|
31
|
+
#define GDKPIXBUFFORMAT2RVAL(o) (BOXED2RVAL(o, GDK_TYPE_PIXBUF_FORMAT))
|
32
|
+
#define RVAL2GDKPIXDATA(o) ((GdkPixdata*)RVAL2BOXED(o, GDK_TYPE_PIXDATA))
|
33
|
+
#define GDKPIXDATA2RVAL(o) (BOXED2RVAL(o, GDK_TYPE_PIXDATA))
|
34
|
+
|
35
|
+
#define RVAL2GDKCOLORSPACE(o) (RVAL2GENUM(o, GDK_TYPE_COLORSPACE))
|
36
|
+
#define GDKCOLORSPACE2RVAL(o) (GENUM2RVAL(o, GDK_TYPE_COLORSPACE))
|
37
|
+
#define RVAL2GDKINTERPTYPE(o) (RVAL2GENUM(o, GDK_TYPE_INTERP_TYPE))
|
38
|
+
#define GDKINTERPTYPE2RVAL(o) (GENUM2RVAL(o, GDK_TYPE_INTERP_TYPE))
|
39
|
+
#define RVAL2GDKPIXBUFROTATION(o) (RVAL2GENUM(o, GDK_TYPE_PIXBUF_ROTATION))
|
40
|
+
#define GDKPIXBUFROTATION2RVAL(o) (GENUM2RVAL(o, GDK_TYPE_PIXBUF_ROTATION))
|
41
|
+
|
42
|
+
#endif /* __RBGDK_PIXBUF2CONVERSIONS_H__ */
|
@@ -0,0 +1,35 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#ifndef __RBGDK_PIXBUF2PRIVATE_H__
|
22
|
+
#define __RBGDK_PIXBUF2PRIVATE_H__
|
23
|
+
|
24
|
+
#include "rbgdk-pixbuf.h"
|
25
|
+
|
26
|
+
G_GNUC_INTERNAL void Init_gdk_pixbuf_animation(VALUE mGLib);
|
27
|
+
G_GNUC_INTERNAL void Init_gdk_pixbuf_animation_iter(VALUE mGLib);
|
28
|
+
G_GNUC_INTERNAL void Init_gdk_pixbuf_format(VALUE mGLib);
|
29
|
+
G_GNUC_INTERNAL void Init_gdk_pixbuf_loader(VALUE mGLib);
|
30
|
+
#if RBGDK_PIXBUF_CHECK_VERSION(2,8,0)
|
31
|
+
G_GNUC_INTERNAL void Init_gdk_pixbuf_simpleanim(VALUE mGLib);
|
32
|
+
#endif
|
33
|
+
G_GNUC_INTERNAL void Init_gdk_pixdata(VALUE mGLib);
|
34
|
+
|
35
|
+
#endif /* __RBGDK_PIXBUF2PRIVATE_H__ */
|
@@ -0,0 +1,93 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2002,2003 Masao Mutoh
|
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., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbgdk-pixbuf2private.h"
|
23
|
+
|
24
|
+
#define RG_TARGET_NAMESPACE cPixbufAnimation
|
25
|
+
#define _SELF(s) (RVAL2GDKPIXBUFANIMATION(s))
|
26
|
+
|
27
|
+
static VALUE
|
28
|
+
rg_initialize(VALUE self, VALUE filename)
|
29
|
+
{
|
30
|
+
GdkPixbufAnimation* ret;
|
31
|
+
GError* error = NULL;
|
32
|
+
|
33
|
+
ret = gdk_pixbuf_animation_new_from_file(RVAL2CSTR(filename), &error);
|
34
|
+
if (ret == NULL)
|
35
|
+
RAISE_GERROR(error);
|
36
|
+
|
37
|
+
G_INITIALIZE(self, ret);
|
38
|
+
return Qnil;
|
39
|
+
}
|
40
|
+
|
41
|
+
static VALUE
|
42
|
+
rg_width(VALUE self)
|
43
|
+
{
|
44
|
+
return INT2NUM(gdk_pixbuf_animation_get_width(_SELF(self)));
|
45
|
+
}
|
46
|
+
|
47
|
+
static VALUE
|
48
|
+
rg_height(VALUE self)
|
49
|
+
{
|
50
|
+
return INT2NUM(gdk_pixbuf_animation_get_height(_SELF(self)));
|
51
|
+
}
|
52
|
+
|
53
|
+
static VALUE
|
54
|
+
rg_get_iter(int argc, VALUE *argv, VALUE self)
|
55
|
+
{
|
56
|
+
VALUE start_time_sec, start_time_usec;
|
57
|
+
GTimeVal start_time;
|
58
|
+
|
59
|
+
rb_scan_args(argc, argv, "02", &start_time_sec, &start_time_usec);
|
60
|
+
|
61
|
+
if (NIL_P(start_time_sec))
|
62
|
+
return GOBJ2RVAL(gdk_pixbuf_animation_get_iter(_SELF(self), NULL));
|
63
|
+
|
64
|
+
start_time.tv_sec = NUM2LONG(start_time_sec);
|
65
|
+
start_time.tv_usec = NIL_P(start_time_usec) ? 0 : NUM2LONG(start_time_usec);
|
66
|
+
|
67
|
+
return GOBJ2RVAL(gdk_pixbuf_animation_get_iter(_SELF(self), &start_time));
|
68
|
+
}
|
69
|
+
|
70
|
+
static VALUE
|
71
|
+
rg_static_image_p(VALUE self)
|
72
|
+
{
|
73
|
+
return CBOOL2RVAL(gdk_pixbuf_animation_is_static_image(_SELF(self)));
|
74
|
+
}
|
75
|
+
|
76
|
+
static VALUE
|
77
|
+
rg_static_image(VALUE self)
|
78
|
+
{
|
79
|
+
return GOBJ2RVAL(gdk_pixbuf_animation_get_static_image(_SELF(self)));
|
80
|
+
}
|
81
|
+
|
82
|
+
void
|
83
|
+
Init_gdk_pixbuf_animation(VALUE mGdk)
|
84
|
+
{
|
85
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_PIXBUF_ANIMATION, "PixbufAnimation", mGdk);
|
86
|
+
|
87
|
+
RG_DEF_METHOD(initialize, 1);
|
88
|
+
RG_DEF_METHOD(width, 0);
|
89
|
+
RG_DEF_METHOD(height, 0);
|
90
|
+
RG_DEF_METHOD(get_iter, -1);
|
91
|
+
RG_DEF_METHOD_P(static_image, 0);
|
92
|
+
RG_DEF_METHOD(static_image, 0);
|
93
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2002,2003 Masao Mutoh
|
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., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbgdk-pixbuf2private.h"
|
23
|
+
|
24
|
+
#define RG_TARGET_NAMESPACE cPixbufAnimationIter
|
25
|
+
#define _SELF(i) (RVAL2GDKPIXBUFANIMATIONITER(i))
|
26
|
+
|
27
|
+
static VALUE
|
28
|
+
rg_advance(int argc, VALUE *argv, VALUE self)
|
29
|
+
{
|
30
|
+
VALUE current_time_sec, current_time_usec;
|
31
|
+
GTimeVal current_time;
|
32
|
+
|
33
|
+
rb_scan_args(argc, argv, "02", ¤t_time_sec, ¤t_time_usec);
|
34
|
+
|
35
|
+
if (NIL_P(current_time_sec))
|
36
|
+
return CBOOL2RVAL(gdk_pixbuf_animation_iter_advance(_SELF(self), NULL));
|
37
|
+
|
38
|
+
current_time.tv_sec = NUM2LONG(current_time_sec);
|
39
|
+
current_time.tv_usec = NIL_P(current_time_usec) ? 0 : NUM2LONG(current_time_usec);
|
40
|
+
|
41
|
+
return CBOOL2RVAL(gdk_pixbuf_animation_iter_advance(_SELF(self), ¤t_time));
|
42
|
+
}
|
43
|
+
|
44
|
+
static VALUE
|
45
|
+
rg_delay_time(VALUE self)
|
46
|
+
{
|
47
|
+
return INT2NUM(gdk_pixbuf_animation_iter_get_delay_time(_SELF(self)));
|
48
|
+
}
|
49
|
+
|
50
|
+
static VALUE
|
51
|
+
rg_on_currently_loading_frame_p(VALUE self)
|
52
|
+
{
|
53
|
+
return CBOOL2RVAL(gdk_pixbuf_animation_iter_on_currently_loading_frame(_SELF(self)));
|
54
|
+
}
|
55
|
+
|
56
|
+
static VALUE
|
57
|
+
rg_pixbuf(VALUE self)
|
58
|
+
{
|
59
|
+
return GOBJ2RVAL(gdk_pixbuf_animation_iter_get_pixbuf(_SELF(self)));
|
60
|
+
}
|
61
|
+
|
62
|
+
void
|
63
|
+
Init_gdk_pixbuf_animation_iter(VALUE mGdk)
|
64
|
+
{
|
65
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_PIXBUF_ANIMATION_ITER, "PixbufAnimationIter", mGdk);
|
66
|
+
|
67
|
+
RG_DEF_METHOD(advance, -1);
|
68
|
+
RG_DEF_METHOD(delay_time, 0);
|
69
|
+
RG_DEF_METHOD_P(on_currently_loading_frame, 0);
|
70
|
+
RG_DEF_METHOD(pixbuf, 0);
|
71
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2002,2003 the ruby-gnome2 project
|
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., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbgdk-pixbuf2private.h"
|
23
|
+
|
24
|
+
#if RBGDK_PIXBUF_CHECK_VERSION(2,8,0)
|
25
|
+
#define RG_TARGET_NAMESPACE cPixbufSimpleAnim
|
26
|
+
#define _SELF(s) (RVAL2GDKPIXBUFSIMPLEANIM(s))
|
27
|
+
|
28
|
+
static VALUE
|
29
|
+
rg_initialize(VALUE self, VALUE width, VALUE height, VALUE rate)
|
30
|
+
{
|
31
|
+
GdkPixbufSimpleAnim* ret = gdk_pixbuf_simple_anim_new(NUM2INT(width), NUM2INT(height), NUM2DBL(rate));
|
32
|
+
G_INITIALIZE(self, ret);
|
33
|
+
return Qnil;
|
34
|
+
}
|
35
|
+
|
36
|
+
static VALUE
|
37
|
+
rg_add_frame(VALUE self, VALUE pixbuf)
|
38
|
+
{
|
39
|
+
gdk_pixbuf_simple_anim_add_frame(_SELF(self), RVAL2GDKPIXBUF(pixbuf));
|
40
|
+
return self;
|
41
|
+
}
|
42
|
+
#endif
|
43
|
+
|
44
|
+
void
|
45
|
+
Init_gdk_pixbuf_simpleanim(VALUE mGdk)
|
46
|
+
{
|
47
|
+
#if RBGDK_PIXBUF_CHECK_VERSION(2,8,0)
|
48
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_PIXBUF_SIMPLE_ANIM, "PixbufSimpleAnim", mGdk);
|
49
|
+
|
50
|
+
RG_DEF_METHOD(initialize, 3);
|
51
|
+
RG_DEF_METHOD(add_frame, 1);
|
52
|
+
#endif
|
53
|
+
}
|
@@ -0,0 +1,213 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2002,2003 Masao Mutoh
|
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., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbgdk-pixbuf2private.h"
|
23
|
+
|
24
|
+
#define GDK_TYPE_PIXDATA (gdk_pixdata_get_type())
|
25
|
+
#define RG_TARGET_NAMESPACE cPixdata
|
26
|
+
#define _SELF(s) (RVAL2GDKPIXDATA(s))
|
27
|
+
|
28
|
+
static ID id_pixdata;
|
29
|
+
|
30
|
+
/*****************************************/
|
31
|
+
static GdkPixdata *
|
32
|
+
gdk_pixdata_copy(const GdkPixdata* src)
|
33
|
+
{
|
34
|
+
GdkPixdata* data;
|
35
|
+
g_return_val_if_fail (src != NULL, NULL);
|
36
|
+
data = g_new(GdkPixdata, 1);
|
37
|
+
*data = *src;
|
38
|
+
return data;
|
39
|
+
}
|
40
|
+
|
41
|
+
static GType
|
42
|
+
gdk_pixdata_get_type(void)
|
43
|
+
{
|
44
|
+
static GType our_type = 0;
|
45
|
+
if (our_type == 0)
|
46
|
+
our_type = g_boxed_type_register_static ("GdkPixdata",
|
47
|
+
(GBoxedCopyFunc)gdk_pixdata_copy,
|
48
|
+
(GBoxedFreeFunc)g_free);
|
49
|
+
return our_type;
|
50
|
+
}
|
51
|
+
/*****************************************/
|
52
|
+
static VALUE
|
53
|
+
rg_s_from_pixbuf(G_GNUC_UNUSED VALUE self, VALUE pixbuf, VALUE use_rle)
|
54
|
+
{
|
55
|
+
GdkPixdata pixdata;
|
56
|
+
gpointer rle_data = gdk_pixdata_from_pixbuf(&pixdata, RVAL2GDKPIXBUF(pixbuf), RVAL2CBOOL(use_rle));
|
57
|
+
VALUE ret = GDKPIXDATA2RVAL(&pixdata);
|
58
|
+
if (use_rle){
|
59
|
+
/* need to manage the returned value */
|
60
|
+
rb_ivar_set(ret, id_pixdata, Data_Wrap_Struct(rb_cData, NULL, g_free, rle_data));
|
61
|
+
}
|
62
|
+
return ret;
|
63
|
+
}
|
64
|
+
|
65
|
+
static VALUE
|
66
|
+
rg_to_pixbuf(VALUE self, VALUE copy_pixels)
|
67
|
+
{
|
68
|
+
GError* error = NULL;
|
69
|
+
GdkPixbuf* ret = gdk_pixbuf_from_pixdata(_SELF(self), RVAL2CBOOL(copy_pixels), &error);
|
70
|
+
if (error)
|
71
|
+
RAISE_GERROR(error);
|
72
|
+
return GOBJ2RVAL(ret);
|
73
|
+
}
|
74
|
+
|
75
|
+
static VALUE
|
76
|
+
rg_serialize(VALUE self)
|
77
|
+
{
|
78
|
+
guint stream_length;
|
79
|
+
guint i;
|
80
|
+
guint8* ret = gdk_pixdata_serialize(_SELF(self), &stream_length);
|
81
|
+
VALUE ary = rb_ary_new2(stream_length);
|
82
|
+
for (i = 0; i < stream_length; i++) {
|
83
|
+
rb_ary_push(ary, UINT2NUM(ret[i]));
|
84
|
+
}
|
85
|
+
return ary;
|
86
|
+
}
|
87
|
+
|
88
|
+
static VALUE
|
89
|
+
rg_s_deserialize(VALUE self, VALUE rbstream)
|
90
|
+
{
|
91
|
+
GdkPixdata pixdata;
|
92
|
+
long n;
|
93
|
+
guint8 *stream = RVAL2GUINT8S(rbstream, n);
|
94
|
+
GError *error = NULL;
|
95
|
+
|
96
|
+
/* TODO: Should we really be creating a new array here? As far as I can
|
97
|
+
tell, the data is copied. */
|
98
|
+
if (!gdk_pixdata_deserialize(&pixdata, n, stream, &error))
|
99
|
+
RAISE_GERROR(error);
|
100
|
+
|
101
|
+
/* need to manage the returned value */
|
102
|
+
rb_ivar_set(self, id_pixdata, Data_Wrap_Struct(rb_cData, NULL, g_free, stream));
|
103
|
+
|
104
|
+
return GDKPIXDATA2RVAL(&pixdata);
|
105
|
+
}
|
106
|
+
|
107
|
+
static VALUE
|
108
|
+
rg_to_csource(VALUE self, VALUE name, VALUE dump_type)
|
109
|
+
{
|
110
|
+
GString* str = gdk_pixdata_to_csource(_SELF(self), RVAL2CSTR(name), FIX2INT(dump_type));
|
111
|
+
VALUE ret = CSTR2RVAL(str->str);
|
112
|
+
g_string_free(str, TRUE);
|
113
|
+
return ret;
|
114
|
+
}
|
115
|
+
|
116
|
+
/* GdkPixdata */
|
117
|
+
static VALUE
|
118
|
+
rg_magic(VALUE self)
|
119
|
+
{
|
120
|
+
return UINT2NUM(_SELF(self)->magic);
|
121
|
+
}
|
122
|
+
|
123
|
+
static VALUE
|
124
|
+
rg_length(VALUE self)
|
125
|
+
{
|
126
|
+
gint32 length = _SELF(self)->length;
|
127
|
+
|
128
|
+
if(length > 0)
|
129
|
+
length -= GDK_PIXDATA_HEADER_LENGTH;
|
130
|
+
return INT2NUM(length);
|
131
|
+
}
|
132
|
+
|
133
|
+
static VALUE
|
134
|
+
rg_pixdata_type(VALUE self)
|
135
|
+
{
|
136
|
+
return UINT2NUM(_SELF(self)->pixdata_type);
|
137
|
+
}
|
138
|
+
|
139
|
+
static VALUE
|
140
|
+
rg_rowstride(VALUE self)
|
141
|
+
{
|
142
|
+
return INT2NUM(_SELF(self)->rowstride);
|
143
|
+
}
|
144
|
+
|
145
|
+
static VALUE
|
146
|
+
rg_width(VALUE self)
|
147
|
+
{
|
148
|
+
return INT2NUM(_SELF(self)->width);
|
149
|
+
}
|
150
|
+
|
151
|
+
static VALUE
|
152
|
+
rg_height(VALUE self)
|
153
|
+
{
|
154
|
+
return INT2NUM(_SELF(self)->height);
|
155
|
+
}
|
156
|
+
|
157
|
+
static VALUE
|
158
|
+
rg_pixel_data(VALUE self)
|
159
|
+
{
|
160
|
+
gint i;
|
161
|
+
guint8* ret = _SELF(self)->pixel_data;
|
162
|
+
gint32 length = _SELF(self)->length - GDK_PIXDATA_HEADER_LENGTH;
|
163
|
+
|
164
|
+
VALUE ary = rb_ary_new2(length);
|
165
|
+
for (i = 0; i < length; i++) {
|
166
|
+
rb_ary_push(ary, UINT2NUM(ret[i]));
|
167
|
+
}
|
168
|
+
return ary;
|
169
|
+
}
|
170
|
+
|
171
|
+
void
|
172
|
+
Init_gdk_pixdata(VALUE mGdk)
|
173
|
+
{
|
174
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_PIXDATA, "Pixdata", mGdk);
|
175
|
+
|
176
|
+
id_pixdata = rb_intern("pixdata");
|
177
|
+
|
178
|
+
RG_DEF_SMETHOD(from_pixbuf, 2);
|
179
|
+
RG_DEF_SMETHOD(deserialize, 1);
|
180
|
+
RG_DEF_METHOD(to_pixbuf, 1);
|
181
|
+
RG_DEF_METHOD(serialize, 0);
|
182
|
+
RG_DEF_METHOD(to_csource, 2);
|
183
|
+
RG_DEF_METHOD(magic, 0);
|
184
|
+
RG_DEF_METHOD(length, 0);
|
185
|
+
RG_DEF_METHOD(pixdata_type, 0);
|
186
|
+
RG_DEF_METHOD(rowstride, 0);
|
187
|
+
RG_DEF_METHOD(width, 0);
|
188
|
+
RG_DEF_METHOD(height, 0);
|
189
|
+
RG_DEF_METHOD(pixel_data, 0);
|
190
|
+
|
191
|
+
rb_define_const(RG_TARGET_NAMESPACE, "PIXBUF_MAGIC_NUMBER", INT2NUM(GDK_PIXBUF_MAGIC_NUMBER));
|
192
|
+
rb_define_const(RG_TARGET_NAMESPACE, "HEADER_LENGTH", INT2NUM(GDK_PIXDATA_HEADER_LENGTH));
|
193
|
+
|
194
|
+
/* GdkPixdataType */
|
195
|
+
rb_define_const(RG_TARGET_NAMESPACE, "COLOR_TYPE_RGB", INT2FIX(GDK_PIXDATA_COLOR_TYPE_RGB));
|
196
|
+
rb_define_const(RG_TARGET_NAMESPACE, "COLOR_TYPE_RGBA", INT2FIX(GDK_PIXDATA_COLOR_TYPE_RGBA));
|
197
|
+
rb_define_const(RG_TARGET_NAMESPACE, "COLOR_TYPE_MASK", INT2FIX(GDK_PIXDATA_COLOR_TYPE_MASK));
|
198
|
+
rb_define_const(RG_TARGET_NAMESPACE, "SAMPLE_WIDTH_8", INT2FIX(GDK_PIXDATA_SAMPLE_WIDTH_8));
|
199
|
+
rb_define_const(RG_TARGET_NAMESPACE, "SAMPLE_WIDTH_MASK", INT2FIX(GDK_PIXDATA_SAMPLE_WIDTH_MASK));
|
200
|
+
rb_define_const(RG_TARGET_NAMESPACE, "ENCODING_RAW", INT2FIX(GDK_PIXDATA_ENCODING_RAW));
|
201
|
+
rb_define_const(RG_TARGET_NAMESPACE, "ENCODING_RLE", INT2FIX(GDK_PIXDATA_ENCODING_RLE));
|
202
|
+
rb_define_const(RG_TARGET_NAMESPACE, "ENCODING_MASK", INT2FIX(GDK_PIXDATA_ENCODING_MASK));
|
203
|
+
|
204
|
+
/* GdkPixdataDumpType */
|
205
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_PIXDATA_STREAM", INT2FIX(GDK_PIXDATA_DUMP_PIXDATA_STREAM));
|
206
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_PIXDATA_STRUCT", INT2FIX(GDK_PIXDATA_DUMP_PIXDATA_STRUCT));
|
207
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_MACROS", INT2FIX(GDK_PIXDATA_DUMP_MACROS));
|
208
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_GTYPES", INT2FIX(GDK_PIXDATA_DUMP_GTYPES));
|
209
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_CTYPES", INT2FIX(GDK_PIXDATA_DUMP_CTYPES));
|
210
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_STATIC", INT2FIX(GDK_PIXDATA_DUMP_STATIC));
|
211
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_CONST", INT2FIX(GDK_PIXDATA_DUMP_CONST));
|
212
|
+
rb_define_const(RG_TARGET_NAMESPACE, "DUMP_RLE_DECODER", INT2FIX(GDK_PIXDATA_DUMP_RLE_DECODER));
|
213
|
+
}
|