gdk_pixbuf2 3.0.8-x64-mingw32 → 3.0.9-x64-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.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/lib/gdk_pixbuf2.rb +11 -69
- data/lib/gdk_pixbuf2/deprecated.rb +160 -0
- data/lib/gdk_pixbuf2/loader.rb +51 -0
- data/lib/gdk_pixbuf2/pixbuf-loader.rb +24 -0
- data/lib/gdk_pixbuf2/pixbuf.rb +282 -0
- data/lib/gdk_pixbuf2/version.rb +33 -0
- data/sample/anim.rb +2 -2
- data/sample/composite.rb +41 -11
- data/sample/flip.rb +2 -2
- data/sample/format.rb +2 -4
- data/sample/loader.rb +3 -3
- data/sample/rotate.rb +4 -4
- data/sample/save.rb +3 -3
- data/sample/scale.rb +14 -6
- data/sample/simpleanim.rb +10 -4
- data/sample/utils.rb +7 -4
- data/sample/xpm.rb +9 -9
- data/test/fixture/floppybuddy.gif +0 -0
- data/test/fixture/gnome-logo-icon.png +0 -0
- data/test/fixture/image.gresource +0 -0
- data/test/fixture/image.gresource.xml +6 -0
- data/test/gdk_pixbuf2-test-utils.rb +11 -0
- data/test/run-test.rb +6 -3
- data/test/test-animation.rb +30 -0
- data/test/test-loader.rb +31 -0
- data/test/test-pixbuf.rb +334 -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/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/libgdk_pixbuf-2.0.dll.a +0 -0
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/GdkPixbufLoader.html +59 -59
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Animations.html +64 -64
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-Loading.html +89 -89
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-saving.html +85 -85
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Image-Data-in-Memory.html +23 -23
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Inline-data.html +36 -36
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Module-Interface.html +46 -46
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Reference-Counting-and-Memory-Mangement.html +10 -10
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Scaling.html +13 -13
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-The-GdkPixbuf-Structure.html +52 -52
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Utilities.html +10 -10
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-X-Drawables-to-Pixbufs.html +3 -3
- data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-XlibRGB.html +4 -4
- metadata +17 -25
- data/README +0 -29
- data/ext/gdk_pixbuf2/depend +0 -11
- data/ext/gdk_pixbuf2/extconf.rb +0 -68
- data/ext/gdk_pixbuf2/gdk_pixbuf2.def +0 -2
- data/ext/gdk_pixbuf2/rbgdk-pixbuf-format.c +0 -179
- data/ext/gdk_pixbuf2/rbgdk-pixbuf-loader.c +0 -164
- data/ext/gdk_pixbuf2/rbgdk-pixbuf.c +0 -737
- data/ext/gdk_pixbuf2/rbgdk-pixbuf.h +0 -41
- data/ext/gdk_pixbuf2/rbgdk-pixbuf2conversions.h +0 -42
- data/ext/gdk_pixbuf2/rbgdk-pixbuf2private.h +0 -35
- data/ext/gdk_pixbuf2/rbgdk-pixbufanimation.c +0 -93
- data/ext/gdk_pixbuf2/rbgdk-pixbufanimationiter.c +0 -71
- data/ext/gdk_pixbuf2/rbgdk-pixbufsimpleanim.c +0 -53
- data/ext/gdk_pixbuf2/rbgdk-pixdata.c +0 -213
- data/extconf.rb +0 -49
- data/lib/2.2/gdk_pixbuf2.so +0 -0
- data/lib/2.3/gdk_pixbuf2.so +0 -0
- data/sample/inline.rb +0 -37
- data/sample/pixdata.rb +0 -39
- data/test/test-version.rb +0 -47
@@ -1,41 +0,0 @@
|
|
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__ */
|
@@ -1,42 +0,0 @@
|
|
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__ */
|
@@ -1,35 +0,0 @@
|
|
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__ */
|
@@ -1,93 +0,0 @@
|
|
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
|
-
}
|
@@ -1,71 +0,0 @@
|
|
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
|
-
}
|
@@ -1,53 +0,0 @@
|
|
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
|
-
}
|
@@ -1,213 +0,0 @@
|
|
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
|
-
}
|