gdk_pixbuf2 1.0.3-x86-mingw32 → 1.1.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/ext/gdk_pixbuf2/rbgdk-pixbuf-format.c +49 -40
  2. data/ext/gdk_pixbuf2/rbgdk-pixbuf-loader.c +50 -40
  3. data/ext/gdk_pixbuf2/rbgdk-pixbuf.c +250 -168
  4. data/ext/gdk_pixbuf2/rbgdk-pixbuf.h +25 -18
  5. data/ext/gdk_pixbuf2/rbgdk-pixbuf2conversions.h +42 -0
  6. data/ext/gdk_pixbuf2/rbgdk-pixbuf2private.h +35 -0
  7. data/ext/gdk_pixbuf2/rbgdk-pixbufanimation.c +46 -83
  8. data/ext/gdk_pixbuf2/rbgdk-pixbufanimationiter.c +71 -0
  9. data/ext/gdk_pixbuf2/rbgdk-pixbufsimpleanim.c +29 -17
  10. data/ext/gdk_pixbuf2/rbgdk-pixdata.c +81 -77
  11. data/lib/1.8/gdk_pixbuf2.so +0 -0
  12. data/lib/1.9/gdk_pixbuf2.so +0 -0
  13. data/vendor/local/bin/gdk-pixbuf-csource.exe +0 -0
  14. data/vendor/local/bin/gdk-pixbuf-query-loaders.exe +0 -0
  15. data/vendor/local/bin/libgdk_pixbuf-2.0-0.dll +0 -0
  16. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +40 -0
  17. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +200 -5
  18. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +82 -3
  19. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +170 -0
  20. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +6 -1
  21. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +5 -0
  22. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +42 -1
  23. data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache +2 -2
  24. data/vendor/local/lib/gdk_pixbuf-2.0.lib +0 -0
  25. data/vendor/local/lib/libgdk_pixbuf-2.0.dll.a +0 -0
  26. data/vendor/local/lib/pkgconfig/gdk-pixbuf-2.0.pc +4 -2
  27. data/vendor/local/manifest/{gdk-pixbuf-dev_2.22.1-1_win32.mft → gdk-pixbuf-dev_2.24.0-1_win32.mft} +12 -13
  28. data/vendor/local/manifest/{gdk-pixbuf_2.22.1-1_win32.mft → gdk-pixbuf_2.24.0-1_win32.mft} +2 -1
  29. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/GdkPixbufLoader.html +181 -150
  30. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/annotation-glossary.html +30 -9
  31. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-10.html +3 -3
  32. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-12.html +4 -4
  33. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-14.html +6 -6
  34. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-2.html +35 -3
  35. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-4.html +13 -9
  36. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-6.html +6 -6
  37. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-8.html +5 -5
  38. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-deprecated.html +7 -7
  39. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-full.html +251 -629
  40. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Animations.html +644 -0
  41. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-Loading.html +372 -0
  42. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-saving.html +642 -0
  43. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Image-Data-in-Memory.html +417 -0
  44. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Inline-data.html +495 -0
  45. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Module-Interface.html +485 -184
  46. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Reference-Counting-and-Memory-Mangement.html +168 -0
  47. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/{gdk-pixbuf-scaling.html → gdk-pixbuf-Scaling.html} +296 -190
  48. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-The-GdkPixbuf-Structure.html +617 -0
  49. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/{gdk-pixbuf-util.html → gdk-pixbuf-Utilities.html} +83 -93
  50. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Versioning.html +63 -26
  51. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-csource.html +16 -16
  52. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-from-drawables.html +8 -8
  53. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-rendering.html +8 -8
  54. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-query-loaders.html +12 -12
  55. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf.devhelp2 +149 -128
  56. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/index.html +18 -18
  57. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/index.sgml +184 -154
  58. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/license.html +3 -3
  59. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/rn01.html +18 -18
  60. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/rn02.html +5 -5
  61. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/style.css +2 -1
  62. data/vendor/local/share/locale/af/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  63. data/vendor/local/share/locale/ang/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  64. data/vendor/local/share/locale/ar/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  65. data/vendor/local/share/locale/as/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  66. data/vendor/local/share/locale/ast/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  67. data/vendor/local/share/locale/az/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  68. data/vendor/local/share/locale/be/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  69. data/vendor/local/share/locale/be@latin/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  70. data/vendor/local/share/locale/bg/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  71. data/vendor/local/share/locale/bn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  72. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  73. data/vendor/local/share/locale/br/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  74. data/vendor/local/share/locale/bs/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  75. data/vendor/local/share/locale/ca/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  76. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  77. data/vendor/local/share/locale/crh/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  78. data/vendor/local/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  79. data/vendor/local/share/locale/cy/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  80. data/vendor/local/share/locale/da/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  81. data/vendor/local/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  82. data/vendor/local/share/locale/dz/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  83. data/vendor/local/share/locale/el/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  84. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  85. data/vendor/local/share/locale/en_CA/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  86. data/vendor/local/share/locale/en_GB/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  87. data/vendor/local/share/locale/eo/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  88. data/vendor/local/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  89. data/vendor/local/share/locale/et/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  90. data/vendor/local/share/locale/eu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  91. data/vendor/local/share/locale/fa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  92. data/vendor/local/share/locale/fi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  93. data/vendor/local/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  94. data/vendor/local/share/locale/ga/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  95. data/vendor/local/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  96. data/vendor/local/share/locale/gu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  97. data/vendor/local/share/locale/he/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  98. data/vendor/local/share/locale/hi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  99. data/vendor/local/share/locale/hr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  100. data/vendor/local/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  101. data/vendor/local/share/locale/hy/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  102. data/vendor/local/share/locale/ia/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  103. data/vendor/local/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  104. data/vendor/local/share/locale/io/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  105. data/vendor/local/share/locale/is/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  106. data/vendor/local/share/locale/it/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  107. data/vendor/local/share/locale/ja/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  108. data/vendor/local/share/locale/ka/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  109. data/vendor/local/share/locale/kn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  110. data/vendor/local/share/locale/ko/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  111. data/vendor/local/share/locale/ku/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  112. data/vendor/local/share/locale/li/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  113. data/vendor/local/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  114. data/vendor/local/share/locale/lv/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  115. data/vendor/local/share/locale/mai/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  116. data/vendor/local/share/locale/mi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  117. data/vendor/local/share/locale/mk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  118. data/vendor/local/share/locale/ml/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  119. data/vendor/local/share/locale/mn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  120. data/vendor/local/share/locale/mr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  121. data/vendor/local/share/locale/ms/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  122. data/vendor/local/share/locale/my/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  123. data/vendor/local/share/locale/nb/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  124. data/vendor/local/share/locale/nds/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  125. data/vendor/local/share/locale/ne/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  126. data/vendor/local/share/locale/nl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  127. data/vendor/local/share/locale/nn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  128. data/vendor/local/share/locale/nso/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  129. data/vendor/local/share/locale/oc/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  130. data/vendor/local/share/locale/or/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  131. data/vendor/local/share/locale/pa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  132. data/vendor/local/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  133. data/vendor/local/share/locale/ps/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  134. data/vendor/local/share/locale/pt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  135. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  136. data/vendor/local/share/locale/ro/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  137. data/vendor/local/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  138. data/vendor/local/share/locale/si/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  139. data/vendor/local/share/locale/sk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  140. data/vendor/local/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  141. data/vendor/local/share/locale/sq/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  142. data/vendor/local/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  143. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  144. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  145. data/vendor/local/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  146. data/vendor/local/share/locale/ta/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  147. data/vendor/local/share/locale/te/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  148. data/vendor/local/share/locale/th/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  149. data/vendor/local/share/locale/tk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  150. data/vendor/local/share/locale/tr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  151. data/vendor/local/share/locale/tt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  152. data/vendor/local/share/locale/ug/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  153. data/vendor/local/share/locale/uk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  154. data/vendor/local/share/locale/uz/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  155. data/vendor/local/share/locale/uz@cyrillic/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  156. data/vendor/local/share/locale/vi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  157. data/vendor/local/share/locale/wa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  158. data/vendor/local/share/locale/xh/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  159. data/vendor/local/share/locale/yi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  160. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  161. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  162. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  163. data/vendor/local/share/man/man1/gdk-pixbuf-csource.1 +2 -2
  164. data/vendor/local/share/man/man1/gdk-pixbuf-query-loaders.1 +2 -2
  165. data/vendor/local/src/dieterv/packaging/gdk-pixbuf_2.24.0-1_win32.log +956 -0
  166. data/vendor/local/src/dieterv/packaging/gdk-pixbuf_2.24.0-1_win32.sh +97 -0
  167. metadata +26 -24
  168. data/ChangeLog +0 -482
  169. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-animation.html +0 -654
  170. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-creating.html +0 -406
  171. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-file-loading.html +0 -402
  172. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-file-saving.html +0 -685
  173. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf.html +0 -460
  174. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-inline.html +0 -516
  175. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-refcounting.html +0 -132
  176. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf.devhelp +0 -175
  177. data/vendor/local/src/tml/packaging/gdk-pixbuf_2.22.1-1_win32.log +0 -1012
  178. data/vendor/local/src/tml/packaging/gdk-pixbuf_2.22.1-1_win32.sh +0 -256
