Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pdf/xpdf/Outline.h
diff options
context:
space:
mode:
authorMartin Kretzschmar <mkretzschmar@src.gnome.org>2003-03-31 16:45:09 (GMT)
committer Martin Kretzschmar <mkretzschmar@src.gnome.org>2003-03-31 16:45:09 (GMT)
commit6112dfe4b45b0305c7a6f61bd8a847f69f892cbb (patch)
treef75410ae7f3554f92ac89c4a42a0a8bc2da53f57 /pdf/xpdf/Outline.h
parent0152000b294f88a4e659fdbce1ee7558ba29111a (diff)
Initial revision
Diffstat (limited to 'pdf/xpdf/Outline.h')
-rw-r--r--pdf/xpdf/Outline.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/pdf/xpdf/Outline.h b/pdf/xpdf/Outline.h
new file mode 100644
index 0000000..dc79252
--- /dev/null
+++ b/pdf/xpdf/Outline.h
@@ -0,0 +1,74 @@
+//========================================================================
+//
+// Outline.h
+//
+// Copyright 2002 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef OUTLINE_H
+#define OUTLINE_H
+
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include "Object.h"
+#include "CharTypes.h"
+
+class GString;
+class GList;
+class XRef;
+class LinkAction;
+
+//------------------------------------------------------------------------
+
+class Outline {
+public:
+
+ Outline(Object *outlineObj, XRef *xref);
+ ~Outline();
+
+ GList *getItems() { return items; }
+
+private:
+
+ GList *items; // NULL if document has no outline
+ // [OutlineItem]
+};
+
+//------------------------------------------------------------------------
+
+class OutlineItem {
+public:
+
+ OutlineItem(Dict *dict, XRef *xrefA);
+ ~OutlineItem();
+
+ static GList *readItemList(Object *itemRef, XRef *xrefA);
+
+ void open();
+ void close();
+
+ Unicode *getTitle() { return title; }
+ int getTitleLength() { return titleLen; }
+ LinkAction *getAction() { return action; }
+ GBool isOpen() { return startsOpen; }
+ GBool hasKids() { return firstRef.isRef(); }
+ GList *getKids() { return kids; }
+
+private:
+
+ XRef *xref;
+ Unicode *title;
+ int titleLen;
+ LinkAction *action;
+ Object firstRef;
+ Object nextRef;
+ GBool startsOpen;
+ GList *kids; // NULL unless this item is open [OutlineItem]
+};
+
+#endif