[evince] [libdocument] Add ev_document_get_min_page_size()



commit 51261c0750f10aa8cc8687857a0a3b932fd87e3c
Author: Carlos Garcia Campos <carlosgc gnome org>
Date:   Mon May 31 17:37:49 2010 +0200

    [libdocument] Add ev_document_get_min_page_size()

 libdocument/ev-document.c |   21 +++++++++++++++++++++
 libdocument/ev-document.h |    3 +++
 2 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c
index d99a596..09f5887 100644
--- a/libdocument/ev-document.c
+++ b/libdocument/ev-document.c
@@ -46,6 +46,8 @@ struct _EvDocumentPrivate
 
 	gdouble         max_width;
 	gdouble         max_height;
+	gdouble         min_width;
+	gdouble         min_height;
 	gint            max_label;
 
 	gchar         **page_labels;
@@ -264,6 +266,8 @@ ev_document_load (EvDocument  *document,
 				priv->uniform_height = page_height;
 				priv->max_width = priv->uniform_width;
 				priv->max_height = priv->uniform_height;
+				priv->min_width = priv->uniform_width;
+				priv->min_height = priv->uniform_height;
 			} else if (priv->uniform &&
 				   (priv->uniform_width != page_width ||
 				    priv->uniform_height != page_height)) {
@@ -287,9 +291,13 @@ ev_document_load (EvDocument  *document,
 
 				if (page_width > priv->max_width)
 					priv->max_width = page_width;
+				if (page_width < priv->min_width)
+					priv->min_width = page_width;
 
 				if (page_height > priv->max_height)
 					priv->max_height = page_height;
+				if (page_height < priv->min_height)
+					priv->min_height = page_height;
 			}
 
 			page_label = _ev_document_get_page_label (document, page);
@@ -483,6 +491,19 @@ ev_document_get_max_page_size (EvDocument *document,
 		*height = document->priv->max_height;
 }
 
+void
+ev_document_get_min_page_size (EvDocument *document,
+			       gdouble    *width,
+			       gdouble    *height)
+{
+	g_return_if_fail (EV_IS_DOCUMENT (document));
+
+	if (width)
+		*width = document->priv->min_width;
+	if (height)
+		*height = document->priv->min_height;
+}
+
 gboolean
 ev_document_check_dimensions (EvDocument *document)
 {
diff --git a/libdocument/ev-document.h b/libdocument/ev-document.h
index 8993808..68b3307 100644
--- a/libdocument/ev-document.h
+++ b/libdocument/ev-document.h
@@ -148,6 +148,9 @@ gboolean         ev_document_is_page_size_uniform (EvDocument      *document);
 void             ev_document_get_max_page_size    (EvDocument      *document,
 						   gdouble         *width,
 						   gdouble         *height);
+void             ev_document_get_min_page_size    (EvDocument      *document,
+						   gdouble         *width,
+						   gdouble         *height);
 gboolean         ev_document_check_dimensions     (EvDocument      *document);
 gint             ev_document_get_max_label_len    (EvDocument      *document);
 gboolean         ev_document_has_text_page_labels (EvDocument      *document);



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