summaryrefslogtreecommitdiff
path: root/support/lametex/src/Stack.h
blob: a5f66fa89bf6b7167a7955e954a58bc1ca7c7ead (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
/* Stack.h
 *
 * Adjusting the look and feel of the document in a recursive way is done
 * with a stack of Environments, where each environment holds variables such
 * as the current font and margin sizes. This describes the stack.
 *
 * Copyright 1992 Jonathan Monsarrat. Permission given to freely distribute,
 * edit and use as long as this copyright statement remains intact.
 *
 */

#include "Environment.h"
#include "Length.h"

const MAXNESTING = 100;
class Stack {
   static int level;
   static Environment *environments[MAXNESTING];

 public:
   Stack();
   static void push(int, int, float, char *);
   static void pop(int, int, float, char *);
   static void set(int, int, float, char *);
   static void relative_set(int, int, float, char *);

   static float get(int, int, char*);
   static void shutdown();
   Length *get_length();
};