diff options
Diffstat (limited to 'Build/source/libs/poppler/poppler-0.34.0/poppler/PageLabelInfo.h')
-rw-r--r-- | Build/source/libs/poppler/poppler-0.34.0/poppler/PageLabelInfo.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Build/source/libs/poppler/poppler-0.34.0/poppler/PageLabelInfo.h b/Build/source/libs/poppler/poppler-0.34.0/poppler/PageLabelInfo.h new file mode 100644 index 00000000000..960e710069d --- /dev/null +++ b/Build/source/libs/poppler/poppler-0.34.0/poppler/PageLabelInfo.h @@ -0,0 +1,51 @@ +//======================================================================== +// +// This file is under the GPLv2 or later license +// +// Copyright (C) 2005-2006 Kristian Høgsberg <krh@redhat.com> +// Copyright (C) 2005 Albert Astals Cid <aacid@kde.org> +// +// To see a description of the changes please see the Changelog file that +// came with your tarball or type make ChangeLog if you are building from git +// +//======================================================================== + +#include <limits.h> +#include <stdlib.h> +#include <stdio.h> +#include <ctype.h> +#include <assert.h> + +#include "goo/gtypes.h" +#include "goo/GooList.h" +#include "goo/GooString.h" +#include "Object.h" + +class PageLabelInfo { +public: + PageLabelInfo(Object *tree, int numPages); + ~PageLabelInfo(); + GBool labelToIndex(GooString *label, int *index); + GBool indexToLabel(int index, GooString *label); + +private: + void parse(Object *tree); + +private: + struct Interval { + Interval(Object *dict, int baseA); + ~Interval(); + GooString *prefix; + enum NumberStyle { + None, + Arabic, + LowercaseRoman, + UppercaseRoman, + UppercaseLatin, + LowercaseLatin + } style; + int first, base, length; + }; + + GooList intervals; +}; |