Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
GNOME
gtk
Commits
837b7120
Commit
837b7120
authored
Jun 26, 2001
by
Owen Taylor
Browse files
Revert inline-pixbuf changes until Tim comes back to fix missing files
parent
671b3b0e
Changes
23
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
837b7120
...
...
@@ -5,12 +5,6 @@ Tue Jun 26 11:06:34 2001 Owen Taylor <otaylor@redhat.com>
with font lists in descriptions. (#56184, reported by
Jonas Borgström)
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
2001-06-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
...
...
ChangeLog.pre-2-0
View file @
837b7120
...
...
@@ -5,12 +5,6 @@ Tue Jun 26 11:06:34 2001 Owen Taylor <otaylor@redhat.com>
with font lists in descriptions. (#56184, reported by
Jonas Borgström)
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
2001-06-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
...
...
ChangeLog.pre-2-10
View file @
837b7120
...
...
@@ -5,12 +5,6 @@ Tue Jun 26 11:06:34 2001 Owen Taylor <otaylor@redhat.com>
with font lists in descriptions. (#56184, reported by
Jonas Borgström)
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
2001-06-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
...
...
ChangeLog.pre-2-2
View file @
837b7120
...
...
@@ -5,12 +5,6 @@ Tue Jun 26 11:06:34 2001 Owen Taylor <otaylor@redhat.com>
with font lists in descriptions. (#56184, reported by
Jonas Borgström)
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
2001-06-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
...
...
ChangeLog.pre-2-4
View file @
837b7120
...
...
@@ -5,12 +5,6 @@ Tue Jun 26 11:06:34 2001 Owen Taylor <otaylor@redhat.com>
with font lists in descriptions. (#56184, reported by
Jonas Borgström)
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
2001-06-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
...
...
ChangeLog.pre-2-6
View file @
837b7120
...
...
@@ -5,12 +5,6 @@ Tue Jun 26 11:06:34 2001 Owen Taylor <otaylor@redhat.com>
with font lists in descriptions. (#56184, reported by
Jonas Borgström)
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
2001-06-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
...
...
ChangeLog.pre-2-8
View file @
837b7120
...
...
@@ -5,12 +5,6 @@ Tue Jun 26 11:06:34 2001 Owen Taylor <otaylor@redhat.com>
with font lists in descriptions. (#56184, reported by
Jonas Borgström)
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
2001-06-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
...
...
demos/Makefile.am
View file @
837b7120
...
...
@@ -32,12 +32,10 @@ noinst_PROGRAMS = \
BUILT_SOURCES
=
test-inline-pixbufs.h
test-inline-pixbufs.h
:
$(top_builddir)/gdk-pixbuf/
gdk-pixbuf-csource
apple-red.png gnome-foot.png
test-inline-pixbufs.h
:
$(top_builddir)/gdk-pixbuf/
make-inline-pixbuf
apple-red.png gnome-foot.png
(
topdir
=
`
cd
$(top_builddir)
&&
pwd
`
;
curdir
=
`
pwd
`
;
\
cd
$(srcdir)
&&
\
GDK_PIXBUF_MODULEDIR
=
$$
topdir/gdk-pixbuf/.libs
\
$$
topdir/gdk-pixbuf/gdk-pixbuf-csource
--build-list
\
apple_red apple-red.png gnome_foot gnome-foot.png
>
$$
curdir/test-inline-pixbufs.h
)
cd
$(srcdir)
&&
\
GDK_PIXBUF_MODULEDIR
=
$$
topdir/gdk-pixbuf/.libs
$$
topdir/gdk-pixbuf/make-inline-pixbuf
$$
curdir/test-inline-pixbufs.h apple_red apple-red.png gnome_foot gnome-foot.png
)
testpixbuf_DEPENDENCIES
=
$(DEPS)
testpixbuf_drawable_DEPENDENCIES
=
$(DEPS)
...
...
demos/testpixbuf.c
View file @
837b7120
...
...
@@ -543,8 +543,7 @@ main (int argc, char **argv)
i
=
1
;
if
(
argc
==
1
)
{
const
gchar
***
xpmp
;
GError
*
error
=
NULL
;
pixbuf
=
gdk_pixbuf_new_from_data
(
default_image
,
GDK_COLORSPACE_RGB
,
FALSE
,
8
,
DEFAULT_WIDTH
,
DEFAULT_HEIGHT
,
DEFAULT_WIDTH
*
3
,
NULL
,
NULL
);
...
...
@@ -558,18 +557,11 @@ main (int argc, char **argv)
}
/* Test loading from inline data. */
pixbuf
=
gdk_pixbuf_new_from_stream
(
-
1
,
apple_red
,
FALSE
,
&
error
);
if
(
!
pixbuf
)
{
fprintf
(
stderr
,
"failed to construct
\"
red apple
\"
pixbuf: %s
\n
"
,
error
->
message
);
g_error_free
(
error
);
}
else
new_testrgb_window
(
pixbuf
,
"Red apple from inlined RLE data"
);
pixbuf
=
gdk_pixbuf_new_from_stream
(
sizeof
(
gnome_foot
),
gnome_foot
,
TRUE
,
NULL
);
new_testrgb_window
(
pixbuf
,
"GNOME Foot from inlined RLE data"
);
pixbuf
=
gdk_pixbuf_new_from_inline
(
apple_red
,
FALSE
,
-
1
,
NULL
);
new_testrgb_window
(
pixbuf
,
"Red apple from inline data"
);
pixbuf
=
gdk_pixbuf_new_from_inline
(
gnome_foot
,
TRUE
,
sizeof
(
gnome_foot
),
NULL
);
new_testrgb_window
(
pixbuf
,
"Foot from inline data"
);
found_valid
=
TRUE
;
}
else
{
...
...
docs/reference/gdk-pixbuf/tmpl/creating.sgml
View file @
837b7120
...
...
@@ -82,6 +82,18 @@ Creating a pixbuf from image data that is already in memory.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_inline ##### -->
<para>
</para>
@inline_pixbuf:
@copy_pixels:
@length:
@error:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_subpixbuf ##### -->
<para>
...
...
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-unused.sgml
View file @
837b7120
...
...
@@ -552,14 +552,3 @@ End:
</para>
<!-- ##### FUNCTION gdk_pixbuf_new_from_inline ##### -->
<para>
</para>
@inline_pixbuf:
@copy_pixels:
@length:
@error:
@Returns:
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf.sgml
View file @
837b7120
...
...
@@ -20,9 +20,6 @@ Information that describes an image.
</para>
@GDK_PIXBUF_ERROR_HEADER_CORRUPT:
@GDK_PIXBUF_ERROR_PIXEL_CORRUPT:
@GDK_PIXBUF_ERROR_UNKNOWN_FORMAT:
@GDK_PIXBUF_ERROR_CORRUPT_IMAGE:
@GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY:
@GDK_PIXBUF_ERROR_BAD_OPTION_VALUE:
...
...
docs/reference/gtk/tmpl/gtkitemfactory.sgml
View file @
837b7120
...
...
@@ -77,6 +77,7 @@ GtkItemFactory
@callback_action:
@item_type:
@extra_data:
@extra_data2:
<!-- ##### STRUCT GtkItemFactoryItem ##### -->
<para>
...
...
gdk-pixbuf/ChangeLog
View file @
837b7120
Tue
Jun
26
09
:
48
:
02
2001
Tim
Janik
<
timj
@
gtk
.
org
>
*
Makefile
.
am
(
noinst_PROGRAMS
):
get
rid
of
make
-
inline
-
pixbuf
*
gdk
-
pixbuf
-
data
.[
hc
]:
provide
gdk_pixbuf_new_from_stream
()
instead
from
gdk_pixbuf_new_from_inline
().
*
gdk
-
pixdata
.[
hc
]:
auxillary
GdkPixdata
structure
,
public
installed
API
for
applications
that
need
to
serialize
/
deserialize
on
their
own
(
gimp
,
BEAST
).
*
gdk
-
pixbuf
/
gdk
-
pixbuf
-
csource
.
c
:
provide
publically
installed
program
that
can
dump
images
in
CSource
format
and
Pixbuf
stream
format
.
supports
RLE
encoding
,
MACRO
formatting
etc
...
invoke
with
--
help
.
Mon
Jun
25
00
:
28
:
11
2001
Owen
Taylor
<
otaylor
@
redhat
.
com
>
*
Makefile
.
am
:
Actually
update
timestamps
,
so
rules
don
't
...
...
gdk-pixbuf/Makefile.am
View file @
837b7120
...
...
@@ -164,15 +164,12 @@ TESTS = test-gdk-pixbuf test-loaders
noinst_PROGRAMS
=
$(TESTS)
DEPS
=
libgdk_pixbuf-1.3.la
INCLUDES
=
@STRIP_BEGIN@
\
-I
$(top_srcdir)
-I
$(top_builddir)
\
INCLUDES
=
-I
$(top_srcdir)
-I
$(top_builddir)
\
-I
$(top_srcdir)
/gdk-pixbuf
\
-I
$(top_builddir)
/gdk-pixbuf
\
@INCLUDED_LOADER_DEFINE@
\
@GTK_DEBUG_FLAGS@
\
@GDK_PIXBUF_DEP_CFLAGS@
\
@STRIP_END@
@GDK_PIXBUF_DEP_CFLAGS@
AM_CPPFLAGS
=
"-DPIXBUF_LIBDIR=
\"
$(loaderdir)
\"
"
"-DBUILT_MODULES_DIR=
\"
$(srcdir)
/.libs
\"
"
LDADDS
=
libgdk_pixbuf-1.3.la
...
...
@@ -182,13 +179,12 @@ test_loaders_LDADD = $(LDADDS)
test_loaders_SOURCES
=
test-loaders.c test-images.h
#noinst_PROGRAMS=make-inline-pixbuf
#make_inline_pixbuf_SOURCES=make-inline-pixbuf.c
#make_inline_pixbuf_LDADD = $(LDADDS)
bin_PROGRAMS
=
make-inline-pixbuf
make_inline_pixbuf_SOURCES
=
make-inline-pixbuf.c
make_inline_pixbuf_LDADD
=
$(LDADDS)
bin_PROGRAMS
=
gdk-pixbuf-csource
gdk_pixbuf_csource_SOURCES
=
gdk-pixbuf-csource.c
gdk_pixbuf_csource_LDADD
=
$(LDADDS)
#
...
...
@@ -199,7 +195,7 @@ BUILT_SOURCES=gdk-pixbuf-marshal.h gdk-pixbuf-marshal.c
libgdk_pixbufincludedir
=
$(includedir)
/gtk-2.0/gdk-pixbuf
libgdk_pixbuf_1_3_la_SOURCES
=
@STRIP_BEGIN@
\
libgdk_pixbuf_1_3_la_SOURCES
=
\
gdk-pixbuf-i18n.h
\
gdk-pixbuf.c
\
gdk-pixbuf-animation.c
\
...
...
@@ -207,26 +203,20 @@ libgdk_pixbuf_1_3_la_SOURCES = @STRIP_BEGIN@ \
gdk-pixbuf-io.c
\
gdk-pixbuf-loader.c
\
gdk-pixbuf-scale.c
\
gdk-pixbuf-util.c
\
gdk-pixdata.c
\
@STRIP_END@
gdk-pixbuf-util.c
$(libgdk_pixbuf_1_3_la_OBJECTS)
:
gdk-pixbuf-marshal.h gdk-pixbuf-marshal.c
libgdk_pixbuf_1_3_la_LDFLAGS
=
@STRIP_BEGIN@
\
libgdk_pixbuf_1_3_la_LDFLAGS
=
\
-version-info
$(LT_CURRENT)
:
$(LT_REVISION)
:
$(LT_AGE)
\
@LIBTOOL_EXPORT_OPTIONS@
\
@STRIP_END@
@LIBTOOL_EXPORT_OPTIONS@
libgdk_pixbuf_1_3_la_LIBADD
=
pixops/libpixops.la
$(builtin_objs)
$(GDK_PIXBUF_DEP_LIBS)
libgdk_pixbuf_1_3_la_DEPENDENCIES
=
$(builtin_objs)
libgdk_pixbufinclude_HEADERS
=
\
libgdk_pixbufinclude_HEADERS
=
\
gdk-pixbuf.h
\
gdk-pixbuf-loader.h
\
gdk-pixbuf-features.h
\
gdk-pixdata.h
gdk-pixbuf-features.h
noinst_HEADERS
=
\
gdk-pixbuf-io.h
\
...
...
gdk-pixbuf/gdk-pixbuf-data.c
View file @
837b7120
...
...
@@ -78,3 +78,254 @@ gdk_pixbuf_new_from_data (const guchar *data, GdkColorspace colorspace, gboolean
return
pixbuf
;
}
static
guint32
read_int
(
const
guchar
**
p
)
{
guint32
num
;
/* Note most significant bytes are first in the byte stream */
num
=
(
*
p
)[
3
]
|
((
*
p
)[
2
]
<<
8
)
|
((
*
p
)[
1
]
<<
16
)
|
((
*
p
)[
0
]
<<
24
);
*
p
+=
4
;
return
num
;
}
static
gboolean
read_bool
(
const
guchar
**
p
)
{
gboolean
val
=
**
p
!=
0
;
++
(
*
p
);
return
val
;
}
static
GdkPixbuf
*
read_raw_inline
(
const
guchar
*
data
,
gboolean
copy_pixels
,
int
length
,
GError
**
error
)
{
GdkPixbuf
*
pixbuf
;
const
guchar
*
p
=
data
;
guint32
rowstride
,
width
,
height
,
colorspace
,
n_channels
,
bits_per_sample
;
gboolean
has_alpha
;
if
(
length
>=
0
&&
length
<
12
)
{
/* Not enough buffer to hold the width/height/rowstride */
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image data is partially missing"
));
return
NULL
;
}
rowstride
=
read_int
(
&
p
);
width
=
read_int
(
&
p
);
height
=
read_int
(
&
p
);
if
(
rowstride
<
width
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image has an incorrect pixel rowstride, perhaps the data was corrupted somehow."
));
return
NULL
;
/* bad data from untrusted source. */
}
/* rowstride >= width, so we can trust width */
length
-=
12
;
/* There's some better way like G_MAXINT/height > rowstride
* but I'm not sure it works, so stick to this for now.
*/
if
(((
double
)
height
)
*
((
double
)
rowstride
)
>
(
double
)
G_MAXINT
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image size is impossibly large, perhaps the data was corrupted somehow"
));
return
NULL
;
/* overflow */
}
if
(
length
>=
0
&&
length
<
(
height
*
rowstride
+
13
))
{
/* Not enough buffer to hold the remaining header
* information plus the data.
*/
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image data is partially missing, probably it was corrupted somehow."
));
return
NULL
;
}
/* Read the remaining 13 bytes of header information */
has_alpha
=
read_bool
(
&
p
)
!=
FALSE
;
colorspace
=
read_int
(
&
p
);
n_channels
=
read_int
(
&
p
);
bits_per_sample
=
read_int
(
&
p
);
if
(
colorspace
!=
GDK_COLORSPACE_RGB
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image has an unknown colorspace code (%d), perhaps the image data was corrupted"
),
colorspace
);
return
NULL
;
}
if
(
bits_per_sample
!=
8
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image has an improper number of bits per sample (%d), perhaps the image data was corrupted"
),
bits_per_sample
);
return
NULL
;
}
if
(
has_alpha
&&
n_channels
!=
4
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image has an improper number of channels (%d), perhaps the image data was corrupted"
),
n_channels
);
return
NULL
;
}
if
(
!
has_alpha
&&
n_channels
!=
3
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image has an improper number of channels (%d), perhaps the image data was corrupted"
),
n_channels
);
return
NULL
;
}
if
(
copy_pixels
)
{
guchar
*
pixels
;
gint
dest_rowstride
;
gint
row
;
pixbuf
=
gdk_pixbuf_new
(
colorspace
,
has_alpha
,
bits_per_sample
,
width
,
height
);
if
(
pixbuf
==
NULL
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY
,
_
(
"Not enough memory to store a %d by %d image; try exiting some applications to free memory."
),
width
,
height
);
return
NULL
;
}
pixels
=
gdk_pixbuf_get_pixels
(
pixbuf
);
dest_rowstride
=
gdk_pixbuf_get_rowstride
(
pixbuf
);
for
(
row
=
0
;
row
<
height
;
row
++
)
{
memcpy
(
pixels
,
p
,
rowstride
);
pixels
+=
dest_rowstride
;
p
+=
rowstride
;
}
}
else
{
pixbuf
=
gdk_pixbuf_new_from_data
(
p
,
colorspace
,
has_alpha
,
bits_per_sample
,
width
,
height
,
rowstride
,
NULL
,
NULL
);
}
return
pixbuf
;
}
/**
* gdk_pixbuf_new_from_inline:
* @inline_pixbuf: An inlined GdkPixbuf
* @copy_pixels: whether to copy the pixels out of the inline data, or to use them in-place
* @length: length of the inline data
* @error: return location for error
*
* Create a #GdkPixbuf from a custom format invented to store pixbuf
* data in C program code. This library comes with a program called
* "make-inline-pixbuf" that can write out a variable definition
* containing an inlined pixbuf. This is useful if you want to ship a
* program with images, but don't want to depend on any external
* files.
*
* The inline data format contains the pixels in #GdkPixbuf's native
* format. Since the inline pixbuf is read-only static data, you
* don't need to copy it unless you intend to write to it.
*
* If you create a pixbuf from const inline data compiled into your
* program, it's probably safe to ignore errors, since things will
* always succeed. For non-const inline data, you could get out of
* memory. For untrusted inline data located at runtime, you could
* have corrupt inline data in addition.
*
* Return value: A newly-created #GdkPixbuf structure with a reference count of
* 1, or NULL If error is set.
**/
GdkPixbuf
*
gdk_pixbuf_new_from_inline
(
const
guchar
*
inline_pixbuf
,
gboolean
copy_pixels
,
int
length
,
GError
**
error
)
{
const
guchar
*
p
;
GdkPixbuf
*
pixbuf
;
GdkPixbufInlineFormat
format
;
if
(
length
>=
0
&&
length
<
8
)
{
/* not enough bytes to contain even the magic number
* and format code.
*/
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image contained no data."
));
return
NULL
;
}
p
=
inline_pixbuf
;
if
(
read_int
(
&
p
)
!=
GDK_PIXBUF_INLINE_MAGIC_NUMBER
)
{
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
_
(
"Image isn't in the correct format (inline GdkPixbuf format)"
));
return
NULL
;
}
format
=
read_int
(
&
p
);
switch
(
format
)
{
case
GDK_PIXBUF_INLINE_RAW
:
pixbuf
=
read_raw_inline
(
p
,
copy_pixels
,
length
-
8
,
error
);
break
;
default:
g_set_error
(
error
,
GDK_PIXBUF_ERROR
,
GDK_PIXBUF_ERROR_UNKNOWN_TYPE
,
_
(
"This version of the software is unable to read images with type code %d"
),
format
);
return
NULL
;
}
return
pixbuf
;
}
gdk-pixbuf/gdk-pixbuf-private.h
View file @
837b7120
...
...
@@ -130,6 +130,16 @@ struct _GdkPixbufAnimationIterClass {
#define GDK_PIXBUF_INLINE_MAGIC_NUMBER 0x47646B50
/* 'GdkP' */
typedef
enum
{
GDK_PIXBUF_INLINE_RAW
=
0
,
GDK_PIXBUF_INLINE_RLE
=
1
}
GdkPixbufInlineFormat
;
GdkPixbufAnimation
*
gdk_pixbuf_non_anim_new
(
GdkPixbuf
*
pixbuf
);
#endif
gdk-pixbuf/gdk-pixbuf.h
View file @
837b7120
...
...
@@ -75,12 +75,6 @@ typedef void (* GdkPixbufDestroyNotify) (guchar *pixels, gpointer data);
#define GDK_PIXBUF_ERROR gdk_pixbuf_error_quark ()
typedef
enum
{
/* stream header corrupt */
GDK_PIXBUF_ERROR_HEADER_CORRUPT
,
/* stream pixel data corrupt */
GDK_PIXBUF_ERROR_PIXEL_CORRUPT
,
/* stream header corrupt */
GDK_PIXBUF_ERROR_UNKNOWN_FORMAT
,
/* image data hosed */
GDK_PIXBUF_ERROR_CORRUPT_IMAGE
,
/* no mem to load image */
...
...
@@ -148,11 +142,13 @@ GdkPixbuf *gdk_pixbuf_new_from_data (const guchar *data,
gpointer
destroy_fn_data
);
GdkPixbuf
*
gdk_pixbuf_new_from_xpm_data
(
const
char
**
data
);
GdkPixbuf
*
gdk_pixbuf_new_from_stream
(
gint
stream_length
,
const
guint8
*
stream
,
gboolean
copy_pixels
,
GError
**
error
);
/* Read an inline pixbuf */
GdkPixbuf
*
gdk_pixbuf_new_from_inline
(
const
guchar
*
inline_pixbuf
,
gboolean
copy_pixels
,
int
length
,
GError
**
error
);
/* Mutations */
void
gdk_pixbuf_fill
(
GdkPixbuf
*
pixbuf
,
guint32
pixel
);
...
...
gtk/gtkiconfactory.c
View file @
837b7120
...
...
@@ -335,7 +335,7 @@ sized_icon_set_from_inline (const guchar *inline_data,
set
=
gtk_icon_set_new
();
source
.
pixbuf
=
gdk_pixbuf_new_from_
stream
(
-
1
,
inline_data
,
FALSE
,
NULL
);
source
.
pixbuf
=
gdk_pixbuf_new_from_
inline
(
inline_data
,
FALSE
,
-
1
,
NULL
);
g_assert
(
source
.
pixbuf
);
...
...
@@ -361,7 +361,7 @@ sized_with_fallback_icon_set_from_inline (const guchar *fallback_data,
set
=
gtk_icon_set_new
();
source
.
pixbuf
=
gdk_pixbuf_new_from_
stream
(
-
1
,
inline_data
,
FALSE
,
NULL
);
source
.
pixbuf
=
gdk_pixbuf_new_from_
inline
(
inline_data
,
FALSE
,
-
1
,
NULL
);
g_assert
(
source
.
pixbuf
);
...
...
@@ -371,7 +371,7 @@ sized_with_fallback_icon_set_from_inline (const guchar *fallback_data,
source
.
any_size
=
TRUE
;