home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 192.lha / Snip_v1.3 / snip.h < prev    next >
C/C++ Source or Header  |  1988-04-28  |  7KB  |  320 lines

  1. /* Manx users compile with "+l" just in case */
  2.  
  3. #include <intuition/intuition.h>
  4. #include <intuition/intuitionbase.h>
  5. #include <stdio.h>
  6.  
  7. struct IntuitionBase *IntuitionBase=NULL;
  8. struct GfxBase *GfxBase=NULL;
  9. struct LayersBase *LayersBase=NULL;
  10.  
  11. extern struct MsgPort *ioPort;
  12. extern struct IOStdReq *ioReq;
  13.  
  14. typedef union bits32
  15. {
  16.     UBYTE bytes[8];
  17.     ULONG longword[2];
  18. }       long_byte;
  19.  
  20. /*
  21.  *  Ideally I would find the "Wheel of Fortune" hint book and arrange the
  22.  *  array so that the most common letters were closest to the front.
  23.  *
  24.  *  I did make sure that "space" was first, since most blocks of text will
  25.  *  contain large numbers of spaces.
  26.  *
  27.  */
  28.  
  29. long_byte char_bitmap [ (2*26) + 10 + 1 + 32 ] =
  30. {
  31.  
  32. /* space */
  33.         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  34.  
  35. /* a */
  36.         0x0, 0x0, 0x3c, 0x6, 0x1e, 0x66, 0x3b, 0x0,
  37.  
  38. /* b */
  39.         0xe0, 0x60, 0x6c, 0x76, 0x66, 0x66, 0x3c, 0x0,
  40.  
  41. /* c */
  42.         0x0, 0x0, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x0,
  43.  
  44. /* d */
  45.         0xe, 0x6, 0x36, 0x6e, 0x66, 0x66, 0x3b, 0x0,
  46.  
  47. /* e */
  48.         0x0, 0x0, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x0,
  49.  
  50. /* f */
  51.         0x1c, 0x36, 0x30, 0x78, 0x30, 0x30, 0x78, 0x0,
  52.  
  53. /* g */
  54.         0x0, 0x0, 0x3b, 0x66, 0x66, 0x3c, 0xc6, 0x7c,
  55.  
  56. /* h */
  57.         0xe0, 0x60, 0x6c, 0x76, 0x66, 0x66, 0xe6, 0x0,
  58.  
  59. /* i */
  60.         0x18, 0x0, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x0,
  61.  
  62. /* j */
  63.         0x6, 0x0, 0x6, 0x6, 0x6, 0x6, 0x66, 0x3c,
  64.  
  65. /* k */
  66.         0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x0,
  67.  
  68. /* l */
  69.         0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x0,
  70.  
  71. /* m */
  72.         0x0, 0x0, 0x66, 0x77, 0x6b, 0x63, 0x63, 0x0,
  73.  
  74. /* n */
  75.         0x0, 0x0, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x0,
  76.  
  77. /* o */
  78.         0x0, 0x0, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x0,
  79.  
  80. /* p */
  81.         0x0, 0x0, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0,
  82.  
  83. /* q */
  84.         0x0, 0x0, 0x3d, 0x66, 0x66, 0x3e, 0x6, 0x7,
  85.  
  86. /* r */
  87.         0x0, 0x0, 0xec, 0x76, 0x66, 0x60, 0xf0, 0x0,
  88.  
  89. /* s */
  90.         0x0, 0x0, 0x3e, 0x60, 0x3c, 0x6, 0x7c, 0x0,
  91.  
  92. /* t */
  93.         0x8, 0x18, 0x3e, 0x18, 0x18, 0x1a, 0xc, 0x0,
  94.  
  95. /* u */
  96.         0x0, 0x0, 0x66, 0x66, 0x66, 0x66, 0x3b, 0x0,
  97.  
  98. /* v */
  99.         0x0, 0x0, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x0,
  100.  
  101. /* w */
  102.         0x0, 0x0, 0x63, 0x6b, 0x6b, 0x36, 0x36, 0x0,
  103.  
  104. /* x */
  105.         0x0, 0x0, 0x63, 0x36, 0x1c, 0x36, 0x63, 0x0,
  106.  
  107. /* y */
  108.         0x0, 0x0, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x70,
  109.  
  110. /* z */
  111.         0x0, 0x0, 0x7e, 0x4c, 0x18, 0x32, 0x7e, 0x0,
  112.  
  113. /* A */
  114.         0x18, 0x3c, 0x3c, 0x66, 0x7e, 0xc3, 0xc3, 0x0,
  115.  
  116. /* B */
  117.         0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x0,
  118.  
  119. /* C */
  120.         0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0x66, 0x3c, 0x0,
  121.  
  122. /* D */
  123.         0xf8, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x0,
  124.  
  125. /* E */
  126.         0xfe, 0x66, 0x60, 0x78, 0x60, 0x66, 0xfe, 0x0,
  127.  
  128. /* F */
  129.         0xfe, 0x66, 0x60, 0x78, 0x60, 0x60, 0xf0, 0x0,
  130.  
  131. /* G */
  132.         0x3c, 0x66, 0xc0, 0xce, 0xc6, 0x66, 0x3e, 0x0,
  133.  
  134. /* H */
  135.         0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x0,
  136.  
  137. /* I */
  138.         0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x0,
  139.  
  140. /* J */
  141.         0xe, 0x6, 0x6, 0x6, 0x66, 0x66, 0x3c, 0x0,
  142.  
  143. /* K */
  144.         0xe6, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x0,
  145.  
  146. /* L */
  147.         0xf0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x0,
  148.  
  149. /* M */
  150.         0x82, 0xc6, 0xee, 0xfe, 0xd6, 0xc6, 0xc6, 0x0,
  151.  
  152. /* N */
  153.         0xc6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0xc6, 0x0,
  154.  
  155. /* O */
  156.         0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x0,
  157.  
  158. /* P */
  159.         0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x0,
  160.  
  161. /* Q */
  162.         0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x3c, 0x6,
  163.  
  164. /* R */
  165.         0xfc, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0xe3, 0x0,
  166.  
  167. /* S */
  168.         0x3c, 0x66, 0x70, 0x38, 0xe, 0x66, 0x3c, 0x0,
  169.  
  170. /* T */
  171.         0x7e, 0x5a, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x0,
  172.  
  173. /* U */
  174.         0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x0,
  175.  
  176. /* V */
  177.         0xc3, 0xc3, 0x66, 0x66, 0x3c, 0x3c, 0x18, 0x0,
  178.  
  179. /* W */
  180.         0xc6, 0xc6, 0xc6, 0xd6, 0xfe, 0xee, 0xc6, 0x0,
  181.  
  182. /* X */
  183.         0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3, 0x0,
  184.  
  185. /* Y */
  186.         0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x0,
  187.  
  188. /* Z */
  189.         0xfe, 0xc6, 0x8c, 0x18, 0x32, 0x66, 0xfe, 0x0,
  190.  
  191. /* 0 */
  192.         0x3c, 0x66, 0x6e, 0x7e, 0x76, 0x66, 0x3c, 0x0,
  193.  
  194. /* 1 */
  195.         0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x0,
  196.  
  197. /* 2 */
  198.         0x3c, 0x66, 0x6, 0x1c, 0x30, 0x66, 0x7e, 0x0,
  199.  
  200. /* 3 */
  201.         0x3c, 0x66, 0x6, 0x1c, 0x6, 0x66, 0x3c, 0x0,
  202.  
  203. /* 4 */
  204.         0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0xc, 0x1e, 0x0,
  205.  
  206. /* 5 */ 0x7e, 0x60, 0x7c, 0x6, 0x6, 0x66, 0x3c, 0x0,
  207.  
  208. /* 6 */
  209.         0x1c, 0x30, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x0,
  210.  
  211. /* 7 */
  212.         0x7e, 0x66, 0x6, 0xc, 0x18, 0x18, 0x18, 0x0,
  213.  
  214. /* 8 */
  215.         0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x0,
  216.  
  217. /* 9 */
  218.         0x3c, 0x66, 0x66, 0x3e, 0x6, 0xc, 0x38, 0x0,
  219.  
  220. /* ` */
  221.         0x18,   0x18,   0xc,    0x0,    0x0,    0x0,    0x0,    0x0,
  222.  
  223. /* ~ */
  224.         0x72,   0x9c,   0x0,    0x0,    0x0,    0x0,    0x0,    0x0,
  225.  
  226. /* ! */
  227.         0x18,   0x3c,   0x3c,   0x18,   0x18,   0x0,    0x18,   0x0,
  228.  
  229. /* @ */
  230.         0x7c,   0xc6,   0xde,   0xde,   0xde,   0xc0,   0x78,   0x0,
  231.  
  232. /* # */
  233.         0x6c,   0x6c,   0xfe,   0x6c,   0xfe,   0x6c,   0x6c,   0x0,
  234.  
  235. /* $ */
  236.         0x18,   0x3e,   0x60,   0x3c,   0x6,    0x7c,   0x18,   0x0,
  237.  
  238. /* % */
  239.         0x0,    0xc6,   0xcc,   0x18,   0x30,   0x66,   0xc6,   0x0,
  240.  
  241. /* ^ */
  242.         0x10,   0x38,   0x6c,   0xc6,   0x0,    0x0,    0x0,    0x0,
  243.  
  244. /* & */
  245.         0x38,   0x6c,   0x68,   0x76,   0xdc,   0xcc,   0x76,   0x0,
  246.  
  247. /* * */
  248.         0x0,    0x66,   0x3c,   0xff,   0x3c,   0x66,   0x0,    0x0,
  249.  
  250. /* ( */
  251.         0xc,    0x18,   0x30,   0x30,   0x30,   0x18,   0xc,    0x0,
  252.  
  253. /* ) */
  254.         0x30,   0x18,   0xc,    0xc,    0xc,    0x18,   0x30,   0x0,
  255.  
  256. /* - */
  257.         0x0,    0x0,    0x0,    0x7e,   0x0,    0x0,    0x0,    0x0,
  258.  
  259. /* = */
  260.         0x0,    0x0,    0x7e,   0x0,    0x0,    0x7e,   0x0,    0x0,
  261.  
  262. /* \ */
  263.         0xc0,   0x60,   0x30,   0x18,   0xc,    0x6,    0x3,    0x0,
  264.  
  265. /* _ */
  266.         0x0,    0x0,    0x0,    0x0,    0x0,    0x0,    0x0,    0xfe,
  267.  
  268. /* + */
  269.         0x0,    0x18,   0x18,   0x7e,   0x18,   0x18,   0x0,    0x0,
  270.  
  271. /* | */
  272.         0x18,   0x18,   0x18,   0x18,   0x18,   0x18,   0x18,   0x0,
  273.  
  274. /* [ */
  275.         0x3c,   0x30,   0x30,   0x30,   0x30,   0x30,   0x3c,   0x0,
  276.  
  277. /* { */
  278.         0xe,    0x18,   0x18,   0x70,   0x18,   0x18,   0xe,    0x0,
  279.  
  280. /* ] */
  281.         0x3c,   0xc,    0xc,    0xc,    0xc,    0xc,    0x3c,   0x0,
  282.  
  283. /* } */
  284.         0x70,   0x18,   0x18,   0xe,    0x18,   0x18,   0x70,   0x0,
  285.  
  286. /* ; */
  287.         0x0,    0x18,   0x18,   0x0,    0x0,    0x18,   0x18,   0x30,
  288.  
  289. /* : */
  290.         0x0,    0x18,   0x18,   0x0,    0x0,    0x18,   0x18,   0x0,
  291.  
  292. /* ' */
  293.         0x18,   0x18,   0x30,   0x0,    0x0,    0x0,    0x0,    0x0,
  294.  
  295. /* " */
  296.         0x6c,   0x6c,   0x0,    0x0,    0x0,    0x0,    0x0,    0x0,
  297.  
  298. /* , */
  299.         0x0,    0x0,    0x0,    0x0,    0x0,    0x18,   0x18,   0x30,
  300.  
  301. /* < */
  302.         0xc,    0x18,   0x30,   0x60,   0x30,   0x18,   0xc,    0x0,
  303.  
  304. /* . */
  305.         0x0,    0x0,    0x0,    0x0,    0x0,    0x18,   0x18,   0x0,
  306.  
  307. /* > */
  308.         0x30,   0x18,   0xc,    0x6,    0xc,    0x18,   0x30,   0x0,
  309.  
  310. /* / */
  311.         0x3,    0x6,    0xc,    0x18,   0x30,   0x60,   0xc0,   0x0,
  312.  
  313. /* ? */
  314.         0x3c,   0x66,   0x6,    0xc,    0x18,   0x0,    0x18,   0x0
  315. };
  316.  
  317. char *charcode = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()-=\\_+|[{]};:'\",<.>/?";
  318.  
  319.  
  320.