diff options
author | Thomas White <taw@bitwiz.org.uk> | 2012-06-14 16:02:15 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2012-06-14 16:02:15 +0100 |
commit | 34db1cd5f43ccd48cf672266413f608173eb838f (patch) | |
tree | 6faac72cd19c8ef3cf13211aaa900e73a118bc44 /src/presentation.h | |
parent | 940337bb4e46463b794fd9779cc3e07e7e175cee (diff) |
Simplify...
Diffstat (limited to 'src/presentation.h')
-rw-r--r-- | src/presentation.h | 135 |
1 files changed, 4 insertions, 131 deletions
diff --git a/src/presentation.h b/src/presentation.h index 1e0e787..423ea42 100644 --- a/src/presentation.h +++ b/src/presentation.h @@ -27,10 +27,7 @@ #include <config.h> #endif -#include <gtk/gtk.h> - -#include "stylesheet.h" -#include "stylesheet-editor.h" +#include <cairo.h> struct slide { @@ -44,123 +41,18 @@ struct slide /* This should always be present (and up to date). */ cairo_surface_t *rendered_thumb; - int num_frames; - struct frame **frames; + struct frame *top; char *notes; }; -enum drag_reason -{ - DRAG_REASON_NONE, - DRAG_REASON_CREATE, - DRAG_REASON_IMPORT, - DRAG_REASON_TOOL, -}; - - -enum drag_status -{ - DRAG_STATUS_NONE, - DRAG_STATUS_COULD_DRAG, - DRAG_STATUS_DRAGGING, -}; - - -struct prefs -{ - int b_splits; - int open_notes; -}; - - -struct presentation -{ - char *titlebar; - char *filename; - int completely_empty; - int *num_presentations; - - struct prefs *prefs; - - GtkWidget *window; - GtkWidget *drawingarea; - GtkUIManager *ui; - GtkActionGroup *action_group; - GtkIMContext *im_context; - struct notes *notes; - - /* Pointers to the current "editing" and "projection" slides */ - struct slide *cur_edit_slide; - struct slide *cur_proj_slide; - struct slide *cur_notes_slide; - int slideshow_linked; - - /* This is the "native" size of the slide. It only exists to give - * font size some meaning in the context of a somewhat arbitrary DPI */ - double slide_width; - double slide_height; - - /* Width of a slide in the editor, projector or thumbnail (pixels) */ - int edit_slide_width; - int proj_slide_width; - int thumb_slide_width; - - /* This is just to help with rendering the slides within the - * editing window. */ - double border_offs_x; - double border_offs_y; - - struct frame *cur_frame; - - /* Stylesheet */ - StyleSheet *ss; - - /* Dialogue boxes */ - StylesheetWindow *stylesheetwindow; - - /* Slideshow stuff */ - GtkWidget *slideshow; - GtkWidget *ss_drawingarea; - GdkCursor *blank_cursor; - int ss_blank; - char ss_geom[256]; - - /* Rubber band boxes and related stuff */ - double start_corner_x; - double start_corner_y; - double drag_corner_x; - double drag_corner_y; - enum drag_reason drag_reason; - enum drag_status drag_status; - - /* Stuff to do with drag and drop import of "content" */ - int drag_preview_pending; - int have_drag_data; - int drag_highlight; - double import_width; - double import_height; - int import_acceptable; - - /* All the images used in the presentation */ - struct image_store *image_store; - - unsigned int num_slides; - struct slide **slides; -}; - - struct frame { struct frame_class *cl; - struct frame **children; - int num_children; - - int (*render_frame)(struct frame *this, cairo_t *cr); - int (*serialize)(struct frame *this, - struct serializer *ser); + struct frame **rendering_order; + int num_ro; char *sc; /* Storycode */ @@ -168,23 +60,4 @@ struct frame }; -extern struct presentation *new_presentation(void); -extern void free_presentation(struct presentation *p); - -extern struct slide *new_slide(void); -extern struct slide *add_slide(struct presentation *p, int pos); -extern int insert_slide(struct presentation *p, struct slide *s, int pos); -extern void free_slide(struct slide *s); - -extern int add_frame_to_slide(struct slide *s, struct frame *fr); - -extern void get_titlebar_string(struct presentation *p); - -extern struct frame *find_frame_at_position(struct slide *s, - double x, double y); - -extern int slide_number(struct presentation *p, struct slide *s); - -#define UNUSED __attribute__((unused)) - #endif /* PRESENTATION_H */ |