diff options
author | Daniel Friesel <derf@finalrewind.org> | 2014-05-04 18:54:13 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2014-05-04 18:57:00 +0200 |
commit | 68037c4d220302a9f7ab250b3a220a5f64217244 (patch) | |
tree | f7c200119ab5f9ed30dd1d861d985dfee99a5bf3 | |
parent | c7d0afa8cde1d351cedc09c111b0f872fbcae15e (diff) |
strip unneded parts from giblib, part 1
Not all functions were examined yet. Also TODO:
* check strdup / malloc calls (some are apparently unchecked in giblib),
maybe use estrdup / emalloc for those
* Check includes and update dependency list if needed
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | src/feh.h | 6 | ||||
-rw-r--r-- | src/gib_hash.c | 3 | ||||
-rw-r--r-- | src/gib_hash.h | 3 | ||||
-rw-r--r-- | src/gib_imlib.c | 12 | ||||
-rw-r--r-- | src/gib_imlib.h | 10 | ||||
-rw-r--r-- | src/gib_list.c | 12 | ||||
-rw-r--r-- | src/gib_list.h | 8 | ||||
-rw-r--r-- | src/gib_style.c | 132 | ||||
-rw-r--r-- | src/gib_style.h | 5 |
11 files changed, 61 insertions, 137 deletions
@@ -3,6 +3,12 @@ git HEAD * feh-cam and gen-cam-menu are no longer installed by default. Use make install cam=1 to install them or make uninstall cam=1 to remove them permanently + * feh no longer depends on giblib. Instead, the relevant parts of the + giblib source were imported into the feh source. + Rationale: giblib is unmaintained and, as far as I know, only used by + three projects (one of which is feh). There is at least one known bug + in it, and as I do not have the time to take over giblib development, + importing the library seems to be the best solution. Sun, 27 Apr 2014 20:28:02 +0200 Daniel Friesel <derf+feh@finalrewind.org> @@ -8,7 +8,6 @@ feh - Imlib2 based image viewer Dependencies ------------ - * giblib * Imlib2 * libcurl (disable with make curl=0) * libpng @@ -57,7 +57,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <math.h> #include <Imlib2.h> -#include <giblib/giblib.h> +#include "gib_hash.h" +#include "gib_imlib.h" +#include "gib_list.h" +#include "gib_style.h" +#include "gib_utils.h" #include "structs.h" #include "menu.h" diff --git a/src/gib_hash.c b/src/gib_hash.c index c839222..054161d 100644 --- a/src/gib_hash.c +++ b/src/gib_hash.c @@ -121,6 +121,8 @@ void *gib_hash_get(gib_hash *hash, char *key) return n?n->data:NULL; } +/* unused + void gib_hash_remove(gib_hash *hash, char *key) { gib_list *n = gib_list_find(GIB_LIST(hash->base), gib_hash_find_callback, key); @@ -142,3 +144,4 @@ void gib_hash_foreach(gib_hash *hash, void (*foreach_cb)(gib_hash_node *nod return; } +*/ diff --git a/src/gib_hash.h b/src/gib_hash.h index 480ef6e..58506c8 100644 --- a/src/gib_hash.h +++ b/src/gib_hash.h @@ -61,9 +61,12 @@ void gib_hash_free_and_data(gib_hash *hash); void gib_hash_set(gib_hash *hash, char *key, void *data); void *gib_hash_get(gib_hash *hash, char *key); + +/* unused void gib_hash_remove(gib_hash *hash, char *key); void gib_hash_foreach(gib_hash *hash, void (*foreach_cb)(gib_hash_node *node, void *data), void *data); +*/ #ifdef __cplusplus } diff --git a/src/gib_imlib.c b/src/gib_imlib.c index 49eb5cb..5c9d9ef 100644 --- a/src/gib_imlib.c +++ b/src/gib_imlib.c @@ -151,6 +151,7 @@ gib_imlib_render_image_on_drawable(Drawable d, Imlib_Image im, int x, int y, imlib_render_image_on_drawable(x, y); } +/* void gib_imlib_render_image_on_drawable_with_rotation(Drawable d, Imlib_Image im, int x, int y, double angle, @@ -170,6 +171,7 @@ gib_imlib_render_image_on_drawable_with_rotation(Drawable d, Imlib_Image im, imlib_render_image_on_drawable(x, y); imlib_free_image(); } +*/ void gib_imlib_render_image_on_drawable_at_size(Drawable d, Imlib_Image im, int x, @@ -185,6 +187,8 @@ gib_imlib_render_image_on_drawable_at_size(Drawable d, Imlib_Image im, int x, imlib_render_image_on_drawable_at_size(x, y, w, h); } + +/* void gib_imlib_render_image_on_drawable_at_size_with_rotation(Drawable d, Imlib_Image im, @@ -207,6 +211,8 @@ gib_imlib_render_image_on_drawable_at_size_with_rotation(Drawable d, imlib_render_image_on_drawable_at_size(x, y, w, h); imlib_free_image_and_decache(); } +*/ + void gib_imlib_render_image_part_on_drawable_at_size(Drawable d, Imlib_Image im, @@ -225,6 +231,7 @@ gib_imlib_render_image_part_on_drawable_at_size(Drawable d, Imlib_Image im, dh); } + void gib_imlib_render_image_part_on_drawable_at_size_with_rotation(Drawable d, Imlib_Image im, @@ -252,6 +259,7 @@ gib_imlib_render_image_part_on_drawable_at_size_with_rotation(Drawable d, imlib_free_image_and_decache(); } + void gib_imlib_image_fill_rectangle(Imlib_Image im, int x, int y, int w, int h, int r, int g, int b, int a) @@ -418,6 +426,7 @@ gib_imlib_image_format(Imlib_Image im) return imlib_image_format(); } + void gib_imlib_blend_image_onto_image(Imlib_Image dest_image, Imlib_Image source_image, char merge_alpha, @@ -434,6 +443,8 @@ gib_imlib_blend_image_onto_image(Imlib_Image dest_image, dy, dw, dh); } + +/* void gib_imlib_blend_image_onto_image_with_rotation(Imlib_Image dest_image, Imlib_Image source_image, @@ -455,6 +466,7 @@ gib_imlib_blend_image_onto_image_with_rotation(Imlib_Image dest_image, dw = 0; dh = 0; } +*/ Imlib_Image gib_imlib_create_cropped_scaled_image(Imlib_Image im, int sx, int sy, int sw, int sh, diff --git a/src/gib_imlib.h b/src/gib_imlib.h index 6289436..6a16a0c 100644 --- a/src/gib_imlib.h +++ b/src/gib_imlib.h @@ -57,12 +57,14 @@ void gib_imlib_render_image_on_drawable(Drawable d, Imlib_Image im, int x, int y, char dither, char blend, char alias); +/* void gib_imlib_render_image_on_drawable_with_rotation(Drawable d, Imlib_Image im, int x, int y, double angle, char dither, char blend, char alias); +*/ void gib_imlib_render_image_part_on_drawable_at_size(Drawable d, Imlib_Image im, int sx, int sy, int sw, int sh, @@ -70,6 +72,7 @@ void gib_imlib_render_image_part_on_drawable_at_size(Drawable d, int dh, char dither, char blend, char alias); + void gib_imlib_render_image_part_on_drawable_at_size_with_rotation(Drawable d, Imlib_Image @@ -88,6 +91,7 @@ void gib_imlib_render_image_part_on_drawable_at_size_with_rotation(Drawable d, char blend, char alias); + void gib_imlib_image_fill_rectangle(Imlib_Image im, int x, int y, int w, int h, int r, int g, int b, int a); void gib_imlib_text_draw(Imlib_Image im, Imlib_Font fn, gib_style * s, int x, @@ -103,6 +107,7 @@ void gib_imlib_render_image_on_drawable_at_size(Drawable d, Imlib_Image im, char dither, char blend, char alias); +/* void gib_imlib_render_image_on_drawable_at_size_with_rotation(Drawable d, Imlib_Image im, int x, int y, @@ -112,6 +117,8 @@ void gib_imlib_render_image_on_drawable_at_size_with_rotation(Drawable d, char dither, char blend, char alias); +*/ + void gib_imlib_blend_image_onto_image(Imlib_Image dest_image, Imlib_Image source_image, char merge_alpha, int sx, int sy, @@ -119,6 +126,8 @@ void gib_imlib_blend_image_onto_image(Imlib_Image dest_image, int dh, char dither, char blend, char alias); + +/* void gib_imlib_blend_image_onto_image_with_rotation(Imlib_Image dest_image, Imlib_Image source_image, char merge_alpha, int sx, @@ -128,6 +137,7 @@ void gib_imlib_blend_image_onto_image_with_rotation(Imlib_Image dest_image, char dither, char blend, char alias); +*/ Imlib_Image gib_imlib_create_cropped_scaled_image(Imlib_Image im, int sx, int sy, int sw, int sh, int dw, int dh, char alias); diff --git a/src/gib_list.c b/src/gib_list.c index bb16d52..1c313ba 100644 --- a/src/gib_list.c +++ b/src/gib_list.c @@ -75,6 +75,7 @@ gib_list_free_and_data(gib_list * l) return; } +#if 0 gib_list * gib_list_dup(gib_list * list) { @@ -125,6 +126,7 @@ gib_list_dup_special(gib_list * list, } return (ret); } +#endif gib_list * gib_list_add_front(gib_list * root, void *data) @@ -159,6 +161,7 @@ gib_list_add_end(gib_list * root, void *data) } } +#if 0 gib_list * gib_list_add_at_pos(gib_list * root, int pos, void *data) { @@ -216,6 +219,7 @@ gib_list_move_down_by_one(gib_list * root, gib_list * l) return (root); } +#endif unsigned char @@ -227,6 +231,7 @@ gib_list_has_more_than_one_item(gib_list * root) return (0); } +#if 0 gib_list * gib_list_pop_to_end(gib_list * root, gib_list * l) { @@ -236,6 +241,7 @@ gib_list_pop_to_end(gib_list * root, gib_list * l) return (root); } +#endif gib_list * gib_list_cat(gib_list * root, gib_list * l) @@ -478,6 +484,7 @@ gib_list_sort_merge(gib_list * l1, gib_list * l2, gib_compare_fn cmp) return (list.next); } +#if 0 gib_list * gib_list_nth(gib_list * root, unsigned int num) { @@ -495,6 +502,7 @@ gib_list_nth(gib_list * root, unsigned int num) } return (root); } +#endif gib_list * gib_list_foreach(gib_list *root, void (*fe_func)(gib_list *node, void *data), void *data) @@ -572,7 +580,7 @@ gib_string_split(const char *string, const char *delimiter) return string_list; } - +#if 0 char * gib_strjoin(const char *separator, ...) { @@ -621,4 +629,4 @@ gib_strjoin(const char *separator, ...) return string; } - +#endif diff --git a/src/gib_list.h b/src/gib_list.h index 9eedae5..94c4c39 100644 --- a/src/gib_list.h +++ b/src/gib_list.h @@ -54,8 +54,10 @@ gib_list *gib_list_new(void); void gib_list_free(gib_list * l); gib_list *gib_list_add_front(gib_list * root, void *data); gib_list *gib_list_add_end(gib_list * root, void *data); +/* gib_list *gib_list_add_at_pos(gib_list * root, int pos, void *data); gib_list *gib_list_pop_to_end(gib_list * root, gib_list * l); +*/ gib_list *gib_list_unlink(gib_list * root, gib_list * l); gib_list *gib_list_cat(gib_list * root, gib_list * l); int gib_list_length(gib_list * l); @@ -72,14 +74,18 @@ gib_list *gib_list_sort(gib_list * list, gib_compare_fn cmp); gib_list *gib_list_sort_merge(gib_list * l1, gib_list * l2, gib_compare_fn cmp); +/* gib_list *gib_list_nth(gib_list * root, unsigned int num); +*/ unsigned char gib_list_has_more_than_one_item(gib_list * root); void gib_list_free_and_data(gib_list * l); +/* gib_list *gib_list_dup(gib_list * list); gib_list *gib_list_dup_special(gib_list * list, void (*cpy_func) (void **dest, void *data)); gib_list *gib_list_move_down_by_one(gib_list * root, gib_list * l); gib_list *gib_list_move_up_by_one(gib_list * root, gib_list * l); +*/ gib_list *gib_list_foreach(gib_list *root, void (*fe_func)(gib_list *node, void *data), void *data); gib_list *gib_list_find(gib_list *root, unsigned char (*find_func)(gib_list *node, void *data), void *data); @@ -87,7 +93,9 @@ gib_list *gib_list_find_by_data(gib_list *root, void *data); /* don't really belong here, will do for now */ gib_list *gib_string_split(const char *string, const char *delimiter); +/* char *gib_strjoin(const char *separator, ...); +*/ #ifdef __cplusplus } diff --git a/src/gib_style.c b/src/gib_style.c index 8fd5ae5..6671e6e 100644 --- a/src/gib_style.c +++ b/src/gib_style.c @@ -90,6 +90,7 @@ gib_style_bit_free(gib_style_bit * s) return; } +#if 0 gib_style * gib_style_dup(gib_style * s) { @@ -109,133 +110,4 @@ gib_dup_style_bit(void **dest, void *data) return; } - -void -gib_style_save_ascii(gib_style * style, char *file) -{ - FILE *stylefile; - gib_list *l; - gib_style_bit *b; - - if (!style || !style->bits) - return; - - stylefile = fopen(file, "w"); - if (stylefile) - { - fprintf(stylefile, "#Style\n"); - fprintf(stylefile, "#NAME %s\n", style->name); - l = style->bits; - while (l) - { - b = (gib_style_bit *) l->data; - fprintf(stylefile, "%d %d %d %d %d %d\n", b->r, b->g, b->b, b->a, - b->x_offset, b->y_offset); - l = l->next; - } - } - fclose(stylefile); -} - -gib_style * -gib_style_new_from_ascii(char *file) -{ - FILE *stylefile; - char current[4096]; - char *s; - gib_style *ret = NULL; - - stylefile = fopen(file, "r"); - if (stylefile) - { - int r = 0, g = 0, b = 0, a = 0, x_off = 0, y_off = 0; - - ret = gib_style_new(NULL); - /* skip initial idenifier line */ - fgets(current, sizeof(current), stylefile); - while (fgets(current, sizeof(current), stylefile)) - { - if (current[0] == '\n') - continue; - if (!strncmp(current, "#NAME", 5)) - { - int l; - - l = strlen(current) - 1; - if (current[l] == '\n') - current[l] = '\0'; - if (l > 6) - ret->name = strdup(current + 6); - continue; - } - else - { - /* support EFM style bits */ - s = strtok(current, " "); - if(!s) continue; - if (strlen(s) == 2) - { - if (!strcmp(s, "ol")) - { - r = g = b = 0; - s = strtok(NULL, " "); - if(!s) continue; - x_off = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - y_off = atoi(s); - } - else if (!strcmp(s, "sh")) - { - r = g = b = 0; - s = strtok(NULL, " "); - if(!s) continue; - x_off = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - y_off = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - a = atoi(s); - } - else if (!strcmp(s, "fg")) - { - r = g = b = a = 0; - s = strtok(NULL, " "); - if(!s) continue; - x_off = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - y_off = atoi(s); - } - } - else - { - /* our own format */ - r = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - g = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - b = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - a = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - x_off = atoi(s); - s = strtok(NULL, " "); - if(!s) continue; - y_off = atoi(s); - } - } - ret->bits = - gib_list_add_end(ret->bits, - gib_style_bit_new(x_off, y_off, r, g, b, a)); - } - fclose(stylefile); - } - - return (ret); -} +#endif diff --git a/src/gib_style.h b/src/gib_style.h index ed7920a..d54e2d4 100644 --- a/src/gib_style.h +++ b/src/gib_style.h @@ -56,11 +56,10 @@ gib_style_bit *gib_style_bit_new(int x_offset, int y_offset, int r, int g, int b gib_style *gib_style_new(char *name); void gib_style_bit_free(gib_style_bit *s); void gib_style_free(gib_style *s); +/* gib_style *gib_style_dup(gib_style *s); void gib_dup_style_bit(void **dest, void *data); -gib_style *gib_style_new_from_ascii(char *file); -void gib_style_save_ascii(gib_style * style, char *file); -gib_style *gib_style_new_from_ascii(char *file); +*/ #ifdef __cplusplus } |