{MOUSE.PAS creates MOUSE.TPU Unit}
     {From the book "OBJECT ORIENTED PROGRAMMING IN TURBO PASCAL 5.5"}

Unit Mouse;

Interface

Type
    GCursor = record
            ScreenMask,
            CursorMask : array[0..15] of word;
            hotX,hotY  : integer;
            end; {record}


                  {================================}
                  {Graphics Cursors are predefined }
                  {for use with GraphicMouse       }
                  {================================}


Const           {The graphics cursors are defined as constants       }

     HAMMER : GCursor =       {As in the hammer of THOR, my favorite}
            (ScreenMask : ($8003,$0001,$0001,$1831,
                           $1011,$0001,$0001,$8003,
                           $F83F,$F83F,$F83F,$F83F,
                           $F83F,$F83F,$F83F,$F83F);
             CursorMask : ($0000,$3FF8,$4284,$4104,
                           $4284,$4444,$3FF8,$0380,
                           $0380,$0380,$0380,$0380,
                           $0380,$0380,$0380,$0000);
             HotX : $0007;
             HotY : $0003);

     ARROW : GCursor =       {Your run-of-the-mill Graphics Arrow cursor}
           (ScreenMask : ($1FFF,$0FFF,$07FF,$03FF,
                          $01FF,$00FF,$007F,$003F,
                          $001F,$003F,$01FF,$01FF,
                          $E0FF,$F0FF,$F8FF,$F8FF);
            CursorMask : ($0000,$4000,$6000,$7000,
                          $7800,$7C00,$7E00,$7F00,
                          $7F80,$7C00,$4C00,$0600,
                          $0600,$0300,$0400,$0000);
            HotX : $0001;
            HotY : $0001);

     CHECK : GCursor =       {A check-mark cursor}
           (ScreenMask : ($FFF0,$FFE0,$FFC0,$FF81,
                          $FF03,$0607,$000F,$001F,
                          $803F,$C07F,$E0FF,$F1FF,
                          $FFFF,$FFFF,$FFFF,$FFFF);
            CursorMask : ($0000,$0006,$000C,$0018,
                          $0030,$0060,$70C0,$3980,
                          $1F00,$0E00,$0400,$0000,
                          $0000,$0000,$0000,$0000);
            HotX : $0005;
            HotY : $0010);

     CROSS : GCursor =       {A circle with center cross cursor}
           (ScreenMask : ($F01F,$E00F,$C007,$8003,
                          $0441,$0C61,$0381,$0381,
                          $0381,$0C61,$0441,$8003,
                          $C007,$E00F,$F01F,$FFFF);
            CursorMask : ($0000,$07C0,$0920,$1110,
                          $2108,$4004,$4004,$783C,
                          $4004,$4004,$2108,$1110,
                          $0920,$07C0,$0000,$0000);
            HotX : $0007;
            HotY : $0007);

     GLOVE : GCursor =       {The hand with pointing finger cursor}
           (ScreenMask : ($F3FF,$E1FF,$E1FF,$E1FF,
                          $E1FF,$E049,$E000,$8000,
                          $0000,$0000,$07FC,$07F8,
                          $9FF9,$8FF1,$C003,$E007);
            CursorMask : ($0C00,$1200,$1200,$1200,
                          $1200,$13B6,$1249,$7249,
                          $9249,$9001,$9001,$8001,
                          $4002,$4002,$2004,$1FF8);
            HotX : $0004;
            HotY : $0000);

     IBEAM : GCursor =       {Your normal text entering I shaped cursor}
           (ScreenMask : ($F3FF,$E1FF,$E1FF,$E1FF,
                          $E1FF,$E049,$E000,$8000,
                          $0000,$0000,$07FC,$07F8,
                          $9FF9,$8FF1,$C003,$E007);
            CursorMask : ($0C30,$0240,$0180,$0180,
                          $0180,$0180,$0180,$0180,
                          $0180,$0180,$0180,$0180,
                          $0180,$0180,$0240,$0C30);
            HotX : $0007;
            HotY : $0007);

      K

    Source: geocities.com/~franzglaser/tpsrc

               ( geocities.com/~franzglaser)