@@ -1,23 +1,34 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbgdk-pixdata.c -
5
-
6
- $Author: ggc $
7
- $Date: 2007/07/13 16:07:28 $
8
-
9
- Copyright (C) 2002,2003 Masao Mutoh
10
- ************************************************/
11
- #include "rbgdk-pixbuf.h"
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"
12
23
 
13
24
  #define GDK_TYPE_PIXDATA (gdk_pixdata_get_type())
14
- #define _SELF(s) ((GdkPixdata*)(RVAL2BOXED(s, GDK_TYPE_PIXDATA)))
15
- #define PIXDATA2RVAL(pix) (BOXED2RVAL(pix, GDK_TYPE_PIXDATA))
25
+ #define RG_TARGET_NAMESPACE cPixdata
26
+ #define _SELF(s) (RVAL2GDKPIXDATA(s))
16
27
 
17
28
  static ID id_pixdata;
18
29
 
19
30
  /*****************************************/
20
- GdkPixdata*
31
+ static GdkPixdata *
21
32
  gdk_pixdata_copy(const GdkPixdata* src)
22
33
  {
23
34
  GdkPixdata* data;
@@ -27,8 +38,8 @@ gdk_pixdata_copy(const GdkPixdata* src)
27
38
  return data;
28
39
  }
