1 /* 2 $Id: MainScreeP.h,v 1.1.2.3 2003/01/27 01:36:10 euske Exp $ 3 4 XCruiser - a filesystem visualization utility 5 MainScreeP.h: the private header file for MainScreenWidget 6 7 Copyright (C) 1999-2002 Yusuke Shinyama <yusuke at cs . nyu . edu> 8 9 This program is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 2 of the License, or 12 (at your option) any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with this program; if not, write to the Free Software 21 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 */ 23 24 /* 25 * MainScreenP.h 26 * Private Header File for MainScreen Widget 27 */ 28 29 #ifndef _ORAMainScreenP_h 30 #define _ORAMainScreenP_h 31 32 #include <X11/IntrinsicP.h> 33 #include <X11/Xaw/SimpleP.h> 34 #include "xcruiser.h" 35 #include "MainScreen.h" 36 37 /* New fields for the MainScreen widget class record */ 38 typedef struct { 39 int foo; 40 } MainScreenClassPart; 41 42 /* Full class record declaration */ 43 typedef struct _MainScreenClassRec { 44 CoreClassPart core_class; 45 SimpleClassPart simple_class; 46 MainScreenClassPart mainScreen_class; 47 } MainScreenClassRec; 48 49 typedef void (*XCruiserAction1)(MainScreenWidget, double); 50 typedef void (*XCruiserAction2)(MainScreenWidget, double, double); 51 52 /* New fields for the MainScreen widget record */ 53 typedef struct _MainScreenPart { 54 /* resources */ 55 Pixel background; 56 XtTranslations translations; 57 Pixel infoColor; 58 Pixel alertColor; 59 Pixel measureColor; 60 Pixel cursorColor; 61 62 Pixel innerRootColor; 63 PixelList* innerGalaxyColors; 64 PixelList* innerUnreadableGalaxyColors; 65 PixelList* innerPlanetColors; 66 PixelList* innerUnreadablePlanetColors; 67 PixelList* innerWormholeColors; 68 Pixel innerLabelColor; 69 70 Pixel outerRootColor; 71 PixelList* outerGalaxyColors; 72 PixelList* outerUnreadableGalaxyColors; 73 PixelList* outerPlanetColors; 74 PixelList* outerUnreadablePlanetColors; 75 PixelList* outerWormholeColors; 76 Pixel outerLabelColor; 77 78 XFontStruct* infoFont; 79 XFontStruct* alertFont; 80 XFontStruct* measureFont; 81 FontStructList* labelFonts; 82 Boolean show_info, show_measure, show_label; 83 84 Boolean view_all; 85 int currentGalaxyLineWidth; 86 int cursorSize; 87 int pitchLimit; 88 89 /* private state */ 90 Pixmap screen_buff; 91 GC gc_copy; 92 GC gc_background; 93 GC gc_info; 94 GC gc_alert; 95 GC gc_measure; 96 GC gc_cursor; 97 GC gc_root[2]; 98 GCList* gcl_galaxy[2][2]; /* [activated][permitted] */ 99 GCList* gcl_planet[2][2]; /* [activated][permitted] */ 100 GCList* gcl_wormhole[2]; /* [activated] */ 101 FontGCAList* gca_label[2]; /* [activated] */ 102 103 int centerx, centery; 104 XRectangle measure_clip_h, measure_clip_v; 105 106 int delayTicks; 107 XCruiserAction1 action1; 108 double arg1; 109 XCruiserAction2 action2; 110 double arg2x, arg2y; 111 112 int state, flyingmode; 113 Boolean freeze; 114 double velocity; 115 int cursorx, cursory; 116 view curview; 117 star* focus; 118 119 route* activeRoute; 120 } MainScreenPart; 121 122 /* Full instance record declaration */ 123 typedef struct _MainScreenRec { 124 CorePart core; 125 SimplePart simple; 126 MainScreenPart mainScreen; 127 } MainScreenRec; 128 129 #endif /* _ORAMainScreenP_h */ 130