TABLE OF CONTENTS

pintui.library/pIntuiAllgemeines
pintui.library/pOS_ActivateGadget
pintui.library/pOS_ActivateWindow
pintui.library/pOS_AddDrag
pintui.library/pOS_AddGadget
pintui.library/pOS_AddGadgets
pintui.library/pOS_AllocIMsg
pintui.library/pOS_BeginRefresh
pintui.library/pOS_ChangeWindowBox
pintui.library/pOS_CheckDoubleKlick
pintui.library/pOS_CheckVisibleIBox
pintui.library/pOS_CheckVisibleIRect
pintui.library/pOS_CloseHandleMenuIEvent
pintui.library/pOS_CloseScreen
pintui.library/pOS_CloseWindow
pintui.library/pOS_CmpDoubleKlick
pintui.library/pOS_ConstructDragList
pintui.library/pOS_CreateBubbleHelpA
pintui.library/pOS_CreateDragA
pintui.library/pOS_CreateDragGfx
pintui.library/pOS_CreateDragListGfx
pintui.library/pOS_CreateIMessage
pintui.library/pOS_CreateMenuTagA
pintui.library/pOS_CreateRequestWinA
pintui.library/pOS_DeleteBubbleHelp
pintui.library/pOS_DeleteDrag
pintui.library/pOS_DeleteDragGfx
pintui.library/pOS_DeleteDragListGfx
pintui.library/pOS_DeleteIMessage
pintui.library/pOS_DeleteMenu
pintui.library/pOS_DeleteMenuTag
pintui.library/pOS_DeleteRequestWin
pintui.library/pOS_DestructDragList
pintui.library/pOS_DisplayBeep
pintui.library/pOS_DisposeIObject
pintui.library/pOS_DrawIObj
pintui.library/pOS_EasyRequestArgs
pintui.library/pOS_EnableGadget
pintui.library/pOS_EnableWindowMenu
pintui.library/pOS_EndRefresh
pintui.library/pOS_GetDropAttFromDragList
pintui.library/pOS_GetGadgetAttr
pintui.library/pOS_GetIColorMap
pintui.library/pOS_GetMenuItemFromNum
pintui.library/pOS_GetMenuNumFromItem
pintui.library/pOS_GetWindowBorder
pintui.library/pOS_GetWindowIBox
pintui.library/pOS_GetWindowMenuChecker
pintui.library/pOS_InactivateGadget
pintui.library/pOS_InactivateWindow
pintui.library/pOS_InitIntuiIOReq
pintui.library/pOS_InvalidWindowRect
pintui.library/pOS_IObjDisposeList
pintui.library/pOS_IObjDrawList
pintui.library/pOS_IObjGetBoxList
pintui.library/pOS_IsGadgetActive
pintui.library/pOS_LayoutDragList
pintui.library/pOS_LayoutGadgets
pintui.library/pOS_LayoutMenu
pintui.library/pOS_LockIntuiBase
pintui.library/pOS_LockIntuiGadget
pintui.library/pOS_LockIntuiGadgets
pintui.library/pOS_LockPubScreen
pintui.library/pOS_MenuHandleIEvent
pintui.library/pOS_ModifyIDCMP
pintui.library/pOS_ModifySharedIDCMP
pintui.library/pOS_MoveDragList
pintui.library/pOS_NewIObjectA
pintui.library/pOS_OpenHandleMenuIEvent
pintui.library/pOS_OpenScreenA
pintui.library/pOS_OpenWindowA
pintui.library/pOS_PreLayoutMenu
pintui.library/pOS_PubScreenStatus
pintui.library/pOS_RefreshGadgets
pintui.library/pOS_RefreshGadgetsMd
pintui.library/pOS_RefreshLayerGadgets
pintui.library/pOS_RefreshWindowFrame
pintui.library/pOS_RemDrag
pintui.library/pOS_RemGadget
pintui.library/pOS_RemGadgets
pintui.library/pOS_RenderDragList
pintui.library/pOS_RequestWinHandler
pintui.library/pOS_RestoreDragList
pintui.library/pOS_SaveDragList
pintui.library/pOS_SendInputEvent
pintui.library/pOS_SetGadgetAttrsA
pintui.library/pOS_SetMenuHighLight
pintui.library/pOS_SetWindowBusy
pintui.library/pOS_SetWindowLimits
pintui.library/pOS_SetWindowMenuChecker
pintui.library/pOS_SetWindowTask
pintui.library/pOS_SetWindowTitles
pintui.library/pOS_SysIMessage
pintui.library/pOS_UnlockIntuiBase
pintui.library/pOS_UnlockIntuiGadget
pintui.library/pOS_UnlockIntuiGadgets
pintui.library/pOS_UnlockPubScreen
pintui.library/pOS_WindowToBack
pintui.library/pOS_WindowToFront
pintui.library/pOS_ZipWindow


pintui.library/pIntuiAllgemeines

 pIntui.doc - ROM-Library
 Stand: 03.12.96, Michael Christoph


 STRUCTURES

 struct pOS_BubbleHelp
 struct pOS_DoubleKlick
 struct pOS_Drag
 struct pOS_DragList
 struct pOS_DrawInfo
 struct pOS_DropAttribute
 struct pOS_EasyStruct
 struct pOS_GadgetDrop
 struct pOS_GadgetMethod
 struct pOS_IBorder
 struct pOS_IClassInfo
 struct pOS_IntuiBorder
 struct pOS_IntuiDevice
 struct pOS_IntuiImage
 struct pOS_IntuiMessage
 struct pOS_IntuiMethod
 struct pOS_IntuiObj
 struct pOS_IntuiSpcData
 struct pOS_IntuiStdReq
 struct pOS_IntuiSymbol
 struct pOS_IntuiText
 struct pOS_IntuiUnit
 struct pOS_IObjectMethod
 struct pOS_LayoutDamage
 struct pOS_MenuDraw
 struct pOS_MenuItem
 struct pOS_MenuMethod
 struct pOS_MenuNum
 struct pOS_MenuTag
 struct pOS_PubScreenNode
 struct pOS_RastPort
 struct pOS_Screen
 struct pOS_ScreenBase
 struct pOS_Window

 ENUMERATION

 enum pOS_BubbleType
 enum pOS_EasyTags
 enum pOS_FrameClassType
 enum pOS_GadgetClassMethods
 enum pOS_GadgetClassRender
 enum pOS_GadgetClassResult
 enum pOS_GadgetLayoutFlags
 enum pOS_IntuiBubTags
 enum pOS_IntuiClassMethods
 enum pOS_IntuiClassTags
 enum pOS_IntuiDeviceUnitNum
 enum pOS_IntuiMessageClass
 enum pOS_IntuIOReqCommands
 enum pOS_IntuiTextFlags
 enum pOS_IntuiUnitFlags
 enum pOS_IntuiUnitHelpFlags
 enum pOS_IObjectClassLayout
 enum pOS_IObjectClassMethods
 enum pOS_IObjectDrawMode
 enum pOS_MenuClassMethods
 enum pOS_MenuClassRender
 enum pOS_MenuClassResult
 enum pOS_MenuDrawFlags
 enum pOS_MenuItemFlags
 enum pOS_MenuNumPck
 enum pOS_MenuTagType
 enum pOS_OPAClassTags
 enum pOS_PubScreenNodeFlags
 enum pOS_ScreenAllocFlags
 enum pOS_ScreenFlags
 enum pOS_ScreenINames
 enum pOS_ScreenIObjs
 enum pOS_ScreenPens
 enum pOS_ScreenTags
 enum pOS_WindowFlags
 enum pOS_WindowIntuiFlags

 DEFINES

 pOS_INTUIIMAGECNT

 INCLUDES

 pIntui/BubTags.h
 pIntui/EasyReq.h
 pIntui/EasyTags.h
 pIntui/FraClass.h
 pIntui/GClass.h
 pIntui/ICI.h
 pIntui/IClass.h
 pIntui/IntuBase.h
 pIntui/IntuMsg.h
 pIntui/IntuUnit.h
 pIntui/IObj.h
 pIntui/LayDam.h
 pIntui/Menu.h
 pIntui/MClass.h
 pIntui/PIObj.h
 pIntui/Tags.h
 pIntui/OClass.h
 pIntui/OPATags.h
 proto/pIntui.h

 typedef int (*pOS_ScrCMDTab)(pOS_ScreenBase*,pOS_IntuiStdReq*);



pintui.library/pOS_InitIntuiIOReq (V_1)

  PROTOTYPE
    pOS_Process *res = pOS_InitIntuiIOReq
      (
        pOS_IntuiDevice *intuibase,
        pOS_IntuiStdReq *intuistdreq
      );

  FUNCTION
    Installing a pOS_IntuiStdReq structure

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    intuistdreq (_R_A0)
      Pointer at pOS_IntuiStdReq structure to be installed

  RESULT
    res (_R_D0)
      Pointer at own process.

  SEE ALSO
    %

  AMIGA FUNCTION
    %


pintui.library/pOS_SendInputEvent (V_1)

  PROTOTYPE
    VOID pOS_SendInputEvent
      (
        pOS_IntuiDevice *intuibase,
        const pOS_InputEvent *inputevent
      );

  FUNCTION
    Processing and passing on InputEvents corresponding
    to the data in the operating system.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    inputevent (_R_A0)
      Pointer at executed InputEvent to be sent out within
      the system.

  ANNOTATION
    This function should be used carefully. This can cause a lock of
    the whole system when called up at the wrong time. For example,
    it would be the case when used in conjunction with Input Devices
    or when used while gadgets are locked. Some InputEvents can also
    cause problems when used in conjunction with locked gadgets or
    layers.   

  EXAMPLE
    /* Simulating a left mouse klick at position 100,100 */
    pOS_InputEvent ie={ 0 };
    ie.ie_Class    = IECLASS_RAWMOUSE;
    ie.ie_Code     = IECODE_LBUTTON;
    ie.ie_Qualifier= IEQUALIFIER_LEFTBUTTON;
    ie.ie_xy.ie_x=100;
    ie.ie_xy.ie_y=100;
    pOS_SendInputEvent(gb_IntuiBase,&inputevent);

  SEE ALSO
    %

  AMIGA FUNCTION
    %


pintui.library/pOS_CmpDoubleKlick (V_1)

  PROTOTYPE
    BOOL res = pOS_CmpDoubleKlick
      (
        pOS_IntuiDevice *intuibase,
        const pOS_DoubleKlick *old,
        const pOS_DoubleKlick *just
      );

  FUNCTION
    Testing whether both time values are within the preset time for
    a mouse double click. The same mouse button has to be pressed. 

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    (_R_A0)
      first (older) time value (dk_Seconds and dk_Micros)
    (_R_A1)
      second (newer) time value (dk_Seconds and dk_Micros)

  RESULT
    res (_R_D0)
      TRUE if a double click occurs, else FALSE

  SEE ALSO
    pOS_CheckDoubleKlick()

  AMIGA FUNCTION
    LONG DoubleClick(ULONG,ULONG,ULONG,ULONG);


pintui.library/pOS_CheckDoubleKlick (V_1)

  PROTOTYPE
    BOOL res = pOS_CheckDoubleKlick
      (
        pOS_IntuiDevice *intuibase,
        const pOS_IntuiMessage *intuimessage
      );

  FUNCTION
    Testing whether the current and the last IntuiMessage are within
    the preset time for a mouse double click. The same mouse button
    has to be pressed.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    intuimessage (_R_A0)
      current IntuiMessage

  RESULT
    res (_R_D0)
      TRUE if a mouse double click occurs between the last and the
      current IntuiMessage structure.   

  SEE ALSO
    pOS_CmpDoubleKlick()

  AMIGA FUNCTION
    LONG DoubleClick(ULONG,ULONG,ULONG,ULONG);