29
40
 
30
- GType
31
- gdk_pixdata_get_type (void)
41
+ static GType
42
+ gdk_pixdata_get_type(void)
32
43
  {
33
44
  static GType our_type = 0;
34
45
  if (our_type == 0)
@@ -39,11 +50,11 @@ gdk_pixdata_get_type (void)
39
50
  }
40
51
  /*****************************************/
41
52
  static VALUE
42
- pixdata_s_from_pixbuf(VALUE self, VALUE pixbuf, VALUE use_rle)
53
+ rg_s_from_pixbuf(G_GNUC_UNUSED VALUE self, VALUE pixbuf, VALUE use_rle)
43
54
  {
44
55
  GdkPixdata pixdata;
45
- gpointer rle_data = gdk_pixdata_from_pixbuf(&pixdata, RVAL2GOBJ(pixbuf), RVAL2CBOOL(use_rle));
46
- VALUE ret = PIXDATA2RVAL(&pixdata);
56
+ gpointer rle_data = gdk_pixdata_from_pixbuf(&pixdata, RVAL2GDKPIXBUF(pixbuf), RVAL2CBOOL(use_rle));
57
+ VALUE ret = GDKPIXDATA2RVAL(&pixdata);
47
58
  if (use_rle){
48
59
  /* need to manage the returned value */
49
60
  rb_ivar_set(ret, id_pixdata, Data_Wrap_Struct(rb_cData, NULL, g_free, rle_data));
@@ -52,7 +63,7 @@ pixdata_s_from_pixbuf(VALUE self, VALUE pixbuf, VALUE use_rle)
52
63
  }
53
64
 
54
65
  static VALUE
55
- pixdata_to_pixbuf(VALUE self, VALUE copy_pixels)
66
+ rg_to_pixbuf(VALUE self, VALUE copy_pixels)
56
67
  {
57
68
  GError* error = NULL;
58
69
  GdkPixbuf* ret = gdk_pixbuf_from_pixdata(_SELF(self), RVAL2CBOOL(copy_pixels), &error);
@@ -62,7 +73,7 @@ pixdata_to_pixbuf(VALUE self, VALUE copy_pixels)
62
73
  }
63
74
 
64
75
  static VALUE
65
- pixdata_serialize(VALUE self)
76
+ rg_serialize(VALUE self)
66
77
  {
67
78
  guint stream_length;
68
79
  guint i;
@@ -75,32 +86,26 @@ pixdata_serialize(VALUE self)
75
86
  }
76
87
 
77
88
  static VALUE
78
- pixdata_s_deserialize(VALUE self, VALUE stream)
89
+ rg_s_deserialize(VALUE self, VALUE rbstream)
79
90
  {
80
91
  GdkPixdata pixdata;
81
- gboolean ret;
82
- guint8 *gstream;
83
- GError* error = NULL;
84
- gint i, len;
92
+ long n;
93
+ guint8 *stream = RVAL2GUINT8S(rbstream, n);
94
+ GError *error = NULL;
85
95
 
86
- len = RARRAY_LEN(stream);
87
- gstream = g_new(guint8, len);
88
- // gstream = ALLOCA_N(guint8, len);
89
- for (i = 0; i < len; i++){
90
- gstream[i] = (guint8)NUM2UINT(RARRAY_PTR(stream)[i]);
91
- }
92
- ret = gdk_pixdata_deserialize(&pixdata, len, gstream, &error);
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);
93
100
 
94
101
  /* need to manage the returned value */
95
- rb_ivar_set(ret, id_pixdata, Data_Wrap_Struct(rb_cData, NULL, g_free, gstream));
102
+ rb_ivar_set(self, id_pixdata, Data_Wrap_Struct(rb_cData, NULL, g_free, stream));
96
103
 
97
- if (ret != TRUE) RAISE_GERROR(error);
98
-
99
- return PIXDATA2RVAL(&pixdata);
104
+ return GDKPIXDATA2RVAL(&pixdata);
100
105
  }
