1 /*
2  *	xtrojka (c) 1994,1995,1996 Maarten Los
3  *
4  *	#include "COPYRIGHT"
5  *
6  *	created:	27.xi.1995
7  *	modified:
8  *
9  *	This is low-level picture manager
10  */
11 
12 
13 #include <stdio.h>
14 
15 #include <X11/Intrinsic.h>
16 #include <X11/StringDefs.h>
17 #include <X11/Shell.h>
18 
19 #include <X11/Xaw/Command.h>
20 #include <X11/Xaw/Form.h>
21 #include <X11/Xaw/Label.h>
22 
23 #ifdef XPM
24 #include <X11/xpm.h>
25 #endif
26 
27 #include "xtrojka.h"
28 #include "tr_core.h"
29 #include "pics.h"
30 #include "window.h"
31 #include "debug.h"
32 #include "pictures.h"
33 
34 extern Widget trojkamenu_but, optionsmenu_but, speedmenu_but;
35 extern Widget stat_shell;
36 
37 extern flag is_color;
38 
39 extern Widget main_screen;
40 extern Widget stat_screen;
41 extern Widget slist_screen;
42 extern Widget leftpillar;
43 extern Widget rightpillar;
44 extern Widget screen;
45 
46 extern Colormap the_colormap;
47 extern int	the_depth;
48 
49 Pixmap app_iconPic;
50 Pixmap stat_iconPic;
51 Pixmap slist_iconPic;
52 Pixmap blockPic[tc_blocks + 1];
53 Pixmap patPic[tc_blocks];
54 Pixmap newPic;
55 Pixmap titlePic;
56 Pixmap leftpillarPic;
57 Pixmap rightpillarPic;
58 
59 #ifdef XPM
60 Pic blockPicXpm[tc_blocks];
61 Pic leftpillarPicXpm;
62 Pic rightpillarPicXpm;
63 Pic stat_iconPicXpm;
64 Pic app_iconPicXpm;
65 Pic slist_iconPicXpm;
66 #endif
67 
68 
init_bitmaps(void)69 void init_bitmaps(void)
70 {
71 	Pixel black_pix, white_pix;
72 
73 	DEBUG("pics.c", "make_bitmaps")
74 
75 	black_pix = BlackPixel(XtDisplay(main_screen), 0);
76 	white_pix = WhitePixel(XtDisplay(main_screen), 0);
77 
78 
79 	app_iconPic = MkBitmap(app_icon_bits, app_icon_width, app_icon_height);
80 	stat_iconPic = MkBitmap(stat_icon_bits, stat_icon_width, stat_icon_height);
81 	slist_iconPic = MkBitmap(slist_icon_bits, slist_icon_width, slist_icon_height);
82 
83 	if(is_color) {
84 		/* read the pillars */
85 
86 		/* left pillar */
87 		leftpillarPic = MkBitPixmap(leftpillar_bits, leftpillar_width,
88 			leftpillar_height, black_pix, white_pix);
89 
90 		rightpillarPic = MkBitPixmap(rightpillar_bits, rightpillar_width,
91 			rightpillar_height, black_pix, white_pix);
92 
93 		/* right pillar */
94 
95 		newPic = MkBitPixmap(new_bits, new_width,
96 			new_height, black_pix, white_pix);
97 
98 		titlePic = MkBitPixmap(title_bits, title_width,
99 			title_height, black_pix, white_pix);
100 #ifdef XPM
101 		MkXpmPixmap(block1_xpm, blockPicXpm[0]);
102 		MkXpmPixmap(block2_xpm, blockPicXpm[1]);
103 		MkXpmPixmap(block3_xpm, blockPicXpm[2]);
104 		MkXpmPixmap(block4_xpm, blockPicXpm[3]);
105 		MkXpmPixmap(block5_xpm, blockPicXpm[4]);
106 		MkXpmPixmap(leftpillar_xpm, leftpillarPicXpm);
107 		MkXpmPixmap(rightpillar_xpm, rightpillarPicXpm);
108 
109 		MkXpmPixmap(app_icon_xpm, app_iconPicXpm);
110 		MkXpmPixmap(slist_icon_xpm,slist_iconPicXpm);
111 		MkXpmPixmap(stat_icon_xpm, stat_iconPicXpm);
112 #endif
113 
114 	} else {
115 
116 	/* read the blocks */
117 		/* block 0 */
118 		blockPic[0] = MkBitmap(block0_bits,
119 					block0_width, block0_height);
120 
121 		/* block 1 */
122 		blockPic[1] = MkBitmap(block1_bits,
123 					block1_width, block1_height);
124 
125 		/* block 2 */
126 		blockPic[2] = MkBitmap(block2_bits,
127 					block2_width, block2_height);
128 
129 		/* block 3 */
130 		blockPic[3] = MkBitmap(block3_bits,
131 					block3_width, block3_height);
132 
133 		/* block 4 */
134 		blockPic[4] = MkBitmap(block4_bits,
135 					block4_width, block4_height);
136 
137 		/* block 5 */
138 		blockPic[5] = MkBitmap(block5_bits,
139 					block5_width, block5_height);
140 	/* read the patterns */
141 		/* pattern 1 */
142 		patPic[0] = MkBitmap(pat1_bits,
143 					pat1_width, pat1_height);
144 
145 		/* pattern 2 */
146 		patPic[1] = MkBitmap(pat2_bits,
147 					pat2_width, pat2_height);
148 
149 		/* pattern 3 */
150 		patPic[2] = MkBitmap(pat3_bits,
151 					pat3_width, pat3_height);
152 
153 		/* pattern 4 */
154 		patPic[3] = MkBitmap(pat4_bits,
155 					pat4_width, pat4_height);
156 
157 		/* pattern 5 */
158 		patPic[4] = MkBitmap(pat5_bits,
159 					pat5_width, pat5_height);
160 
161 	/* read the pillars */
162 
163 		/* left pillar */
164 		leftpillarPic = MkBitmap(leftpillar_bits,
165 					leftpillar_width, leftpillar_height);
166 
167 		/* right pillar */
168 		rightpillarPic = MkBitmap(rightpillar_bits,
169 					rightpillar_width, rightpillar_height);
170 
171 		/* "new" picture */
172 		newPic = MkBitmap(new_bits, new_width, new_height);
173 
174 		/* the title picture */
175 		titlePic = MkBitmap(title_bits, title_width, title_height);
176 	}
177 }
178 
179 
set_icons()180 void set_icons()
181 {
182 	DEBUG("pics.c", "set_icons")
183 
184 #ifdef XPM
185 	XtVaSetValues(main_screen, XtNiconPixmap, app_iconPicXpm.pic, NULL);
186 	XtVaSetValues(stat_screen, XtNiconPixmap, stat_iconPicXpm.pic, NULL);
187 	XtVaSetValues(slist_screen, XtNiconPixmap, slist_iconPicXpm.pic, NULL);
188 #else
189 	XtVaSetValues(main_screen, XtNiconPixmap, app_iconPic, NULL);
190 	XtVaSetValues(stat_screen, XtNiconPixmap, stat_iconPic, NULL);
191 	XtVaSetValues(slist_screen, XtNiconPixmap, slist_iconPic, NULL);
192 
193 #endif
194 }
195 
196