pintui.library/pOS_SysIMessage (V_1)

  PROTOTYPE
    BOOL res = pOS_SysIMessage
      (
        pOS_IntuiDevice *intuibase,
        pOS_IntuiMessage *intuimessage
      );

  FUNCTION
    Transmitting a message for internal processing within
    the system, and possibly passing on to other objects
    (for example to gadgets) 

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    intuimessage (_R_A0)
      Message gathered by pOS_GetMsg()

  RESULT
    res (_R_D0)
      TRUE if the message was being processed completely and had been
      returned. In case of FALSE the message has to be returned by
      using pOS_ReplyMsg().

  EXAMPLE

    {
      pOS_IntuiMessage *Msg;
      ...
      while(Msg=(pOS_IntuiMessage*)pOS_GetMsg(win->win_UserPort)) {
        if(!pOS_SysIMessage(Msg)) {
          switch(Msg->im_Class) {
            case :
            ...
          }
          pOS_ReplyMsg(&Msg->im_Message);
        }
      }
      ...
    }

  SEE ALSO
    pexec.library/pOS_GetMsg(), pexec.library/pOS_ReplyMsg()

  AMIGA FUNCTION
    %


pintui.library/pOS_CreateIMessage (V_1)

  PROTOTYPE
    __ARID__ pOS_IntuiMessage *res = pOS_CreateIMessage
      (
        pOS_IntuiDevice *intuibase,
        pOS_MsgPort *replyport,
        size_t size
      );

  FUNCTION
    Reserving and installing a pOS_IntuiMessage data structure.
    'im_Data' contains the pointer at the private part of the data.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    replyport (_R_A0)
      Pointer at the message port to which the message is to be
      returned (is entered in res->mn_ReplyPort)
    size (_R_D0)
      Size of private data structure in case that private data
      is to be transported within the message.
      Size=0 => creates a 'normal' IDCMP-Message.

  RESULT
    res (_R_D0)
      Address of the reserved data structure which has to be
      released by using pOS_DeleteIMessage().

  SEE ALSO
    pOS_DeleteIMessage()

  AMIGA FUNCTION
    %


pintui.library/pOS_DeleteIMessage (V_1)

  PROTOTYPE
    VOID pOS_DeleteIMessage
      (
        pOS_IntuiDevice *intuibase,
        __ARID__ pOS_IntuiMessage *intuimsg
      );

  FUNCTION
    Releasing a pOS_IntuiMessage data structure.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    intuimsg (_R_A0)
      Pointer which was being returned by pOS_CreateIMessage().
      After using this function, no further access to the 
      pointer is allowed any longer.

  SEE ALSO
    pOS_CreateIMessage()

  AMIGA FUNCTION
    %


pintui.library/pOS_DisplayBeep (V_1)

  PROTOTYPE
    VOID pOS_DisplayBeep
      (
        pOS_IntuiDevice *intuibase,
        _R_A0 pOS_Screen *screen,
        _R_D0 ULONG type
      );

  FUNCTION
    Generating a display beep.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Pointer at the screen on which a display beep is to be
      generated. ZERO if a display beep is to be generated on
      every screen.
    type (_R_D0) (enum pOS_BeepTypes)

       BEEPTYP_Warn   - operation can not be executed.
       BEEPTYP_Error  - an error has occurred
       BEEPTYP_Wackup - message, time elapsed, process completed

  SEE ALSO
    %

  AMIGA FUNCTION
    VOID DisplayBeep(struct Screen *screen);


pintui.library/pOS_LockIntuiBase (V_1)

  PROTOTYPE
    VOID pOS_LockIntuiBase
      (
        pOS_IntuiDevice *intuibase,
        pOS_IntuiUnit *unit
      );

  FUNCTION
    Locking a pOS_IntuiDevice unit against access by other tasks.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    unit (_R_A0)
      Address of Intui unit to be locked

  ANNOTATION
    Using this function will cause a lock of the whole system interaction
    (for example mouse movements) and, therefore, should only be used
    for a short time. Usually there is only one unit active. In future
    versions there will possibly be several units implemented. As for
    now,  a public function for obtaining the unit address does not yet
    exist. 

  SEE ALSO
    pOS_UnlockIntuiBase(), pOS_LockIntuiGadget()

  AMIGA FUNCTION
    ULONG LockIBase(ULONG);


pintui.library/pOS_UnlockIntuiBase (V_1)

  PROTOTYPE
    VOID pOS_UnlockIntuiBase
      (
        pOS_IntuiDevice *intuibase,
        pOS_IntuiUnit *unit
      );

  FUNCTION
    Revoking an access lock on a pOS_IntuiDevice unit.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    unit (_R_A0)
      Address of Intui unit which has to be unlocked 

  SEE ALSO
    pOS_LockIntuiBase(), pOS_UnlockIntuiGadget()

  AMIGA FUNCTION
    VOID UnlockIBase(ULONG lock);


pintui.library/pOS_LockIntuiGadgets (V_1)

  PROTOTYPE
    VOID pOS_LockIntuiGadgets
      (
        pOS_IntuiDevice *intuibase,
        pOS_Screen *screen
      );

  FUNCTION
     Locking the gadget list against access by other tasks.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Pointer at the screen on which the gadgets have to be
      locked against a change.

  ANNOTATION
    Usually it is not necessary to use other functions than
    pOS_LockIntuiGadget(). Only for operations, where not only
    windows are involved (for example drag & drop), all gadgets
    within a screen have to be locked

  SEE ALSO
    pOS_UnlockIntuiGadgets(), pOS_LockIntuiGadget()

  AMIGA FUNCTION
    ULONG LockIBase(ULONG);


pintui.library/pOS_UnlockIntuiGadgets (V_1)

  PROTOTYPE
    VOID pOS_UnlockIntuiGadgets
      (
        pOS_IntuiDevice *intuibase
        pOS_Screen *screen
      );

  FUNCTION
    Revoking an access lock on the gadget list.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Pointer at the screen on which changing of gadgets
      is allowed again

  SEE ALSO
    pOS_LockIntuiGadgets()

  AMIGA FUNCTION
    VOID UnlockIBase(ULONG lock);


pintui.library/pOS_LockIntuiGadget (V_1)

  PROTOTYPE
    VOID pOS_LockIntuiGadget
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Locking the gadget data structure against access by
    other tasks.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window on which the gadgets have to be
      locked against a change

  SEE ALSO
    pOS_UnlockIntuiGadget(), pOS_LockIntuiGadgets()

  AMIGA FUNCTION
    ULONG LockIBase(ULONG);


pintui.library/pOS_UnlockIntuiGadget (V_1)

  PROTOTYPE
    VOID pOS_UnlockIntuiGadget
      (
        pOS_IntuiDevice *intuibase
        pOS_Window *window
      );

  FUNCTION
    Revoking an access lock on the gadget data structure.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
     Pointer at the window on which changing of gadgets
      is allowed again 

  SEE ALSO
    pOS_LockIntuiGadget()

  AMIGA FUNCTION
    VOID UnlockIBase(ULONG lock);


pintui.library/pOS_OpenScreenA (V_1)

  PROTOTYPE
    __ARID__ pOS_Screen *res = pOS_OpenScreenA
      (
        pOS_IntuiDevice *intuibase,
        const pOS_TagItem *tagitem
      );

  FUNCTION
    Opening a screen.

    In the first release this function is not available.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    tagitem (_R_A0) <pScreen/ScrTags.h> (enum pOS_ScreenTags)

        SCRTAG_LeftEdge (SLONG) - left edge
        SCRTAG_TopEdge (SLONG) - top edge
        SCRTAG_Width (ULONG) - screen width
        SCRTAG_Height (ULONG) - screen height
        SCRTAG_Title (const CHAR*) - title
        SCRTAG_DefaultTitle scr_DefaultTitle (const CHAR*) - title
        SCRTAG_PubName (const CHAR*)
        SCRTAG_PubTask (struct pOS_Task*)
        SCRTAG_PubSignal (UBYTE) - signal for SCRTAG_PubTask
        SCRTAG_TextFont (pOS_TextFont*)
        SCRTAG_MonFileName (const dofiname_t*)
        SCRTAG_MonLock (const pOS_MonLock*)
        SCRTAG_MonFile (const pOS_MonFile*)


  RESULT
    res (_R_D0)
      Pointer at the open screen. ZERO if the screen could not
      be opened.

  SEE ALSO
    pOS_CloseScreen(), pLib.library/pOS_OpenScreen()

  AMIGA FUNCTION
    struct Screen *OpenScreen(struct NewScreen *);
    struct Screen *OpenScreenTagList(struct NewScreen *, struct TagItem *tagitem);


pintui.library/pOS_CloseScreen (V_1)

  PROTOTYPE
    BOOL res = pOS_CloseScreen
      (
        pOS_IntuiDevice *intuibase,
        __ARID__ pOS_Screen *screen
      );

  FUNCTION
    Closing a screen.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Pointer at the screen opened by pOS_OpenScreenA()

  RESULT
    res (_R_D0)
      TRUE if the screen could be closed.
      FALSE if the screen remains open as the screen is
      a public screen, e.g. there are still open windows
      on the screen.

  SEE ALSO
    pOS_OpenScreenA()

  AMIGA FUNCTION
    LONG CloseScreen(struct Screen *screen);


pintui.library/pOS_LockPubScreen (V_1)

  PROTOTYPE
    pOS_Screen *res = pOS_LockPubScreen
      (
        pOS_IntuiDevice *intuibase,
        const CHAR *name
      );

  FUNCTION
    Locking a public screen to prevent its closure.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    name (_R_A0)
      Name of the pubic screen to be locked.
      The checking is CASE INSENSITIVE.
      ZERO relates to the default public screen.

  RESULT
    res (_R_D0)
      Pointer at the locked screen which has to be released by
      using pOS_UnlockPubScreen(). ZERO if an error occurs
      (for example if a screen is not present).

  SEE ALSO
    pOS_UnlockPubScreen(), pOS_PubScreenStatus()

  AMIGA FUNCTION
    struct Screen *LockPubScreen(STRPTR name);


pintui.library/pOS_UnlockPubScreen (V_1)

  PROTOTYPE
    BOOL res = pOS_UnlockPubScreen
      (
        pOS_IntuiDevice *intuibase,
        pOS_Screen *screen
      );

  FUNCTION
    Revoking a lock on a public screen.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Pointer at the screen locked by pOS_LockPubScreen()

  RESULT
    res (_R_D0)
      TRUE if the lock on the screen was being revoked.
      FALSE if an error occurs, then pOS_GetIoErr() will return
      the cause of the error.

  SEE ALSO
    pOS_LockPubScreen(), pOS_PubScreenStatus()

  AMIGA FUNCTION
    VOID UnlockPubScreen(STRPTR, struct Screen *screen);


pintui.library/pOS_PubScreenStatus (V_1)

  PROTOTYPE
    ULONG res = pOS_PubScreenStatus
      (
        pOS_IntuiDevice *intuibase,
        pOS_Screen *screen,
        ULONG flags
      );

  FUNCTION
    Changing the status of an open screen

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Pointer at the open screen of which the status is to
      be changed.
    flags (_R_D0) (enum pOS_PubScreenNodeFlags)
      PUBSCRF_Private :  do not allow public access to screen 
                        

  RESULT
    res (_R_D0)
      PUBSCRF_Private if the screen has been protected against
      guest-windows; else ZERO (no change, e.g. no public screen).

  SEE ALSO
    pOS_LockPubScreen(), pOS_UnlockPubScreen()

  AMIGA FUNCTION
    ULONG PubScreenStatus(struct Screnn *screen, ULONG flags);