101
106
 
102
107
  static VALUE
103
- pixdata_to_csource(VALUE self, VALUE name, VALUE dump_type)
108
+ rg_to_csource(VALUE self, VALUE name, VALUE dump_type)
104
109
  {
105
110
  GString* str = gdk_pixdata_to_csource(_SELF(self), RVAL2CSTR(name), FIX2INT(dump_type));
106
111
  VALUE ret = CSTR2RVAL(str->str);
@@ -110,13 +115,13 @@ pixdata_to_csource(VALUE self, VALUE name, VALUE dump_type)
110
115
 
111
116
  /* GdkPixdata */
112
117
  static VALUE
113
- pixdata_magic(VALUE self)
118
+ rg_magic(VALUE self)
114
119
  {
115
120
  return UINT2NUM(_SELF(self)->magic);
116
121
  }
117
122
 
118
123
  static VALUE
119
- pixdata_length(VALUE self)
124
+ rg_length(VALUE self)
120
125
  {
121
126
  gint32 length = _SELF(self)->length;
122
127
 
@@ -126,31 +131,31 @@ pixdata_length(VALUE self)
126
131
  }
127
132
 
128
133
  static VALUE
129
- pixdata_pixdata_type(VALUE self)
134
+ rg_pixdata_type(VALUE self)
130
135
  {
131
136
  return UINT2NUM(_SELF(self)->pixdata_type);
132
137
  }
133
138
 
134
139
  static VALUE
135
- pixdata_rowstride(VALUE self)
140
+ rg_rowstride(VALUE self)
136
141
  {
137
142
  return INT2NUM(_SELF(self)->rowstride);
138
143
  }
139
144
 
140
145
  static VALUE
141
- pixdata_width(VALUE self)
146
+ rg_width(VALUE self)
142
147
  {
143
148
  return INT2NUM(_SELF(self)->width);
144
149
  }
145
150
 
146
151
  static VALUE
147
- pixdata_height(VALUE self)
152
+ rg_height(VALUE self)
148
153
  {
149
154
  return INT2NUM(_SELF(self)->height);
150
155
  }
151
156
 
152
157
  static VALUE
153
- pixdata_pixel_data(VALUE self)
158
+ rg_pixel_data(VALUE self)
154
159
  {
155
160
  gint i;
156
161
  guint8* ret = _SELF(self)->pixel_data;
@@ -163,47 +168,46 @@ pixdata_pixel_data(VALUE self)
163
168
  return ary;
164
169
  }
165
170
 
166
-
167
171
  void
168
172
  Init_gdk_pixdata(VALUE mGdk)
169
173
  {
170
- VALUE pixdata = G_DEF_CLASS(GDK_TYPE_PIXDATA, "Pixdata", mGdk);
174
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_PIXDATA, "Pixdata", mGdk);
171
175
 
172
176
  id_pixdata = rb_intern("pixdata");
173
177
 
174
- rb_define_singleton_method(pixdata, "from_pixbuf", pixdata_s_from_pixbuf, 2);
175
- rb_define_singleton_method(pixdata, "deserialize", pixdata_s_deserialize, 1);
176
- rb_define_method(pixdata, "to_pixbuf", pixdata_to_pixbuf, 1);
177
- rb_define_method(pixdata, "serialize", pixdata_serialize, 0);
178
- rb_define_method(pixdata, "to_csource", pixdata_to_csource, 2);
179
- rb_define_method(pixdata, "magic", pixdata_magic, 0);
180
- rb_define_method(pixdata, "length", pixdata_length, 0);
181
- rb_define_method(pixdata, "pixdata_type", pixdata_pixdata_type, 0);
182
- rb_define_method(pixdata, "rowstride", pixdata_rowstride, 0);
183
- rb_define_method(pixdata, "width", pixdata_width, 0);
184
- rb_define_method(pixdata, "height", pixdata_height, 0);
185
- rb_define_method(pixdata, "pixel_data", pixdata_pixel_data, 0);
186
-
187
- rb_define_const(pixdata, "PIXBUF_MAGIC_NUMBER", INT2NUM(GDK_PIXBUF_MAGIC_NUMBER));
188
- rb_define_const(pixdata, "HEADER_LENGTH", INT2NUM(GDK_PIXDATA_HEADER_LENGTH));
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));
189
193
 
