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

TWindow

Window structure

Declaration

Source position: intuition.pas line 555

type TWindow = record

  NextWindow: PWindow;

  

For the linked list in a screen

  LeftEdge: SmallInt;

  

Left edge of window on the screen

  TopEdge: SmallInt;

  

Top edge of window on the screen

  Width: SmallInt;

  

Width of Window

  Height: SmallInt;

  

Height of Window

  MouseX: SmallInt;

  

X Mouse position relative to upper-left edge of Window

  MouseY: SmallInt;

  

Y Mouse position relative to upper-left edge of Window

  MinWidth: SmallInt;

  

Minimum width for resizeable windows

  MinHeight: SmallInt;

  

Minimum height for resizeable windows

  MaxWidth: Word;

  

Maximum width of resizeable windows

  MaxHeight: Word;

  

Maximum height of resizeable windows

  Flags: LongWord;

  

Window Flags (WFLG_*)

  MenuStrip: PMenu;

  

The strip of menu headers

  Title: PChar;

  

The title text for this window

  FirstRequest: PRequester;

  

All active requesters

  DMRequest: PRequester;

  

Double click requester

  ReqCount: SmallInt;

  

Count of requester blocking Window

  WScreen: PScreen;

  

This Window's Screen

  RPort: PRastPort;

  

This Window's very own RastPort

  BorderLeft: ShortInt;

  

Width of window decoration on the left

  BorderTop: ShortInt;

  

Width of window decoration on the top

  BorderRight: ShortInt;

  

Width of window decoration on the right

  BorderBottom: ShortInt;

  

Width of window decoration on the bottom

  BorderRPort: PRastPort;

  

Rastport to draw on the Border

  FirstGadget: PGadget;

  

You supply a linked-list of Gadgets for your Window. This list does not include system gadgets.

  Parent: PWindow;

  

these are for opening/closing the windows

  Descendant: PWindow;

  

  _Pointer: PWord;

  

sprite data

  PtrHeight: ShortInt;

  

sprite height (not including sprite padding)

  PtrWidth: ShortInt;

  

sprite width (must be less than or equal to 16)

  XOffset: ShortInt;

  

sprite X offset

  YOffset: ShortInt;

  

sprite Y offset

  IDCMPFlags: LongWord;

  

User-selected flags (IDCMP_*)

  UserPort: PMsgPort;

  

User message port

  WindowPort: PMsgPort;

  

Intuition's message port

  MessageKey: PIntuiMessage;

  

  DetailPen: Byte;

  

for bar/border/gadget rendering

  BlockPen: Byte;

  

for bar/border/gadget rendering

  CheckMark: PImage;

  

the CheckMark is a pointer to the imagery that will be used when rendering MenuItems of this Window that want to be checkmarked if this is equal to nil, you'll get the default imagery

  ScreenTitle: PChar;

  

if non-nil, Screen title when Window is active

  GZZMouseX: SmallInt;

  

These variables have the mouse coordinates relative to the

  GZZMouseY: SmallInt;

  

inner-Window of GIMMEZEROZERO Windows.

  GZZWidth: SmallInt;

  

width of the inner-Window of GIMMEZEROZERO Windows

  GZZHeight: SmallInt;

  

height of the inner-Window of GIMMEZEROZERO Windows

  ExtData: PByte;

  

general-purpose pointer to User data extension

  UserData: PSmallInt;

  

general-purpose pointer to User data extension

  WLayer: PLayer;

  

Layer of the window

  IFont: PTextFont;

  

  MoreFlags: LongWord;

  

  RelLeftEdge: SmallInt;

  

relative coordinates of the window to its parent window. If it is

  RelTopEdge: SmallInt;

  

a window on the screen then these are the same as LeftEdge and TopEdge.

  FirstChild: PWindow;

  

pointer to first child

  PrevChild: PWindow;

  

if window is a child of a window

  NextChild: PWindow;

  

then they are concatenated here.

  Parent2: PWindow;

  

parent of this window

end;

Description

The border variables describe the window border. If you specify WA_GIMMEZEROZERO when you open the window, then the upper-left of the ClipRect for this window will be upper-left of the BitMap (with correct offsets when in SuperBitMap mode; you must select WA_GIMMEZEROZERO when using SuperBitMap). If you don't specify ZeroZero, then you save memory (no allocation of RastPort, Layer, ClipRect and associated Bitmaps), but you also must offset all your writes by BorderTop, BorderLeft and do your own mini-clipping to prevent writing over the system gadgets


Documentation generated on: 2021-07-30