pintui.library/pOS_GetIColorMap (V_1)

  PROTOTYPE
    pOS_ColorMap *res = pOS_GetIColorMap
      (
        pOS_IntuiDevice *intuibase,
        const pOS_Screen *screen,
        const pOS_Window *window
      );

  FUNCTION
    Determining a color table of a screen or window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Address of the screen of which the color table is to be
      determined or ZERO.
    window (_R_A1)
      Address of the window of which the color table is to be
      determined. Possibly the color table of the screen is
      returned; or ZERO.

  RESULT
    res (_R_D0)
      Address of determined color table which remains valid
      until the screen/window is closed.

  ANNOTATION
    Either screen or window have to be used.

  SEE ALSO
    %

  AMIGA FUNCTION
    %


pintui.library/pOS_GetWindowBorder (V_1)

  PROTOTYPE
    BOOL res = pOS_GetWindowBorder
      (
        pOS_IntuiDevice *intuibase,
        pOS_Screen *screen,
        pOS_WBox *box,
        ULONG windowflags,
        ULONG gadgetflags,
        ULONG gadgetact
      );

  FUNCTION
    Determining the size of border gadgets

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    screen (_R_A0)
      Pointer at the screen on which the window is to be opened
    box (_R_A1)
      Pointer at the ibox which is to contain the determined
      coordinates
    windowflags (_R_D0)
      Window flags for the position and relation
      (WINFLGF_SizeBRight/WINFLGF_SizeBBottom)
    gagetflags (_R_D1)
      Gadget flags for the position and relation
      (GFLG_RelBottom/GFLG_RelRight/GFLG_RelWidth/GFLG_RelHeight)
    gadgetact (_R_D2)
      Position of the gadget
      (GACT_RightBorder/GACT_LeftBorder/GACT_TopBorder/GACT_BottomBorder)

  RESULT
    res (_R_D0)
      TRUE if the values could be determined;
      else FALSE.

  EXAMPLE
    File "pos_RKRM/pIntui/SuperWin.c"

  SEE ALSO
    %

  AMIGA FUNCTION
    %


pintui.library/pOS_OpenWindowA (V_1)

  PROTOTYPE
    __ARID__ pOS_Window *res = pOS_OpenWindowA
      (
        pOS_IntuiDevice *intuibase,
        const pOS_TagItem *tagitem
      );

  FUNCTION
    Opening a window.

    In the first release always SCRTAGF_SimpleRefresh has to be used.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    tagitem (_R_A0) <pScreen/ScrTags.h> (enum pOS_ScreenTags)

        SCRTAG_LeftEdge (SLONG) - left edge
        SCRTAG_TopEdge (SLONG) - top edge
        SCRTAG_Width (ULONG) - window width
        SCRTAG_Height (ULONG) - window height
        SCRTAG_Title (const CHAR*) - text for window title
        SCRTAG_PubName (const CHAR*)
          Name of PubScreen on which the window is to be opened.

        SCRTAG_Screen (struct pOS_Screen*)
          Screen on which the window is to be opened.

        SCRTAG_Flags (ULONG) (enum pOS_WindowFlags)

        SCRTAG_IDCMP (ULONG) (enum pOS_IntuiMessageClass)

        SCRTAG_MinWidth (ULONG) - minimal window width (outside)
        SCRTAG_MaxWidth (ULONG) default=~0
          maximal Window width (outside) (~0 = screen width)

        SCRTAG_MinHeight (ULONG) - minimal window height (outside)
        SCRTAG_MaxHeight (ULONG) default=~0
          maximal window height (outside) (~0 = screen height)

        SCRTAG_TextFont (pOS_TextFont*) - window font, default is screen font
        SCRTAG_Gadget (pOS_Gadget*)
          gadget to be embedded. It is allowed to set several SCRTAG_Gadget tags.

        SCRTAG_DragMode (ULONG) - type of DragMode

        SCRTAG_SharedUserPort (pOS_MsgPort*)
          Sets an already created message port as 'win_UserPort'.
          In case of pOS_CloseWindow() all pending messages are
          removed from  the port although the port itself is not
          removed.

        SCRTAG_SuperGfxMap (pOS_GfxMap*) - refresh BitMap

        SCRTAG_AutoAdjust (BOOL)
          Window adopts to the screen dimensions.

        SCRTAG_ZipGadget (BOOL) - creates ZipGadget

        SCRTAG_PriTask (struct pOS_Task*)
          When activating a window, the task priority is changed to the
          value in SCRTAG_SetPri. When deactivating, the original value
          is set again. See also pOS_SetWindowTask()

        SCRTAG_SetPri (SBYTE)  - ActivePriority to set.

        SCRTAG_MenuOnWinPos (BOOL) Default=TRUE, menu hangs from a window
        SCRTAG_BgLayerHook (pOS_Callback*)
         Set LayerCallback.
         ~0 == use no callback > the background isn't deleted
         0 == default handler

        SCRTAG_AutoSizeGadget (pOS_Gadget*) (gadget for window sizing)
          This tag may only be present once.
          The SystemLayouter calculates the window size with the help
          of the AutoSize gadget. After every re-size the layouter is
          instructed to adopt the gadget layout to the window.

        SCRTAG_LayerFlags (ULONG) (enum pOS_LayerFlags)

          LAYERF_SzDamgHoriz - the layer becomes invalid because the
                               horizontal size has changed 
                               
          LAYERF_SzDamgVert  - the layer becomes invalid because the
                               horizontal size has changed

        SCRTAG_HelpID (const CHAR*) - HelpID of window
        SCRTAG_HelpFile (const CHAR*) - HelpFile name (path)
        SCRTAG_ScreenTitle (const CHAR*)
          Screen title displayed when window is active.

        SCRTAG_UnderMouse (BOOL) - window will open below the mouse pointer
        SCRTAG_UserHandler (pOS_Callback*)
          ( BOOL(*cb_Code)(_R_A0 const pOS_Callback*,_R_A1 pOS_ScreenCallbackData*) )

        SCRTAG_BackgroundPen (ULONG) - pen for window background (win_BackfillColor)
        SCRTAG_SizeMode (BOOL) default=1
        SCRTAG_InnerWidth (ULONG) - inner size of window
        SCRTAG_InnerHeight (ULONG) - inner size of window
        SCRTAG_BgFillGfxMap (const pOS_GfxMap*)
          GfxMap is displayed as background instead of a color.
          The GfxMap must be 'friend' of ScreenRTG.

        SCRTAG_AlwaysWinDrag (BOOL)
          TRUE - it is moved after every mouse click within the window.

        SCRTAG_InnerMinWidth (ULONG) - minimal window width (inside)
        SCRTAG_InnerMinHeight (ULONG) - minimal window height (inside)
        SCRTAG_InnerMaxWidth (ULONG) - maximal window  width (inside)
        SCRTAG_InnerMaxHeight (ULONG) - maximal window height (inside)


    Flags:
        SCRTAGF_Zoom (BOOL) - creates ZipGadget
        SCRTAGF_SizeGadget (BOOL) - creates SizeGadget
        SCRTAGF_DragBar (BOOL) - window can be moved
        SCRTAGF_DepthGadget (BOOL) - creates DepthGadget
        SCRTAGF_CloseGadget (BOOL) - creates CloseGadget
        SCRTAGF_Backdrop (BOOL) - window as backdrop
        SCRTAGF_NoCareRefresh (BOOL) - does not send RefreshMessage
        SCRTAGF_Borderless (BOOL) - creates window without border
        SCRTAGF_Activate (BOOL) - window is active
        SCRTAGF_SizeBRight (BOOL) - increased right border
        SCRTAGF_SizeBBottom (BOOL) - increased bottom border
        SCRTAGF_GimmeZeroZero (BOOL) - complete clipping
        SCRTAGF_SimpleRefresh (BOOL) - window sends RefreshMessages


  RESULT
    res (_R_D0)
      Pointer at the open window, or ZERO if window could not be opened

  SEE ALSO
    pOS_CloseWindow(), pOS_WindowToFront(), pOS_WindowToBack(),
    pLib.library/pOS_OpenWindow()

  AMIGA FUNCTION
    struct Window *OpenWindow(struct NewWindow *);
    struct Window *OpenWindowTagList(struct NewWindow *, struct TagItem *tagitem);


pintui.library/pOS_CloseWindow (V_1)

  PROTOTYPE
    BOOL res = pOS_CloseWindow
      (
        pOS_IntuiDevice *intuibase,
        __ARID__ pOS_Window *window
      );

  FUNCTION
    Closing a window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window opened by pOS_OpenWindowA().
      After using this function no further access to the
      pointer is allowed any longer.

  RESULT
    res (_R_D0)
      TRUE if the window could be closed.

  SEE ALSO
    pOS_OpenWindowA()

  AMIGA FUNCTION
    VOID CloseWindow(struct Window *window);


pintui.library/pOS_ChangeWindowBox (V_1)

  PROTOTYPE
    BOOL res = pOS_ChangeWindowBox
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        SLONG left,
        SLONG top,
        SLONG width,
        SLONG height
      );

  FUNCTION
    Moving/expanding/reducing a window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window to change
    left (_R_D0)
      New left edge of the window
    top (_R_D1)
      New top edge of the window
    width (_R_D2)
      New width of the window
    height (_R_D3)
      New height of the window

  RESULT
    res (_R_D0)
      TRUE if the window is in the desired position and has the right size.
      Else FALSE if a coordinate is invalid, or the window could not be changed
      in terms of position/size.  

  ANNOTATION
    In order to prevent the value from being changed ~0 can be entered for
    left, top, width, height. The limiting values set by using
    pOS_SetWindowLimits() are observed.

  SEE ALSO
    pOS_OpenWindow(), pOS_SetWindowLimits(), pOS_ZipWindow(),
    pOS_WindowToFront(), pOS_WindowToBack()

  AMIGA FUNCTION
    VOID ChangeWindowBox(struct Window *window, LONG left, LONG top, LONG width, LONG height);


pintui.library/pOS_ModifyIDCMP (V_1)

  PROTOTYPE
    BOOL res = pOS_ModifyIDCMP
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        ULONG idcmp
      );

  FUNCTION
    Changing IDCMP flags of a window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer to the window of which the IDCMP flags are to be changed
    idcmp (_R_D0) <pIntui/IntuiMsg.h> (enum pOS_IntuiMessageClass)
      New IDCMP values. Several values can be associated with 'or'.

      IDCMP_NewSize - window was being expanded 
      IDCMP_RefreshWindow - contents of window have to be restored
      IDCMP_MouseButtons - mouse button was being pressed
      IDCMP_MouseMove - mouse was being moved
      IDCMP_GadgetDown - gadget was being pushed in (GACT_Immediate)
      IDCMP_GadgetUp - gadget was being pushed out,
                       input complete (GACT_RelVerify)
      IDCMP_GadgetAbort - gadget-input was being canceled (right mouse button)
      IDCMP_MenuPick - menu point was being selected
      IDCMP_CloseWindow - CloseGadget was being activated (SCRTAGF_CloseGadget)
      IDCMP_RawKey - raw keyboard-input
      IDCMP_DragDrop - DragDrop was being processed
      IDCMP_ActiveWindow - window was being activated 
      IDCMP_InactiveWindow - window was being de-activated
      IDCMP_UpdateGadget - gadget has changed during keyboard input.
                           Is send to GadgetDown first. For example
                           a slider was being moved, a text was being entered. 
      IDCMP_VanillaKey - processed keyboard input, only Ascii characters.
                         All other inputs are sent as IDCMP_RawKey.
      IDCMP_IntuiTicks - 10 ticks per second are sent when window is
                         active. If the ticks are not processed, the
                         transmitting source will pause.
      IDCMP_ChangeWindow - window was being expanded or moved
      IDCMP_Help - help was being triggered off

      IDCMP_StdSysMsg - bits for the common standard gadget classes


  RESULT
    res (_R_D0)
      TRUE if the new parameters could be set.
      FALSE if an error occurs (not enough memory for new message port)

  ANNOTATION
    If there are no IDCMP-Flags available for the window so far, a new
    message port is created by using the new flags. In case ZERO
    is entered for idcmp, an existing message port will be removed.
    In case the window has been notified about the port by using
    SCRTAG_SharedUserPort, the port will never be removed. 

  SEE ALSO
    pOS_OpenWindowA(), pOS_ModifySharedIDCMP()

  AMIGA FUNCTION
    LONG ModifyIDCMP(struct Window *window, ULONG idcmp);


