home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 206.lha / Flist_v1.2 / Sources / icon / ttyicon.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-12-28  |  4.7 KB  |  144 lines

  1. /*
  2.  *          Iconify the Flist window using Leo Schwab's iconify() routine.
  3.  *
  4.  */
  5.  
  6.  
  7. #include <intuition/intuition.h>
  8. #include "icon/iconify.h"
  9.  
  10. extern struct Screen *scrptr;
  11.  
  12. UWORD               flicon_data[] = {
  13.  
  14.      /* BitPlane #0 */
  15.  
  16.      0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  17.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  18.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  19.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  20.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  21.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  22.      0x7C1F, 0xE783, 0x8001, 0x800F, 0xC000, 
  23.      0x7C0E, 0xE380, 0x0003, 0x800F, 0xC000, 
  24.      0x7C0E, 0x0387, 0x87E7, 0xE00F, 0xC000, 
  25.      0x7C0F, 0x8383, 0x8E03, 0x800F, 0xC000, 
  26.      0x7C0E, 0x0383, 0x87C3, 0x800F, 0xC000, 
  27.      0x7C0E, 0x0383, 0x80E3, 0xE00F, 0xC000, 
  28.      0x7C1F, 0x07C7, 0xCFC1, 0xC00F, 0xC000, 
  29.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  30.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  31.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  32.      0x7C00, 0x0000, 0x1E00, 0x000F, 0xC000, 
  33.      0x7C00, 0x0000, 0x0E00, 0x000F, 0xC000, 
  34.      0x7C00, 0x07EE, 0x7FC0, 0x000F, 0xC000, 
  35.      0x7C00, 0x0E0F, 0xFFE0, 0x000F, 0xC000, 
  36.      0x7C00, 0x07CF, 0xFEE0, 0x000F, 0xC000, 
  37.      0x7C00, 0x00E7, 0xEEE0, 0x000F, 0xC000, 
  38.      0x7C00, 0x0FC7, 0xE7C0, 0x000F, 0xC000, 
  39.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  40.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  41.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  42.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  43.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  44.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  45.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  46.      0x7C00, 0x0000, 0x0000, 0x000F, 0xC000, 
  47.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  48.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  49.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  50.      0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  51.  
  52.      /* BitPlane #1 */
  53.  
  54.      0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
  55.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  56.      0x4000, 0x0000, 0x0000, 0x0000, 0x4000, 
  57.      0x4000, 0x0000, 0x0000, 0x0000, 0x4000, 
  58.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  59.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  60.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  61.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  62.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  63.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  64.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  65.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  66.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  67.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  68.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  69.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  70.      0x43FF, 0xFFFF, 0xE1FF, 0xFFF0, 0x4000, 
  71.      0x43FF, 0xFFFF, 0xF1FF, 0xFFF0, 0x4000, 
  72.      0x43FF, 0xF811, 0x803F, 0xFFF0, 0x4000, 
  73.      0x43FF, 0xF1F0, 0x001F, 0xFFF0, 0x4000, 
  74.      0x43FF, 0xF830, 0x011F, 0xFFF0, 0x4000, 
  75.      0x43FF, 0xFF18, 0x111F, 0xFFF0, 0x4000, 
  76.      0x43FF, 0xF038, 0x183F, 0xFFF0, 0x4000, 
  77.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  78.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  79.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  80.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  81.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  82.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  83.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  84.      0x43FF, 0xFFFF, 0xFFFF, 0xFFF0, 0x4000, 
  85.      0x4000, 0x0000, 0x0000, 0x0000, 0x4000, 
  86.      0x4000, 0x0000, 0x0000, 0x0000, 0x4000, 
  87.      0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC000, 
  88.      0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  89.      };
  90.  
  91. UWORD   cursor_img[] = {
  92.         0xff00,0xff00,
  93.         0xff00,0xff00,
  94.         0xff00,0xff00,
  95.         0xff00,0xff00,
  96.         0xff00
  97.         };
  98.  
  99. struct Image               cursor_image = {
  100.      0, 0, 8, 9, 1, cursor_img, 0x0, 0x4, NULL
  101.      };
  102.  
  103. UWORD   cursor_empty[] = {
  104.         0x0000,0x0000,
  105.         0x0000,0x0000,
  106.         0x0000,0x0000,
  107.         0x0000,0x0000,
  108.         0x0000
  109.         };
  110.  
  111. struct Image               cursor_blank = {
  112.      0, 0, 8, 9, 1, cursor_empty, 0x0, 0x0, NULL
  113.      };
  114.  
  115. struct Image               flicon_image = {
  116.      0, 0, 67, 35, 2, NULL, 0x3, 0x0, NULL
  117.      };
  118.  
  119. extern struct Process *myproc;
  120. extern struct Window *winptr;
  121.  
  122. int tticon()
  123. {
  124.     static UWORD iconX = 0, iconY = 0;
  125.  
  126.     if(scrptr->FirstWindow->NextWindow != NULL) {
  127.         auto_req("Kill all other Applications first");
  128.         return FALSE;
  129.     }
  130.  
  131.     /* hide the window, display the icon, then redisplay the window */
  132.  
  133.     myproc->pr_WindowPtr = (APTR)-1; 
  134.     tthide(FALSE);     /* not resizing */
  135.  
  136.     flicon_image.ImageData = &flicon_data[0];
  137.     iconify(&iconX, &iconY, flicon_image.Width, flicon_image.Height, NULL,
  138.          &flicon_image, (int) ICON_IMAGE); /* iconify     */
  139.  
  140.     ttshow(FALSE);     /* no resize */
  141.     myproc->pr_WindowPtr = winptr; 
  142.     return TRUE;
  143. }
  144.