1 /*
2 **
3 ** VlistP.h
4 **
5 ** Copyright (C) 1995, 1996, 1997 Johannes Plass
6 ** Copyright (C) 2004 Jose E. Marchesi
7 **
8 ** This program is free software; you can redistribute it and/or modify
9 ** it under the terms of the GNU General Public License as published by
10 ** the Free Software Foundation; either version 3 of the License, or
11 ** (at your option) any later version.
12 **
13 ** This program is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 ** GNU General Public License for more details.
17 **
18 ** You should have received a copy of the GNU General Public License
19 ** along with GNU gv; see the file COPYING.  If not, write to
20 ** the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 ** Boston, MA 02111-1307, USA.
22 **
23 ** Author:   Johannes Plass (plass@thep.physik.uni-mainz.de)
24 **           Department of Physics
25 **           Johannes Gutenberg-University
26 **           Mainz, Germany
27 **
28 **           Jose E. Marchesi (jemarch@gnu.org)
29 **           GNU Project
30 **
31 */
32 
33 #ifndef _VlistP_h
34 #define _VlistP_h
35 
36 #include "paths.h"
37 #include "Vlist.h"
38 #include INC_XAW(LabelP.h)
39 
40 typedef struct _VlistClass {
41   int makes_compiler_happy;  /* not used */
42 } VlistClassPart;
43 
44 typedef struct _VlistClassRec {
45   CoreClassPart    core_class;
46   SimpleClassPart  simple_class;
47   ThreeDClassPart  threeD_class;
48   LabelClassPart   label_class;
49   VlistClassPart   vlist_class;
50 } VlistClassRec;
51 
52 extern VlistClassRec vlistClassRec;
53 
54 typedef struct {
55   /* resources */
56   String         vlist;
57   String         highlighted_geometry;
58   String         selected_geometry;
59   Dimension      mark_shadow_width;
60   Dimension      selected_shadow_width;
61   Dimension      highlighted_shadow_width;
62   Pixel          mark_background;
63   Pixel          selected_background;
64   Pixel          highlighted_background;
65   Boolean        allow_marks;
66   /* private state */
67   int entries;
68   GC background_GC;
69   GC mark_background_GC;
70   GC selected_background_GC;
71   GC highlighted_background_GC;
72   int firstVisible;
73   int selected;
74   int highlighted;
75   int hulx;
76   int huly;
77   int hlrx;
78   int hlry;
79   int sulx;
80   int suly;
81   int slrx;
82   int slry;
83   int ydelta;
84   int yofs;
85   XtCallbackList report_callbacks;
86 } VlistPart;
87 
88 typedef struct _VlistRec {
89   CorePart       core;
90   SimplePart     simple;
91   ThreeDPart     threeD;
92   LabelPart      label;
93   VlistPart      vlist;
94 } VlistRec;
95 
96 #endif /* _VlistP_h */
97 
98 
99