pintui.library/pOS_ModifySharedIDCMP (V_1)

  PROTOTYPE
    BOOL res = pOS_ModifySharedIDCMP
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        ULONG idcmp,
        ULONG mask
      );

  FUNCTION
    Changing the SharedIDCMP flags of a window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer to the window of which the SharedIDCMP flags are to
      be changed
    idcmp (_R_D0)
      New IDCMP values. Several values can be associated with 'or'.
      See also <pIntui/IntuiMsg.h> (enum pOS_IntuiMessageClass)
    mask (_R_D1)
      All IDCMP's matching this mask and belonging to the window
      are removed correctly from the port without being processed.

  RESULT
    res (_R_D0)
      TRUE if the new parameters could be set.
      FALSE in an error occurs.

  SEE ALSO
    pOS_OpenWindowA(), pOS_ModifyIDCMP()

  AMIGA FUNCTION
    %


pintui.library/pOS_WindowToFront (V_1)

  PROTOTYPE
    BOOL res = pOS_WindowToFront
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Causing a window to pop to the front.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window to be the frontmost window. 

  RESULT
    res (_R_D0)
      TRUE if the window is the frontmost window,
      FALSE if an error occurs (not enough memory)

  SEE ALSO
    pOS_OpenWindowA(), pOS_WindowToBack()

  AMIGA FUNCTION
    VOID WindowToFront(struct Window *window);


pintui.library/pOS_WindowToBack (V_1)

  PROTOTYPE
    BOOL res = pOS_WindowToBack
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Causing a window to pop behind a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window to be behind all other windows.

  RESULT
    res (_R_D0)
      TRUE if the window is behind all other windows,
      FALSE if an error occurs (not enough memory)

  SEE ALSO
    pOS_OpenWindowA(), pOS_WindowToFront()

  AMIGA FUNCTION
    VOID WindowToBack(struct Window *window);


pintui.library/pOS_BeginRefresh (V_1)

  PROTOTYPE
    BOOL res = pOS_BeginRefresh
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_List *list
      );

  FUNCTION
    Preparing a window for a refresh

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window to be refreshed
    list (_R_A1) (Nodes of the type const struct pOS_RegionRectangle*)
      List for Clip areas of the window
      or ZERO.

  RESULT
    res (_R_D0)
      FALSE if nothing refreshable is present or there is not enough
      memory available, else TRUE. In this case pOS_EndRefresh() has
      to be used.

  ANNOTATION
    As no clipping is allowed during the refresh procedure, the
    corresponding Clip areas can be determined with the help of
    the list. See also pOS_BeginLayerUpdate()

  SEE ALSO
    pOS_EndRefresh()

  AMIGA FUNCTION
    VOID BeginRefresh(struct Window *window);


pintui.library/pOS_EndRefresh (V_1)

  PROTOTYPE
    BOOL res = pOS_EndRefresh
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        ULONG compelte
      );

  FUNCTION
    Terminating the refresh procedure

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window being in the refreshing state
    complete (_R_D0)
      TRUE if the whole restoration has been completed, else FALSE.
      In this case, for example, another function can be used to change
      some properties within the window by using pOS_BeginRefresh() and
      pOS_EndRefresh().

  RESULT
    res (_R_D0)
      Usually TRUE; FALSE if there is not enough memory.

  ANNOTATION
    See also pOS_EndLayerUpdate()

  SEE ALSO
    pOS_BeginRefresh()

  AMIGA FUNCTION
    VOID EndRefresh(struct Window *window, LONG flags);


pintui.library/pOS_RefreshWindowFrame (V_1)

  PROTOTYPE
    VOID pOS_RefreshWindowFrame
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Redrawing the window border, including all border gadgets within
    the window, and also the title bar.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window of which the border, and possibly included
      border gadgets, is to be redrawn  
  SEE ALSO
    pOS_OpenWindow(), pOS_SetWindowTitles(), pOS_BeginRefresh(), pOS_EndRefresh()

  AMIGA FUNCTION
    VOID RefreshWindowFrame(struct Window *window);


pintui.library/pOS_InvalidWindowRect (V_1)

  PROTOTYPE
    VOID pOS_InvalidWindowRect
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_Rectangle *rectangle,
        ULONG mode
      );

  FUNCTION
    Assigning an area within a window as invalid. Subsequently the contents
    of the window are redrawn during the following refresh.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the assigned window
    rectangle (_R_A1)
      Area to be assigned as invalid
    mode (_R_D0)

      INVALWINF_None      - does not trigger out a graphical operation
      INVALWINF_CreateMsg - IDCMP_Refresh message is created 
      INVALWINF_ClearBg   - background is deleted


  SEE ALSO
    pOS_BeginRefresh(), pOS_EndRefresh()

  AMIGA FUNCTION
    %


pintui.library/pOS_ActivateWindow (V_1)

  PROTOTYPE
    VOID pOS_ActivateWindow
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Activating a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window to be activated

  SEE ALSO
    pOS_OpenWindow(), pOS_InactivateWindow()

  AMIGA FUNCTION
    ActivateWindow(struct Window *window);


pintui.library/pOS_ZipWindow (V_1)

  PROTOTYPE
    BOOL res = pOS_ZipWindow
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Setting the values for position and size of a window to
    the alternate zoom values (the same effect as applying
    the ZipGadget on the window border).

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window of which position and size are to be
      changed corresponding to the alternate values.

  RESULT
    res (_R_D0)
      TRUE if the window properties could be changed corresponding
      to the alternate values; else FALSE.

  SEE ALSO
    pOS_OpenWindow()

  AMIGA FUNCTION
    VOID ZipWindow(struct Window *window);



pintui.library/pOS_GetWindowIBox (V_1)

  PROTOTYPE
    VOID pOS_GetWindowIBox
      (
        pOS_IntuiDevice *intuidevice,
        pOS_Window *window,
        pOS_IBox *ibox,
        const pOS_Layer *layer
      );

  FUNCTION
    Calculating the plane within a window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window of which the size values are to be determined
    ibox (_R_A1)
      Pointer at the ibox which is to include the determined data 
    layer (_R_A2)
      for future enhancements; at present ZERO

  SEE ALSO
    %

  AMIGA FUNCTION
    %


pintui.library/pOS_CheckVisibleIBox (V_1)

  PROTOTYPE
    BOOL res = pOS_CheckVisibleIBox
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_IBox *ibox,
        const pOS_Layer *layer
      );

  FUNCTION
    Checking whether the indicated box is (possibly only partly) visible
    within the window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window or ZERO
    ibox (_R_A1)
      pOS_IBox with the coordinates and dimensions to be checked
    layer (_R_A2)
      Pointer at a window layer (relates to several units) or ZERO

  RESULT
    res (_R_D0)
      TRUE if at least one pixel of the ibox is visible within the
      window or layer; else FALSE.

  ANNOTATION
    Either window or layer has to be set.

  SEE ALSO
    pOS_CheckVisibleIRect(), pOS_CheckVisibleRect()

  AMIGA FUNCTION
    %


pintui.library/pOS_CheckVisibleIRect (V_1)

  PROTOTYPE
    BOOL res = pOS_CheckVisibleIRect
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_Rectangle *rectangle,
        const pOS_Layer *layer
      );

  FUNCTION
    Checking whether the indicated box is (possibly only partly) visible
    within the window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window or ZERO
    rectangle (_R_A1)
      pOS_Rectangle with the coordinates to be checked
    layer (_R_A2)
      Pointer at a layer of the window (relates to several units) or ZERO

  RESULT
    res (_R_D0)
      TRUE if at least one Pixel of the ibox is visible within the
      window or layer; else FALSE.

  ANNOTATION
    Either window or layer has to be set.

  SEE ALSO
    pOS_CheckVisibleIBox(), pOS_CheckVisibleRect()

  AMIGA FUNCTION
    %


pintui.library/pOS_SetWindowLimits (V_1)

  PROTOTYPE
    BOOL res = pOS_SetWindowLimits
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        ULONG minwidth,
        ULONG minheight,
        ULONG maxwidth,
        ULONG maxheight
      );

  FUNCTION
    Changing the minimal and maximal size of a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Address of the window of which the minimal and maximal sizes
      are to be changed
    minwidth (_R_D0)
      new minimal width or ZERO for no change
    minheight (_R_D1)
      new minimal height or ZERO for no change
    maxwidth (_R_D2)
      new maximal width or ZERO for no change
    maxheight (_R_D3)
      new maximal height or ZERO for no change

  RESULT
    res (_R_D0)
      TRUE if the new values are valid and have been entered within
      the window; else FALSE.

  ANNOTATION
    All information given relate to the external window edges. If
    necessary, changing the sizes of the window borders has to be
    considered separetely.

  SEE ALSO
    pOS_OpenWindow(), pOS_ZipWindow()

  AMIGA FUNCTION
    LONG WindowLimits(struct Widow *window, LONG minwidth, LONG minheight, LONG maxwidth, LONG maxheight);


pintui.library/pOS_SetWindowTitles (V_1)

  PROTOTYPE
    VOID pOS_SetWindowTitles
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const CHAR *windowtitle,
        const CHAR *screentitle
      );

  FUNCTION
    Setting a new title for a window and screen

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window of which the window title and
      screen title are to be changed
    windowtitle (_R_A1)
      New text for the title line of the window
      or ZERO if a title is not to be displayed
      or ~0 if this isn't to be changed
    screentitle (_R_A2)
      New text for the title line of the screen when the window is active
      or ZERO if a title is not to be displayed
      or ~0 if this is not to be changed

  SEE ALSO
    pOS_OpenScreenA(), pOS_OpenWindow()

  AMIGA FUNCTION
    VOID SetWindowTitles(struct Window *window, STRPTR windowtitle, STRPTR screentitle);


pintui.library/pOS_InactivateWindow (V_1)

  PROTOTYPE
    VOID pOS_InactivateWindow
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Deactivating a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window to be deactivated

  ANNOTATION
    The window will only be deactivated when it is currently active;
    then no window on the screen is active any longer! Otherwise this
    has no influence on other active windows.
  SEE ALSO
    pOS_ActivateWidow()

  AMIGA FUNCTION
    %


pintui.library/pOS_SetWindowBusy (V_1)

  PROTOTYPE
    ULONG res = pOS_SetWindowBusy
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        ULONG status
      );

  FUNCTION
    Changing the readiness of a window concerning receiving inputs

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window of which the readiness for receiving
      inputs is to be changed
    status (_R_D0)

      WINBUSYF_None        - normal state
      WINBUSYF_DisActivate - window ca not be activated
      WINBUSYF_DisDrop     - dropping into window has been refused
      WINBUSYF_DisDrag     - dragging out of window has been refused
      WINBUSYF_Inactivate  - focus has been taken away from window
      WINBUSYF_RemIDCMP    - all IDCMP's related to windows like
                             IDCMP_MouseButtons, IDCMP_GadgetDown,
                             IDCMP_GadgetUp, IDCMP_VanillaKey,
                             IDCMP_RawKey is removed.
                             => prevents late reactions 

  RESULT
    res (_R_D0)
      Old receiving status.

  SEE ALSO
    %

  AMIGA FUNCTION
    %


pintui.library/pOS_SetWindowTask (V_1)

  PROTOTYPE
    pOS_Task *res = pOS_SetWindowTask
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Task *task,
        SLONG priactiv,
        SLONG prideactiv
      );

  FUNCTION
    Changing the task priority of a window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Address of the affected window
    task (_R_A1)
      Task of which the priorities have to be changed depending on
      the current state of the window (active/inactive).
    priactiv (_R_D0)
      Task priority for an active window
    prideactiv (_R_D1)
      Task priority for an inactive window

  RESULT
    res (_R_D0)
      returned task pointer

  ANNOTATION
     With both task priorities more system time can be assigned to
     an active window. When this function is not used, both
     priorities are equal. See also SCRTAG_PriTask, SCRTAG_SetPri

  SEE ALSO
    pexec.library/pOS_SetTaskPriority()

  AMIGA FUNCTION
    %


pintui.library/pOS_AddGadgets (V_1)

  PROTOTYPE
    VOID pOS_AddGadgets
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_List *list
      );

  FUNCTION
    Adding gadgets to a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window into which the gadgets are to be
      placed
    list (_R_A1)
      Pointer at the list containing the gadgets to be placed

  ANNOTATION
    The new gadgets will always be inserted into the end of
    a present gadget list.

  SEE ALSO
    pOS_RemGadgets(), pOS_AddGadget(), pOS_RemGadget()

  AMIGA FUNCTION
    LONG AddGList(struct Window *window, struct Gadget *gadget, LONG position, LONG number, struct Requester *requester);


pintui.library/pOS_RemGadgets (V_1)

  PROTOTYPE
    VOID pOS_RemGadgets
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_Gadget *gadget,
        pOS_List *list,
        ULONG number,
        ULONG reserved
      );

  FUNCTION
    Removing gadgets from a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer auf pIntui-Library
    window (_R_A0)
      Pointer at the window from which the gadgets are to be removed
    gadget (_R_A1)
      Pointer at the first gadget from which all following
      gadgets are to be removed, or ZERO for all window gadgets.
      ATTENTION: when setting ZERO the system gadgets are also
      removed!
    list (_R_A2)
      Pointer at a list to contain the removed gadgets
    number (_R_D0)
      Number of gadgets to remove, ~0 for all following gadgets
    reserved (_R_D1)
      for future enhancements; at present ZERO

  SEE ALSO
    pOS_AddGadgets(), pOS_AddGadget(), pOS_RemGadget()

  AMIGA FUNCTION
    LONG RemoveGList(struct Window *window, struct Gadget *gadget, LONG number);


pintui.library/pOS_AddGadget (V_1)

  PROTOTYPE
    VOID pOS_AddGadget
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Gadget *gadget
      );

  FUNCTION
    Adding a gadget to a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window into which the gadgets are
      to be placed
    gadget (_R_A1)
      Pointer at the gadget to be placed

  ANNOTATION
    The new gadgets will always be inserted into the end of
    a present gadget list.

  SEE ALSO
    pOS_RemGadget(), pOS_AddGadgets(), pOS_RemGadgets()

  AMIGA FUNCTION
    LONG AddGadget(struct Window *window, struct Gadget *gadget, LONG position);


pintui.library/pOS_RemGadget (V_1)

  PROTOTYPE
    VOID pOS_RemGadget
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Gadget *gadget
      );

  FUNCTION
    Removing a gadget from a window

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window from which the gadget
      is to be removed
    gadget (_R_A1)
      Pointer at the gadget to be removed

  SEE ALSO
    pOS_AddGadget(), pOS_AddGadgets(), pOS_RemGadgets()

  AMIGA FUNCTION
    VOID RemoveGaget(struct Window *window, struct Gadget *gadget);


pintui.library/pOS_RefreshGadgets (V_1)

  PROTOTYPE
    VOID pOS_RefreshGadgets
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_Gadget *gadget,
        ULONG number
      );

  FUNCTION
    Redrawing window gadgets

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window on which the gadgets
      are to be redrawn
    gadget (_R_A1)
      Pointer at the first gadget from which all following gadgets
      are to be redrawn, or ZERO for the first gadget.
    number (_R_D0)
      Number of gadgets to be drawn or ~0 for all gadgets.

  ANNOTATION
     If the window contains additional child-layers with gadgets,
     they will not be redrawn. Instead of this they have to be refreshed
     by using topOS_RefreshLayerGadgets().

  SEE ALSO
    pOS_RefreshLayerGadgets(), pOS_RefreshGadgetsMd()

  AMIGA FUNCTION
    VOID RefreshGadgets(struct Gadget *gadget, struct Window *window, struct Requester *requester);


pintui.library/pOS_RefreshLayerGadgets (V_1)

  PROTOTYPE
    VOID pOS_RefreshLayerGadgets
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_Layer *layer
      );

  FUNCTION
    Redrawing window gadget within an additional child-layer

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window including the layer
    layer (_R_A1)
      Pointer at the layer of which gadgets are to be redrawn

  ANNOTATION
    When using several layers within a window, this function 
    has to be called up for every layer containing those gadgets 

  SEE ALSO
    pOS_RefreshGadgets(), pOS_RefreshGadgetsMd()

  AMIGA FUNCTION
    %


pintui.library/pOS_NewIObjectA (V_1)

  PROTOTYPE
    __ARID__ APTR res = pOS_NewIObjectA
      (
        pOS_IntuiDevice *intuibase,
        pOS_NClass *class,
        const CHAR *name,
        ULONG version,
        const pOS_TagItem *tagitem
      );

  FUNCTION
    Creating a new class-object in accordance with the settings.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    class (_R_A0)
      Pointer at a already present class or ZERO
    name (_R_A1)
      Name of choosen class
    version (_R_D0)
      Version of choosen class
    tagitem (_R_A2)
      Description of class properties

  RESULT
    res (_R_D0)
      Pointer at the created class-object which has to be
      released again by using pOS_DisposeIObject(),
      or ZERO if an error occurs.

  ANNOTATION
    Either class or name has to be set.

  SEE ALSO
    pOS_DisposeIObject(), pOS_NewGObject()

  AMIGA FUNCTION
    %


pintui.library/pOS_DisposeIObject (V_1)

  PROTOTYPE
    VOID pOS_DisposeIObject
      (
        pOS_IntuiDevice *intuibase,
        __ARID__ APTR iobject
      );

  FUNCTION
    Releasing a class-object

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    iobject (_R_A0)
      Pointer at the object to be released as it has been
      returned by pOS_NewIObjectA().
      ATTENTION: After using this function, no further access to the 
      pointer is allowed any more.

  SEE ALSO
    pOS_NewIObjectA(), pOS_IObjDisposeList(), pOS_DisposeGObject()

  AMIGA FUNCTION
    %


pintui.library/pOS_SetGadgetAttrsA (V_1)

  PROTOTYPE
    ULONG res = pOS_SetGadgetAttrsA
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Gadget *gadget,
        const pOS_TagItem *tagitem
      );

  FUNCTION
    Changing the attributes of a gadget

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window containing the gadget
      ZERO => In case of a change the Gadget will not be refreshed
              and the gadget semaphore won't be locked. This can
              cause problems when the gadgets are not reentrant.
    gadget (_R_A1)
      Pointer at the gadget to be changed
    tagitem (_R_A2) (enum pOS_IntuiClassTags)
      Tag list containing the class specific arguments to
      be changed

  RESULT
    res (_R_D0)
      class specific return value

  SEE ALSO
    pOS_GetGadgetAttr(), pLib.library/pOS_SetGadgetAttrs(), gadget.class,
    pOS_SetObjectData(), pOS_SetAbsObjectData()

  AMIGA FUNCTION
    ULONG SetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *taglist);
    VOID GT_GetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *taglist);


pintui.library/pOS_GetGadgetAttr (V_1)

  PROTOTYPE
    BOOL res = pOS_GetGadgetAttr
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Gadget *gadget,
        ULONG tagid,
        ULONG *result
      );

  FUNCTION
    Determining attributes of a gadget

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      ZERO => the gadget semaphore is not locked. This can
              cause problems when the gadgets are not reentrant. 

    gadget (_R_A1)
      Pointer at the gadget of which the values are to be determined
    tagid (_R_D0) (enum pOS_IntuiClassTags)
      class specific tag for the value to be determined
    result (_R_A2)
      Variable to contain the value

  RESULT
    res (_R_D0)
      TRUE if the desired values could be determined;
      else FALSE.

  EXAMPLE
    {
      /* determining the slider position of a proportional-gadget */
      ULONG Data;
      pOS_GetGadgetAttr(gb_IntuiBase,window,gadget,ICLTAG_Selected,&Data);
      printf("Aktivzustand = %ld\n",Data);
    }

  SEE ALSO
    pOS_SetGadgetAttrsA(), pOS_GetObjectData(), pOS_GetAbsObjectData()

  AMIGA FUNCTION
    ULONG GetAttr(ULONG id, APTR object, ULONG *attr);
    LONG GT_GetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *taglist);


pintui.library/pOS_ActivateGadget (V_1)

  PROTOTYPE
    BOOL res = pOS_ActivateGadget
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Gadget *gadget
      );

  FUNCTION
    Activating a gadget for input

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window containing the gadget
    gadget (_R_A1)
      Pointer at the gadget to be activated

  RESULT
    res (_R_D0)
      TRUE if the gadget could be activated (usually for input);
      else FALSE

  ANNOTATION
    Usually only TextInput gadgets can be activated. For that
    the window has to be active; no other gadget may be active,
    an it may not be locked against input.     
    ListView gadgets can also be  "activated". The list can be
    scrolled by using the cursor keys. In case it is no
    GACT_FixFocus-Gadget, then the input focus is handed over
    to the new gadget 'gadget'.

  SEE ALSO
    pOS_EnableGadget(), pOS_InactivateGadget(), pOS_IsGadgetActive()

  AMIGA FUNCTION
    LONG ActivateGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester);


pintui.library/pOS_EnableGadget (V_1)

  PROTOTYPE
    VOID pOS_EnableGadget
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Gadget *gadget,
        ULONG enable
      );

  FUNCTION
    Setting, whether a gadget is to be enabled or not

  PARAMETERS
    intuibase (_R_LB)
      Pointer st pIntui-Library
    window (_R_A0)
      Pointer at the window containing the gadget
    gadget (_R_A1)
      Pointer at the gadget of which the property is to
      be changed
    enable (_R_D0)
      1 for enabled
      0 for locked (covered by a grid)

  SEE ALSO
    pOS_ActivateGadget()

  AMIGA FUNCTION
    VOID OnGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester);
    VOID OffGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester);


pintui.library/pOS_RefreshGadgetsMd (V_1)

  PROTOTYPE
    VOID pOS_RefreshGadgetsMd
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_Gadget *gadget,
        ULONG number,
        ULONG mode
      );

  FUNCTION
    Redrawing gadgets by using a mode

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window on which the gadgets are to be
      redrawn
    gadget (_R_A1)
      Pointer at the first gadget from which all following gadgets
      are to be redrawn, or ZERO for the first gadget
    number (_R_D0)
      Number of gadgets to be redrawn or ~0 for all following gadgets
    mode (_R_D1) (enum pOS_GadgetClassRender)
      GCLMTHRE_Update     : only redraw in case of a change
      GCLMTHRE_Redraw     : draw everything
      GCLMTHRE_Toggle     : draw active state
      GCLMTHRE_TickFrame  : display next frame (for animations)
      GCLMTHRE_ToggleDrop : draw drop state

  SEE ALSO
    pOS_RefreshGadgets(), pOS_RefreshLayerGadgets()

  AMIGA FUNCTION
    %


pintui.library/pOS_LayoutGadgets (V_1)

  PROTOTYPE
    VOID pOS_LayoutGadgets
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_IBox *ibox,
        ULONG flags
      );

  FUNCTION
    Function used by the system for calculating the gadget positions
    and gadget sizes for a window.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window of which the gadgets are to be re-calculated
    ibox (_R_A1)
      Area to contain the gadgets  
    flags (_R_D0) (enum pOS_GadgetLayoutFlags)
      GCLMTHLYF_ReSize   : window dimensions
      GCLMTHLYF_AddGList : gadgets were being added
      GCLMTHLYF_Mask     : mask for the type
      GCLMTHLYF_LD       : layouter works with regions (imly_LD)
      GCLMTHLYF_SizeAbort: ReSize stops processing immediately

  SEE ALSO
    pOS_RefreshGadgets(), pOS_RefreshLayerGadgets(),
    pOS_RefreshGadgetsMd()

  AMIGA FUNCTION
    %


pintui.library/pOS_InactivateGadget (V_1)

  PROTOTYPE
    BOOL res = pOS_InactivateGadget
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        pOS_Gadget *gadget
      );

  FUNCTION
    Deactivating a gadget

  PARAMETERS
    intuibase (_R_LB)
      Pointer auf pIntui-Library
    window (_R_A0)
      Pointer at the window containing the gadget
    gadget (_R_A1)
      Pointer at the gadget to be activated

  RESULT
    res (_R_D0)
      TRUE if the gadget was being deactivated, else FALSE.

  ANNOTATION
    The gadget must be active in order to be able to deactivate it.
    No further effect is produced by this function.

  SEE ALSO
    pOS_ActivateGadget(), pOS_Enable(), pOS_InactivateWindow(),
    pOS_IsGadgetActive()

  AMIGA FUNCTION
    %


pintui.library/pOS_IsGadgetActive (V_1)

  PROTOTYPE
    BOOL res = pOS_IsGadgetActive
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window window *window,
        const pOS_Gadget *gadget
      );

  FUNCTION
    Checking whether a gadget is active.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window containing the gadget
    gadget (_R_A1)
      Pointer at the gadget to be checked

  RESULT
    res (_R_D0)
      TRUE if the gadget is active, else FALSE.

  SEE ALSO
    pOS_ActivateGadget(), pOS_InactivateGadget()

  AMIGA FUNCTION
    %


pintui.library/pOS_DrawIObj (V_1)

  PROTOTYPE
    VOID pOS_DrawIObj
      (
        pOS_IntuiDevice *intuibase,
        SLONG x,
        SLONG y,
        const pOS_IntuiObj *intuiobj,
        pOS_RastPort *rastport,
        const pOS_DrawInfo *drawinfo,
        ULONG mode,
        const pOS_Rectangle *rectangle
      );

  FUNCTION
    Drawing a ClassObject

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    x (_R_D0)
      Info about position
    y (_R_D1)
      Info about position
    intuiobj (_R_A0)
      Pointer at the object to be printed out
    rastport (_R_A1)
      Pointer at the RastPort in which the object is to be drawn
    drawinfo (_R_A2)
      Pointer at the graphical output data of the window
    mode (_R_D2) (enum pOS_IObjectDrawMode)
      IOBDMF_Normal       : normal
      IOBDMF_Selected     : selected
      IOBDMF_Disabled     : locked
      IOBDMF_Busy         : not ready
      IOBDMF_Border       : gadget is in border
      IOBDMF_ActiveWindow : window is active
      IOBDMF_Drag         : object in DragMode
      IOBDMF_Drop         : object in DropMode
      IOBDMF_Update       : similar to GCLMTHRE_Update,
                            only draw the changes
    rectangle (_R_A3)
      Clip area. The object is to be drawn within this area.

  SEE ALSO
    pOS_IObjDrawList()

  AMIGA FUNCTION
    %


pintui.library/pOS_IObjDisposeList (V_1)

  PROTOTYPE
    VOID pOS_IObjDisposeList
      (
        pOS_IntuiDevice *intuibase,
        pOS_IntuiObj *intuiobj
      );

  FUNCTION
    Releasing several Class-Objects

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    intuiobj (_R_A0)
      Pointer at the first object in the list. The objects are
      linked to each other by intuiobj->iobj_Next.

  ANNOTATION
    Calls up the function pOS_DisposeIObj() for each object.
    The objects are linked to each otherby 'iobj_Next'.

  SEE ALSO
    pOS_IObjGetBoxList(), pOS_IObjDrawList(), pOS_DisposeIObj()

  AMIGA FUNCTION
    %


pintui.library/pOS_IObjGetBoxList (V_1)

  PROTOTYPE
    VOID pOS_IObjGetBoxList
      (
        pOS_IntuiDevice *intuibase,
        const pOS_IntuiObj *intuiobj,
        pOS_IObjectMethod *method,
        pOS_Rectangle *rectangle
      );

  FUNCTION
    Calculating the maximum size of an Object-List.
    The objects are linked to each other by 'iobj_Next'.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    intuiobj (_R_A0)
      Pointer at the Class-Object. The size of this object
      is to be calculated
    method (_R_A1)
      IOBMTH_GetIBox
    rectangle (_R_A2)
      recepts the result

  SEE ALSO
    pOS_IObjDisposeList()

  AMIGA FUNCTION
    %


pintui.library/pOS_IObjDrawList (V_1)

  PROTOTYPE
    VOID pOS_IObjDrawList
      (
        pOS_IntuiDevice *intuibase,
        const pOS_IntuiObj *intuiobj,
        pOS_IObjectMethod *method,
        const pOS_Rectangle *layoutrect,
        ULONG mode,
        ULONG layout,
        ULONG newtick,
        ULONG oldtick,
        const pOS_Rectangle *rectangle
      );

  FUNCTION
    Drawing several Class-Objects (including animations)

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    intuiobj (_R_A0)
      Pointer at the object to be drawn
    method (_R_A1)
      Data structure for processing. The function sets
        imth_Method           =IOBMTH_DrawAll;
        imth_Draw.imdr_LayBox =layoutrect;
        imth_Draw.imdr_Mode   =mode;
        imth_Draw.imdr_Layout =layout;
        imth_Draw.imdr_ClipBox=rectangle;
        imth_Draw.imdr_FrameNum = is calculated

    layoutrect (_R_A2)
      Sizing area for alignment, corresponds to layout
    mode (_R_D0) (enum pOS_IObjectDrawMode)
    layout (_R_D1) (enum pOS_IObjectClassLayout)
      Refer to gadget.class ICLTAG_RenderLayMode
    newtick (_R_D2)
      recently printed out tick of an animation or 0
    oldtick (_R_D3)
      last printed out tick of an animation or 0 for single images
    rectangle (_R_A3)
      Clip area. The object is to be drawn within this area.

  SEE ALSO
    pOS_DrawIObj()

  AMIGA FUNCTION
    %


pintui.library/pOS_PreLayoutMenu (V_1)

  PROTOTYPE
    ULONG res = pOS_PreLayoutMenu
      (
        pOS_IntuiDevice *intuibase,
        pOS_MenuList *list,
        const pOS_DrawInfo *drawinfo
      );

  FUNCTION
    Precalculating menu entries

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    list (_R_A0)
      Pointer at the list containing the menu description
    drawinfo (_R_A1)
      Pointer at the graphical printout-data of the window

  RESULT
    res (_R_D0)
      Delivers an error code (corresponding to pOS_GetIoErr())
      or 0 for ok.

  SEE ALSO
    pOS_LayoutMenu(), pOS_CreateMenuTagA(), pOS_SetWindowMenu()

  AMIGA FUNCTION
    %


pintui.library/pOS_LayoutMenu (V_1)

  PROTOTYPE
    BOOL res = pOS_LayoutMenu
      (
        pOS_IntuiDevice *intuibase,
        pOS_ExList *list,
        const pOS_DrawInfo *drawinfo,
        SLONG x,
        SLONG y
      );

  FUNCTION
    Calculating the positions of the menu entries

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    list (_R_A0)
      Pointer at the list containing the menu descripion
    drawinfo (_R_A1)
      Pointer at the graphical printout-data of the window
    x (_R_D0)
      Offset to screen for which the menus are to be opened
    y (_R_D1)
      Offset to screen for which the menus are to be opened

  RESULT
    res (_R_D0)
      TRUE if successful, else FALSE. Then pOS_GetIoErr() will
      return the cause of the error.

  SEE ALSO
    pOS_PreLayoutMenu(), pOS_CreateMenuTagA(), pOS_SetWindowMenu()

  AMIGA FUNCTION
    LONG LayoutMenusA(struct Menu *menu, APTR visualinfo, struct TagItem *taglist);


pintui.library/pOS_CreateMenuTagA (V_1)

  PROTOTYPE
    __ARID__ pOS_MenuList *res = pOS_CreateMenuTagA
      (
        pOS_IntuiDevice *intuibase,
        const pOS_DrawInfo *drawinfo,
        const pOS_MenuTag *menutag,
        ULONG *reserved
      );

  FUNCTION
    Storing and installing a menu entry

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    drawinfo (_R_A0)
      Pointer at the graphical printout-data of the window
    menutag (_R_A1)
      Pointer at the description of the new menu entry

      mt_Type (enum pOS_MenuTagType)
        MENUTAGTYP_End      - end marker of the array
        MENUTAGTYP_Title    - menu title (upper bar)
        MENUTAGTYP_Item     - menu entry (selectable area)
        MENUTAGTYP_Sub      - submenu entry (selectable area)
        MENUTAGTYP_ItemBar  - separation line in menu entry
        MENUTAGTYP_SubBar   - separation line in submenu entry

      mt_Lable - text string
      mt_CommKeyMenuItem - a byte test string for the ShortKey
      mt_Flags (enum pOS_MenuItemFlags)
        MENUITF_Disabled  - menu is disabled
        MENUITF_Hook      - menu is enabled for checkmark 
        MENUITF_Toggle    - menu auto checkmark toggle. ON/OFF
        MENUITF_IsChecked - checkmark is set

      mt_MutualExclude
        Excludes other menu entries automatically.
        Refer to <pOS_RKRM/pIntui/WinMenu.c>

      mt_Tags - optional parameter


    reserved (_R_A2)
      for future enhancements; at present ZERO

  RESULT
    res (_R_D0)
      Pointer at the menu entry being created,
      or ZERO if an error has occurred.

  SEE ALSO
    pOS_DeleteMenuTag(), pOS_LayoutMenu()

  AMIGA FUNCTION
    struct Menu *CreateMenusA(struct NewMenu *newmenu, struct TagList *taglist);


