home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0040 - 0049 / ibm0040-0049 / ibm0040.tar / ibm0040 / ZINC_6.ZIP / DOSSRC.ZIP / G_MOUSE.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1991-06-01  |  18.2 KB  |  610 lines

  1. //    Zinc Interface Library - MOUSE.CPP
  2. //    COPYRIGHT (C) 1990, 1991.  All Rights Reserved.
  3. //    Zinc Software Incorporated.  Pleasant Grove, Utah  USA
  4.  
  5. #include "ui_evt.hpp"
  6.  
  7. static UI_MOUSE_POINTER arrowMask =
  8. {
  9.     DM_VIEW,
  10.     0xFFFF,        // textScreenMask
  11.     0xFF00,        // textCursorMask
  12.     0,            // graphicsCursorHorizontal
  13.     0,            // graphicsCursorVertical
  14.     {            //           ┌────────────────┐
  15.     0x3FFF,        //           │  ■■■■■■■■■■■■■■│
  16.     0x1FFF,        //           │   ■■■■■■■■■■■■■│
  17.     0x0FFF,        //           │    ■■■■■■■■■■■■│
  18.     0x07FF,        //           │     ■■■■■■■■■■■│
  19.     0x03FF,        //           │      ■■■■■■■■■■│
  20.     0x01FF,        //           │       ■■■■■■■■■│
  21.     0x00FF,        //           │        ■■■■■■■■│
  22.     0x007F,        //           │          ■■■■■■■│
  23.     0x003F,        //           │           ■■■■■■│
  24.     0x007F,        //           │          ■■■■■■■│
  25.     0x01FF,        //           │        ■■■■■■■■■│
  26.     0x00FF,        //           │         ■■■■■■■■│
  27.     0xF0FF,        //           │■■■■     ■■■■■■■■│
  28.     0xF87F,        //           │■■■■■    ■■■■■■■│
  29.     0xF87F,        //           │■■■■■    ■■■■■■■│
  30.     0xFCFF,        //           │■■■■■■  ■■■■■■■■│
  31.                 //           └────────────────┘
  32.                 //        ┌────────────────┐
  33.     0x0000,        //        │                │
  34.     0x4000,        //        │ ■              │
  35.     0x6000,        //        │ ■■             │
  36.     0x7000,        //        │ ■■■            │
  37.     0x7800,        //        │ ■■■■           │
  38.     0x7C00,        //        │ ■■■■■          │
  39.     0x7E00,        //        │ ■■■■■■         │
  40.     0x7F00,        //        │ ■■■■■■■        │
  41.     0x7F00,        //        │ ■■■■■■■        │
  42.     0x7C00,        //        │ ■■■■■           │
  43.     0x6C00,        //        │ ■■ ■■          │
  44.     0x0600,        //        │      ■■         │
  45.     0x0600,        //        │     ■■         │
  46.     0x0300,        //        │      ■■        │
  47.     0x0300,        //        │      ■■        │
  48.     0x0000         //        │                │
  49.     }            //        └────────────────┘
  50. };
  51.  
  52. static UI_MOUSE_POINTER handMask =
  53. {
  54.     DM_MOVE,
  55.     0xFFFF,        // textScreenMask
  56.     0xFF00,        // textCursorMask
  57.     4,            // graphicsCursorHorizontal
  58.     0,            // graphicsCursorVertical
  59.     {            //        ┌────────────────┐
  60.     0xE1FF,        //        │■■■    ■■■■■■■■■│
  61.     0xE1FF,        //        │■■■    ■■■■■■■■■│
  62.     0xE1FF,        //        │■■■    ■■■■■■■■■│
  63.     0xE1FF,        //        │■■■    ■■■■■■■■■│
  64.     0xE1FF,        //        │■■■    ■■■■■■■■■│
  65.     0xE000,        //        │■■■             │
  66.     0xE000,        //        │■■■             │
  67.     0xE000,        //        │■■■             │
  68.     0x0000,        //        │                │
  69.     0x0000,        //        │                │
  70.     0x0000,        //        │                │
  71.     0x0000,        //        │                │
  72.     0x0000,        //        │                │
  73.     0x0000,        //        │                │
  74.     0x0000,        //        │                │
  75.     0x0000,        //        │                │
  76.                 //        └────────────────┘
  77.                 //        ┌────────────────┐
  78.     0x0000,        //        │                │
  79.     0x0C00,        //        │    ■■          │
  80.     0x0C00,        //        │    ■■          │
  81.     0x0C00,        //        │    ■■          │
  82.     0x0C00,        //        │    ■■          │
  83.     0x0C00,        //        │    ■■          │
  84.     0x0DB6,        //        │    ■■ ■■ ■■ ■■ │
  85.     0x0DB6,        //        │    ■■ ■■ ■■ ■■ │
  86.     0x0DB6,        //        │    ■■ ■■ ■■ ■■ │
  87.     0x6FFE,        //        │ ■■ ■■■■■■■■■■■ │
  88.     0x6FFE,        //        │ ■■ ■■■■■■■■■■■ │
  89.     0x6FFE,        //        │ ■■ ■■■■■■■■■■■ │
  90.     0x7FFE,        //        │ ■■■■■■■■■■■■■■ │
  91.     0x7FFE,        //        │ ■■■■■■■■■■■■■■ │
  92.     0x7FFE,        //        │ ■■■■■■■■■■■■■■ │
  93.     0x0000         //        │                │
  94.     }            //        └────────────────┘
  95. };
  96.  
  97. static UI_MOUSE_POINTER smallHandMask =
  98. {
  99.     DM_SMALL_MOVE,
  100.     0xFFFF,        // textScreenMask
  101.     0xFF00,        // textCursorMask
  102.     7,            // graphicsCursorHorizontal
  103.     7,            // graphicsCursorVertical
  104.     {            //        ┌────────────────┐
  105.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  106.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  107.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  108.     0xF1FF,        //        │■■■■   ■■■■■■■■■│
  109.     0xF1FF,        //        │■■■■   ■■■■■■■■■│
  110.     0xF007,        //        │■■■■         ■■■│
  111.     0xF007,        //        │■■■■         ■■■│
  112.     0xC007,        //        │■■           ■■■│
  113.     0xC007,        //        │■■           ■■■│
  114.     0xC007,        //        │■■           ■■■│
  115.     0xC007,        //        │■■           ■■■│
  116.     0xC007,        //        │■■           ■■■│
  117.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  118.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  119.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  120.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  121.                 //        └────────────────┘
  122.                 //        ┌────────────────┐
  123.     0x0000,        //        │                │
  124.     0x0000,        //        │                │
  125.     0x0000,        //        │                │
  126.     0x0000,        //        │                │
  127.     0x0400,        //        │     ■          │
  128.     0x0400,        //        │     ■          │
  129.     0x0550,        //        │     ■ ■ ■ ■    │
  130.     0x0550,        //        │     ■ ■ ■ ■    │
  131.     0x17F0,        //        │   ■ ■■■■■■■    │
  132.     0x1FF0,        //        │   ■■■■■■■■■    │
  133.     0x1FF0,        //        │   ■■■■■■■■■    │
  134.     0x0000,        //        │                │
  135.     0x0000,        //        │                │
  136.     0x0000,        //        │                │
  137.     0x0000,        //        │                │
  138.     0x0000,        //        │                │
  139.     }            //        └────────────────┘
  140. };
  141.  
  142. static UI_MOUSE_POINTER verticalArrowsMask =
  143. {
  144.     DM_VERTICAL,
  145.     0xFF00,        // textScreenMask
  146.     0xFF12,        // textCursorMask
  147.     7,            // graphicsCursorHorizontal
  148.     7,            // graphicsCursorVertical
  149.     {            //        ┌────────────────┐
  150.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  151.     0xFC3F,        //        │■■■■■■    ■■■■■■│
  152.     0xF81F,        //        │■■■■■      ■■■■■│
  153.     0xF00F,        //        │■■■■        ■■■■│
  154.     0xE007,        //        │■■■          ■■■│
  155.     0xC003,        //        │■■            ■■│
  156.     0xFC3F,        //        │■■■■■■    ■■■■■■│
  157.     0xFC3F,        //        │■■■■■■    ■■■■■■│
  158.     0xFC3F,        //        │■■■■■■    ■■■■■■│
  159.     0xFC3F,        //        │■■■■■■    ■■■■■■│
  160.     0xC003,        //        │■■            ■■│
  161.     0xE007,        //        │■■■          ■■■│
  162.     0xF00F,        //        │■■■■        ■■■■│
  163.     0xF81F,        //        │■■■■■      ■■■■■│
  164.     0xFC3F,        //        │■■■■■■    ■■■■■■│
  165.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  166.                 //        └────────────────┘
  167.                 //        ┌────────────────┐
  168.     0x0000,        //        │                │
  169.     0x0180,        //        │       ■■       │
  170.     0x03C0,        //        │      ■■■■      │
  171.     0x07E0,        //        │     ■■■■■■     │
  172.     0x0FF0,        //        │    ■■■■■■■■    │
  173.     0x0180,        //        │       ■■       │
  174.     0x0180,        //        │       ■■       │
  175.     0x0180,        //        │       ■■       │
  176.     0x0180,        //        │       ■■       │
  177.     0x0180,        //        │       ■■       │
  178.     0x0180,        //        │       ■■       │
  179.     0x0FF0,        //        │    ■■■■■■■■    │
  180.     0x07E0,        //        │     ■■■■■■     │
  181.     0x03C0,        //        │      ■■■■      │
  182.     0x0180,        //        │       ■■       │
  183.     0x0000         //        │                │
  184.     }            //        └────────────────┘
  185. };
  186.  
  187. static UI_MOUSE_POINTER smallVerticalArrowsMask =
  188. {
  189.     DM_SMALL_VERTICAL,
  190.     0xFF00,        // textScreenMask
  191.     0xFF12,        // textCursorMask
  192.     7,            // graphicsCursorHorizontal
  193.     7,            // graphicsCursorVertical
  194.     {            //        ┌────────────────┐
  195.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  196.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  197.     0xFEFF,        //        │■■■■■■■ ■■■■■■■■│
  198.     0xFC7F,        //        │■■■■■■   ■■■■■■■│
  199.     0xF83F,        //        │■■■■■     ■■■■■■│
  200.     0xF01F,        //        │■■■■       ■■■■■│
  201.     0xE00F,        //        │■■■         ■■■■│
  202.     0xFC7F,        //        │■■■■■■   ■■■■■■■│
  203.     0xE00F,        //        │■■■         ■■■■│
  204.     0xF01F,        //        │■■■■       ■■■■■│
  205.     0xF83F,        //        │■■■■■     ■■■■■■│
  206.     0xFC7F,        //        │■■■■■■   ■■■■■■■│
  207.     0xFEFF,        //        │■■■■■■■ ■■■■■■■■│
  208.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  209.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  210.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  211.                 //        └────────────────┘
  212.                 //        ┌────────────────┐
  213.     0x0000,        //        │                │
  214.     0x0000,        //        │                │
  215.     0x0000,        //        │                │
  216.     0x0100,        //        │       ■        │
  217.     0x0380,        //        │      ■■■       │
  218.     0x07C0,        //        │     ■■■■■      │
  219.     0x0100,        //        │       ■        │
  220.     0x0100,        //        │       ■        │
  221.     0x0100,        //        │       ■        │
  222.     0x07C0,        //        │     ■■■■■      │
  223.     0x0380,        //        │      ■■■       │
  224.     0x0100,        //        │       ■        │
  225.     0x0000,        //        │                │
  226.     0x0000,        //        │                │
  227.     0x0000,        //        │                │
  228.     0x0000,        //        │                │
  229.     }            //        └────────────────┘
  230. };
  231.  
  232. static UI_MOUSE_POINTER horizontalArrowsMask =
  233. {
  234.     DM_HORIZONTAL,
  235.     0xFF00,        // textScreenMask
  236.     0xFF1D,        // textCursorMask
  237.     7,            // graphicsCursorHorizontal
  238.     7,            // graphicsCursorVertical
  239.     {            //        ┌────────────────┐
  240.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  241.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  242.     0xFBDF,        //        │■■■■■ ■■■■ ■■■■■│
  243.     0xF3CF,        //        │■■■■  ■■■■  ■■■■│
  244.     0xE3C7,        //        │■■■   ■■■■   ■■■│
  245.     0xC3C3,        //        │■■    ■■■■    ■■│
  246.     0x8001,        //        │■              ■│
  247.     0x0000,        //        │                │
  248.     0x0000,        //        │                │
  249.     0x8001,        //        │■              ■│
  250.     0xC3C3,        //        │■■    ■■■■    ■■│
  251.     0xE3C7,        //        │■■■   ■■■■   ■■■│
  252.     0xF3CF,        //        │■■■■  ■■■■  ■■■■│
  253.     0xFBDF,        //        │■■■■■ ■■■■ ■■■■■│
  254.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  255.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  256.                 //        └────────────────┘
  257.                 //        ┌────────────────┐
  258.     0x0000,        //        │                │
  259.     0x0000,        //        │                │
  260.     0x0000,        //        │                │
  261.     0x0000,        //        │                │
  262.     0x0810,        //        │    ■      ■    │
  263.     0x1818,        //        │   ■■      ■■   │
  264.     0x381C,        //        │  ■■■      ■■■  │
  265.     0x7FFE,        //        │ ■■■■■■■■■■■■■■ │
  266.     0x7FFE,        //        │ ■■■■■■■■■■■■■■ │
  267.     0x381C,        //        │  ■■■      ■■■  │
  268.     0x1818,        //        │   ■■      ■■   │
  269.     0x0810,        //        │    ■      ■    │
  270.     0x0000,        //        │                │
  271.     0x0000,        //        │                │
  272.     0x0000,        //        │                │
  273.     0x0000         //        │                │
  274.     }            //        └────────────────┘
  275. };
  276.  
  277. static UI_MOUSE_POINTER smallHorizontalArrowsMask =
  278. {
  279.     DM_SMALL_HORIZONTAL,
  280.     0xFF00,        // textScreenMask
  281.     0xFF1D,        // textCursorMask
  282.     7,            // graphicsCursorHorizontal
  283.     7,            // graphicsCursorVertical
  284.     {            //        ┌────────────────┐
  285.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  286.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  287.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  288.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  289.     0xF93F,        //        │■■■■■  ■  ■■■■■■│
  290.     0xF11F,        //        │■■■■   ■   ■■■■■│
  291.     0xE00F,        //        │■■■         ■■■■│
  292.     0xC007,        //        │■■           ■■■│
  293.     0xE00F,        //        │■■■         ■■■■│
  294.     0xF11F,        //        │■■■■   ■   ■■■■■│
  295.     0xF93F,        //        │■■■■■  ■  ■■■■■■│
  296.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  297.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  298.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  299.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  300.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  301.                 //        └────────────────┘
  302.                 //        ┌────────────────┐
  303.     0x0000,        //        │                │
  304.     0x0000,        //        │                │
  305.     0x0000,        //        │                │
  306.     0x0000,        //        │                │
  307.     0x0000,        //        │                │
  308.     0x0440,        //        │     ■   ■      │
  309.     0x0C60,        //        │    ■■   ■■     │
  310.     0x1FF0,        //        │   ■■■■■■■■■    │
  311.     0x0C60,        //        │    ■■   ■■     │
  312.     0x0440,        //        │     ■   ■      │
  313.     0x0000,        //        │                │
  314.     0x0000,        //        │                │
  315.     0x0000,        //        │                │
  316.     0x0000,        //        │                │
  317.     0x0000,        //        │                │
  318.     0x0000         //        │                │
  319.     }            //        └────────────────┘
  320. };
  321.  
  322. static UI_MOUSE_POINTER ULLRArrowsMask =
  323. {
  324.     DM_DIAGONAL_ULLR,
  325.     0xFF00,        // textScreenMask
  326.     0xFF04,        // textCursorMask
  327.     7,            // graphicsCursorHorizontal
  328.     7,            // graphicsCursorVertical
  329.     {            //        ┌────────────────┐
  330.     0xFFFF,        //        │oooooooooooooooo│
  331.     0x801F,        //        │o          ooooo│
  332.     0x803F,        //        │o ■■■■■■  oooooo│
  333.     0x807F,        //        │o ■■■■■  ooooooo│
  334.     0x80FF,        //        │o ■■■■  oooooooo│
  335.     0x80FF,        //        │o ■■■■■ oooooooo│
  336.     0x8073,        //        │o ■■ ■■■ ooo  oo│
  337.     0x8823,        //        │o ■ o ■■■ o ■ oo│
  338.     0x9C03,        //        │o  ooo ■■■ ■■ oo│
  339.     0xFE03,        //        │ooooooo ■■■■■ oo│
  340.     0xFF03,        //        │oooooooo ■■■■ oo│
  341.     0xFE03,        //        │ooooooo ■■■■■ oo│
  342.     0xFC03,        //        │oooooo ■■■■■■ oo│
  343.     0xF803,        //        │ooooo         oo│
  344.     0xFFFF,        //        │oooooooooooooooo│
  345.     0xFFFF,        //        │oooooooooooooooo│
  346.                 //        └────────────────┘
  347.                 //        ┌────────────────┐
  348.     0x0000,        //        │oooooooooooooooo│
  349.     0x0000,        //        │o          ooooo│
  350.     0x3F00,        //        │o ■■■■■■  oooooo│
  351.     0x3E00,        //        │o ■■■■■  ooooooo│
  352.     0x3C00,        //        │o ■■■■  oooooooo│
  353.     0x3E00,        //        │o ■■■■■ oooooooo│
  354.     0x3700,        //        │o ■■ ■■■ ooo  oo│
  355.     0x2388,        //        │o ■ o ■■■ o ■ oo│
  356.     0x01D8,        //        │o  ooo ■■■ ■■ oo│
  357.     0x00F8,        //        │ooooooo ■■■■■ oo│
  358.     0x0078,        //        │oooooooo ■■■■ oo│
  359.     0x00F8,        //        │ooooooo ■■■■■ oo│
  360.     0x01F8,        //        │oooooo ■■■■■■ oo│
  361.     0x0000,        //        │ooooo         oo│
  362.     0x0000,        //        │oooooooooooooooo│
  363.     0x0000,        //        │oooooooooooooooo│
  364.     }            //        └────────────────┘
  365. };
  366.  
  367. static UI_MOUSE_POINTER smallULLRArrowsMask =
  368. {
  369.     DM_SMALL_DIAGONAL_ULLR,
  370.     0xFF00,        // textScreenMask
  371.     0xFF04,        // textCursorMask
  372.     7,            // graphicsCursorHorizontal
  373.     7,            // graphicsCursorVertical
  374.     {            //        ┌────────────────┐
  375.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  376.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  377.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  378.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  379.     0xF03F,        //        │■■■■      ■■■■■■│
  380.     0xF07F,        //        │■■■■     ■■■■■■■│
  381.     0xF07F,        //        │■■■■     ■■■■■■■│
  382.     0xF00F,        //        │■■■■        ■■■■│
  383.     0xF00F,        //        │■■■■        ■■■■│
  384.     0xFE0F,        //        │■■■■■■■     ■■■■│
  385.     0xFE0F,        //        │■■■■■■■     ■■■■│
  386.     0xFC0F,        //        │■■■■■■      ■■■■│
  387.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  388.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  389.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  390.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  391.                 //        └────────────────┘
  392.                 //        ┌────────────────┐
  393.     0x0000,        //        │                │
  394.     0x0000,        //        │                │
  395.     0x0000,        //        │                │
  396.     0x0000,        //        │                │
  397.     0x0000,        //        │                │
  398.     0x0700,        //        │     ■■■        │
  399.     0x0600,        //        │     ■■         │
  400.     0x0400,        //        │     ■ ■        │
  401.     0x00A0,        //        │        ■ ■     │
  402.     0x0060,        //        │         ■■     │
  403.     0x00E0,        //        │        ■■■     │
  404.     0x0000,        //        │                │
  405.     0x0000,        //        │                │
  406.     0x0000,        //        │                │
  407.     0x0000,        //        │                │
  408.     0x0000         //        │                │
  409.     }            //        └────────────────┘
  410. };
  411.  
  412. static UI_MOUSE_POINTER LLURArrowsMask =
  413. {
  414.     DM_DIAGONAL_LLUR,
  415.     0xFF00,        // textScreenMask
  416.     0xFF04,        // textCursorMask
  417.     7,            // graphicsCursorHorizontal
  418.     7,            // graphicsCursorVertical
  419.     {            //        ┌────────────────┐
  420.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  421.     0xF801,        //        │■■■■■          ■│
  422.     0xFC01,        //        │■■■■■■         ■│
  423.     0xFE01,        //        │■■■■■■■        ■│
  424.     0xFF01,        //        │■■■■■■■■       ■│
  425.     0xBF01,        //        │■ ■■■■■■       ■│
  426.     0x9E01,        //        │■  ■■■■        ■│
  427.     0x8C01,        //        │■   ■■         ■│
  428.     0x8031,        //        │■         ■■   ■│
  429.     0x8079,        //        │■        ■■■■  ■│
  430.     0x80FD,        //        │■       ■■■■■■ ■│
  431.     0x80FF,        //        │■       ■■■■■■■■│
  432.     0x807F,        //        │■        ■■■■■■■│
  433.     0x803F,        //        │■         ■■■■■■│
  434.     0x801F,        //        │■          ■■■■■│
  435.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  436.                 //        └────────────────┘
  437.                 //        ┌────────────────┐
  438.     0x0000,        //        │                │
  439.     0x0000,        //        │                │
  440.     0x00FC,        //        │        ■■■■■■  │
  441.     0x007C,        //        │         ■■■■■  │
  442.     0x003C,        //        │          ■■■■  │
  443.     0x007C,        //        │         ■■■■■  │
  444.     0x00EC,        //        │        ■■■ ■■  │
  445.     0x01C4,        //        │       ■■■   ■  │
  446.     0x2380,        //        │  ■   ■■■       │
  447.     0x3700,        //        │  ■■ ■■■        │
  448.     0x3E00,        //        │  ■■■■■         │
  449.     0x3C00,        //        │  ■■■■          │
  450.     0x3E00,        //        │  ■■■■■         │
  451.     0x3F00,        //        │  ■■■■■■        │
  452.     0x0000,        //        │                │
  453.     0x0000         //        │                │
  454.     }            //        └────────────────┘
  455. };
  456.  
  457. static UI_MOUSE_POINTER editMask =
  458. {
  459.     DM_EDIT,
  460.     0xFFFF,        // textScreenMask
  461.     0xFF00,        // textCursorMask
  462.     7,            // graphicsCursorHorizontal
  463.     7,            // graphicsCursorVertical
  464.     {            //        ┌────────────────┐
  465.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  466.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  467.     0xF18F,        //        │■■■■   ■■   ■■■■│
  468.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  469.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  470.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  471.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  472.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  473.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  474.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  475.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  476.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  477.     0xFE7F,        //        │■■■■■■■  ■■■■■■■│
  478.     0xF18F,        //        │■■■■   ■■   ■■■■│
  479.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  480.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  481.                 //        └────────────────┘
  482.                 //        ┌────────────────┐
  483.     0x0000,        //        │                │
  484.     0x0000,        //        │                │
  485.     0x0000,        //        │                │
  486.     0x0000,        //        │                │
  487.     0x0000,        //        │                │
  488.     0x0000,        //        │                │
  489.     0x0000,        //        │                │
  490.     0x0000,        //        │                │
  491.     0x0000,        //        │                │
  492.     0x0000,        //        │                │
  493.     0x0000,        //        │                │
  494.     0x0000,        //        │                │
  495.     0x0000,        //        │                │
  496.     0x0000,        //        │                │
  497.     0x0000,        //        │                │
  498.     0x0000         //        │                │
  499.     }            //        └────────────────┘
  500. };
  501.  
  502. static UI_MOUSE_POINTER hourglassMask =
  503. {
  504.     DM_WAIT,
  505.     0xFFFF,        // textScreenMask
  506.     0xFF00,        // textCursorMask
  507.     7,            // graphicsCursorHorizontal
  508.     7,            // graphicsCursorVertical
  509.     {            //        ┌────────────────┐
  510.     0xC001,        //        │■■             ■│
  511.     0xC001,        //        │■■             ■│
  512.     0xC001,        //        │■■             ■│
  513.     0xC001,        //        │■■             ■│
  514.     0xE003,        //        │■■■           ■■│
  515.     0xF007,        //        │■■■■         ■■■│
  516.     0xF80F,        //        │■■■■■       ■■■■│
  517.     0xFC1F,        //        │■■■■■■     ■■■■■│
  518.     0xFC1F,        //        │■■■■■■     ■■■■■│
  519.     0xF80F,        //        │■■■■■       ■■■■│
  520.     0xF007,        //        │■■■■         ■■■│
  521.     0xE003,        //        │■■■           ■■│
  522.     0xC001,        //        │■■             ■│
  523.     0xC001,        //        │■■             ■│
  524.     0xC001,        //        │■■             ■│
  525.     0xC001,        //        │■■             ■│
  526.                 //        └────────────────┘
  527.                 //        ┌────────────────┐
  528.     0x0000,        //        │                │
  529.     0x0000,        //        │                │
  530.     0x0FF8,        //        │    ■■■■■■■■■   │
  531.     0x0FF8,        //        │    ■■■■■■■■■   │
  532.     0x0550,        //        │     ■ ■ ■ ■    │
  533.     0x02A0,        //        │      ■ ■ ■     │
  534.     0x0140,        //        │       ■ ■      │
  535.     0x0080,        //        │        ■       │
  536.     0x0080,        //        │        ■       │
  537.     0x0140,        //        │       ■ ■      │
  538.     0x0360,        //        │      ■■ ■■     │
  539.     0x06B0,        //        │     ■■ ■ ■■    │
  540.     0x0D58,        //        │    ■■ ■ ■ ■■   │
  541.     0x0AA8,        //        │    ■ ■ ■ ■ ■   │
  542.     0x0000,        //        │                │
  543.     0x0000         //        │                │
  544.     }            //        └────────────────┘
  545. };
  546.  
  547. static UI_MOUSE_POINTER positionMask =
  548. {
  549.     DM_POSITION,
  550.     0xFFFF,        // textScreenMask
  551.     0xFF00,        // textCursorMask
  552.     7,            // graphicsCursorHorizontal
  553.     7,            // graphicsCursorVertical
  554.     {            //        ┌────────────────┐
  555.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  556.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  557.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  558.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  559.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  560.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  561.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  562.     0xE003,        //        │■■■           ■■│
  563.     0xE003,        //        │■■■           ■■│
  564.     0xE003,        //        │■■■           ■■│
  565.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  566.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  567.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  568.     0xFE3F,        //        │■■■■■■■   ■■■■■■│
  569.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  570.     0xFFFF,        //        │■■■■■■■■■■■■■■■■│
  571.                 //        └────────────────┘
  572.                 //        ┌────────────────┐
  573.     0x0000,        //        │                │
  574.     0x0000,        //        │                │
  575.     0x0000,        //        │                │
  576.     0x0000,        //        │                │
  577.     0x0080,        //        │        ■       │
  578.     0x0080,        //        │        ■       │
  579.     0x0080,        //        │        ■       │
  580.     0x0080,        //        │        ■       │
  581.     0x0FF8,        //        │    ■■■■■■■■■   │
  582.     0x0080,        //        │        ■       │
  583.     0x0080,        //        │        ■       │
  584.     0x0080,        //        │        ■       │
  585.     0x0080,        //        │        ■       │
  586.     0x0000,        //        │                │
  587.     0x0000,        //        │                │
  588.     0x0000,        //        │                │
  589.     }            //        └────────────────┘
  590. };
  591.  
  592. UI_MOUSE_POINTER *_pointerTable[] =
  593. {
  594.     &arrowMask,
  595.     &handMask,
  596.     &smallHandMask,
  597.     &verticalArrowsMask,
  598.     &smallVerticalArrowsMask,
  599.     &horizontalArrowsMask,
  600.     &smallHorizontalArrowsMask,
  601.     &ULLRArrowsMask,
  602.     &smallULLRArrowsMask,
  603.     &LLURArrowsMask,
  604.     &editMask,
  605.     &hourglassMask,
  606.     &positionMask,
  607.     NULL
  608. };
  609.  
  610.