[evince] libview: Add ev_view_supports_caret_navigation()



commit 6127a365f8560edf9cf224a3503cfb30e8405f15
Author: Antia Puentes <apuentes igalia com>
Date:   Fri Jul 26 14:42:32 2013 +0200

    libview: Add ev_view_supports_caret_navigation()
    
    https://bugzilla.gnome.org/show_bug.cgi?id=702079

 libview/ev-view.c |   14 ++++++++++++++
 libview/ev-view.h |    2 +-
 2 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/libview/ev-view.c b/libview/ev-view.c
index c51f236..b68ab1a 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -3326,6 +3326,20 @@ ev_view_pend_cursor_blink (EvView *view)
                                                                 (GSourceFunc)blink_cb, view);
 }
 
+gboolean
+ev_view_supports_caret_navigation (EvView *view)
+{
+       EvDocumentTextInterface *iface;
+
+       if (!view->document || !EV_IS_DOCUMENT_TEXT (view->document))
+               return FALSE;
+
+       iface = EV_DOCUMENT_TEXT_GET_IFACE (view->document);
+       if (!iface->get_text_layout || !iface->get_text)
+               return FALSE;
+
+       return TRUE;
+}
 
 void
 ev_view_set_caret_navigation_enabled (EvView   *view,
diff --git a/libview/ev-view.h b/libview/ev-view.h
index 323701d..1639aea 100644
--- a/libview/ev-view.h
+++ b/libview/ev-view.h
@@ -116,10 +116,10 @@ void           ev_view_begin_add_annotation  (EvView          *view,
 void           ev_view_cancel_add_annotation (EvView          *view);
 
 /* Caret navigation */
+gboolean       ev_view_supports_caret_navigation    (EvView  *view);
 gboolean       ev_view_is_caret_navigation_enabled  (EvView  *view);
 void           ev_view_set_caret_navigation_enabled (EvView  *view,
                                                      gboolean enabled);
-
 G_END_DECLS
 
 #endif /* __EV_VIEW_H__ */


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