pintui.library/pOS_DeleteMenu (V_1)

  PROTOTYPE
    VOID pOS_DeleteMenu
      (
        pOS_IntuiDevice *intuibase,
        __ARID__ pOS_MenuList *list
      );

  FUNCTION
    Releasing menu enrtries

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    list (_R_A0)
      Pointer at the menu description being created by
      pOS_CreateMenuTagA().
      ATTENTION: After using this function, no further
      use of the pointer is allowed any longer.

  SEE ALSO
    pOS_CreateMenuTagA()

  AMIGA FUNCTION
    VOID FreeMenus(struct Menu *menu);


pintui.library/pOS_SetMenuHighLight (V_1)

  PROTOTYPE
    ULONG res = pOS_SetMenuHighLight
      (
        pOS_IntuiDevice *intuibase,
        pOS_MenuDraw *menudraw,
        pOS_MenuItem *menuitem
      );

  FUNCTION
    Function used by the system for highlighting the active menu item

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    menudraw (_R_A0)
      Pointer at the new description of the menu item
    menuitem (_R_A1)
      Pointer at the menu point to be highlighted

  RESULT
    res (_R_D0)
      Delivers the error code (as in pOS_GetIoErr())
      or 0 for ok.

  SEE ALSO
    pOS_CreateMenuTagA()

  AMIGA FUNCTION
    %


pintui.library/pOS_MenuHandleIEvent (V_1)

  PROTOTYPE
    ULONG res = pOS_MenuHandleIEvent
      (
        pOS_IntuiDevice *intuibase,
        pOS_MenuDraw *menudraw,
        const pOS_InputEvent *inputevent
      );

  FUNCTION
    System function for processing InputEvents of a menu

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    menudraw (_R_A0)
      Pointer at the pOS_MenuDraw data, as stated within
     pOS_OpenHandleMenuIEvent()
  
    inputevent (_R_A1)
      Description of the InputEvent to be processed

  RESULT
    res (_R_D0) (enum pOS_MenuClassResult)
      Determines the status
      MCLMTHR_None      : no action
      MCLMTHR_Activate  : activates menu item
      MCLMTHR_AbortIE   : InputEvent won't be handed over
      MCLMTHR_InputDone : terminates InputHandler

  SEE ALSO
    pOS_OpenHandleMenuIEvent()

  AMIGA FUNCTION
    %


pintui.library/pOS_OpenHandleMenuIEvent (V_1)

  PROTOTYPE
    BOOL res = pOS_OpenHandleMenuIEvent
      (
        pOS_IntuiDevice *intuibase,
        pOS_MenuDraw *menudraw
      );

  FUNCTION
    System function for opening an Input-Handler for menus  

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    menudraw (_R_A0)
      Pointer at the pOS_MenuDraw data

  RESULT
    res (_R_D0)
      TRUE if the InputHandler could be created, else FALSE.
      Then pOS_GetIoErr() will return the cause of the error.

  SEE ALSO
    pOS_CloseHandleMenuIEvent(), pOS_MenuHandleIEvent()

  AMIGA FUNCTION
    %


pintui.library/pOS_CloseHandleMenuIEvent (V_1)

  PROTOTYPE
    VOID pOS_CloseHandleMenuIEvent
      (
        pOS_IntuiDevice *intuibase,
        pOS_MenuDraw *menudraw
      );

  FUNCTION
    System function for closing an Input-Handler for menus

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    menudraw (_R_A0)
       Pointer at the pOS_MenuDraw data as stated within
       pOS_OpenHandleMenuIEvent()
      

  SEE ALSO
    pOS_OpenHandleMenuIEvent()

  AMIGA FUNCTION
    %


pintui.library/pOS_GetMenuItemFromNum (V_1)

  PROTOTYPE
    pOS_MenuItem *res = pOS_GetMenuItemFromNum
      (
        pOS_IntuiDevice *intuibase,
        const pOS_ExList *list,
        const pOS_MenuNum *number
      );

  FUNCTION
    Determining the address of a menu item by considering
    its position indicated within the description

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    list (_R_A0)
      Pointer at the raw menu bar
    number (_R_A1)
      Description of the menu item. The address of the menu item
      is to be determined 

      men_Pck[ MENNUPCK_Title ] => number of menu title (0,1,2,...)
                                   ~0 => no menu title selected
      men_Pck[ MENNUPCK_Item ]  => number of menu item (0,1,2,...)
                                   ~0 => no menu item selected
      men_Pck[ MENNUPCK_Sub ]   => number of submenu (0,1,2,...)
                                   ~0 => no submenu selected

  RESULT
    res (_R_D0)
      Determined address of the menu item or
      ZERO in case the entry is not present

  SEE ALSO
    pOS_GetMenuNumFromItem()

  AMIGA FUNCTION
    UWORD MENUNUM(UWORD number);


pintui.library/pOS_GetMenuNumFromItem (V_1)

  PROTOTYPE
    VOID pOS_GetMenuNumFromItem
      (
        pOS_IntuiDevice *intuibase,
        const pOS_MenuItem *menuitem,
        pOS_MenuNum *number
      );

  FUNCTION
    Determining the address of a menu item by considering
    its position indicated within the menu list

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    menuitem (_R_A0)
      Pointer at the menu entry. The position of this menu
      entry is to be determined
    number (_R_A1)
      recepts the determined result

  SEE ALSO
    pOS_GetMenuItemFromNum()

  AMIGA FUNCTION
    %


pintui.library/pOS_SetWindowMenuChecker (V_1)

  PROTOTYPE
    BOOL res = pOS_SetWindowMenuChecker
      (
        pOS_IntuiDevice *intuibase,
        const pOS_Window *window,
        const pOS_MenuNum *menunum,
        BOOL set
      );

  FUNCTION
    Setting/removing the checkmark for a menu item 

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window containing the menu
    menunum (_R_A1)
    set (_R_D0)
      TRUE for checkmark set
      FALSE for checkmark not set

  RESULT
    res (_R_D0)
      TRUE if menu item could be checked, else FALSE.

  SEE ALSO
    pOS_GetWindowMenuChecker()

  AMIGA FUNCTION
    %


pintui.library/pOS_GetWindowMenuChecker (V_1)

  PROTOTYPE
    SLONG res = pOS_GetWindowMenuChecker
      (
        pOS_IntuiDevice *intuibase,
        const pOS_Window *window,
        const pOS_MenuNum *number
      );

  FUNCTION
    Determining whether a menu item is checked

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window containing the menu
    number (_R_A1)
      Position of the menu item to be examined

  RESULT
    res (_R_D0)
      TRUE if the menu entry is checked,
      else FALSE

  SEE ALSO
    pOS_SetWindowMenuChecker()

  AMIGA FUNCTION
    %


pintui.library/pOS_EnableWindowMenu (V_1)

  PROTOTYPE
    BOOL res = pOS_EnableWindowMenu
      (
        pOS_IntuiDevice *intuibase,
        const pOS_Window *window,
        const pOS_MenuNum *menunum,
        BOOL enable
      );

  FUNCTION
    Setting, whether it is to be enabled or not

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window containing the menu
    menunum (_R_A1)
      Pointer at the menu entry of which the property is
      to be changed
    enable (_R_D0)
      TRUE to enable the menu item,
      FALSE to lock the menu item.
      For main menus, all menu items are locked. For normal menus,
      all sub menus possibly present are locked

  RESULT
    res (_R_D0)
      TRUE if the desired effect could be archieved; else FALSE.

  SEE ALSO
    pOS_SetWindowMenu()

  AMIGA FUNCTION
    %


pintui.library/pOS_CreateBubbleHelpA (V_1)

  PROTOTYPE
    __ARID__ pOS_BubbleHelp *res = pOS_CreateBubbleHelpA
      (
        pOS_IntuiDevice *intuibase,
        const pOS_TagItem *tagitem
      );

  FUNCTION
    System function for creating s BubbleHelp structure
    by using a description

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    tagitem (_R_A0) (enum pOS_IntuiBubTags)
      BUBTAG_Screen  : corresponding screen
      BUBTAG_Text    : help text
      BUBTAG_HotSpot : reference position
      BUBTAG_Type    : BUBTYP_Point or BUBTYP_Round

  RESULT
    res (_R_D0)
      Pointer at the created structure which has to be removed again
      by using pOS_DeleteBubbleHelp(); or ZERO if an error has occurred
     
  SEE ALSO
    pOS_DeleteBubbleHelp()

  AMIGA FUNCTION
    %


pintui.library/pOS_DeleteBubbleHelp (V_1)

  PROTOTYPE
    VOID pOS_DeleteBubbleHelp
      (
        pOS_IntuiDevice *intuibase,
        __ARID__ pOS_BubbleHelp *bubblehelp
      );

  FUNCTION
    System function for releasing a BubbleHelp structure

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    bubblehelp (_R_A0)
      Pointer at the BubbleHelp structure to be released. This pointer
      was being delivered by pOS_CreateBubbleHelpA().

  SEE ALSO
    pOS_CreateBubbleHelpA()

  AMIGA FUNCTION
    %


pintui.library/pOS_CreateRequestWinA (V_1)

  PROTOTYPE
    pOS_Window *res = pOS_CreateRequestWinA
      (
        pOS_IntuiDevice *intuibase,
        const pOS_TagItem *tagitem
      );

  FUNCTION
    Creating and displaying a standard requester

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    tagitem (_R_A0) (enum pOS_EasyTags)

      EASYTAG_ButLine (const CHAR*)
        Button-String. Single gadges are separated by '|'. For example
        "Ok|Search|Cancel" => creates 3 Gadget: "Ok" "Search" "Cancel"
        In case a '_' is added, the gadget is provided with a ShortKey.
        During the message-anylysing process the leftmost gadget always
        has the value 1 (TRUE) and the rightmost gadget always has the
        value 0 (FALSE). Additional gadgets are assigned with a greater
        value (top: "Search" == 2)

      EASYTAG_BodyLine (const CHAR*)
        Explaining text to be displayed. A line feed can be inserted by
        using 'LF'.

      EASYTAG_ES (const pOS_EasyStruct*)
        Read requester data from standard structure, or ZERO.

      EASYTAG_Args (const ULONG*)
        Argument-Array for 'RawDoFmt'.
        First EASYTAG_BodyLine is interpreted. EASYTAG_ButLine is
        then right after it.

      EASYTAG_Gadget (pOS_Gadget*)
        Several pointers or ZERO-pointer at the gadget which has already
        been created. All gadgets of this kind are positioned
        vertically, and the window becomes re-sizeable. All existing
        gadgets are not deleted automatically during a WindowClose.
        
      EASYTAG_ActivateGadget (pOS_Gadget*)
        Gadget to be activated during OpenWindow.

      EASYTAG_WindowBusy (struct pOS_Window*)
        Window which is to become 'busy'.
        ZERO => is ignored.

      EASYTAG_Type (enum pOS_EasyTypes)
        Type of requester.

      EASYTAG_GfxFile (const dosname_t*)
        Image file to be displayed.

      EASYTAG_OkGadget (const pOS_Gadget*)
        Gadget which shall trigger off the Requester-Ok.
        ~0 => Gadget-ID is read (>0 => OK)

      EASYTAG_CancelGadget (const pOS_Gadget*)
        Gadget which shall trigger off the Requester-Cancel.

      EASYTAG_Title (const CHAR*)
        Window title within Requester

      EASYTAG_Screen (pOS_Screen*)
        Screen on which the requester is to be opened.

      SCRTAG_PubName (const CHAR*)
        PubScreen on which the requester is to be opened.

      SCRTAG_IDCMP (ULONG)
        IDCMP-Message, on which the requester shall react.
        Default = IDCMP_GadgetUp | IDCMP_VanillaKey | IDCMP_IntuiTicks;


  RESULT
    res (_R_D0)
      Pointer at the created window structure for the dialogue requester
      or ZERO if an error has occurred (insufficient memory).

  SEE ALSO
    pOS_DeleteRequestWin(), pOS_EasyRequestArgs()

  AMIGA FUNCTION
    struct Window *BuildEasyRequestArgs(struct Window *window, struct EasyStruct *easystruct, ULONG idcmpflags, APTR args);
    struct Window *BuildSysRequest(struct Window *window, struct IntuiText *bodytext,
                   struct IntuiText *positivetext, struct IntuiText *negativetext,
                   ULONG flags, LONG width, LONG height);


