Unit 'Intuition' Package
[Overview][Constants][Types][Procedures and functions][Variables][Index] [#aros]

TIntuitionBase

Intuition basic structure

Declaration

Source position: intuition.pas line 1655

type TIntuitionBase = record

  LibNode: TLibrary;

  

Standard Libnode

  ViewLord: TView;

  

  ActiveWindow: PWindow;

  

Currently active Window

  ActiveScreen: PScreen;

  

Currently Active Screen

  FirstScreen: PScreen;

  

for linked list of all screens, the FirstScreen variable points to the frontmost Screen. Screens are then maintained in a front to back order using TScreen.NextScreen

  Flags: LongWord;

  

values are all system private

  MouseX: SmallInt;

  

  MouseY: SmallInt;

  

Current Mouse position

  Seconds: LongWord;

  

timestamp of most current input event [s]

  Micros: LongWord;

  

The data beyond this point has changed, is changing, and will continue to change.

end;

Description

It is sometimes necessary to examine the IntuitionBase structure. Items such as the address of the active screen and window, current mouse coordinates and more can be found there. It is never a good idea to simply read these fields, as they are prone to sudden change. The IntuitionBase structure must always be locked before looking at its fields.

It is necessary to inform Intuition that an application is about to examine IntuitionBase so that Intuition will not change any variables and IntuitionBase will remain static during the access. The call LockIBase(0) will lock the state of IntuitionBase so that it may be examined. During the time that the application has IntuitionBase locked, all Intuition input processing is frozen. Make every effort to examine IntuitionBase and release the lock as quickly as possible. When done call UnlockIBase(lock) where lock is what LockIBase(0) returned.

The values in IntuitionBase are read-only. Applications should never write values to IntuitionBase.


Documentation generated on: 2021-07-30