190
194
  /* GdkPixdataType */
191
- rb_define_const(pixdata, "COLOR_TYPE_RGB", INT2FIX(GDK_PIXDATA_COLOR_TYPE_RGB));
192
- rb_define_const(pixdata, "COLOR_TYPE_RGBA", INT2FIX(GDK_PIXDATA_COLOR_TYPE_RGBA));
193
- rb_define_const(pixdata, "COLOR_TYPE_MASK", INT2FIX(GDK_PIXDATA_COLOR_TYPE_MASK));
194
- rb_define_const(pixdata, "SAMPLE_WIDTH_8", INT2FIX(GDK_PIXDATA_SAMPLE_WIDTH_8));
195
- rb_define_const(pixdata, "SAMPLE_WIDTH_MASK", INT2FIX(GDK_PIXDATA_SAMPLE_WIDTH_MASK));
196
- rb_define_const(pixdata, "ENCODING_RAW", INT2FIX(GDK_PIXDATA_ENCODING_RAW));
197
- rb_define_const(pixdata, "ENCODING_RLE", INT2FIX(GDK_PIXDATA_ENCODING_RLE));
198
- rb_define_const(pixdata, "ENCODING_MASK", INT2FIX(GDK_PIXDATA_ENCODING_MASK));
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));
199
203
 
200
204
  /* GdkPixdataDumpType */
201
- rb_define_const(pixdata, "DUMP_PIXDATA_STREAM", INT2FIX(GDK_PIXDATA_DUMP_PIXDATA_STREAM));
202
- rb_define_const(pixdata, "DUMP_PIXDATA_STRUCT", INT2FIX(GDK_PIXDATA_DUMP_PIXDATA_STRUCT));
203
- rb_define_const(pixdata, "DUMP_MACROS", INT2FIX(GDK_PIXDATA_DUMP_MACROS));
204
- rb_define_const(pixdata, "DUMP_GTYPES", INT2FIX(GDK_PIXDATA_DUMP_GTYPES));
205
- rb_define_const(pixdata, "DUMP_CTYPES", INT2FIX(GDK_PIXDATA_DUMP_CTYPES));
206
- rb_define_const(pixdata, "DUMP_STATIC", INT2FIX(GDK_PIXDATA_DUMP_STATIC));
207
- rb_define_const(pixdata, "DUMP_CONST", INT2FIX(GDK_PIXDATA_DUMP_CONST));
208
- rb_define_const(pixdata, "DUMP_RLE_DECODER", INT2FIX(GDK_PIXDATA_DUMP_RLE_DECODER));
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));
209
213
  }
Binary file
Binary file
@@ -38,7 +38,20 @@ G_BEGIN_DECLS
38
38
 
39
39
  /* Animation support */
40
40
 
41
+ /**
42
+ * GdkPixbufAnimation:
43
+ *
44
+ * An opaque struct representing an animation.
45
+ */
41
46
  typedef struct _GdkPixbufAnimation GdkPixbufAnimation;
47
+
48
+
49
+ /**
50
+ * GdkPixbufAnimationIter:
51
+ *
52
+ * An opaque struct representing an iterator which points to a
53
+ * certain position in an animation.
54
+ */
42
55
  typedef struct _GdkPixbufAnimationIter GdkPixbufAnimationIter;
43
56
 
44
57
  #define GDK_TYPE_PIXBUF_ANIMATION (gdk_pixbuf_animation_get_type ())
