home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 14 / CDACTUAL.iso / cdactual / demobin / share / program / c / ZINC.ZIP / D_ICON.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-23  |  10.1 KB  |  325 lines

  1. //    Program name..    Zinc Interface Library
  2. //    Filename......    D_ICON.CPP
  3. //    
  4. //    COPYRIGHT (C) 1990.  All Rights Reserved.
  5. //    Zinc Software Incorporated.  Pleasant Grove, Utah  USA
  6.  
  7. #include <graphics.h>
  8. #include <ui_win.hpp>
  9. #include "d_demo.hpp"
  10. #include "d_help.hlh"
  11.  
  12. static USHORT zincBitmap1[] =
  13. {
  14.     32, 32,
  15.     0xFFFF, 0xFFFF,     0xFFFF, 0xFFFE,     0xFFFF, 0xFFFC,        0xFFFF, 0xFFF8,
  16.     0xFFFF, 0xFFF0,     0xFFFF, 0xFFE0,     0xFFFF, 0xFFC0,        0xFFFF, 0xFF80,
  17.     0xFFFF, 0xFF00,     0xFFFF, 0xFE00,     0xFFFF, 0xFC00,        0xFFFF, 0xF800,
  18.     0xFFFF, 0xF000,     0xFFFF, 0xE000,     0xFFFF, 0xC000,        0xFFFF, 0x8000,
  19.     0xFFFF, 0x0000,        0xFFFE, 0x0000,     0xFFFC, 0x0000,        0xFFF8, 0x0000,
  20.     0xFFF0, 0x0000,     0xFFE0, 0x0000,     0xFFC0, 0x0000,        0xFF80, 0x0000,
  21.     0xFF00, 0x0000,     0xFE00, 0x0000,     0xFC00, 0x0000,        0xF800, 0x0000,
  22.     0xF000, 0x0000,     0xE000, 0x0000,     0xC000, 0x0000,        0x8000, 0x0000
  23. };
  24. static USHORT zincBitmap2[] =
  25. {
  26.     32, 32,
  27.     0x0000, 0x0001,     0x0000, 0x0003,     0x0000, 0x0007,     0x0000, 0x000F,
  28.     0x0000, 0x001F,     0x0000, 0x003F,     0x0000, 0x007F,     0x0000, 0x00FF,
  29.     0x0000, 0x01FF,     0x0000, 0x03FF,        0x0000, 0x07FF,     0x0000, 0x0FFF,
  30.     0x0000, 0x1FFF,     0x0000, 0x3FFF,     0x0000, 0x7FFF,     0x0000, 0xFFFF,
  31.     0x0001, 0xFFFF,     0x0003, 0xFFFF,     0x0007, 0xFFFF,        0x000F, 0xFFFF,
  32.     0x001F, 0xFFFF,     0x003F, 0xFFFF,     0x007F, 0xFFFF,     0x00FF, 0xFFFF,
  33.     0x01FF, 0xFFFF,     0x03FF, 0xFFFF,        0x07FF, 0xFFFF,     0x0FFF, 0xFFFF,
  34.     0x1FFF, 0xFFFF,     0x3FFF, 0xFFFF,     0x7FFF, 0xFFFF,     0xFFFF, 0xFFFF
  35. };
  36. static USHORT zincBitmap3[] =
  37. {
  38.     32, 32,
  39.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  40.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  41.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  42.     0x0000, 0x0000,     0x0003, 0xC000,     0x0007, 0xC000,     0x000F, 0xF000,
  43.     0x000F, 0xF000,     0x0007, 0xC000,     0x0003, 0xC000,        0x0000, 0x0000,
  44.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  45.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  46.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000
  47. };
  48. static USHORT zincBitmap4[] =
  49. {
  50.     32, 32,
  51.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  52.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  53.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  54.     0x0000, 0x0000,     0x0000, 0x0000,     0x0003, 0xC000,     0x0000, 0x8000,
  55.     0x0001, 0x0000,     0x0003, 0xC000,     0x0000, 0x0000,        0x0000, 0x0000,
  56.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  57.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,
  58.     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000,     0x0000, 0x0000
  59. };
  60.  
  61. USHORT *zincBitmaps[] = { zincBitmap1, zincBitmap2, zincBitmap3, zincBitmap4, 0 };
  62.  
  63. UI_PALETTE zincPalettes[] =
  64. {
  65.     {
  66.         '\260', attrib(DARKGRAY, DARKGRAY), attrib(MONO_DIM, MONO_BLACK),
  67.             INTERLEAVE_FILL, attrib(DARKGRAY, DARKGRAY), attrib(BW_WHITE, BW_WHITE),
  68.             attrib(GS_GRAY, GS_GRAY)
  69.     },
  70.     {
  71.         '\260', attrib(BLACK, BLACK), attrib(MONO_DIM, MONO_BLACK),
  72.             INTERLEAVE_FILL, attrib(BLACK, BLACK), attrib(BW_BLACK, BW_BLACK),
  73.             attrib(GS_BLACK, GS_BLACK)
  74.     },
  75.     {
  76.         '\260', attrib(BLACK, BLACK), attrib(MONO_DIM, MONO_BLACK),
  77.             INTERLEAVE_FILL, attrib(BLACK, BLACK), attrib(BW_BLACK, BW_BLACK),
  78.             attrib(GS_BLACK, GS_BLACK)
  79.     },
  80.     {
  81.         '\260', attrib(YELLOW, YELLOW), attrib(MONO_DIM, MONO_BLACK),
  82.             INTERLEAVE_FILL, attrib(YELLOW, YELLOW), attrib(BW_WHITE, BW_WHITE),
  83.             attrib(GS_WHITE, GS_WHITE)
  84.     }
  85. };
  86.  
  87. static USHORT handBitmap1[] =
  88. {
  89.     32, 15,
  90.     0x0001, 0x8000,
  91.     0x0006, 0x6000,
  92.     0x0F18, 0x1FF0,
  93.     0x0DE0, 0x0808,
  94.     0x0D00, 0x0808,
  95.     0x0D01, 0xFFF0,
  96.     0x0D02, 0x0080,
  97.     0x0D02, 0x0080,
  98.     0x0D01, 0xFF00,
  99.     0x0D02, 0x0100,
  100.     0x0D02, 0x0100,
  101.     0x0D01, 0xFE00,
  102.     0x0DE1, 0x0200,
  103.     0x0F1F, 0x0200,
  104.     0x0001, 0xFE00
  105. };
  106.  
  107. static USHORT handBitmap2[] =
  108. {
  109.     32, 15,
  110.     0x0000, 0x0000,
  111.     0x0000, 0x0000,
  112.     0x0000, 0x0000,
  113.     0x0000, 0x0000,
  114.     0x0200, 0x0000,
  115.     0x0200, 0x0000,
  116.     0x0200, 0x0000,
  117.     0x0200, 0x0000,
  118.     0x0200, 0x0000,
  119.     0x0200, 0x0000,
  120.     0x0200, 0x0000,
  121.     0x0000, 0x0000,
  122.     0x0000, 0x0000,
  123.     0x0000, 0x0000,
  124.     0x0000, 0x0000
  125. };
  126.  
  127. USHORT *handBitmaps[] = { handBitmap1, handBitmap2, 0 };
  128.  
  129. static UI_PALETTE handPalettes[] =
  130. {
  131.     {
  132.         '\260', attrib(BLACK, WHITE), attrib(MONO_BLACK, MONO_NORMAL),
  133.             INTERLEAVE_FILL, attrib(BLACK, WHITE), attrib(BW_BLACK, BW_WHITE),
  134.             attrib(GS_BLACK, GS_GRAY)
  135.     },
  136.     {
  137.         '\260', attrib(YELLOW, WHITE), attrib(MONO_NORMAL, MONO_BLACK),
  138.             INTERLEAVE_FILL, attrib(YELLOW, WHITE), attrib(BW_WHITE, BW_WHITE),
  139.             attrib(GS_BLACK, GS_GRAY)
  140.     }
  141. };
  142.  
  143. static USHORT worldBitmap1[] =
  144. {
  145. 64, 64,
  146. 0x0000, 0x0040, 0x0200, 0x0000,
  147. 0x0000, 0x0400, 0x0040, 0x0000,
  148. 0x0000, 0x1000, 0x2088, 0x0000,
  149. 0x0000, 0x8000, 0x3082, 0x0000,
  150. 0x0001, 0x001C, 0x1CFC, 0x8000,
  151. 0x0004, 0x0000, 0x07FE, 0x4000,
  152. 0x000A, 0x0000, 0x03FF, 0x1000,
  153. 0x0016, 0x0000, 0x01FF, 0xC800,
  154. 0x005C, 0x0000, 0x01FF, 0xE400,
  155. 0x00B8, 0x0000, 0x07FF, 0xF200,
  156. 0x0170, 0x0000, 0x7FFF, 0xF100,
  157. 0x01F0, 0x0000, 0xFFFE, 0x3880,
  158. 0x03F0, 0x0001, 0xFFFF, 0x1840,
  159. 0x05F0, 0x0001, 0xFFFF, 0xFE40,
  160. 0x0BF0, 0x0003, 0xDFFF, 0xFA20,
  161. 0x0FF0, 0x000F, 0xFFFF, 0xFE20,
  162. 0x17F0, 0x008F, 0xFFFF, 0xFC10,
  163. 0x1FF0, 0x0FC3, 0xFFFF, 0xFE08,
  164. 0x3FF8, 0x0FE1, 0xFFFF, 0xFE08,
  165. 0x3FF8, 0x0F80, 0xFFFF, 0xFE08,
  166. 0x5FFE, 0x0C00, 0xFFFF, 0xFE04,
  167. 0x5FFE, 0x00F0, 0x07FF, 0xFF04,
  168. 0x7FFF, 0x00F2, 0x83FF, 0xFB02,
  169. 0x7FFF, 0xC03F, 0xFBFF, 0xFD02,
  170. 0xFFFF, 0xF83F, 0xF9FF, 0xFF82,
  171. 0xFFFF, 0xFE3C, 0x3BFF, 0xFF82,
  172. 0xFFFF, 0xFF00, 0x03FF, 0xFFC1,
  173. 0xFFFF, 0xFF80, 0x01FF, 0xFFC1,
  174. 0xFFFF, 0xFEF0, 0x003F, 0xFFE1,
  175. 0xFFFF, 0xFFD0, 0x000F, 0xFFE1,
  176. 0xFFFF, 0xFFF0, 0x000F, 0xFFFF,
  177. 0xFFFF, 0xFBE0, 0x000F, 0xFFFD,
  178. 0xFFFF, 0xF9E0, 0x0001, 0xFFFF,
  179. 0xFFFF, 0xFFE0, 0x0000, 0x7FFF,
  180. 0xFFFF, 0xFFC0, 0x0000, 0x1FFF,
  181. 0xFFFF, 0xFFC0, 0x0000, 0x1FFF,
  182. 0xDFFF, 0xFFE0, 0x0000, 0x1FDF,
  183. 0x9FFF, 0xFFF0, 0x0000, 0x1FFD,
  184. 0xBFFF, 0xFFF0, 0x0000, 0x3FFE,
  185. 0xFFFF, 0xFFF8, 0x0000, 0x3FFE,
  186. 0x5FFF, 0xFFF8, 0x0000, 0x7FEE,
  187. 0x5FFF, 0xFFFE, 0x0000, 0x7FFA,
  188. 0x7FFF, 0xFFFF, 0x0000, 0xFFFC,
  189. 0x5FFF, 0xFFFF, 0x0000, 0xEFFC,
  190. 0x2BFF, 0xFFFF, 0x0001, 0xFFF4,
  191. 0x3EFF, 0xFFFF, 0x0007, 0xFFF8,
  192. 0x17FD, 0x7FF7, 0x000F, 0xFFE8,
  193. 0x17FF, 0xFFFE, 0x001F, 0xFFF0,
  194. 0x0FFF, 0xFFFE, 0x003F, 0xFFD0,
  195. 0x0BFF, 0xFFE6, 0x007F, 0xFFE0,
  196. 0x05FF, 0xFFFE, 0x00FF, 0xFFC0,
  197. 0x03FF, 0xFFFE, 0x01FF, 0xFB40,
  198. 0x01FF, 0xFFFE, 0x03FF, 0xFA80,
  199. 0x017F, 0xFFFE, 0x0FFF, 0xFD00,
  200. 0x00BF, 0xFFFC, 0x1FFF, 0xFA00,
  201. 0x005F, 0xFFFC, 0x3FFF, 0xF400,
  202. 0x0017, 0xFFFC, 0x3FFF, 0xE800,
  203. 0x000B, 0xFFFC, 0x27DF, 0xD000,
  204. 0x0005, 0xFFFE, 0x3FCF, 0x4000,
  205. 0x0001, 0x7FFF, 0xFDCE, 0x8000,
  206. 0x0000, 0x9FFF, 0x87FA, 0x0000,
  207. 0x0000, 0x17F6, 0x1FC8, 0x0000,
  208. 0x0000, 0x0400, 0x3840, 0x0000,
  209. 0x0000, 0x0040, 0x0200, 0x0000
  210. };
  211.  
  212.  
  213. static USHORT worldBitmap2[] =
  214. {
  215. 64, 64,
  216. 0x0000, 0x007F, 0xFE00, 0x0000, 
  217. 0x0000, 0x07FF, 0xFFC0, 0x0000, 
  218. 0x0000, 0x1FFF, 0xDF78, 0x0000, 
  219. 0x0000, 0xFFFF, 0xCF7E, 0x0000, 
  220. 0x0001, 0xFFE3, 0xE303, 0x8000, 
  221. 0x0007, 0xFFFF, 0xF801, 0xC000, 
  222. 0x000D, 0xFFFF, 0xFC00, 0xF000, 
  223. 0x0019, 0xFFFF, 0xFE00, 0x3800, 
  224. 0x0063, 0xFFFF, 0xFE00, 0x1C00, 
  225. 0x00C7, 0xFFFF, 0xF800, 0x0E00, 
  226. 0x018F, 0xFFFF, 0x8000, 0x0F00, 
  227. 0x010F, 0xFFFF, 0x0001, 0xC780, 
  228. 0x020F, 0xFFFE, 0x0000, 0xE7C0, 
  229. 0x060F, 0xFFFE, 0x0000, 0x01C0, 
  230. 0x0C0F, 0xFFFC, 0x2000, 0x05E0, 
  231. 0x080F, 0xFFF0, 0x0000, 0x01E0, 
  232. 0x180F, 0xFF70, 0x0000, 0x03F0, 
  233. 0x100F, 0xF03C, 0x0000, 0x01F8, 
  234. 0x2007, 0xF01E, 0x0000, 0x01F8, 
  235. 0x2007, 0xF07F, 0x0000, 0x01F8, 
  236. 0x6001, 0xF3FF, 0x0000, 0x01FC, 
  237. 0x6001, 0xFF0F, 0xF800, 0x00FC, 
  238. 0x4000, 0xFF0D, 0x7C00, 0x04FE, 
  239. 0x4000, 0x3FC0, 0x0400, 0x02FE, 
  240. 0x8000, 0x07C0, 0x0600, 0x007E, 
  241. 0x8000, 0x01C3, 0xC400, 0x007E, 
  242. 0x8000, 0x00FF, 0xFC00, 0x003F, 
  243. 0x8000, 0x007F, 0xFE00, 0x003F, 
  244. 0x8000, 0x010F, 0xFFC0, 0x001F, 
  245. 0x8000, 0x002F, 0xFFF0, 0x001F, 
  246. 0x8000, 0x000F, 0xFFF0, 0x0001, 
  247. 0x8000, 0x041F, 0xFFF0, 0x0003, 
  248. 0x8000, 0x061F, 0xFFFE, 0x0001, 
  249. 0x8000, 0x001F, 0xFFFF, 0x8001, 
  250. 0x8000, 0x003F, 0xFFFF, 0xE001, 
  251. 0x8000, 0x003F, 0xFFFF, 0xE001, 
  252. 0xA000, 0x001F, 0xFFFF, 0xE021, 
  253. 0xE000, 0x000F, 0xFFFF, 0xE003, 
  254. 0xC000, 0x000F, 0xFFFF, 0xC002, 
  255. 0x8000, 0x0007, 0xFFFF, 0xC002, 
  256. 0x6000, 0x0007, 0xFFFF, 0x8012, 
  257. 0x6000, 0x0001, 0xFFFF, 0x8006, 
  258. 0x4000, 0x0000, 0xFFFF, 0x0004, 
  259. 0x6000, 0x0000, 0xFFFF, 0x1004, 
  260. 0x3400, 0x0000, 0xFFFE, 0x000C, 
  261. 0x2100, 0x0000, 0xFFF8, 0x0008, 
  262. 0x1802, 0x8008, 0xFFF0, 0x0018, 
  263. 0x1800, 0x0001, 0xFFE0, 0x0010, 
  264. 0x0800, 0x0001, 0xFFC0, 0x0030, 
  265. 0x0C00, 0x0019, 0xFF80, 0x0020, 
  266. 0x0600, 0x0001, 0xFF00, 0x0040, 
  267. 0x0200, 0x0001, 0xFE00, 0x04C0, 
  268. 0x0100, 0x0001, 0xFC00, 0x0580, 
  269. 0x0180, 0x0001, 0xF000, 0x0300, 
  270. 0x00C0, 0x0003, 0xE000, 0x0600, 
  271. 0x0060, 0x0003, 0xC000, 0x0C00, 
  272. 0x0018, 0x0003, 0xC000, 0x1800, 
  273. 0x000C, 0x0003, 0xD820, 0x3000, 
  274. 0x0006, 0x0001, 0xC030, 0xC000, 
  275. 0x0001, 0x8000, 0x0231, 0x8000, 
  276. 0x0000, 0xE000, 0x7806, 0x0000, 
  277. 0x0000, 0x1809, 0xE038, 0x0000, 
  278. 0x0000, 0x07FF, 0xC7C0, 0x0000, 
  279. 0x0000, 0x007F, 0xFE00, 0x0000 
  280. };
  281.  
  282.  
  283. USHORT *worldBitmaps[] = { worldBitmap1, worldBitmap2, 0 };
  284.  
  285. static UI_PALETTE worldPalettes[] =
  286. {
  287.     {
  288.         '\260', attrib(BLACK, BLACK), attrib(MONO_NORMAL, MONO_NORMAL),
  289.             SOLID_FILL, attrib(LIGHTGREEN, WHITE), attrib(BW_WHITE, BW_WHITE),
  290.             attrib(GS_GRAY, GS_WHITE)
  291.     },
  292.     {
  293.         '\260', attrib(BLACK, BLACK), attrib(MONO_BLACK, MONO_NORMAL),
  294.             SOLID_FILL, attrib(LIGHTBLUE, WHITE), attrib(BW_BLACK, BW_WHITE),
  295.             attrib(GS_BLACK, GS_WHITE)
  296.     }
  297. };
  298.  
  299.  
  300. #pragma argsused
  301. void SampleIcons(void *item, UI_EVENT &event)
  302. {
  303.     UIW_WINDOW *window = UIW_WINDOW::GENERIC(14, 15, 67, 11, WOF_NO_FLAGS,
  304.         WOAF_NO_FLAGS, INFO_ICON, " Sample icons ");
  305.     *window
  306.         + &(*new UIW_PULL_DOWN_MENU(0, WOF_NO_FLAGS, WOAF_NO_FLAGS)
  307.             + new HELP_PULL_DOWN_ITEM(" ~About icons ", MNF_NO_FLAGS, INFO_ICON)
  308.             + new HELP_PULL_DOWN_ITEM(" ~Options ", MNF_NO_FLAGS, OPTIONS_ICON));
  309.  
  310.     if (!_display->isText)
  311.         *window
  312.             + new UIW_ICON(5, 1, handBitmaps , handPalettes, ICF_TRANSPARENT, WOF_NO_FLAGS)
  313.             + new UIW_ICON(5, 3, zincBitmaps , zincPalettes, ICF_NO_FLAGS, WOF_NO_FLAGS)
  314.             + new UIW_ICON(15, 1, worldBitmaps , worldPalettes, ICF_TRANSPARENT, WOF_NO_FLAGS);
  315.  
  316.     *window
  317.         + new UIW_TEXT(26, 1, 25, 5,
  318.             "These bit-mapped icons are available only in graphics mode. ",
  319.             128, TXF_NO_FLAGS, WOF_VIEW_ONLY | WOF_NON_SELECTABLE | WOF_BORDER);
  320.  
  321.  
  322.     *_windowManager + window;
  323. }
  324.  
  325.