gdk-pixbuf-csource - C code generator for GdkPixbuf images.
gdk-pixbuf-csource [--decoder] [--extern] [--help] [--g-fatal-warnings] [--macros] [--name=identifier] [--raw] [--rle] [--static] [--stream] [--struct] [--version] {image}
gdk-pixbuf-csource [--decoder] [--extern] [--help] [--g-fatal-warnings] [--macros] [--raw] [--rle] [--static] [--stream] [--struct] [--version] [--build-list] {[name image]...}
The gdk-pixbuf-csource utility generates C code containing images. You can use gdk-pixbuf-csource to compile images directly into programs.
You can use the following types of input with gdk-pixbuf-csource:
o A single file, to generate code for the file.
o A list of [name image] pairs, using the --build-list option, to generate code for a list of images into named variables.
The following options are supported:
--build-list Enable [name image] pair parsing mode.
--decoder Provide the following macro definition to decode run-length encoded image data:
*_RUN_LENGTH_DECODE
image_buf, rle_data, size, bpp
--extern Generate extern symbols. This option is only useful with --stream or --struct. The ---extern option causes the structure created to be defined as: const [...]
-h, ---help Print brief help and exit.
--g-fatal-warnings Make warnings fatal. This option causes the program to abort when warnings occur.
--macros Generate the following macro definitions for the image:
o *_ROWSTRIDE
o *_WIDTH
o *_HEIGHT
o *_BYTES_PER_PIXEL
o *_RLE_PIXEL_DATA or *_PIXEL_DATA
--name=identifier Specify the identifier name, or prefix, for the generated variables or macros. This option is useful only if you do not specify --build-list.
--raw Disable run-length encoding for the generated pixel data. The --raw option dumps out each "(line of data)" in raw image format
--rle Enable run-length encoding for the generated pixel data. The --rle option dumps out each line of data in run-length-encoding format. This is a default setting.
--static Generate static symbols. This is a default setting. This option is only useful with --stream or --struct. The --static option causes the structure created to be defined as: static const [...]
--stream Generate a pixbuf data stream; a single string containing a serialized GdkPixdata structure in network byte order.
--struct Generate GdkPixdata structure; needs the GdkPixdata structure definition from gdk-pixdata.h.
-v, --version Print version and exit.
Example 1: To Generate Code From a File
example% gdk-pixbuf-csource input_filenameRunning gdk-pixbuf-csource without any options is the same as specifying the following options:
o --stream
o --rle
o --static
Example 2: To Specify a Value for the Structure in the Generated Output
example% gdk-pixbuf-csource --name=my_struct --struct input_filenameThe --name option affects the name of the structure in the generated output when you use either the --stream option or the --struct option. The --name option affects the name of the macro when you use the --macros option.
If you use either the --stream option or the --struct option, but you do not specify the --name option, then the default name of the structure in the generated output is my_pixbuf.
If you use the --macros option, but you do not specify the --name option, then the default macro names are prefixed with MY_PIXBUF_.
Example 3: To Display the Command Output as an Array of Strings
example% gdk-pixbuf-csource --name=my_struct --stream input_filename
static const guint8 my_struct[] = { "" /* Pixbuf magic (0x47646b50) */ "GdkP" /* length: header (24) + pixel_data (215281) */ " I1" /* pixdata_type (0x2010001) */ " " /* rowstride (960) */ " 00" /* width (320) */ " @" /* height (240) */ " 60" /* pixel_data: */ "(line of data)" [...]Example 4: To Display the Output as a GdkPixdata Structure
example% gdk-pixbuf-csource --name=my_struct --struct input_filename
const GdkPixdata my_struct = { 0x47646b50, /* Pixbuf magic: GdkP */ 24 + 215281, /* header length + pixel_data length */ 0x2010001, /* pixdata_type */ 960, /* rowstride */ 320, /* width */ 240, /* height */ /* pixel_data: */ "(line of data)" [...]Example 5: To Display the Output as C Macros
example% gdk-pixbuf-csource --name=my_struct --macros input_filename
#define MY_STRUCT_ROWSTRIDE (960) #define MY_STRUCT_WIDTH (320) #define MY_STRUCT_HEIGHT (240) #define MY_STRUCT_BYTES_PER_PIXEL (3) /* 3:RGB, 4:RGBA */ #define MY_STRUCT_RLE_PIXEL_DATA ((guint8*) "(line of data)" [...]
The following exit values are returned:
0 Application exited successfully.
1 Application exited with failure, if any file specified on the command line cannot be read.
The following files are used by this application:
/usr/bin/gdk-pixbuf-csource
The command-line executable for the application.
/usr/share/gtk-doc/html/gdk-pixbuf
Location of developer documentation
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE Availability SUNWgnome-base-libs-devel Interface stability Committed
gdk-pixbuf-query-loaders(1), glib-genmarshal(1), glib-gettextize(1), glib-mkenums(1), gobject-query(1), gtk-query-immodules-2.0(1), gtk-update-icon-cache(1), libgdk_pixbuf-2.0(3)
Updated by Brian Cameron, Sun Microsystems Inc., April 2003, 2006.
Written by Tim Janik timj@gtk.org
| SunOS 5.11 | gdk-pixbuf-csource (1) | 02 April 2003 |