From 5d416e8e2f2d56552d3b70855522353888269d65 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sat, 24 Oct 2009 20:47:24 +0200 Subject: Publish pixmap include maker tool This a support tool for converting images to a Pascal include file. Published on people demand. --- pixmaps/tools/gdk-pixbuf-pas.c | 81 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 pixmaps/tools/gdk-pixbuf-pas.c (limited to 'pixmaps/tools/gdk-pixbuf-pas.c') diff --git a/pixmaps/tools/gdk-pixbuf-pas.c b/pixmaps/tools/gdk-pixbuf-pas.c new file mode 100644 index 0000000..acf1bfd --- /dev/null +++ b/pixmaps/tools/gdk-pixbuf-pas.c @@ -0,0 +1,81 @@ +#include +#include +#include +#include +#include + +#include + +#include "emblem_symbolic_link_png.c" +#include "gnome_dev_cdrom_16_png.c" +#include "gnome_dev_floppy_16_png.c" +#include "gnome_dev_harddisk_16_png.c" +#include "gnome_dev_removable_usb_16_png.c" +#include "gnome_mime_application_zip_16_png.c" +#include "gnome_mime_x_directory_smb_share_16_png.c" +#include "stock_folder_16_png.c" +#include "stock_lock_16_png.c" +#include "stock_lock_48_png.c" +#include "stock_new_16_png.c" +#include "stock_up_one_dir_16_png.c" +#include "tuxcmd_16_png.c" +#include "tuxcmd_24_png.c" +#include "tuxcmd_32_png.c" +#include "tuxcmd_48_png.c" +#include "tuxcmd_64_png.c" +#include "tuxcmd_128_png.c" + + +#define HEADER_BYTES 24 +#define LINE_ELEMENTS 16 +#define NEW_LINE "\n " + + +void +dump_pas_struct (const guint8 *data, const guint32 len, const char *name) +{ + guint32 i; + guint32 counter = 1; + + g_print ("const %s: array[1..%d] of byte = (%s", name, len, NEW_LINE); + for (i = 0; i < len; i++) { + if ((i == 4) || (i == 8) || (i == 12) || (i == 16) || (i == 20) || (i == 24)) { + g_print (NEW_LINE); + } + g_print ("$%.2X", *(guint8*) (data + i)); + if (i < len - 1) + g_print (", "); + if (i >= HEADER_BYTES) { + if ((counter % LINE_ELEMENTS) == 0) + g_print (NEW_LINE); + counter++; + } + } + g_print (");\n\n"); +} + +int +main (int argc, char* argv[]) +{ + dump_pas_struct (&emblem_symbolic_link_png[0], G_N_ELEMENTS (emblem_symbolic_link_png), "emblem_symbolic_link_png"); + dump_pas_struct (&gnome_dev_cdrom_16_png[0], G_N_ELEMENTS (gnome_dev_cdrom_16_png), "gnome_dev_cdrom_16_png"); + dump_pas_struct (&gnome_dev_floppy_16_png[0], G_N_ELEMENTS (gnome_dev_floppy_16_png), "gnome_dev_floppy_16_png"); + dump_pas_struct (&gnome_dev_harddisk_16_png[0], G_N_ELEMENTS (gnome_dev_harddisk_16_png), "gnome_dev_harddisk_16_png"); + dump_pas_struct (&gnome_dev_removable_usb_16_png[0], G_N_ELEMENTS (gnome_dev_removable_usb_16_png), "gnome_dev_removable_usb_16_png"); + dump_pas_struct (&gnome_mime_application_zip_16_png[0], G_N_ELEMENTS (gnome_mime_application_zip_16_png), "gnome_mime_application_zip_16_png"); + dump_pas_struct (&gnome_mime_x_directory_smb_share_16_png[0], G_N_ELEMENTS (gnome_mime_x_directory_smb_share_16_png), "gnome_mime_x_directory_smb_share_16_png"); + dump_pas_struct (&stock_folder_16_png[0], G_N_ELEMENTS (stock_folder_16_png), "stock_folder_16_png"); + dump_pas_struct (&stock_lock_16_png[0], G_N_ELEMENTS (stock_lock_16_png), "stock_lock_16_png"); + dump_pas_struct (&stock_lock_48_png[0], G_N_ELEMENTS (stock_lock_48_png), "stock_lock_48_png"); + dump_pas_struct (&stock_new_16_png[0], G_N_ELEMENTS (stock_new_16_png), "stock_new_16_png"); + dump_pas_struct (&stock_up_one_dir_16_png[0], G_N_ELEMENTS (stock_up_one_dir_16_png), "stock_up_one_dir_16_png"); + dump_pas_struct (&tuxcmd_16_png[0], G_N_ELEMENTS (tuxcmd_16_png), "tuxcmd_16_png"); + dump_pas_struct (&tuxcmd_24_png[0], G_N_ELEMENTS (tuxcmd_24_png), "tuxcmd_24_png"); + dump_pas_struct (&tuxcmd_32_png[0], G_N_ELEMENTS (tuxcmd_32_png), "tuxcmd_32_png"); + dump_pas_struct (&tuxcmd_48_png[0], G_N_ELEMENTS (tuxcmd_48_png), "tuxcmd_48_png"); + dump_pas_struct (&tuxcmd_64_png[0], G_N_ELEMENTS (tuxcmd_64_png), "tuxcmd_64_png"); + dump_pas_struct (&tuxcmd_128_png[0], G_N_ELEMENTS (tuxcmd_128_png), "tuxcmd_128_png"); + + return 0; +} + -- cgit v1.2.3