[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
    ButtonChain = Object
                    Total          :Word;

                    Procedure Init;
                    Function  Position     :Word;
                    Function  Number       :Word;
                    Procedure GotoPosition (Here:Word);
                    Procedure GotoNumber   (ButtonNumber:Word);

                    Procedure DrawUp       (ButtonNumber:Word);
                    Procedure DrawDown     (ButtonNumber:Word);

                    Procedure Add          (X1, Y1, X2, Y2:Word;
                                            Thickness, Background:Word;
                                            Picture:Pointer; Name:String;
                                            Special:Boolean; Key:Char);


                    Procedure Move         (X, Y:Integer;
                                            ButtonNumber:Word);

                    Procedure MoveAll      (X, Y:Integer);

                    Procedure Create       (X1, Y1, X2, Y2:Word;
                                            Thickness, Background:Word;
                                            Picture:Pointer; Name:String;
                                            Special:Boolean; Key:Char);

                    Procedure WaitForClick (Var X, Y:Word;Var MouseButtons:Byte;
                                            Var Held,Doubled,Special:Boolean;
                                            Var Key:Char);

                    Procedure KillAll;
                    Procedure KillFrom;
                    Procedure KillOne;

                    Private

                    Root           :Pointer;
                    Buttons        :ButtonListPtr;

                    Function NewButtonNumber:Word;

                  End;

    Total is the total number of buttons in the object.

    MouseFunctions = Object
                       Init       :MouseProc_Init;
                       Show       :MouseProc_Show;
                       Hide       :MouseProc_Hide;
                       SetSpeed   :MouseProc_SetSpeed;
                       SetXY      :MouseProc_SetXY;
                       SetBounds  :MouseProc_SetBounds;
                       SetShape   :MouseProc_SetShape;
                       SetBGIShape:MouseProc_SetBGIShape;
                       GetPresses :MouseProc_GetPresses;
                       GetStatus  :MouseProc_GetStatus;
                       GetClick   :MouseProc_GetClick;

                       Function  ComputerSpeed:LongInt;
                       Function  Active       :Boolean;

                     End;

      GraphicWindow   = Object
                          HdrButtonNum,

                          VSlideButtonNum,
                          VSlideBarButtonNum,
                          VSlideButtonUpNum,
                          VSlideButtonDownNum,

                          HSlideButtonNum,
                          HSlideBarButtonNum,
                          HSlideButtonLeftNum,
                          HSlideButtonRightNum,

                          CloseButtonNum :Word;
                          Buttons        :ButtonChain;
                          VSlideBarCurPos:LongInt;
                          HSlideBarCurPos:LongInt;

                          Status         :HideOrShow;    {Visible or Not}
                          KeepBack       :Boolean;       {Background Saved or Not}
                          Thickness      :Byte;          {Box Outline}
                          Pattern,                       {Pascal Pattern Number}
                          FillColor,                     {Pattern Colour}
                          HdrPattern,                    {Heading Background Pattern}
                          HdrFillColor,                  {Heading Pattern Colour}
                          HdrFrg,                        {Header Text Forg}
                          BoxFrg,                        {Box Colour}
                          BoxBck,                        {Box Backgound OutLine}
                          Size,                          {Memory Required for Save}
                          X1,Y1,                         {Location on Screen}
                          X2,Y2          :Word;
                          Header         :String;        {Heading Text}
                          HdrFmt         :TextFormats;   {Heading Format}
                          VSlideBarPat,
                          VSlideBarClr,
                          VSlideButtonPos:Word;

                          VSlideBarMaxPos:LongInt;

                          HSlideBarPat,
                          HSlideBarClr,
                          HSlideButtonPos:Word;

                          HSlideBarMaxPos:LongInt;


                          Procedure Open(NX1,NY1,NX2,NY2,Forg,Back,
                                         Thick,Patrn,PatClr:Word;
                                         KeepBackground:Boolean);
                          Procedure DisplayHeading;
                          Procedure NewHeading(NewHead:String;NewMode:TextFormats;
                                               Forg,Patrn,PatClr:Word);
                          Procedure Hide;
                          Procedure Show;
                          Procedure NewPosition(NewX,NewY:Word);
                          Procedure Drag;
                          Procedure DragVertSlideButton;
                          Procedure DragHorzSlideButton;
                          Procedure NewSize    (NX1,NY1,NX2,NY2:Word);
                          Procedure CloseIcon  (Active:Boolean);
                          Procedure HeadingIcon(Active:Boolean);

                          Procedure VertSlideIcon         (Active:Boolean);
                          Procedure DrawVertSlideBar;
                          Procedure VertSlideBar          (CurPos,MaxPos:LongInt;
                                                           Patrn,PatClr:Word);
                          Procedure UpdateVertSlideBar    (CurPos:LongInt);

                          Procedure HorzSlideIcon         (Active:Boolean);
                          Procedure DrawHorzSlideBar;
                          Procedure HorzSlideBar          (CurPos,MaxPos:LongInt;
                                                           Patrn,PatClr:Word);
                          Procedure UpdateHorzSlideBar    (CurPos:LongInt);

                          Procedure CloseButtonPos         (Var BX1,BY1,BX2,BY2:Word);
                          Procedure HeadingPos             (Var BX1,BY1,BX2,BY2:Word);
                          Procedure VertSlideBarPos        (Var BX1,BY1,BX2,BY2:Word);
                          Procedure VertSlideButtonPos     (Var BX1,BY1,BX2,BY2:Word);
                          Procedure VertSlideButtonUpPos   (Var BX1,BY1,BX2,BY2:Word);
                          Procedure VertSlideButtonDownPos (Var BX1,BY1,BX2,BY2:Word);
                          Procedure HorzSlideBarPos        (Var BX1,BY1,BX2,BY2:Word);
                          Procedure HorzSlideButtonPos     (Var BX1,BY1,BX2,BY2:Word);
                          Procedure HorzSlideButtonLeftPos (Var BX1,BY1,BX2,BY2:Word);
                          Procedure HorzSlideButtonRightPos(Var BX1,BY1,BX2,BY2:Word);

                          Procedure Lock;
                          Procedure UnLock;
                          Procedure Close;

                          Private

                          Save           :Pointer;       {Background Save}

                          Procedure SaveBackground;
                          Procedure DrawWindow;
                          Procedure DrawOutLine(NewX,NewY:Word;
                                                Var OutLine:OutLineSave);
                          Procedure NoOutLine  (Var OutLine:OutLineSave);
                        End;

    HdrButtonNum, VSlideButtonNum, VSlideBarButtonNum, VSlideButtonUpNum,
    VSlideButtonDownNum, HSlideButtonNum, HSlideBarButtonNum,
    HSlideButtonLeftNum, HSlideButtonRightNum, CloseButtonNum are the
    button numbers for the window's header, slide button (button on the
    slide bar), slide bar button (the actual slide bar as a button),
    and slide bar arrows (both verical and horizontal).

    The above variables are not automatically allocated, they are
    activated by methods like CloseIcon.

    Buttons are the buttons belonging to that window or buttons that
    are active when the window is active.

    VSlideBarCurPos is the current position of the vertical slide bar
    in a range from 0 (inclusive) to VSlideBarMaxPos.

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson