]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-selection.h
Add Malay translation. Fixes bug 611488.
[evince.git] / libdocument / ev-selection.h
index d0816040b16380c0f81bdae5b300dcdf6127dfbc..4e896065dc530f4ec879cf8a637191c36965c343 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;
 
@@ -45,30 +54,42 @@ struct _EvSelectionIface
 
        void        (* render_selection)     (EvSelection      *selection,
                                              EvRenderContext  *rc,
-                                             GdkPixbuf       **pixbuf,
+                                             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);
+                                             EvPage           *page);
        GdkRegion * (* get_selection_region) (EvSelection      *selection,
                                              EvRenderContext  *rc,
+                                             EvSelectionStyle  style,
                                              EvRectangle      *points);
 };
 
 GType      ev_selection_get_type             (void);
 void       ev_selection_render_selection     (EvSelection      *selection,
                                              EvRenderContext  *rc,
-                                             GdkPixbuf       **pixbuf,
+                                             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);
+                                             EvPage           *page);
 GdkRegion *ev_selection_get_selection_region (EvSelection      *selection,
                                              EvRenderContext  *rc,
+                                             EvSelectionStyle  style,
                                              EvRectangle      *points);
                                  
 G_END_DECLS