summaryrefslogtreecommitdiff
path: root/dviware/umddvi/previewers/texx2/dvipagep.h
blob: c81d078bf2ee4bf28161a4666c3af0791f3b77fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <X11/copyright.h>

/* $XConsortium: DviPageP.h,v 1.2 88/10/25 17:37:59 swick Exp $ */
/* Copyright	Massachusetts Institute of Technology	1987, 1988 */

#ifndef _DviPageP_h
#define _DviPageP_h

#include "DviPage.h"
/* include superclass private header file */

#include <X11/CoreP.h>

typedef struct {
    int empty;
} DviPageClassPart;

typedef struct _DviPageClassRec {
    CoreClassPart	core_class;
    DviPageClassPart	dviPage_class;
} DviPageClassRec;

extern DviPageClassRec dviPageClassRec;

typedef struct {
	i32	stack_hh;
	i32	stack_vv;
	i32	h;		/* the saved h */
	i32	v;		/* the saved v */
	i32	w;		/* etc */
	i32	x;
	i32	y;
	i32	z;
} LocalDviStack;

typedef struct {
    Pixel	background;
    Pixel	foreground;

    int useBackingStore;	/* backing store type */
    Bool haveBackingStore;

    Bool reverseVideo;

    XFontStruct *font;

    /* private state */
    
    GC globalGC;

    char *page;
    Dimension pixelsWide;
    Dimension pixelsHigh;
    Dimension pixelsPerInch;

    char *paperWidthString;
    char *paperHeightString;
    float paperWidth;
    float paperHeight;

    XFontStruct **xFonts;

    struct PostAmbleInfo *pai;
    DviFontInfo *dviFonts;

    int userMag;
    int dpi;

    Conv Conversion;
    int fastFromSpValue;

    Region updateRegion;

    LocalDviStack *dviStack;
    LocalDviStack *dviStackPointer;
    int dviStackSize;

    /* for tpic specials */
#define	MAXPOINTS	300	/* Max points in a path */
    int texPicScale;
    int xx[MAXPOINTS];
    int yy[MAXPOINTS];
    int pathLen;
    int penSize;
    Bool whiten;
    Bool shade;
    Bool blacken;
} DviPagePart;

typedef struct _DviPageRec {
    CorePart		core;
    DviPagePart	dviPage;
} DviPageRec;

#ifdef __STDC__
static inline long fastFromSP(DviPageWidget w, long x)
{
  return( x / ( w -> dviPage.fastFromSpValue ) );
}
#else

#define fastFromSP(w, x) ((x) / (w -> dviPage.fastFromSpValue))

#endif

#endif  _DviPageP_h