]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-selection.h
Updated Brazilian translation.
[evince.git] / libdocument / ev-selection.h
index 5ba9776d734d1f4f249bd347ead007085f713f8b..7a1252a10c7ff4df8b1eb1549c17d594ca4120f8 100644 (file)
  *
  */
 
+#if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION)
+#error "Only <evince-document.h> can be included directly."
+#endif
+
 #ifndef EV_SELECTION_H
 #define EV_SELECTION_H
 
 #include <glib-object.h>
 #include <glib.h>
-#include <gdk/gdkpixbuf.h>
 #include <gdk/gdk.h>
 #include "ev-document.h"
 
@@ -36,6 +39,12 @@ G_BEGIN_DECLS
 #define EV_IS_SELECTION_IFACE(k)     (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_SELECTION))
 #define EV_SELECTION_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_SELECTION, EvSelectionIface))
 
+typedef enum {
+       EV_SELECTION_STYLE_GLYPH,
+       EV_SELECTION_STYLE_WORD,
+       EV_SELECTION_STYLE_LINE
+} EvSelectionStyle;
+
 typedef struct _EvSelection      EvSelection;
 typedef struct _EvSelectionIface   EvSelectionIface;
 
@@ -48,12 +57,18 @@ struct _EvSelectionIface
                                              cairo_surface_t **surface,
                                              EvRectangle      *points,
                                              EvRectangle      *old_points,
-                                             GdkColor        *text,
-                                             GdkColor        *base);
+                                             EvSelectionStyle  style,
+                                             GdkColor         *text,
+                                             GdkColor         *base);
+       gchar     * (* get_selected_text)    (EvSelection      *selection,
+                                             EvRenderContext  *rc,
+                                             EvSelectionStyle  style,
+                                             EvRectangle      *points);
        GdkRegion * (* get_selection_map)    (EvSelection      *selection,
                                              EvRenderContext  *rc);
        GdkRegion * (* get_selection_region) (EvSelection      *selection,
                                              EvRenderContext  *rc,
+                                             EvSelectionStyle  style,
                                              EvRectangle      *points);
 };
 
@@ -63,12 +78,18 @@ void       ev_selection_render_selection     (EvSelection      *selection,
                                              cairo_surface_t **surface,
                                              EvRectangle      *points,
                                              EvRectangle      *old_points,
+                                             EvSelectionStyle  style,
                                              GdkColor         *text,
                                              GdkColor         *base);
+gchar     *ev_selection_get_selected_text    (EvSelection      *selection,
+                                             EvRenderContext  *rc,
+                                             EvSelectionStyle  style,
+                                             EvRectangle      *points);
 GdkRegion *ev_selection_get_selection_map    (EvSelection      *selection,
                                              EvRenderContext  *rc);
 GdkRegion *ev_selection_get_selection_region (EvSelection      *selection,
                                              EvRenderContext  *rc,
+                                             EvSelectionStyle  style,
                                              EvRectangle      *points);
                                  
 G_END_DECLS