diff options
-rw-r--r-- | TRASH | 177 |
1 files changed, 0 insertions, 177 deletions
@@ -1,177 +0,0 @@ - -#ifdef __LINK_AT_RUNTIME__ -DEFINE_SYMBOL(long, bfd_canonicalize_reloc, - bfd *abfd, asection *sec, arelent **loc, asymbol **syms); -DEFINE_SYMBOL(bfd_boolean, bfd_close, - bfd *abfd); -DEFINE_SYMBOL(bfd_boolean, bfd_check_format, - bfd *abfd, bfd_format format); -DEFINE_SYMBOL(const char *, bfd_errmsg, - bfd_error_type error_tag); -DEFINE_SYMBOL(enum bfd_architecture, bfd_get_arch, - bfd *abfd); -DEFINE_SYMBOL(bfd_error_type, bfd_get_error, - void); -DEFINE_SYMBOL(unsigned long, bfd_get_mach, - bfd *abfd); -DEFINE_SYMBOL(long, bfd_get_reloc_upper_bound, - bfd *abfd, asection *sect); -DEFINE_SYMBOL(bfd_boolean, bfd_get_section_contents, - bfd *abfd, asection *section, void *location, file_ptr offset, -bfd_size_type count); -DEFINE_SYMBOL(asection *, bfd_make_section, - bfd *, const char *name); -DEFINE_SYMBOL(asection *, bfd_make_section_anyway_with_flags, - bfd *abfd, const char *name, flagword flags); -DEFINE_SYMBOL(bfd *, bfd_openr, const char *filename, - const char *target); -DEFINE_SYMBOL(bfd *, bfd_openw, - const char *filename, const char *target); -DEFINE_SYMBOL(bfd_boolean, bfd_set_file_flags, - bfd *abfd, flagword flags); -DEFINE_SYMBOL(void, bfd_set_reloc, - bfd *abfd, asection *sec, arelent **rel, unsigned int count); -DEFINE_SYMBOL(bfd_boolean, bfd_set_section_contents, - bfd *abfd, asection *section, const void *data, file_ptr offset, -bfd_size_type count); -DEFINE_SYMBOL(bfd_boolean, bfd_set_format, - bfd *abfd, bfd_format format); -DEFINE_SYMBOL(bfd_boolean, bfd_set_section_flags, - bfd *abfd, asection *sec, flagword flags); -DEFINE_SYMBOL(bfd_boolean, bfd_set_section_size, - bfd *abfd, asection *sec, bfd_size_type val); -DEFINE_SYMBOL(bfd_boolean, bfd_set_start_address, - bfd *abfd, bfd_vma vma); -DEFINE_SYMBOL(bfd_boolean, bfd_set_symtab, - bfd *abfd, asymbol **location, unsigned int count); - -#define bfd_canonicalize_reloc -OVERRIDE_SYMBOL(bfd_canonicalize_reloc) -#define bfd_close OVERRIDE_SYMBOL(bfd_close) -#define bfd_check_format -OVERRIDE_SYMBOL(bfd_check_format) -#define bfd_errmsg OVERRIDE_SYMBOL(bfd_errmsg) -#define bfd_get_arch OVERRIDE_SYMBOL(bfd_get_arch) -#define bfd_get_error -OVERRIDE_SYMBOL(bfd_get_error) -#define bfd_get_mach OVERRIDE_SYMBOL(bfd_get_mach) -#define bfd_get_reloc_upper_bound -OVERRIDE_SYMBOL(bfd_get_reloc_upper_bound) -#define bfd_get_section_contents -OVERRIDE_SYMBOL(bfd_get_section_contents) -#define bfd_make_section -OVERRIDE_SYMBOL(bfd_make_section) -#define bfd_make_section_anyway_with_flags -OVERRIDE_SYMBOL(bfd_make_section_anyway_with_flags) -#define bfd_openr OVERRIDE_SYMBOL(bfd_openr) -#define bfd_openw OVERRIDE_SYMBOL(bfd_openw) -#define bfd_set_file_flags -OVERRIDE_SYMBOL(bfd_set_file_flags) -#define bfd_set_format -OVERRIDE_SYMBOL(bfd_set_format) -#define bfd_set_reloc -OVERRIDE_SYMBOL(bfd_set_reloc) -#define bfd_set_section_contents -OVERRIDE_SYMBOL(bfd_set_section_contents) -#define bfd_set_section_flags -OVERRIDE_SYMBOL(bfd_set_section_flags) -#define bfd_set_section_size -OVERRIDE_SYMBOL(bfd_set_section_size) -#define bfd_set_start_address -OVERRIDE_SYMBOL(bfd_set_start_address) -#define bfd_set_symtab -OVERRIDE_SYMBOL(bfd_set_symtab) - -SYMBOL_TABLE(libbfd_symbols, - SYMBOL(bfd_openr), - SYMBOL(bfd_set_format), -); -#endif - -#include <librsvg/rsvg.h> - -DEFINE_SYMBOL(void, rsvg_init, void); -DEFINE_SYMBOL(RsvgHandle *, rsvg_handle_new, void); -DEFINE_SYMBOL(GdkPixbuf *, rsvg_handle_get_pixbuf, RsvgHandle *handle); -DEFINE_SYMBOL(gboolean, rsvg_handle_close, RsvgHandle * handle, GError ** error); -DEFINE_SYMBOL(void, rsvg_handle_get_dimensions, RsvgHandle * handle, RsvgDimensionData * dimension_data); -DEFINE_SYMBOL(gboolean, rsvg_handle_write, RsvgHandle * handle, const guchar * buf, gsize count, GError ** error); -DEFINE_SYMBOL(void, rsvg_handle_set_size_callback, RsvgHandle * handle, RsvgSizeFunc size_func, gpointer user_data, GDestroyNotify user_data_destroy); - -#define rsvg_init OVERRIDE_SYMBOL(rsvg_init) -#define rsvg_handle_new OVERRIDE_SYMBOL(rsvg_handle_new) -#define rsvg_handle_get_pixbuf OVERRIDE_SYMBOL(rsvg_handle_get_pixbuf) -#define rsvg_handle_close OVERRIDE_SYMBOL(rsvg_handle_close) -#define rsvg_handle_write OVERRIDE_SYMBOL(rsvg_handle_write) -#define rsvg_handle_set_size_callback OVERRIDE_SYMBOL(rsvg_handle_set_size_callback) -#define rsvg_handle_get_dimensions OVERRIDE_SYMBOL(rsvg_handle_get_dimensions) - -SYMBOL_TABLE(librsvg_symbols, - SYMBOL(rsvg_init), - SYMBOL(rsvg_handle_new), - SYMBOL(rsvg_handle_close), - SYMBOL(rsvg_handle_write), - SYMBOL(rsvg_handle_get_pixbuf), - SYMBOL(rsvg_handle_get_dimensions), - SYMBOL(rsvg_handle_set_size_callback), -); - -/* - * Scale the SVG image to the required icon size - */ -static void rsvg_set_iconsize(int *width, int *height, gpointer data) -{ - float multiplier = *(float*)data; - - (*width) *= multiplier; - (*height) *= multiplier; -} - - if(!rsvg_linked) - { - if(!LOAD_SYMBOLS("librsvg-2.so", librsvg_symbols)) - { - // libr_icon_gtk requires that your application be linked to librsvg - return NULL; - } - } - RsvgHandle *rsvg = NULL; - libr_icontype_t type; - type = icon_handle->type; - if(type == LIBR_SVG) - { - RsvgHandle *rsvg = rsvg_handle_new(); - if(rsvg != NULL) - { - if(rsvg_handle_write(rsvg, iconfile, iconfile_size, NULL)) - { - if(rsvg_handle_close(rsvg, NULL)) - { - RsvgDimensionData dim; - float multiplier; - int old_size; - - rsvg_handle_get_dimensions(rsvg, &dim); - if(dim.width > dim.height) - old_size = dim.width; - else - old_size = dim.height; - multiplier = ((float)sizes[i])/old_size; - rsvg_handle_set_size_callback(rsvg, rsvg_set_iconsize, (void *) &multiplier, NULL); - icon = rsvg_handle_get_pixbuf(rsvg); - icons = g_list_append(icons, icon); - } - } - } - free(iconfile); - } - else if(type == LIBR_PNG) - { - } - else - { - /* Unhandled image type */ - continue; - } - - |