summaryrefslogtreecommitdiff
path: root/backend/impress/document.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/impress/document.c')
-rw-r--r--backend/impress/document.c140
1 files changed, 0 insertions, 140 deletions
diff --git a/backend/impress/document.c b/backend/impress/document.c
deleted file mode 100644
index b01c0e18..00000000
--- a/backend/impress/document.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* imposter (OO.org Impress viewer)
-** Copyright (C) 2003-2005 Gurer Ozen
-** This code is free software; you can redistribute it and/or
-** modify it under the terms of GNU General Public License.
-*/
-
-#include <config.h>
-#include "common.h"
-#include "internal.h"
-
-static iks *
-_imp_load_xml(ImpDoc *doc, const char *xmlfile)
-{
- int e;
- iks *x;
-
- x = zip_load_xml (doc->zfile, xmlfile, &e);
- return x;
-}
-
-ImpDoc *
-imp_open(const char *filename, int *err)
-{
- ImpDoc *doc;
- int e;
-
- doc = calloc(1, sizeof(ImpDoc));
- if (!doc) {
- *err = IMP_NOMEM;
- return NULL;
- }
-
- doc->stack = iks_stack_new(sizeof(ImpPage) * 32, 0);
- if (!doc->stack) {
- *err = IMP_NOMEM;
- imp_close(doc);
- return NULL;
- }
-
- doc->zfile = zip_open(filename, &e);
- if (e) {
- *err = IMP_NOTZIP;
- imp_close(doc);
- return NULL;
- }
-
- doc->content = _imp_load_xml(doc, "content.xml");
- doc->styles = _imp_load_xml(doc, "styles.xml");
- doc->meta = _imp_load_xml(doc, "meta.xml");
-
- if (!doc->content || !doc->styles) {
- *err = IMP_BADDOC;
- imp_close(doc);
- return NULL;
- }
-
- e = _imp_oo13_load(doc);
- if (e && e != IMP_NOTIMP) {
- *err = e;
- imp_close(doc);
- return NULL;
- }
-
- if (e == IMP_NOTIMP) {
- e = _imp_oasis_load(doc);
- if (e) {
- *err = e;
- imp_close(doc);
- return NULL;
- }
- }
-
- return doc;
-}
-
-int
-imp_nr_pages(ImpDoc *doc)
-{
- return doc->nr_pages;
-}
-
-ImpPage *
-imp_get_page(ImpDoc *doc, int page_no)
-{
- if (page_no == IMP_LAST_PAGE) {
- return doc->last_page;
- } else {
- ImpPage *page;
- if (page_no < 0 || page_no > doc->nr_pages) return NULL;
- for (page = doc->pages; page_no; --page_no) {
- page = page->next;
- }
- return page;
- }
-}
-
-ImpPage *
-imp_next_page(ImpPage *page)
-{
- return page->next;
-}
-
-ImpPage *
-imp_prev_page(ImpPage *page)
-{
- return page->prev;
-}
-
-int
-imp_get_page_no(ImpPage *page)
-{
- return page->nr;
-}
-
-const char *
-imp_get_page_name(ImpPage *page)
-{
- return page->name;
-}
-
-void *
-imp_get_xml(ImpDoc *doc, const char *filename)
-{
- if (strcmp(filename, "content.xml") == 0)
- return doc->content;
- else if (strcmp(filename, "styles.xml") == 0)
- return doc->styles;
- else if (strcmp(filename, "meta.xml") == 0)
- return doc->meta;
- else
- return NULL;
-}
-
-void
-imp_close(ImpDoc *doc)
-{
- if (doc->stack) iks_stack_delete(doc->stack);
- if (doc->zfile) zip_close(doc->zfile);
- free(doc);
-}