[evince] Use EvMapping instead of Ev*Mapping types



commit 8dbd7b00f71be8b78198b2c713ae071c2dd77d11
Author: Carlos Garcia Campos <carlosgc gnome org>
Date:   Sat May 23 19:13:19 2009 +0200

    Use EvMapping instead of Ev*Mapping types
---
 backend/djvu/djvu-links.c |   42 ++++++++++++------------
 backend/pdf/ev-poppler.cc |   59 +++++++++++++++++-----------------
 libview/ev-pixbuf-cache.c |   23 ++++++-------
 libview/ev-view.c         |   77 +++++++++++++++++++++-----------------------
 4 files changed, 98 insertions(+), 103 deletions(-)

diff --git a/backend/djvu/djvu-links.c b/backend/djvu/djvu-links.c
index d54c410..392e9b3 100644
--- a/backend/djvu/djvu-links.c
+++ b/backend/djvu/djvu-links.c
@@ -26,7 +26,7 @@
 #include "djvu-links.h"
 #include "djvu-document-private.h"
 #include "ev-document-links.h"
-
+#include "ev-mapping.h"
 
 static gboolean number_from_miniexp(miniexp_t sexp, int *number)
 {
@@ -223,9 +223,9 @@ build_tree (const DjvuDocument *djvu_document,
 }
 
 static gboolean
-get_djvu_hyperlink_area (ddjvu_pageinfo_t   *page_info,
-			 miniexp_t           sexp,
-			 EvLinkMapping      *ev_link_mapping)
+get_djvu_hyperlink_area (ddjvu_pageinfo_t *page_info,
+			 miniexp_t         sexp,
+			 EvMapping        *ev_link_mapping)
 {
 	miniexp_t iter;
 
@@ -245,10 +245,10 @@ get_djvu_hyperlink_area (ddjvu_pageinfo_t   *page_info,
 		iter = miniexp_cdr (iter);
 		if (!number_from_miniexp (miniexp_car (iter), &height)) goto unknown_link;
 
-		ev_link_mapping->x1 = minx;
-		ev_link_mapping->x2 = (minx + width);
-		ev_link_mapping->y1 = (page_info->height - (miny + height));
-		ev_link_mapping->y2 = (page_info->height - miny);
+		ev_link_mapping->area.x1 = minx;
+		ev_link_mapping->area.x2 = (minx + width);
+		ev_link_mapping->area.y1 = (page_info->height - (miny + height));
+		ev_link_mapping->area.y2 = (page_info->height - miny);
 	} else if (miniexp_car (iter) == miniexp_symbol ("poly")
 		   && miniexp_length (iter) >= 5 && miniexp_length (iter) % 2 == 1) {
 		
@@ -271,10 +271,10 @@ get_djvu_hyperlink_area (ddjvu_pageinfo_t   *page_info,
 			maxy = MAX (maxy, y);
 		}
 
-		ev_link_mapping->x1 = minx;
-		ev_link_mapping->x2 = maxx;
-		ev_link_mapping->y1 = (page_info->height - maxy);
-		ev_link_mapping->y2 = (page_info->height - miny);
+		ev_link_mapping->area.x1 = minx;
+		ev_link_mapping->area.x2 = maxx;
+		ev_link_mapping->area.y1 = (page_info->height - maxy);
+		ev_link_mapping->area.y2 = (page_info->height - miny);
 	} else {
 		/* unknown */
 		goto unknown_link;
@@ -287,18 +287,18 @@ get_djvu_hyperlink_area (ddjvu_pageinfo_t   *page_info,
 	return FALSE;
 }
 
-static EvLinkMapping *
+static EvMapping *
 get_djvu_hyperlink_mapping (DjvuDocument     *djvu_document,
 			    int               page,
 			    ddjvu_pageinfo_t *page_info,
 			    miniexp_t         sexp)
 {
-	EvLinkMapping *ev_link_mapping = NULL;
+	EvMapping *ev_link_mapping = NULL;
 	EvLinkAction *ev_action = NULL;
 	miniexp_t iter;
 	const char *url, *url_target, *comment;
 
-	ev_link_mapping = g_new (EvLinkMapping, 1);
+	ev_link_mapping = g_new (EvMapping, 1);
 
 	iter = sexp;
 
@@ -326,7 +326,7 @@ get_djvu_hyperlink_mapping (DjvuDocument     *djvu_document,
 	ev_action = get_djvu_link_action (djvu_document, url, page);
 	if (!ev_action) goto unknown_mapping;
 
-	ev_link_mapping->link = ev_link_new (comment, ev_action);
+	ev_link_mapping->data = ev_link_new (comment, ev_action);
 			
 	return ev_link_mapping;
 
@@ -363,7 +363,7 @@ djvu_links_get_links (EvDocumentLinks *document_links,
 	GList *retval = NULL;
 	miniexp_t page_annotations = miniexp_nil;
 	miniexp_t *hyperlinks = NULL, *iter = NULL;
-	EvLinkMapping *ev_link_mapping;
+	EvMapping *ev_link_mapping;
         ddjvu_pageinfo_t page_info;
 
 	while ((page_annotations = ddjvu_document_get_pageanno (djvu_document->d_document, page)) == miniexp_dummy)
@@ -378,10 +378,10 @@ djvu_links_get_links (EvDocumentLinks *document_links,
 			for (iter = hyperlinks; *iter; ++iter) {
 				ev_link_mapping = get_djvu_hyperlink_mapping (djvu_document, page, &page_info, *iter);
 				if (ev_link_mapping) {
-					ev_link_mapping->x1 *= scale_factor;
-					ev_link_mapping->x2 *= scale_factor;
-					ev_link_mapping->y1 *= scale_factor;
-					ev_link_mapping->y2 *= scale_factor;
+					ev_link_mapping->area.x1 *= scale_factor;
+					ev_link_mapping->area.x2 *= scale_factor;
+					ev_link_mapping->area.y1 *= scale_factor;
+					ev_link_mapping->area.y2 *= scale_factor;
 					retval = g_list_prepend (retval, ev_link_mapping);
 				}
 			}
diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc
index fb2a5ba..2d838ea 100644
--- a/backend/pdf/ev-poppler.cc
+++ b/backend/pdf/ev-poppler.cc
@@ -35,6 +35,7 @@
 
 #include "ev-poppler.h"
 #include "ev-file-exporter.h"
+#include "ev-mapping.h"
 #include "ev-document-find.h"
 #include "ev-document-misc.h"
 #include "ev-document-links.h"
@@ -1253,17 +1254,17 @@ pdf_document_links_get_links (EvDocumentLinks *document_links,
 
 	for (list = mapping_list; list; list = list->next) {
 		PopplerLinkMapping *link_mapping;
-		EvLinkMapping *ev_link_mapping;
+		EvMapping *ev_link_mapping;
 
 		link_mapping = (PopplerLinkMapping *)list->data;
-		ev_link_mapping = g_new (EvLinkMapping, 1);
-		ev_link_mapping->link = ev_link_from_action (pdf_document,
+		ev_link_mapping = g_new (EvMapping, 1);
+		ev_link_mapping->data = ev_link_from_action (pdf_document,
 							     link_mapping->action);
-		ev_link_mapping->x1 = link_mapping->area.x1;
-		ev_link_mapping->x2 = link_mapping->area.x2;
+		ev_link_mapping->area.x1 = link_mapping->area.x1;
+		ev_link_mapping->area.x2 = link_mapping->area.x2;
 		/* Invert this for X-style coordinates */
-		ev_link_mapping->y1 = height - link_mapping->area.y2;
-		ev_link_mapping->y2 = height - link_mapping->area.y1;
+		ev_link_mapping->area.y1 = height - link_mapping->area.y2;
+		ev_link_mapping->area.y2 = height - link_mapping->area.y1;
 
 		retval = g_list_prepend (retval, ev_link_mapping);
 	}
@@ -1318,17 +1319,17 @@ pdf_document_images_get_image_mapping (EvDocumentImages *document_images,
 
 	for (list = mapping_list; list; list = list->next) {
 		PopplerImageMapping *image_mapping;
-		EvImageMapping *ev_image_mapping;
+		EvMapping *ev_image_mapping;
 
 		image_mapping = (PopplerImageMapping *)list->data;
 
-		ev_image_mapping = g_new (EvImageMapping, 1);
+		ev_image_mapping = g_new (EvMapping, 1);
 		
-		ev_image_mapping->image = ev_image_new (page, image_mapping->image_id);
-		ev_image_mapping->x1 = image_mapping->area.x1;
-		ev_image_mapping->x2 = image_mapping->area.x2;
-		ev_image_mapping->y1 = image_mapping->area.y1;
-		ev_image_mapping->y2 = image_mapping->area.y2;
+		ev_image_mapping->data = ev_image_new (page, image_mapping->image_id);
+		ev_image_mapping->area.x1 = image_mapping->area.x1;
+		ev_image_mapping->area.y1 = image_mapping->area.y1;
+		ev_image_mapping->area.x2 = image_mapping->area.x2;
+		ev_image_mapping->area.y2 = image_mapping->area.y2;
 
 		retval = g_list_prepend (retval, ev_image_mapping);
 	}
@@ -2226,7 +2227,7 @@ pdf_document_forms_get_form_fields (EvDocumentForms *document,
 
  	for (list = fields; list; list = list->next) {
  		PopplerFormFieldMapping *mapping;
- 		EvFormFieldMapping *field_mapping;
+ 		EvMapping *field_mapping;
 		EvFormField *ev_field;
 
  		mapping = (PopplerFormFieldMapping *)list->data;
@@ -2235,13 +2236,13 @@ pdf_document_forms_get_form_fields (EvDocumentForms *document,
 		if (!ev_field)
 			continue;
 
- 		field_mapping = g_new0 (EvFormFieldMapping, 1);
-		field_mapping->x1 = mapping->area.x1;
-		field_mapping->x2 = mapping->area.x2;
-		field_mapping->y1 = height - mapping->area.y2;
-		field_mapping->y2 = height - mapping->area.y1;
-		field_mapping->field = ev_field;
-		field_mapping->field->page = EV_PAGE (g_object_ref (page));
+ 		field_mapping = g_new0 (EvMapping, 1);
+		field_mapping->area.x1 = mapping->area.x1;
+		field_mapping->area.x2 = mapping->area.x2;
+		field_mapping->area.y1 = height - mapping->area.y2;
+		field_mapping->area.y2 = height - mapping->area.y1;
+		field_mapping->data = ev_field;
+		ev_field->page = EV_PAGE (g_object_ref (page));
 
 		g_object_set_data_full (G_OBJECT (ev_field),
 					"poppler-field",
@@ -2584,7 +2585,7 @@ pdf_document_annotations_get_annotations (EvDocumentAnnotations *document_annota
 
 	for (list = annots; list; list = list->next) {
 		PopplerAnnotMapping *mapping;
-		EvAnnotationMapping *annot_mapping;
+		EvMapping *annot_mapping;
 		EvAnnotation        *ev_annot;
 
 		mapping = (PopplerAnnotMapping *)list->data;
@@ -2599,12 +2600,12 @@ pdf_document_annotations_get_annotations (EvDocumentAnnotations *document_annota
 		if (!ev_annot->name)
 			ev_annot->name = g_strdup_printf ("annot-%d-%d", page->index, i);
 
-		annot_mapping = g_new0 (EvAnnotationMapping, 1);
-		annot_mapping->x1 = mapping->area.x1;
-		annot_mapping->x2 = mapping->area.x2;
-		annot_mapping->y1 = height - mapping->area.y2;
-		annot_mapping->y2 = height - mapping->area.y1;
-		annot_mapping->annotation = ev_annot;
+		annot_mapping = g_new (EvMapping, 1);
+		annot_mapping->area.x1 = mapping->area.x1;
+		annot_mapping->area.x2 = mapping->area.x2;
+		annot_mapping->area.y1 = height - mapping->area.y2;
+		annot_mapping->area.y2 = height - mapping->area.y1;
+		annot_mapping->data = ev_annot;
 
 		g_object_set_data_full (G_OBJECT (ev_annot),
 					"poppler-annot",
diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c
index b81b7d1..41ccadc 100644
--- a/libview/ev-pixbuf-cache.c
+++ b/libview/ev-pixbuf-cache.c
@@ -2,13 +2,10 @@
 #include "ev-pixbuf-cache.h"
 #include "ev-job-scheduler.h"
 #include "ev-page-cache.h"
-#include "ev-document-images.h"
+#include "ev-mapping.h"
 #include "ev-document-forms.h"
-#include "ev-document-links.h"
+#include "ev-document-images.h"
 #include "ev-document-annotations.h"
-#include "ev-image.h"
-#include "ev-form-field.h"
-#include "ev-annotation.h"
 
 typedef struct _CacheJobInfo
 {
@@ -180,19 +177,19 @@ dispose_cache_job_info (CacheJobInfo *job_info,
 		job_info->region = NULL;
 	}
 	if (job_info->link_mapping) {
-		ev_link_mapping_free (job_info->link_mapping);
+		ev_mapping_list_free (job_info->link_mapping, g_object_unref);
 		job_info->link_mapping = NULL;
 	}
 	if (job_info->image_mapping) {
-		ev_image_mapping_free (job_info->image_mapping);
+		ev_mapping_list_free (job_info->image_mapping, g_object_unref);
 		job_info->image_mapping = NULL;
 	}
 	if (job_info->form_field_mapping) {
-		ev_form_field_mapping_free (job_info->form_field_mapping);
+		ev_mapping_list_free (job_info->form_field_mapping, g_object_unref);
 		job_info->form_field_mapping = NULL;
 	}
 	if (job_info->annots_mapping) {
-		ev_annotation_mapping_free (job_info->annots_mapping);
+		ev_mapping_list_free (job_info->annots_mapping, g_object_unref);
 		job_info->annots_mapping = NULL;
 	}
 	if (job_info->text_mapping) {
@@ -519,25 +516,25 @@ copy_job_to_job_info (EvJobRender   *job_render,
 	
 	if (job_render->flags & EV_RENDER_INCLUDE_LINKS) {
 		if (job_info->link_mapping)
-			ev_link_mapping_free (job_info->link_mapping);
+			ev_mapping_list_free (job_info->link_mapping, g_object_unref);
 		job_info->link_mapping = job_render->link_mapping;
 	}
 
 	if (job_render->flags & EV_RENDER_INCLUDE_IMAGES) {
 		if (job_info->image_mapping)
-			ev_image_mapping_free (job_info->image_mapping);
+			ev_mapping_list_free (job_info->image_mapping, g_object_unref);
 		job_info->image_mapping = job_render->image_mapping;
 	}
 
 	if (job_render->flags & EV_RENDER_INCLUDE_FORMS) {
 		if (job_info->form_field_mapping)
-			ev_form_field_mapping_free (job_info->form_field_mapping);
+			ev_mapping_list_free (job_info->form_field_mapping, g_object_unref);
 		job_info->form_field_mapping = job_render->form_field_mapping;
 	}
 
 	if (job_render->flags & EV_RENDER_INCLUDE_ANNOTS) {
 		if (job_info->annots_mapping)
-			ev_annotation_mapping_free (job_info->annots_mapping);
+			ev_mapping_list_free (job_info->annots_mapping, g_object_unref);
 		job_info->annots_mapping = job_render->annots_mapping;
 	}
 
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 31ce2f5..abd661e 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -28,6 +28,7 @@
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 
+#include "ev-mapping.h"
 #include "ev-document-forms.h"
 #include "ev-document-images.h"
 #include "ev-document-links.h"
@@ -1146,7 +1147,7 @@ ev_view_get_link_at_location (EvView  *view,
 	link_mapping = ev_pixbuf_cache_get_link_mapping (view->pixbuf_cache, page);
 
 	if (link_mapping)
-		return ev_link_mapping_find (link_mapping, x_new, y_new);
+		return ev_mapping_list_get_data (link_mapping, x_new, y_new);
 	else
 		return NULL;
 }
@@ -1589,7 +1590,7 @@ ev_view_get_image_at_location (EvView  *view,
 	image_mapping = ev_pixbuf_cache_get_image_mapping (view->pixbuf_cache, page);
 
 	if (image_mapping)
-		return ev_image_mapping_find (image_mapping, x_new, y_new);
+		return ev_mapping_list_get_data (image_mapping, x_new, y_new);
 	else
 		return NULL;
 }
@@ -1623,7 +1624,7 @@ ev_view_get_form_field_at_location (EvView  *view,
 	forms_mapping = ev_pixbuf_cache_get_form_field_mapping (view->pixbuf_cache, page);
 
 	if (forms_mapping)
-		return ev_form_field_mapping_find (forms_mapping, x_new, y_new);
+		return ev_mapping_list_get_data (forms_mapping, x_new, y_new);
 	else
 		return NULL;
 }
@@ -1632,14 +1633,14 @@ static GdkRegion *
 ev_view_form_field_get_region (EvView      *view,
 			       EvFormField *field)
 {
-	EvRectangle  field_area;
 	GdkRectangle view_area;
 	GList       *forms_mapping;
+	EvMapping   *mapping;
 
 	forms_mapping = ev_pixbuf_cache_get_form_field_mapping (view->pixbuf_cache,
 								field->page->index);
-	ev_form_field_mapping_get_area (forms_mapping, field, &field_area);
-	doc_rect_to_view_rect (view, field->page->index, &field_area, &view_area);
+	mapping = ev_mapping_list_find (forms_mapping, field);
+	doc_rect_to_view_rect (view, field->page->index, &mapping->area, &view_area);
 	view_area.x -= view->scroll_x;
 	view_area.y -= view->scroll_y;
 
@@ -1692,7 +1693,7 @@ ev_view_form_field_button_create_widget (EvView      *view,
 			forms_mapping = ev_pixbuf_cache_get_form_field_mapping (view->pixbuf_cache,
 										field->page->index);
 			for (l = forms_mapping; l; l = g_list_next (l)) {
-				EvFormField *button = ((EvFormFieldMapping *)(l->data))->field;
+				EvFormField *button = ((EvMapping *)(l->data))->data;
 				GdkRegion   *button_region;
 
 				if (button->id == field->id)
@@ -2050,7 +2051,7 @@ ev_view_handle_form_field (EvView      *view,
 {
 	GtkWidget   *field_widget = NULL;
 	GList       *form_field_mapping;
-	EvRectangle  field_area;
+	EvMapping   *mapping;
 	GdkRectangle view_area;
 
 	if (field->is_read_only)
@@ -2075,9 +2076,9 @@ ev_view_handle_form_field (EvView      *view,
 				(GDestroyNotify)g_object_unref);
 
 	form_field_mapping = ev_pixbuf_cache_get_form_field_mapping (view->pixbuf_cache, field->page->index);
-	ev_form_field_mapping_get_area (form_field_mapping, field, &field_area);
-	
-	doc_rect_to_view_rect (view, field->page->index, &field_area, &view_area);
+	mapping = ev_mapping_list_find (form_field_mapping, field);
+
+	doc_rect_to_view_rect (view, field->page->index, &mapping->area, &view_area);
 	view_area.x -= view->scroll_x;
 	view_area.y -= view->scroll_y;
 
@@ -2303,15 +2304,13 @@ show_annotation_windows (EvView *view,
 	annots = ev_pixbuf_cache_get_annots_mapping (view->pixbuf_cache, page);
 
 	for (l = annots; l && l->data; l = g_list_next (l)) {
-		EvAnnotationMapping *annotation_mapping;
-		EvAnnotation        *annot;
-		EvViewWindowChild   *child;
-		GtkWidget           *window;
-		EvRectangle         *doc_rect;
-		GdkRectangle         view_rect;
+		EvAnnotation      *annot;
+		EvViewWindowChild *child;
+		GtkWidget         *window;
+		EvRectangle       *doc_rect;
+		GdkRectangle       view_rect;
 
-		annotation_mapping = (EvAnnotationMapping *)l->data;
-		annot = annotation_mapping->annotation;
+		annot = ((EvMapping *)(l->data))->data;
 
 		if (!EV_IS_ANNOTATION_MARKUP (annot))
 			continue;
@@ -2367,12 +2366,10 @@ hide_annotation_windows (EvView *view,
 	annots = ev_pixbuf_cache_get_annots_mapping (view->pixbuf_cache, page);
 
 	for (l = annots; l && l->data; l = g_list_next (l)) {
-		EvAnnotationMapping *annotation_mapping;
-		EvAnnotation        *annot;
-		GtkWidget           *window;
+		EvAnnotation *annot;
+		GtkWidget    *window;
 
-		annotation_mapping = (EvAnnotationMapping *)l->data;
-		annot = annotation_mapping->annotation;
+		annot = ((EvMapping *)(l->data))->data;
 
 		if (!EV_IS_ANNOTATION_MARKUP (annot))
 			continue;
@@ -2411,7 +2408,7 @@ ev_view_get_annotation_at_location (EvView  *view,
 	annotations_mapping = ev_pixbuf_cache_get_annots_mapping (view->pixbuf_cache, page);
 
 	if (annotations_mapping)
-		return ev_annotation_mapping_find (annotations_mapping, x_new, y_new);
+		return ev_mapping_list_get_data (annotations_mapping, x_new, y_new);
 	else
 		return NULL;
 }
@@ -2617,9 +2614,9 @@ ev_view_size_allocate (GtkWidget      *widget,
 	children = gtk_container_get_children (GTK_CONTAINER (widget));
 	for (l = children; l && l->data; l = g_list_next (l)) {
 		EvFormField   *field;
-		EvRectangle    field_area;
 		GdkRectangle   view_area;
 		GList         *form_field_mapping;
+		EvMapping     *mapping;
 		GtkAllocation  child_allocation;
 		GtkRequisition child_requisition;
 		GtkWidget     *child = (GtkWidget *)l->data;
@@ -2630,9 +2627,9 @@ ev_view_size_allocate (GtkWidget      *widget,
 
 		form_field_mapping = ev_pixbuf_cache_get_form_field_mapping (view->pixbuf_cache,
 									     field->page->index);
-		ev_form_field_mapping_get_area (form_field_mapping, field, &field_area);
+		mapping = ev_mapping_list_find (form_field_mapping, field);
 
-		doc_rect_to_view_rect (view, field->page->index, &field_area, &view_area);
+		doc_rect_to_view_rect (view, field->page->index, &mapping->area, &view_area);
 		view_area.x -= view->scroll_x;
 		view_area.y -= view->scroll_y;
 
@@ -2951,10 +2948,10 @@ get_link_area (EvView       *view,
 	       EvLink       *link,
 	       GdkRectangle *area)
 {
-	EvRectangle  ev_rect;
-	GList       *link_mapping;
-	gint         page;
-	gint         x_offset = 0, y_offset = 0;
+	GList     *link_mapping;
+	EvMapping *mapping;
+	gint       page;
+	gint       x_offset = 0, y_offset = 0;
 
 	x += view->scroll_x;
 	y += view->scroll_y;
@@ -2962,9 +2959,9 @@ get_link_area (EvView       *view,
 	find_page_at_location (view, x, y, &page, &x_offset, &y_offset);
 	
 	link_mapping = ev_pixbuf_cache_get_link_mapping (view->pixbuf_cache, page);
-	ev_link_mapping_get_area (link_mapping, link, &ev_rect);
+	mapping = ev_mapping_list_find (link_mapping, link);
 
-	doc_rect_to_view_rect (view, page, &ev_rect, area);
+	doc_rect_to_view_rect (view, page, &mapping->area, area);
 	area->y -= view->scroll_y;
 }
 
@@ -2975,10 +2972,10 @@ get_annot_area (EvView       *view,
 	       EvAnnotation *annot,
 	       GdkRectangle *area)
 {
-	EvRectangle  ev_rect;
-	GList       *annots_mapping;
-	gint         page;
-	gint         x_offset = 0, y_offset = 0;
+	GList     *annots_mapping;
+	EvMapping *mapping;
+	gint       page;
+	gint       x_offset = 0, y_offset = 0;
 
 	x += view->scroll_x;
 	y += view->scroll_y;
@@ -2986,9 +2983,9 @@ get_annot_area (EvView       *view,
 	find_page_at_location (view, x, y, &page, &x_offset, &y_offset);
 
 	annots_mapping = ev_pixbuf_cache_get_annots_mapping (view->pixbuf_cache, page);
-	ev_annotation_mapping_get_area (annots_mapping, annot, &ev_rect);
+	mapping = ev_mapping_list_find (annots_mapping, annot);
 
-	doc_rect_to_view_rect (view, page, &ev_rect, area);
+	doc_rect_to_view_rect (view, page, &mapping->area, area);
 	area->y -= view->scroll_y;
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]