@@ -82,6 +95,18 @@ gboolean gdk_pixbuf_animation_iter_advance (Gd
82
95
 
83
96
 
84
97
 
98
+ /**
99
+ * GdkPixbufAnimationClass:
100
+ * @parent_class: the parent class
101
+ * @is_static_image: returns whether the given animation is just a static image.
102
+ * @get_static_image: returns a static image representing the given animation.
103
+ * @get_size: fills @width and @height with the frame size of the animation.
104
+ * @get_iter: returns an iterator for the given animation.
105
+ *
106
+ * Modules supporting animations must derive a type from
107
+ * #GdkPixbufAnimation, providing suitable implementations of the
108
+ * virtual functions.
109
+ */
85
110
  typedef struct _GdkPixbufAnimationClass GdkPixbufAnimationClass;
86
111
 
87
112
  #define GDK_PIXBUF_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION, GdkPixbufAnimationClass))
@@ -114,6 +139,21 @@ struct _GdkPixbufAnimationClass {
114
139
 
115
140
 
116
141
 
142
+ /**
143
+ * GdkPixbufAnimationIterClass:
144
+ * @parent_class: the parent class
145
+ * @get_delay_time: returns the time in milliseconds that the current frame
146
+ * should be shown.
147
+ * @get_pixbuf: returns the current frame.
148
+ * @on_currently_loading_frame: returns whether the current frame of @iter is
149
+ * being loaded.
150
+ * @advance: advances the iterator to @current_time, possibly changing the
151
+ * current frame.
152
+ *
153
+ * Modules supporting animations must derive a type from
154
+ * #GdkPixbufAnimationIter, providing suitable implementations of the
155
+ * virtual functions.
156
+ */
117
157
  typedef struct _GdkPixbufAnimationIterClass GdkPixbufAnimationIterClass;
118
158
 
119
159
  #define GDK_PIXBUF_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIterClass))
@@ -36,15 +36,122 @@
36
36
 
37
37
  G_BEGIN_DECLS
38
38
 
39
- /* Alpha compositing mode */
39
+ /**
40
+ * SECTION:gdk-pixbuf
41
+ * @Short_description: Information that describes an image.
42
+ * @Title: The GdkPixbuf Structure
43
+ *
44
+ *
45
+ * The #GdkPixbuf structure contains
46
+ * information that describes an image in memory.
47
+ *
48
+ *
49
+ * <section id="image-data">
50
+ * <title>Image Data</title>
51
+ * <para>
52
+ * Image data in a pixbuf is stored in memory in uncompressed,
53
+ * packed format. Rows in the image are stored top to bottom, and
54
+ * in each row pixels are stored from left to right. There may be
55
+ * padding at the end of a row. The "rowstride" value of a pixbuf,
56
+ * as returned by gdk_pixbuf_get_rowstride(), indicates the number
57
+ * of bytes between rows.
58
+ *
59
+ *
60
+ * <example id="put-pixel">
61
+ * <title>put_pixel(<!-- -->) example</title>
62
+ * <para>
63
+ *
64
+ * The following code illustrates a simple put_pixel(<!-- -->)
65
+ * function for RGB pixbufs with 8 bits per channel with an alpha
66
+ * channel. It is not included in the gdk-pixbuf library for
67
+ * performance reasons; rather than making several function calls
68
+ * for each pixel, your own code can take shortcuts.
69
+ *
70
+ *
71
+ * <programlisting>
72
+ * static void
73
+ * put_pixel (GdkPixbuf *pixbuf, int x, int y, guchar red, guchar green, guchar blue, guchar alpha)
74
+ * {
75
+ * int width, height, rowstride, n_channels;
76
+ * guchar *pixels, *p;
77
+ *
78
+ * n_channels = gdk_pixbuf_get_n_channels (pixbuf);
79
+ *
80
+ * g_assert (gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB);
81
+ * g_assert (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
82
+ * g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
83
+ * g_assert (n_channels == 4);
84
+ *
85
+ * width = gdk_pixbuf_get_width (pixbuf);
86
+ * height = gdk_pixbuf_get_height (pixbuf);
87
+ *
88
+ * g_assert (x >= 0 && x < width);
89
+ * g_assert (y >= 0 && y < height);
90
+ *
91
+ * rowstride = gdk_pixbuf_get_rowstride (pixbuf);
92
+ * pixels = gdk_pixbuf_get_pixels (pixbuf);
93
+ *
94
+ * p = pixels + y * rowstride + x * n_channels;
95
+ * p[0] = red;
96
+ * p[1] = green;
97
+ * p[2] = blue;
98
+ * p[3] = alpha;
99
+ * }
100
+ * </programlisting>
101
+ *
102
+ * This function will not work for pixbufs with images that are
103
+ * other than 8 bits per sample or channel, but it will work for
104
+ * most of the pixbufs that GTK+ uses.
105
+ * </para>
106
+ * </example>
107
+ *
108
+ * <note>
109
+ * If you are doing memcpy() of raw pixbuf data, note that the
110
+ * last row in the pixbuf may not be as wide as the full
111
+ * rowstride, but rather just as wide as the pixel data needs to
112
+ * be. That is, it is unsafe to do <literal>memcpy (dest,
113
+ * pixels, rowstride * height)</literal> to copy a whole pixbuf.
114
+ * Use gdk_pixbuf_copy() instead, or compute the width in bytes
115
+ * of the last row as <literal>width * ((n_channels *
116
+ * bits_per_sample + 7) / 8)</literal>.
117
+ * </note>
118
+ * </para>
119
+ * </section>
120
+ */
121
+
122
+
123
+ /**
124
+ * GdkPixbufAlphaMode:
125
+ * @GDK_PIXBUF_ALPHA_BILEVEL: A bilevel clipping mask (black and white)
126
+ * will be created and used to draw the image. Pixels below 0.5 opacity
127
+ * will be considered fully transparent, and all others will be
128
+ * considered fully opaque.
129
+ * @GDK_PIXBUF_ALPHA_FULL: For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL.
130
+ * In the future it will do full alpha compositing.
131
+ *
132
+ * These values can be passed to
133
+ * gdk_pixbuf_render_to_drawable_alpha() to control how the alpha
134
+ * channel of an image should be handled. This function can create a
135
+ * bilevel clipping mask (black and white) and use it while painting
136
+ * the image. In the future, when the X Window System gets an alpha
137
+ * channel extension, it will be possible to do full alpha
138
+ * compositing onto arbitrary drawables. For now both cases fall
139
+ * back to a bilevel clipping mask.
140
+ */
40
141
  typedef enum
41
142
  {
42
143
  GDK_PIXBUF_ALPHA_BILEVEL,
43
144
  GDK_PIXBUF_ALPHA_FULL
44
145
  } GdkPixbufAlphaMode;
45
146
 
46
- /* Color spaces; right now only RGB is supported.
47
- * Note that these values are encoded in inline pixbufs
147
+ /**
148
+ * GdkColorspace:
149
+ * @GDK_COLORSPACE_RGB: Indicates a red/green/blue additive color space.
150
+ *
151
+ * This enumeration defines the color spaces that are supported by
152
+ * the &gdk-pixbuf; library. Currently only RGB is supported.
153
+ */
154
+ /* Note that these values are encoded in inline pixbufs
48
155
  * as ints, so don't reorder them
49
156
  */
50
157
  typedef enum {
@@ -52,6 +159,16 @@ typedef enum {
52
159
  } GdkColorspace;
53
160
 
54
161
  /* All of these are opaque structures */
162
+
163
+ /**
164
+ * GdkPixbuf:
165
+ *
166
+ * This is the main structure in the &gdk-pixbuf; library. It is
167
+ * used to represent images. It contains information about the
168
+ * image's pixel data, its color space, bits per sample, width and
169
+ * height, and the rowstride (the number of bytes between the start of
170
+ * one row and the start of the next).
171
+ */
55
172
  typedef struct _GdkPixbuf GdkPixbuf;
56
173
 
57
174
  #define GDK_TYPE_PIXBUF (gdk_pixbuf_get_type ())
@@ -59,11 +176,43 @@ typedef struct _GdkPixbuf GdkPixbuf;
59
176
  #define GDK_IS_PIXBUF(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF))
60
177
 
61
178
 
62
- /* Handler that must free the pixel array */
179
+ /**
180
+ * GdkPixbufDestroyNotify:
181
+ * @pixels: The pixel array of the pixbuf that is being finalized.
182
+ * @data: User closure data.
183
+ *
184
+ * A function of this type is responsible for freeing the pixel array
185
+ * of a pixbuf. The gdk_pixbuf_new_from_data() function lets you
186
+ * pass in a pre-allocated pixel array so that a pixbuf can be
187
+ * created from it; in this case you will need to pass in a function
188
+ * of #GdkPixbufDestroyNotify so that the pixel data can be freed
189
+ * when the pixbuf is finalized.
190
+ */
63
191
  typedef void (* GdkPixbufDestroyNotify) (guchar *pixels, gpointer data);
64
192
 
193
+ /**
194
+ * GDK_PIXBUF_ERROR:
195
+ *
196
+ * Error domain used for pixbuf operations. Indicates that the error code
197
+ * will be in the #GdkPixbufError enumeration. See #GError for
198
+ * information on error domains and error codes.
199
+ */
65
200
  #define GDK_PIXBUF_ERROR gdk_pixbuf_error_quark ()
66
201
 
202
+ /**
203
+ * GdkPixbufError:
204
+ * @GDK_PIXBUF_ERROR_CORRUPT_IMAGE: An image file was broken somehow.
205
+ * @GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY: Not enough memory.
206
+ * @GDK_PIXBUF_ERROR_BAD_OPTION: A bad option was passed to a pixbuf save module.
207
+ * @GDK_PIXBUF_ERROR_UNKNOWN_TYPE: Unknown image type.
208
+ * @GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION: Don't know how to perform the
209
+ * given operation on the type of image at hand.
210
+ * @GDK_PIXBUF_ERROR_FAILED: Generic failure code, something went wrong.
211
+ *
212
+ * An error code in the #GDK_PIXBUF_ERROR domain. Many &gdk-pixbuf;
213
+ * operations can cause errors in this domain, or in the #G_FILE_ERROR
214
+ * domain.
215
+ */
67
216
  typedef enum {
68
217
  /* image data hosed */
69
218
  GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
@@ -182,6 +331,25 @@ gboolean gdk_pixbuf_savev (GdkPixbuf *pixbuf,
182
331
 
183
332
  /* Saving to a callback function */
184
333
 
334
+
335
+ /**
336
+ * GdkPixbufSaveFunc:
337
+ * @buf: bytes to be written.
338
+ * @count: number of bytes in @buf.
339
+ * @error: (out): A location to return an error.
340
+ * @data: (closure): user data passed to gdk_pixbuf_save_to_callback().
341
+ *
342
+ * Specifies the type of the function passed to
343
+ * gdk_pixbuf_save_to_callback(). It is called once for each block of
344
+ * bytes that is "written" by gdk_pixbuf_save_to_callback(). If
345
+ * successful it should return %TRUE. If an error occurs it should set
346
+ * @error and return %FALSE, in which case gdk_pixbuf_save_to_callback()
347
+ * will fail with the same error.
348
+ *
349
+ * Since: 2.4
350
+ * Returns: %TRUE if successful, %FALSE (with @error set) if failed.
351
+ */
352
+
185
353
  typedef gboolean (*GdkPixbufSaveFunc) (const gchar *buf,
186
354
  gsize count,
187
355
  GError **error,
@@ -223,6 +391,14 @@ GdkPixbuf *gdk_pixbuf_new_from_stream (GInputStream *stream,
223
391
  GCancellable *cancellable,
224
392
  GError **error);
225
393
 
394
+ void gdk_pixbuf_new_from_stream_async (GInputStream *stream,
395
+ GCancellable *cancellable,
396
+ GAsyncReadyCallback callback,
397
+ gpointer user_data);
398
+
399
+ GdkPixbuf *gdk_pixbuf_new_from_stream_finish (GAsyncResult *async_result,
400
+ GError **error);
401
+
226
402
  GdkPixbuf *gdk_pixbuf_new_from_stream_at_scale (GInputStream *stream,
227
403
  gint width,
228
404
  gint height,
@@ -230,6 +406,14 @@ GdkPixbuf *gdk_pixbuf_new_from_stream_at_scale (GInputStream *stream,
230
406
  GCancellable *cancellable,
231
407
  GError **error);
232
408
 
409
+ void gdk_pixbuf_new_from_stream_at_scale_async (GInputStream *stream,
410
+ gint width,
411
+ gint height,
412
+ gboolean preserve_aspect_ratio,
413
+ GCancellable *cancellable,
414
+ GAsyncReadyCallback callback,
415
+ gpointer user_data);
416
+
233
417
  gboolean gdk_pixbuf_save_to_stream (GdkPixbuf *pixbuf,
234
418
  GOutputStream *stream,
235
419
  const char *type,
@@ -237,6 +421,17 @@ gboolean gdk_pixbuf_save_to_stream (GdkPixbuf *pixbuf,
237
421
  GError **error,
238
422
  ...);
239
423
 
424
+ void gdk_pixbuf_save_to_stream_async (GdkPixbuf *pixbuf,
425
+ GOutputStream *stream,
426
+ const gchar *type,
427
+ GCancellable *cancellable,
428
+ GAsyncReadyCallback callback,
429
+ gpointer user_data,
430
+ ...);
431
+
432
+ gboolean gdk_pixbuf_save_to_stream_finish (GAsyncResult *async_result,
433
+ GError **error);
434
+
240
435
  /* Adding an alpha channel */
241
436
  GdkPixbuf *gdk_pixbuf_add_alpha (const GdkPixbuf *pixbuf, gboolean substitute_color,
242
437
  guchar r, guchar g, guchar b);
@@ -257,7 +452,7 @@ void gdk_pixbuf_saturate_and_pixelate (const GdkPixbuf *src,
257
452
  /* Transform an image to agree with its embedded orientation option / tag */
258
453
  GdkPixbuf *gdk_pixbuf_apply_embedded_orientation (GdkPixbuf *src);
259
454
 
260
- G_CONST_RETURN gchar * gdk_pixbuf_get_option (GdkPixbuf *pixbuf,
455
+ const gchar * gdk_pixbuf_get_option (GdkPixbuf *pixbuf,
261
456
  const gchar *key);
262
457
 
263
458