pintui.library/pOS_DeleteRequestWin (V_1)

  PROTOTYPE
    VOID pOS_DeleteRequestWin
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window
      );

  FUNCTION
    Closing and removing a standard requester

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the window data being delivered by
      pOS_CreateRequestWinA().

  SEE ALSO
    pOS_CreateRequestWinA()

  AMIGA FUNCTION
    VOID FreeSysRequest(struct Window *window);


pintui.library/pOS_EasyRequestArgs (V_1)

  PROTOTYPE
    SLONG res = pOS_EasyRequestArgs
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        const pOS_EasyStruct *easystruct,
        ULONG *idcmp,
        const ULONG *array
      );

  FUNCTION
    Printing out a standard requester and waiting for a
    confirmation by the user

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at window to which the Easy-Requester belongs,
      or ZERO for the default public screen.
    easystruct (_R_A1)
      Pointer at the description data of the requester
    idcmp (_R_A2)
      Pointer at IDCMP flags; those can cause the
      closure of the requester, or ZERO. 

       es_StructSize - sizeof(struct pOS_EasyStruct) */
       es_Flags - 0
       es_Type - (enum pOS_EasyTypes) (EASYTAG_Type)
       es_Title - title (EASYTAG_Title)
       es_TextFormat - (EASYTAG_BodyLine)
       es_GadgetFormat - (EASYTAG_ButLine)
       es_HelpID - Window-HelpID, ZERO => default
       es_HelpFile - Window-HelpFile, ZERO => default
       es_Tags - (enum pOS_EasyTags) or ZERO

    array (_R_A3)
      Argument which is analysed and inserted, corresponding to
      easystruct->es_TextFormat.

  RESULT
    res (_R_D0)
      ID of the clicked gadget: leftmost begins with 1, rightmost
      (usually abort or no) 0.
      For more exact info refer to pOS_RequestWinHandler().

  SEE ALSO
   pOS_CreateRequestWinA(), pOS_RequestWinHandler()

  AMIGA FUNCTION
    LONG EasyRequestArgs(struct Widow *window, struct EasyStruct *easystruct, ULONG *idcmpflags, APTR args);


pintui.library/pOS_RequestWinHandler (V_1)

  PROTOTYPE
    SLONG res = pOS_RequestWinHandler
      (
        pOS_IntuiDevice *intuibase,
        pOS_Window *window,
        ULONG *idcmp,
        BOOL wait
      );

  FUNCTION
    Processing inputs of a standard requester

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    window (_R_A0)
      Pointer at the requester as being delivered by
      pOS_CreateRequestWinA()
    idcmp (_R_A1)
      Pointer at IDCMP flags; those can cause the
      closure of the requester, or ZERO.
    wait (_R_D0)
      TRUE if it shall wait for a message; FALSE if the
      function shall return immediately.

  RESULT
    res (_R_D0)
      ID of the clicked gadget: leftmost begins with 1, rightmost
      (usually abort or no) 0, or -1 if a set IDCMP-Signal has occurred.
      In this case the idcmp-Variable contains the arrived signal.
      -2 no message is present (for wait = FALSE)
      In case there is not enough memory, also 0 (as for abort) will be
      returned.  

  SEE ALSO
   pOS_CreateRequestWinA(), pOS_DeleteRequestWin(),
   pOS_EasyRequestArgs()

  AMIGA FUNCTION
    LONG SysReqHandler(struct Window *window, ULONG *idcmpflags, LONG wait);


pintui.library/pOS_AddDrag (V_1)

  PROTOTYPE
    VOID pOS_AddDrag
      (
        pOS_IntuiDevice *intuibase,
        pOS_IntuiUnit *unit,
        pOS_Drag *drag
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    unit (_R_A0)
      Pointer at pIntui-Unit
    drag (_R_A1)

  SEE ALSO
    pOS_RemDrag();

  AMIGA FUNCTION
    %


pintui.library/pOS_RemDrag (V_1)

  PROTOTYPE
    VOID pOS_RemDrag
      (
        pOS_IntuiDevice *intuibase,
        pOS_IntuiUnit *unit,
        pOS_Drag *drag
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer auf pIntui-Library
    unit (_R_A0)
      Pointer at pIntui-Unit
    drag (_R_A1)

  SEE ALSO
    pOS_AddDrag()

  AMIGA FUNCTION
    %


pintui.library/pOS_CreateDragA (V_1)

  PROTOTYPE
    __ARID__ pOS_Drag *res = pOS_CreateDragA
      (
        pOS_IntuiDevice *intuibase,
        const pOS_TagItem *taglist
      );

  FUNCTION
    The gadget is able to provide a DragObject to the system
    by using 'GCLMTH_BeginDrag'.

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    taglist (_R_A0) (enum pOS_IntuiDragTags)

      DRAGTAG_Render (pOS_IntuiObj*)
        This object is displayed during the drag operation and should
        symbolize the moving data-object.
      DRAGTAG_LeftEdge (SLONG)
        Offset to the IObjekt.
        'imth_BDrag.imbd_AMouse' => Mouse pointer sticks to the top left corner.

      DRAGTAG_TopEdge (SLONG) - Offset to the IObjekt
      DRAGTAG_GadDrag (pOS_GadgetDrag*)
        Attribute, usually => ( Gadget->gad_Drag )

      DRAGTAG_AutoDT (BOOL)
        The corresponding DtType is created automatically by IObjekt.
        (This can not be done with any IObject)

      DRAGTAG_DeleteRender (BOOL)
        The IObject being set during DRAGTAG_Render is deleted at the end.
        (pOS_DisposeIObject();)



  RESULT
    res (_R_D0)
      Pointer at the DragObjekt being created. It has to be released
      again by using pOS_DeleteDrag(); or ZERO if an error occurs.
      Usually the GadgetDispatcher will return the object within
      'imth_BDrag.imbd_Result'.

  SEE ALSO
    pOS_DeleteDrag()

  AMIGA FUNCTION
    %


pintui.library/pOS_DeleteDrag (V_1)

  PROTOTYPE
    VOID pOS_DeleteDrag
      (
        pOS_IntuiDevice *intuibase,
        __ARID__ pOS_Drag *drag
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    drag (_R_A0)
      Pointer, returned by pOS_CreateDragA(), at the DragObject which
      is to be deleted.
      ATTENTION: after using this function, further use of this pointer
      is not allowed.

  SEE ALSO
    pOS_CreateDragA()

  AMIGA FUNCTION
    %


pintui.library/pOS_CreateDragGfx (V_1)

  PROTOTYPE
    BOOL res = pOS_CreateDragGfx
      (
        pOS_IntuiDevice *intuibase,
        pOS_RastPort *rastport,
        pOS_Drag *drag
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    rastport (_R_A0)
      Pointer at the RastPort in which the DragObject is to be drawn
    drag (_R_A1)
      DragObject to be created for graphical display

  RESULT
    res (_R_D0)
      TRUE if the graphical DragObject had been created,
      else FALSE.

  SEE ALSO
    pOS_DeleteDragGfx(), pOS_CreateDragListGfx()

  AMIGA FUNCTION
    %


pintui.library/pOS_DeleteDragGfx (V_1)

  PROTOTYPE
    VOID pOS_DeleteDragGfx
      (
        pOS_IntuiDevice *intuibase,
        pOS_Drag *drag
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    drag (_R_A0)
      Pointer at the Drag-Object from which the
      graphical output is to be removed;
      Pointer like the one returned by pOS_CreateDragGfx()

  SEE ALSO
    pOS_CreateDragGfx(), pOS_DeleteDragListGfx()

  AMIGA FUNCTION
    %


pintui.library/pOS_ConstructDragList (V_1)

  PROTOTYPE
    VOID pOS_ConstructDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)

  SEE ALSO
    pOS_DestructDragList()

  AMIGA FUNCTION
    %


pintui.library/pOS_DestructDragList (V_1)

  PROTOTYPE
    VOID pOS_DestructDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)
      Pointer is used like in pOS_ConstructDragList()

  SEE ALSO
    pOS_ConstructDragList()

  AMIGA FUNCTION
    %


pintui.library/pOS_LayoutDragList (V_1)

  PROTOTYPE
    BOOL res = pOS_LayoutDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist,
        pOS_RastPort *rastport
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)
    rastport (_R_A1)

  RESULT
    res (_R_D0)
      TRUE if ;
      else FALSE.

  SEE ALSO
    pOS_ConstructDragList(), pOS_CreateDragListGfx(),
    pOS_RenderDragList()

  AMIGA FUNCTION
    %


pintui.library/pOS_CreateDragListGfx (V_1)

  PROTOTYPE
    BOOL res = pOS_CreateDragListGfx
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist,
        pOS_RastPort *rastport
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)
    rastport (_R_A1)

  RESULT
    res (_R_D0)
      TRUE if ;
      else FALSE.

  SEE ALSO
    pOS_DeleteDragListGfx()

  AMIGA FUNCTION
    %


pintui.library/pOS_DeleteDragListGfx (V_1)

  PROTOTYPE
    VOID pOS_DeleteDragListGfx
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)

  SEE ALSO
    pOS_CreateDragListGfx()

  AMIGA FUNCTION
    %


pintui.library/pOS_RenderDragList (V_1)

  PROTOTYPE
    VOID pOS_RenderDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist,
        ULONG mode
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)
    mode (_R_D0)
      draw modus

  SEE ALSO
    pOS_LayoutDragList()

  AMIGA FUNCTION
    %


pintui.library/pOS_MoveDragList (V_1)

  PROTOTYPE
    VOID pOS_MoveDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *darglist,
        SLONG dx,
        SLONG dy,
        ULONG mode
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)
    dx (_R_D0)
      horizontal movement
    dy (_R_D1)
      vertical movement
    mode (_R_D2)
      draw modus

  SEE ALSO

  AMIGA FUNCTION
    %


pintui.library/pOS_RestoreDragList (V_1)

  PROTOTYPE
    VOID pOS_RestoreDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)

  SEE ALSO

  AMIGA FUNCTION
    %


pintui.library/pOS_SaveDragList (V_1)

  PROTOTYPE
    VOID pOS_SaveDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist
      );

  FUNCTION
    Function used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)

  SEE ALSO

  AMIGA FUNCTION
    %


pintui.library/pOS_GetDropAttFromDragList (V_1)

  PROTOTYPE
    const pOS_DropAttribute *res = pOS_GetDropAttFromDragList
      (
        pOS_IntuiDevice *intuibase,
        pOS_DragList *draglist,
        const pOS_GadgetDrop *gadgetdrop,
        const pOS_DropAttribute *dropattribute
      );

  FUNCTION
    Funktion used by the system for

  PARAMETERS
    intuibase (_R_LB)
      Pointer at pIntui-Library
    draglist (_R_A0)
    gadgetdrop (_R_A1)
    dropattribute (_R_A2)

  RESULT
    res (_R_D0)

  SEE ALSO

  AMIGA FUNCTION
    %

  END

