]> www.fi.muni.cz Git - evince.git/blob - pdf/xpdf/XPDFTreeP.h
Import of Xpdf 2.02 for merge
[evince.git] / pdf / xpdf / XPDFTreeP.h
1 //========================================================================
2 //
3 // XPDFTreeP.h
4 //
5 // Copyright 2002-2003 Glyph & Cog, LLC
6 //
7 //========================================================================
8
9 #ifndef XPDFTREEP_H
10 #define XPDFTREEP_H
11
12 #include <Xm/ManagerP.h>
13 #include "XPDFTree.h"
14
15 extern "C" {
16
17 typedef void (*XPDFLayoutProc)(Widget widget, Widget instigator);
18 typedef void (*XPDFCalcSizeProc)(Widget widget, Widget instigator,
19                                  Dimension *totalWidth,
20                                  Dimension *totalHeight);
21 typedef Boolean (*XPDFNeedRelayoutProc)(Widget oldWidget, Widget newWidget);
22
23 #define XPDFInheritCreateGC ((XtWidgetProc)_XtInherit)
24 #define XPDFInheritDestroyGC ((XtWidgetProc)_XtInherit)
25 #define XPDFInheritLayout ((XPDFLayoutProc)_XtInherit)
26 #define XPDFInheritCalcSize ((XPDFCalcSizeProc)_XtInherit)
27 #define XPDFInheritNeedRelayout ((XPDFNeedRelayoutProc)_XtInherit)
28
29 typedef struct {
30   XtWidgetProc createGC;
31   XtWidgetProc destroyGC;
32   XPDFLayoutProc layout;
33   XPDFCalcSizeProc calcSize;
34   XPDFNeedRelayoutProc needRelayout;
35   XtPointer extension;
36 } XPDFTreeClassPart;
37
38 typedef struct _XPDFTreeClassRec {
39   CoreClassPart coreClass;
40   CompositeClassPart compositeClass;
41   ConstraintClassPart constraintClass;
42   XmManagerClassPart managerClass;
43   XPDFTreeClassPart treeClass;
44 } XPDFTreeClassRec;
45
46 externalref XPDFTreeClassRec xpdfTreeClassRec;
47
48 typedef struct _XPDFTreeEntry XPDFTreeEntry;
49
50 typedef struct {
51   Dimension marginWidth;
52   Dimension marginHeight;
53   XtCallbackList selectCallback;
54   GC plainGC;
55   GC dottedGC;
56   XPDFTreeEntry *root;
57   int redrawY;
58 } XPDFTreePart;
59
60 typedef struct _XPDFTreeRec {
61   CorePart core;
62   CompositePart composite;
63   ConstraintPart constraint;
64   XmManagerPart manager;
65   XPDFTreePart tree;
66 } XPDFTreeRec;
67
68 #define XPDFTreeIndex (XmManagerIndex + 1)
69
70 typedef struct _XPDFTreeConstraintPart {
71   Widget entryParent;
72   Boolean entryExpanded;
73   int entryPosition;
74   XPDFTreeEntry *e;
75 } XPDFTreeConstraintPart, *XPDFTreeConstraint;
76
77 typedef struct _XPDFTreeConstraintRec {
78   XmManagerConstraintPart manager;
79   XPDFTreeConstraintPart tree;
80 } XPDFTreeConstraintRec, *XPDFTreeConstraintPtr;
81
82 #define XPDFTreeCPart(w) \
83   (&((XPDFTreeConstraintPtr)(w)->core.constraints)->tree)
84
85 } // extern "C"
86
87 #endif