Remove unused functions in common code
This commit is contained in:
parent
b90637e2a6
commit
0c9501e0b0
17
cairo.c
17
cairo.c
@ -29,23 +29,6 @@ cairo_subpixel_order_t to_cairo_subpixel_order(enum wl_output_subpixel subpixel)
|
||||
return CAIRO_SUBPIXEL_ORDER_DEFAULT;
|
||||
}
|
||||
|
||||
cairo_surface_t *cairo_image_surface_scale(cairo_surface_t *image,
|
||||
int width, int height) {
|
||||
int image_width = cairo_image_surface_get_width(image);
|
||||
int image_height = cairo_image_surface_get_height(image);
|
||||
|
||||
cairo_surface_t *new =
|
||||
cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height);
|
||||
cairo_t *cairo = cairo_create(new);
|
||||
cairo_scale(cairo, (double)width / image_width,
|
||||
(double)height / image_height);
|
||||
cairo_set_source_surface(cairo, image, 0, 0);
|
||||
|
||||
cairo_paint(cairo);
|
||||
cairo_destroy(cairo);
|
||||
return new;
|
||||
}
|
||||
|
||||
#if HAVE_GDK_PIXBUF
|
||||
cairo_surface_t* gdk_cairo_image_surface_create_from_pixbuf(const GdkPixbuf *gdkbuf) {
|
||||
int chan = gdk_pixbuf_get_n_channels(gdkbuf);
|
||||
|
@ -12,20 +12,6 @@ void list_free(list_t *list);
|
||||
void list_add(list_t *list, void *item);
|
||||
void list_insert(list_t *list, int index, void *item);
|
||||
void list_del(list_t *list, int index);
|
||||
void list_cat(list_t *list, list_t *source);
|
||||
// See qsort. Remember to use *_qsort functions as compare functions,
|
||||
// because they dereference the left and right arguments first!
|
||||
void list_qsort(list_t *list, int compare(const void *left, const void *right));
|
||||
// Return index for first item in list that returns 0 for given compare
|
||||
// function or -1 if none matches.
|
||||
int list_seq_find(list_t *list, int compare(const void *item, const void *cmp_to), const void *cmp_to);
|
||||
int list_find(list_t *list, const void *item);
|
||||
// stable sort since qsort is not guaranteed to be stable
|
||||
void list_stable_sort(list_t *list, int compare(const void *a, const void *b));
|
||||
// swap two elements in a list
|
||||
void list_swap(list_t *list, int src, int dest);
|
||||
// move item to end of list
|
||||
void list_move_to_end(list_t *list, void *item);
|
||||
|
||||
/* Calls `free` for each item in the list, then frees the list.
|
||||
* Do not use this to free lists of primitives or items that require more
|
||||
|
97
list.c
97
list.c
@ -46,103 +46,6 @@ void list_del(list_t *list, int index) {
|
||||
memmove(&list->items[index], &list->items[index + 1], sizeof(void*) * (list->length - index));
|
||||
}
|
||||
|
||||
void list_cat(list_t *list, list_t *source) {
|
||||
for (int i = 0; i < source->length; ++i) {
|
||||
list_add(list, source->items[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void list_qsort(list_t *list, int compare(const void *left, const void *right)) {
|
||||
qsort(list->items, list->length, sizeof(void *), compare);
|
||||
}
|
||||
|
||||
int list_seq_find(list_t *list, int compare(const void *item, const void *data), const void *data) {
|
||||
for (int i = 0; i < list->length; i++) {
|
||||
void *item = list->items[i];
|
||||
if (compare(item, data) == 0) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int list_find(list_t *list, const void *item) {
|
||||
for (int i = 0; i < list->length; i++) {
|
||||
if (list->items[i] == item) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void list_swap(list_t *list, int src, int dest) {
|
||||
void *tmp = list->items[src];
|
||||
list->items[src] = list->items[dest];
|
||||
list->items[dest] = tmp;
|
||||
}
|
||||
|
||||
void list_move_to_end(list_t *list, void *item) {
|
||||
int i;
|
||||
for (i = 0; i < list->length; ++i) {
|
||||
if (list->items[i] == item) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
list_del(list, i);
|
||||
list_add(list, item);
|
||||
}
|
||||
|
||||
static void list_rotate(list_t *list, int from, int to) {
|
||||
void *tmp = list->items[to];
|
||||
|
||||
while (to > from) {
|
||||
list->items[to] = list->items[to - 1];
|
||||
to--;
|
||||
}
|
||||
|
||||
list->items[from] = tmp;
|
||||
}
|
||||
|
||||
static void list_inplace_merge(list_t *list, int left, int last, int mid, int compare(const void *a, const void *b)) {
|
||||
int right = mid + 1;
|
||||
|
||||
if (compare(&list->items[mid], &list->items[right]) <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
while (left <= mid && right <= last) {
|
||||
if (compare(&list->items[left], &list->items[right]) <= 0) {
|
||||
left++;
|
||||
} else {
|
||||
list_rotate(list, left, right);
|
||||
left++;
|
||||
mid++;
|
||||
right++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void list_inplace_sort(list_t *list, int first, int last, int compare(const void *a, const void *b)) {
|
||||
if (first >= last) {
|
||||
return;
|
||||
} else if ((last - first) == 1) {
|
||||
if (compare(&list->items[first], &list->items[last]) > 0) {
|
||||
list_swap(list, first, last);
|
||||
}
|
||||
} else {
|
||||
int mid = (int)((last + first) / 2);
|
||||
list_inplace_sort(list, first, mid, compare);
|
||||
list_inplace_sort(list, mid + 1, last, compare);
|
||||
list_inplace_merge(list, first, last, mid, compare);
|
||||
}
|
||||
}
|
||||
|
||||
void list_stable_sort(list_t *list, int compare(const void *a, const void *b)) {
|
||||
if (list->length > 1) {
|
||||
list_inplace_sort(list, 0, list->length - 1, compare);
|
||||
}
|
||||
}
|
||||
|
||||
void list_free_items_and_destroy(list_t *list) {
|
||||
if (!list) {
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user