/* * presentation.h * * Copyright © 2013-2015 Thomas White * * This file is part of Colloquium. * * Colloquium is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef PRESENTATION_H #define PRESENTATION_H #ifdef HAVE_CONFIG_H #include #endif #include #include struct presentation; struct slide; #include "imagestore.h" #include "sc_parse.h" #include "slideshow.h" #include "narrative_window.h" #include "slide_window.h" struct menu_pl; struct presentation { char *filename; char *titlebar; /* basename(filename) or "(untitled)" */ int completely_empty; PangoLanguage *lang; ImageStore *is; NarrativeWindow *narrative_window; SlideWindow *slidewindow; struct notes *notes; struct pr_clock *clock; struct slide_sorter *slide_sorter; /* 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; SCBlock *stylesheet; SCBlock *scblocks; }; extern struct presentation *new_presentation(void); extern void free_presentation(struct presentation *p); extern char *get_titlebar_string(struct presentation *p); extern int slide_number(struct presentation *p, SCBlock *sl); extern int num_slides(struct presentation *p); extern SCBlock *first_slide(struct presentation *p); extern SCBlock *last_slide(struct presentation *p); extern SCBlock *next_slide(struct presentation *p, SCBlock *sl); extern SCBlock *prev_slide(struct presentation *p, SCBlock *sl); extern int load_presentation(struct presentation *p, const char *filename); extern int save_presentation(struct presentation *p, const char *filename); extern void set_edit(struct presentation *p, struct slide *s); #define UNUSED __attribute__((unused)) #endif /* PRESENTATION_H */