[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
                      APPENDIX E - MOUSE FUNCTIONS

     A mickey is the smallest increment the mouse can sense, named,
     appropriately enough, after Mickey Mouse.

     Many of the mouse functions return multiple pieces of information.
     The mouse driver can use the AX, BX, CX and DX registers to return
     information, but repeating a function call to return another piece
     of information already provided is ridiculous. If used, the global
     variables _mouse1, _mouse2, _mouse3 and _mouse4 will usually, but
     not always, correspond to the AX, BX, CX and DX registers,
     respectively. MButtonPress() is an example of a mouse function
     that returns extra information via the _mouse# variables.
     MMickeysMovedx() is an example of a function that does the work of
     multiple functions via the _mouse# variables.

     The MCursorGraphic() function requires a pointer to a bitmap,
     which consists of a 16 word screen mask and a 16 word cursor mask
     (64 bytes in total). The global variables listed below are bitmaps
     available for your use, listed here for you reference. Each global
     variable bitmap contains the horizontal and vertical hot spots
     (hotx and hoty) as _Bitmap...[0] and _Bitmap...[1] elements,
     respectively, and _Bitmap...+2 pointing to the bitmap itself.
     Thus, each of these global variables is 68 bytes, 4 for hot spots
     and 64 for the bitmap. Note that the hot spots are signed values
     ranging from -16 to 16.

          unsigned int _Bitmap_StandardCursor[] =
                            { (unsigned int) -1, (unsigned int) -1,
                                 0x3FFF, 0x1FFF, 0x0FFF, 0x07FF,
                                 0x03FF, 0x01FF, 0x00FF, 0x007F,
                                 0x003F, 0x001F, 0x01FF, 0x10FF,
                                 0x30FF, 0xF87F, 0xF87F, 0xFC3F,
                                 0x0000, 0x4000, 0x6000, 0x7000,
                                 0x7800, 0x7C00, 0x7E00, 0x7F00,
                                 0x7F80, 0x78C0, 0x7C00, 0x4600,
                                 0x0600, 0x0300, 0x0300, 0x0180 };

          unsigned int _Bitmap_UpArrow[] =
                            { (unsigned int) 5, (unsigned int) 0,
                                 0xF9FF, 0xF0FF, 0xE07F, 0xE07F,
                                 0xC03F, 0x801F, 0x801F, 0x000F,
                                 0x000F, 0x000F, 0xF0FF, 0xF0FF,
                                 0xF0FF, 0xF0FF, 0xF0FF, 0xF0FF,
                                 0x0000, 0x0600, 0x0F00, 0x0F00,
                                 0x1F80, 0x1F80, 0x3FC0, 0x3FC0,
                                 0x7FE0, 0x0600, 0x0600, 0x0600,
                                 0x0600, 0x0600, 0x0600, 0x0000 };

          unsigned int _Bitmap_LeftArrow[] =
                            { (unsigned int) 0, (unsigned int) 3,
                                 0xFE1F, 0xF01F, 0x0000, 0x0000,
                                 0x0000, 0xF01F, 0xFE1F, 0xFFFF,
                                 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
                                 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
                                 0x0000, 0x00C0, 0x07C0, 0x7FFE,
                                 0x07C0, 0x00C0, 0x0000, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0x0000 };

          unsigned int _Bitmap_CheckMark[] =
                            { (unsigned int) 6, (unsigned int) 7,
                                 0xFFF0, 0xFFE0, 0xFFC0, 0xFF81,
                                 0xFF03, 0x0607, 0x000F, 0x001F,
                                 0xC03F, 0xF07F, 0xFFFF, 0xFFFF,
                                 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
                                 0x0000, 0x0006, 0x000C, 0x0018,
                                 0x0030, 0x0060, 0x70C0, 0x1D80,
                                 0x0700, 0x0000, 0x0000, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0x0000 };

          unsigned int _Bitmap_PointingHand[] =
                            { (unsigned int) 5, (unsigned int) 0,
                                 0xE1FF, 0xE1FF, 0xE1FF, 0xE1FF,
                                 0xE1FF, 0xE000, 0xE000, 0xE000,
                                 0x0000, 0x0000, 0x0000, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0x0000,
                                 0x1E00, 0x1200, 0x1200, 0x1200,
                                 0x1200, 0x13FF, 0x1249, 0x1249,
                                 0xF249, 0x9001, 0x9001, 0x9001,
                                 0x8001, 0x8001, 0x8001, 0xFFFF };

          unsigned int _Bitmap_DiagonalCross[] =
                            { (unsigned int) 7, (unsigned int) 4,
                                 0x07E0, 0x0180, 0x0000, 0xC003,
                                 0xF00F, 0xC003, 0x0000, 0x0180,
                                 0x07E0, 0xFFFF, 0xFFFF, 0xFFFF,
                                 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
                                 0x0000, 0x700E, 0x1C38, 0x0660,
                                 0x03C0, 0x0660, 0x1C38, 0x700E,
                                 0x0000, 0x0000, 0x0000, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0x0000 };

          unsigned int _Bitmap_RectangularCross[] =
                            { (unsigned int) 7, (unsigned int) 4,
                                 0xFC3F, 0xFC3F, 0xFC3F, 0x0000,
                                 0x0000, 0x0000, 0xFC3F, 0xFC3F,
                                 0xFC3F, 0x0000, 0x0000, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0x0000,
                                 0x0000, 0x0180, 0x0180, 0x0180,
                                 0x7FFE, 0x0180, 0x0180, 0x0180,
                                 0x0000, 0x0000, 0x0000, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0x0000 };

          unsigned int _Bitmap_Hourglass[] =
                            { (unsigned int) 7, (unsigned int) 7,
                                 0x0000, 0x0000, 0x0000, 0x0000,
                                 0x8001, 0xC003, 0xE007, 0xF00F,
                                 0xE007, 0xC003, 0x8001, 0x0000,
                                 0x0000, 0x0000, 0x0000, 0xFFFF,
                                 0x0000, 0x7FFE, 0x6006, 0x300C,
                                 0x1818, 0x0C30, 0x0660, 0x03C0,
                                 0x0660, 0x0C30, 0x1998, 0x33CC,
                                 0x67E6, 0x7FFE, 0x0000, 0x0000 };

See Also: MButtonPress() MCursorGraphic() MMickeysMovedx()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson