aboutsummaryrefslogtreecommitdiff
path: root/libstorycode/gtk/gtkslideview.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstorycode/gtk/gtkslideview.h')
-rw-r--r--libstorycode/gtk/gtkslideview.h123
1 files changed, 39 insertions, 84 deletions
diff --git a/libstorycode/gtk/gtkslideview.h b/libstorycode/gtk/gtkslideview.h
index d3c111b..3ad77d9 100644
--- a/libstorycode/gtk/gtkslideview.h
+++ b/libstorycode/gtk/gtkslideview.h
@@ -20,8 +20,8 @@
*
*/
-#ifndef SC_EDITOR_H
-#define SC_EDITOR_H
+#ifndef GTK_SLIDE_VIEW_H
+#define GTK_SLIDE_VIEW_H
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -30,29 +30,31 @@
#include <gtk/gtk.h>
#include <glib-object.h>
-#include "frame.h"
-#include "sc_interp.h"
-#include "stylesheet.h"
-struct presentation;
+#include <stylesheet.h>
+#include <narrative.h>
+#include <presentation.h>
+#include <imagestore.h>
+#include <slide_render_cairo.h>
-#define SC_TYPE_EDITOR (sc_editor_get_type())
+#define GTK_TYPE_SLIDE_VIEW (gtk_slide_view_get_type())
-#define SC_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- SC_TYPE_EDITOR, SCEditor))
+#define GTK_SLIDE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+ GTK_TYPE_SLIDE_VIEW, GtkSlideView))
-#define SC_IS_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- SC_TYPE_EDITOR))
+#define GTK_IS_SLIDE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
+ GTK_TYPE_SLIDE_VIEW))
-#define SC_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), \
- SC_TYPE_EDITOR, SCEditorClass))
+#define GTK_SLIDE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), \
+ GTK_TYPE_SLIDE_VIEW, GtkSlideViewClass))
-#define SC_IS_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), \
- SC_TYPE_EDITOR))
+#define GTK_IS_SLIDE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), \
+ GTK_TYPE_SLIDE_VIEW))
+
+#define GTK_SLIDE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \
+ GTK_TYPE_SLIDE_VIEW, GtkSlideViewClass))
-#define SC_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \
- SC_TYPE_EDITOR, SCEditorClass))
enum drag_reason
{
@@ -83,46 +85,28 @@ enum drag_status
};
-struct _sceditor
+struct _gtkslideview
{
GtkDrawingArea parent_instance;
- PangoLanguage *lang;
/*< private >*/
+ Presentation *p;
+ Slide *slide;
GtkIMContext *im_context;
+
int w; /* Surface size in pixels */
int h;
- double log_w; /* Size of surface in "SC units" */
- double log_h;
- SCBlock *scblocks;
- Stylesheet *stylesheet;
- ImageStore *is;
- SCCallbackList *cbl;
- struct frame *top;
- int para_highlight;
/* Redraw/scroll stuff */
- GtkScrollablePolicy hpol;
- GtkScrollablePolicy vpol;
- GtkAdjustment *hadj;
- GtkAdjustment *vadj;
- double scroll_pos;
+ double view_scale; /* The scale factor */
double h_scroll_pos;
- int visible_height;
- int visible_width;
- int flow;
- int scale; /* Whether the SCEditor should scale to fit */
- double view_scale; /* The scale factor, if scale=1 */
-
- /* Pointers to the frame currently being edited */
- struct frame *selection;
- int top_editable;
-
- PangoContext *pc;
+ double v_scroll_pos;
+ double visible_width;
+ double visible_height;
/* Location of the cursor */
- struct frame *cursor_frame;
- struct edit_pos cpos;
+ struct slide_item *cursor_frame;
+ struct slide_pos cpos;
/* Border surrounding actual slide within drawingarea */
double border_offs_x;
@@ -144,9 +128,8 @@ struct _sceditor
enum drag_reason drag_reason;
enum drag_status drag_status;
enum corner drag_corner;
- int sel_active;
- struct edit_pos sel_start; /* Where the user dragged from */
- struct edit_pos sel_end;
+ struct slide_pos sel_start; /* Where the user dragged from */
+ struct slide_pos sel_end;
/* Stuff to do with drag and drop import of "content" */
int drag_preview_pending;
@@ -155,45 +138,17 @@ struct _sceditor
double import_width;
double import_height;
int import_acceptable;
-
- /* Stuff that doesn't really belong here */
- int slidenum;
};
-struct _sceditorclass
+struct _gtkslideviewclass
{
GtkDrawingAreaClass parent_class;
};
-typedef struct _sceditor SCEditor;
-typedef struct _sceditorclass SCEditorClass;
-
-extern void sc_editor_set_scblock(SCEditor *e, SCBlock *scblocks);
-extern void sc_editor_set_stylesheet(SCEditor *e, Stylesheet *stylesheet);
-extern SCEditor *sc_editor_new(SCBlock *scblocks, Stylesheet *stylesheet,
- PangoLanguage *lang, const char *storename);
-extern void sc_editor_set_logical_size(SCEditor *e, double w, double h);
-extern void sc_editor_set_flow(SCEditor *e, int flow);
-extern void sc_editor_set_scale(SCEditor *e, int scale);
-extern void sc_editor_redraw(SCEditor *e);
-extern void sc_editor_set_background(SCEditor *e, double r, double g, double b);
-extern void sc_editor_set_slidenum(SCEditor *e, int slidenum);
-extern void sc_editor_set_min_border(SCEditor *e, double min_border);
-extern void sc_editor_set_top_frame_editable(SCEditor *e,
- int top_frame_editable);
-extern void sc_editor_set_callbacks(SCEditor *e, SCCallbackList *cbl);
-extern void sc_editor_paste(SCEditor *e);
-extern void sc_editor_add_storycode(SCEditor *e, const char *sc);
-extern void sc_editor_copy_selected_frame(SCEditor *e);
-extern void sc_editor_delete_selected_frame(SCEditor *e);
-extern void sc_editor_ensure_cursor(SCEditor *e);
-extern SCBlock *split_paragraph_at_cursor(SCEditor *e);
-
-extern void sc_editor_set_imagestore(SCEditor *e, ImageStore *is);
-extern void sc_editor_set_para_highlight(SCEditor *e, int para_highlight);
-extern int sc_editor_get_cursor_para(SCEditor *e);
-extern void *sc_editor_get_cursor_bvp(SCEditor *e);
-extern void sc_editor_set_cursor_para(SCEditor *e, signed int pos);
-extern int sc_editor_get_num_paras(SCEditor *e);
-
-#endif /* SC_EDITOR_H */
+typedef struct _gtkslideview GtkSlideView;
+typedef struct _gtkslideviewclass GtkSlideViewClass;
+
+extern GtkWidget *gtk_slide_view_new(Presentation *p, Slide *slide);
+extern void gtk_slide_view_set_slide(GtkWidget *sv, Slide *slide);
+
+#endif /* GTK_SLIDE_VIEW_H */