{

              
            
               ͻ ͻ ͻ    ͻ ͻ
                    ˼ ͹ ͼ ͹     ͻ
                   ͼ          ͼ ͼ

  The MAX Graphics GUI Kit is Copyright 1995-Current Larry L. Athey (LA-Soft).
  Color Averaging procedures are courtesy of Sean Price (Rude Dog Software).
}
{$I DEFINES.INC}
UNIT GUI_MOUS;

INTERFACE

{256 Color Mouse Cursor File Structure}
{                                                                            }
{  TYPE Cursor_Data = RECORD                                                 }
{       CursorMask  : ARRAY[1..16,1..16] OF BYTE;                            }
{       ScreenMask  : ARRAY[1..16,1..16] OF BYTE;                            }
{       XHotSpot    : SHORTINT;                                              }
{       YHotSpot    : SHORTINT;                                              }
{       END;                                                                 }
{                                                                            }
{  The 256 color mouse cursor files used by the GUI kit are actually two     }
{  16x16 pixel icon records combined with two SHORTINT variables that store  }
{  the mouse cursor hotspot coordinates.                                     }
{                                                                            }
{}

CONST
  MouseStandard     = 0; {The internally defined mono Mouse mask definitions.}
  MouseUpArrow      = 1;
  MouseDownArrow    = 2;
  MouseLeftArrow    = 3;
  MouseRightArrow   = 4;
  MouseCheckMark    = 5;
  MouseUpHand       = 6;
  MouseDownHand     = 7;
  MouseLeftHand     = 8;
  MouseRightHand    = 9;
  MouseStopHand     = 10;
  MouseHourGlass    = 11;
  MouseDiagCross    = 12;
  MouseRectCross    = 13;
  MouseRectBox      = 14;
  MouseTargetCross  = 15;
  MouseTargetCircle = 16;
  MouseTargetBox    = 17;
  MouseQuestionMark = 18;
  MouseClockCursor  = 19;

VAR
  ClockOn    : BOOLEAN;  {Is the mouse clock cursor on? [Y/N]                }
  ClockCount : BYTE;     {The counter for the mouse masks for clock cursor.  }
{ ^ Both of these variables are "Read Only", DO NOT MODIFY THESE!!!          }

{}
FUNCTION  MousePointIn(Mx,My,x1,y1,x2,y2 : INTEGER) : BOOLEAN;
{^ This procedure returns TRUE if the current mouse hotspot X/Y coordinates  }
{  (represented by Mx and My) fall within a specific region defined by the   }
{  x1/y1 and x2,y2 coordinates.                                              }
PROCEDURE MouseMask256(CFile : STRING);
{^ This procedure loads an external 256 color mouse cursor file and sets the }
{  mouse handler to use it. These cursor files can be created by yourself or }
{  you can use the MAXpaint program from BBS Utiliteez Software to make them.}
{  The structure for these files is detailed in the above.                   }
PROCEDURE MouseMask(Mask : BYTE);
{^ This procedure changes the mouse cursor to use one of the 20 pre defined  }
{  masks which are listed in the above.                                      }
PROCEDURE SpinMouse;
{^ This procedure is called automatically by the MouseHandler function in the}
{  GUI_UNIT.TPU if the ColckOn variable is TRUE. This variable becomes TRUE  }
{  when a call to MouseMask(20); is made. You do not call this procedre with }
{  your program code!!!                                                      }
{}
