diff options
Diffstat (limited to 'kio/kio/tdelficon.h')
-rw-r--r-- | kio/kio/tdelficon.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/kio/kio/tdelficon.h b/kio/kio/tdelficon.h new file mode 100644 index 000000000..7b17df818 --- /dev/null +++ b/kio/kio/tdelficon.h @@ -0,0 +1,48 @@ + +#include <alloca.h> +#include <stdint.h> +#include <cstdlib> + +extern "C" { + #include <libr-icons.h> + + // BEGIN HACK + // libr does not export these structures and defines, + // but we need access to them to make the UI behave sanely + // Keep them in sync with libr and all should be OK + + // Valid for libr version 0.6.0 + // See libr detection code in ConfigureChecks.cmake + + typedef uint32_t ID8; + typedef uint16_t ID4; + typedef struct {uint64_t p:48;} __attribute__((__packed__)) ID12; + + typedef struct { + ID8 g1; + ID4 g2; + ID4 g3; + ID4 g4; + ID12 g5; + } __attribute__((__packed__)) UUID; + + typedef struct { + char *name; + size_t offset; + size_t entry_size; + libr_icontype_t type; + unsigned int icon_size; + } iconentry; + + typedef struct{ + size_t size; + char *buffer; + iconentry entry; + } iconlist; + + #define ICON_SECTION ".icon" + // END HACK +} + +int get_iconlist(libr_file *file_handle, iconlist *icons); +iconentry *get_nexticon(iconlist *icons, iconentry *last_entry);
\ No newline at end of file |