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