From 356536f6b8b44bfcf13c644a26ecdd583465bc0f Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Sun, 11 Jul 2010 08:52:34 +0000 Subject: Add EvMappingList data struct instead of using a GList It just wraps the GList and adds reference counting --- (limited to 'libview') diff --git a/libview/ev-jobs.h b/libview/ev-jobs.h index 6844520..7690731 100644 --- a/libview/ev-jobs.h +++ b/libview/ev-jobs.h @@ -243,10 +243,10 @@ struct _EvJobPageData gint page; EvJobPageDataFlags flags; - GList *link_mapping; - GList *image_mapping; - GList *form_field_mapping; - GList *annot_mapping; + EvMappingList *link_mapping; + EvMappingList *image_mapping; + EvMappingList *form_field_mapping; + EvMappingList *annot_mapping; cairo_region_t *text_mapping; gchar *text; EvRectangle *text_layout; diff --git a/libview/ev-page-cache.c b/libview/ev-page-cache.c index a2ae8c5..d814144 100644 --- a/libview/ev-page-cache.c +++ b/libview/ev-page-cache.c @@ -22,7 +22,7 @@ #include #include "ev-jobs.h" #include "ev-job-scheduler.h" -#include "ev-mapping.h" +#include "ev-mapping-list.h" #include "ev-selection.h" #include "ev-document-links.h" #include "ev-document-forms.h" @@ -35,10 +35,10 @@ typedef struct _EvPageCacheData { EvJob *job; gboolean done : 1; - GList *link_mapping; - GList *image_mapping; - GList *form_field_mapping; - GList *annot_mapping; + EvMappingList *link_mapping; + EvMappingList *image_mapping; + EvMappingList *form_field_mapping; + EvMappingList *annot_mapping; cairo_region_t *text_mapping; EvRectangle *text_layout; guint text_layout_length; @@ -72,22 +72,22 @@ ev_page_cache_data_free (EvPageCacheData *data) } if (data->link_mapping) { - ev_mapping_list_free (data->link_mapping, g_object_unref); + ev_mapping_list_unref (data->link_mapping); data->link_mapping = NULL; } if (data->image_mapping) { - ev_mapping_list_free (data->image_mapping, g_object_unref); + ev_mapping_list_unref (data->image_mapping); data->image_mapping = NULL; } if (data->form_field_mapping) { - ev_mapping_list_free (data->form_field_mapping, g_object_unref); + ev_mapping_list_unref (data->form_field_mapping); data->form_field_mapping = NULL; } if (data->annot_mapping) { - ev_mapping_list_free (data->annot_mapping, g_object_unref); + ev_mapping_list_unref (data->annot_mapping); data->annot_mapping = NULL; } @@ -252,7 +252,7 @@ ev_page_cache_set_flags (EvPageCache *cache, cache->flags = flags; } -GList * +EvMappingList * ev_page_cache_get_link_mapping (EvPageCache *cache, gint page) { @@ -274,7 +274,7 @@ ev_page_cache_get_link_mapping (EvPageCache *cache, return data->link_mapping; } -GList * +EvMappingList * ev_page_cache_get_image_mapping (EvPageCache *cache, gint page) { @@ -296,7 +296,7 @@ ev_page_cache_get_image_mapping (EvPageCache *cache, return data->image_mapping; } -GList * +EvMappingList * ev_page_cache_get_form_field_mapping (EvPageCache *cache, gint page) { @@ -318,7 +318,7 @@ ev_page_cache_get_form_field_mapping (EvPageCache *cache, return data->form_field_mapping; } -GList * +EvMappingList * ev_page_cache_get_annot_mapping (EvPageCache *cache, gint page) { diff --git a/libview/ev-page-cache.h b/libview/ev-page-cache.h index c6ccfd3..4c2effb 100644 --- a/libview/ev-page-cache.h +++ b/libview/ev-page-cache.h @@ -47,13 +47,13 @@ void ev_page_cache_set_page_range (EvPageCache *cach EvJobPageDataFlags ev_page_cache_get_flags (EvPageCache *cache); void ev_page_cache_set_flags (EvPageCache *cache, EvJobPageDataFlags flags); -GList *ev_page_cache_get_link_mapping (EvPageCache *cache, +EvMappingList *ev_page_cache_get_link_mapping (EvPageCache *cache, gint page); -GList *ev_page_cache_get_image_mapping (EvPageCache *cache, +EvMappingList *ev_page_cache_get_image_mapping (EvPageCache *cache, gint page); -GList *ev_page_cache_get_form_field_mapping (EvPageCache *cache, +EvMappingList *ev_page_cache_get_form_field_mapping (EvPageCache *cache, gint page); -GList *ev_page_cache_get_annot_mapping (EvPageCache *cache, +EvMappingList *ev_page_cache_get_annot_mapping (EvPageCache *cache, gint page); cairo_region_t *ev_page_cache_get_text_mapping (EvPageCache *cache, gint page); diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c index 4eb5c0e..74b8674 100644 --- a/libview/ev-pixbuf-cache.c +++ b/libview/ev-pixbuf-cache.c @@ -1,10 +1,6 @@ #include #include "ev-pixbuf-cache.h" #include "ev-job-scheduler.h" -#include "ev-mapping.h" -#include "ev-document-forms.h" -#include "ev-document-images.h" -#include "ev-document-annotations.h" #include "ev-view-private.h" typedef struct _CacheJobInfo diff --git a/libview/ev-view-accessible.c b/libview/ev-view-accessible.c index 9dfab20..7f891aa 100644 --- a/libview/ev-view-accessible.c +++ b/libview/ev-view-accessible.c @@ -28,7 +28,6 @@ #include "ev-page-cache.h" #include "ev-view-accessible.h" #include "ev-view-private.h" -#include "ev-mapping.h" #define EV_TYPE_VIEW_ACCESSIBLE (ev_view_accessible_get_type ()) #define EV_VIEW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_VIEW_ACCESSIBLE, EvViewAccessible)) diff --git a/libview/ev-view-presentation.c b/libview/ev-view-presentation.c index 459272c..0a11ce1 100644 --- a/libview/ev-view-presentation.c +++ b/libview/ev-view-presentation.c @@ -30,7 +30,6 @@ #include "ev-transition-animation.h" #include "ev-view-cursor.h" #include "ev-page-cache.h" -#include "ev-mapping.h" enum { PROP_0, @@ -749,12 +748,12 @@ ev_view_presentation_get_link_at_location (EvViewPresentation *pview, gdouble x, gdouble y) { - GdkRectangle page_area; - GList *link_mapping; - EvLink *link; - gdouble width, height; - gdouble new_x, new_y; - gdouble scale; + GdkRectangle page_area; + EvMappingList *link_mapping; + EvLink *link; + gdouble width, height; + gdouble new_x, new_y; + gdouble scale; if (!pview->page_cache) return NULL; diff --git a/libview/ev-view.c b/libview/ev-view.c index 71470fb..1d6377f 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -28,7 +28,7 @@ #include #include -#include "ev-mapping.h" +#include "ev-mapping-list.h" #include "ev-document-forms.h" #include "ev-document-images.h" #include "ev-document-links.h" @@ -1462,11 +1462,11 @@ get_doc_point_from_location (EvView *view, } static void -ev_view_get_area_from_mapping (EvView *view, - guint page, - GList *mapping_list, - gconstpointer data, - GdkRectangle *area) +ev_view_get_area_from_mapping (EvView *view, + guint page, + EvMappingList *mapping_list, + gconstpointer data, + GdkRectangle *area) { EvMapping *mapping; @@ -1485,7 +1485,7 @@ ev_view_get_link_at_location (EvView *view, { gint page = -1; gint x_new = 0, y_new = 0; - GList *link_mapping; + EvMappingList *link_mapping; if (!EV_IS_DOCUMENT_LINKS (view->document)) return NULL; @@ -1879,7 +1879,7 @@ ev_view_get_image_at_location (EvView *view, { gint page = -1; gint x_new = 0, y_new = 0; - GList *image_mapping; + EvMappingList *image_mapping; if (!EV_IS_DOCUMENT_IMAGES (view->document)) return NULL; @@ -1903,7 +1903,7 @@ ev_view_get_form_field_at_location (EvView *view, { gint page = -1; gint x_new = 0, y_new = 0; - GList *forms_mapping; + EvMappingList *forms_mapping; if (!EV_IS_DOCUMENT_FORMS (view->document)) return NULL; @@ -1923,8 +1923,8 @@ static cairo_region_t * ev_view_form_field_get_region (EvView *view, EvFormField *field) { - GdkRectangle view_area; - GList *forms_mapping; + GdkRectangle view_area; + EvMappingList *forms_mapping; forms_mapping = ev_page_cache_get_form_field_mapping (view->page_cache, field->page->index); @@ -1962,8 +1962,9 @@ ev_view_form_field_button_create_widget (EvView *view, return NULL; case EV_FORM_FIELD_BUTTON_CHECK: case EV_FORM_FIELD_BUTTON_RADIO: { - gboolean state; - GList *forms_mapping, *l; + gboolean state; + EvMappingList *forms_mapping; + GList *l; state = ev_document_forms_form_field_button_get_state (EV_DOCUMENT_FORMS (view->document), field); @@ -1980,7 +1981,7 @@ ev_view_form_field_button_create_widget (EvView *view, */ forms_mapping = ev_page_cache_get_form_field_mapping (view->page_cache, field->page->index); - for (l = forms_mapping; l; l = g_list_next (l)) { + for (l = ev_mapping_list_get_list (forms_mapping); l; l = g_list_next (l)) { EvFormField *button = ((EvMapping *)(l->data))->data; cairo_region_t *button_region; @@ -2338,9 +2339,9 @@ ev_view_handle_form_field (EvView *view, gdouble x, gdouble y) { - GtkWidget *field_widget = NULL; - GList *form_field_mapping; - GdkRectangle view_area; + GtkWidget *field_widget = NULL; + EvMappingList *form_field_mapping; + GdkRectangle view_area; if (field->is_read_only) return; @@ -2591,14 +2592,15 @@ static void show_annotation_windows (EvView *view, gint page) { - GList *annots, *l; - GtkWindow *parent; + EvMappingList *annots; + GList *l; + GtkWindow *parent; parent = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (view))); annots = ev_page_cache_get_annot_mapping (view->page_cache, page); - for (l = annots; l && l->data; l = g_list_next (l)) { + for (l = ev_mapping_list_get_list (annots); l && l->data; l = g_list_next (l)) { EvAnnotation *annot; EvViewWindowChild *child; GtkWidget *window; @@ -2659,11 +2661,12 @@ static void hide_annotation_windows (EvView *view, gint page) { - GList *annots, *l; + EvMappingList *annots; + GList *l; annots = ev_page_cache_get_annot_mapping (view->page_cache, page); - for (l = annots; l && l->data; l = g_list_next (l)) { + for (l = ev_mapping_list_get_list (annots); l && l->data; l = g_list_next (l)) { EvAnnotation *annot; GtkWidget *window; @@ -2685,7 +2688,7 @@ ev_view_get_annotation_at_location (EvView *view, { gint page = -1; gint x_new = 0, y_new = 0; - GList *annotations_mapping; + EvMappingList *annotations_mapping; if (!EV_IS_DOCUMENT_ANNOTATIONS (view->document)) return NULL; @@ -2967,7 +2970,7 @@ ev_view_size_allocate (GtkWidget *widget, for (l = children; l && l->data; l = g_list_next (l)) { EvFormField *field; GdkRectangle view_area; - GList *form_field_mapping; + EvMappingList *form_field_mapping; GtkAllocation child_allocation; GtkRequisition child_requisition; GtkWidget *child = (GtkWidget *)l->data; @@ -3229,9 +3232,9 @@ get_link_area (EvView *view, EvLink *link, GdkRectangle *area) { - GList *link_mapping; - gint page; - gint x_offset = 0, y_offset = 0; + EvMappingList *link_mapping; + gint page; + gint x_offset = 0, y_offset = 0; x += view->scroll_x; y += view->scroll_y; @@ -3251,9 +3254,9 @@ get_annot_area (EvView *view, EvAnnotation *annot, GdkRectangle *area) { - GList *annot_mapping; - gint page; - gint x_offset = 0, y_offset = 0; + EvMappingList *annot_mapping; + gint page; + gint x_offset = 0, y_offset = 0; x += view->scroll_x; y += view->scroll_y; -- cgit v0.9.1