Deus Ex Documentation::Extension

BorderWindow.uc (extends Window)

var const texture borderLeft;
var const texture borderTopLeft;
var const texture borderTop;
var const texture borderTopRight;
var const texture borderRight;
var const texture borderBottomRight;
var const texture borderBottom;
var const texture borderBottomLeft;
var const texture center;
var const texture moveCursor;
var const texture hMoveCursor;
var const texture vMoveCursor;
var const texture tlMoveCursor;
var const texture trMoveCursor;
var EDrawStyle borderStyle; // Solid, translucent or masked
var bool bSmoothBorder; // TRUE if the borders should be smoothed
var bool bStretchBorder; // TRUE=stretched, FALSE=repeated tile
var const bool bResizeable; // TRUE if the user can resize by dragging
var const bool bMarginsFromBorder; // TRUE if child margins are based on borders
var float childLeftMargin;
var float childRightMargin;
var float childTopMargin;
var float childBottomMargin;
var private float leftMargin;
var private float rightMargin;
var private float topMargin;
var private float bottomMargin;
var private bool bLeftDrag;
var private bool bRightDrag;
var private bool bUpDrag;
var private bool bDownDrag;
var private float lastMouseX;
var private float lastMouseY;
var private float dragX;
var private float dragY;
var private float dragWidth;
var private float dragHeight;

BaseMarginsFromBorder (optional bool bBorder) | native

EnableResizing (optional bool bResize) | native

SetBorderStyle (EDrawStyle newBorderStyle)


borderStyle = newBorderStyle;

SmoothBorder (bool bNewSmoothBorder)


bSmoothBorder = bNewSmoothBorder;

StretchBorder (bool bNewStretchBorder)


bStretchBorder = bNewStretchBorder;




ButtonWindow.uc (extends TextWindow)

var texture tx;
var color tlColor;
var color txColor;
var const bool bButtonPressed;
var const bool bMousePressed;
var const bool bAutoRepeat;
var const bool bEnableRightMouseClick;
var const float activateDelay;
var const float initialDelay;
var const float repeatRate;
var const texture curTexture;
var const color curTileColor;
var const color curTextColor;
var private sound pressSound;
var private sound clickSound;
var private int activateTimer;
var private float repeatTime;
var private EInputKey lastInputKey;
var private ButtonDisplayInfo info[6];

AcceleratorKeyPressed (string key) -> bool


local bool retval;


retval = Super.AcceleratorKeyPressed(key);

if (!retval)
{
PressButton();

retval = true;
}

return retval;

ActivateButton (EInputKey key) | native

EnableRightMouseClick (optional bool bEnable) | native

PressButton (optional EInputKey key) | native

SetActivateDelay (optional float newDelay) | native

VirtualKeyPressed (EInputKey key, bool bRepeat) -> bool


local bool retval;


retval = Super.VirtualKeyPressed(key, bRepeat);

if ((key == IK_Enter) || (key == IK_Space))
{
PressButton(key);

retval = TRUE;
}

return retval;




CheckboxWindow.uc (extends ToggleWindow)

var const texture toggleOff;
var const texture toggleOn;
var const float textureWidth;
var const float textureHeight;
var const float checkboxSpacing;
var const bool bRightSide;
var const EDrawStyle checkboxStyle;
var const Color checkboxColor;
toggleOff=Texture'Extension.CheckboxOff'
toggleOn=Texture'Extension.CheckboxOn'

SetCheckboxColor (Color newColor) | native

SetCheckboxColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetCheckboxColor(newColor);

SetCheckboxSpacing (float newSpacing) | native

SetCheckboxStyle (EDrawStyle newStyle) | native

ShowCheckboxOnRightSide (optional bool bRight) | native




ClipWindow.uc (extends TabGroupWindow)

var const int childH;
var const int childV;
var const int prefHUnits;
var const int prefVUnits;
var const bool bForceChildWidth;
var const bool bForceChildHeight;
var const bool bSnapToUnits;
var const bool bFillWindow;
var private int areaHSize;
var private int areaVSize;
var private int childHSize;
var private int childVSize;
var private float hMult;
var private float vMult;

EnableSnapToUnits (optional bool bNewSnapToUnits) | native

GetChild | native

GetChildPosition (out int pNewX, out int pNewY) | native

ResetUnitHeight | native

ResetUnitSize | native

ResetUnitWidth | native

SetChildPosition (int newX, int newY) | native

SetUnitHeight (int vUnits) | native

SetUnitSize (int hUnits, int vUnits) | native

SetUnitWidth (int hUnits) | native




ComputerWindow.uc (extends Window)

var Float eventTimeInterval; // Timing between each event displayed
var Float timeNextEvent; // Time of next event
var Float timeLastEvent; // Time of last event added
var Float timeCurrent; // Current event time
var Float fadeSpeed; // Fade Speed
var Float throttle; // Throttle (speed modifier)
var Float fadeOutTimer; // Used to fade the entire screen out
var Float fadeOutStart; // Starting fade out value
var int textCols; // Number of text cols (for example, 80)
var int textRows; // Number of text rows (for example, 25)
var Font textFont; // Font used to display text
var int fontWidth;
var int fontHeight;
var Color fontColor; // Current Font Color, used when adding text events
var Sound textSound; // Sound to play for each character
var Sound typingSound; // Sound when user types
var Float computerSoundVolume; // Sound Volume
var Bool bWordWrap; // True if Word Wrap is enabled
var Bool bLastLineWrapped; // True if the last line was wrapped
var Bool bInvokeComputerStart; // True if we need to invoke ComputerStart
var Bool bComputerStartInvoked; // True if we've invoked ComputerStart event
var Bool bFirstTick; // True until we've had our first Tick event
var Texture backgroundTextures[6]; // Background textures
var Texture cursorTexture; // Cursor texture, drawn ahead of text
var Color cursorColor; // Cursor Color
var int cursorWidth; // Cursor Width
var int cursorHeight; // Cursor Height
var Float cursorBlinkSpeed; // Cursor Blink Speed
var Bool bCursorVisible; // True if Cursor Visible
var Bool bShowCursor; // Set to False to hide cursor
var Float cursorNextEvent; // Countdown until 0 for next cursor blink change
var Color colGraphicTile; // Color used to draw graphics
var Window textWindow; // Window that text is displayed in
var PlayerPawnExt player; // Pointer to player pawn
var const native DynamicArray displayBuffer; // Pointer to display info
var const native DynamicArray queuedBuffer; // Queued characters
var int queuedBufferStart; // Start of QueuedBuffer we're interested in
var int textX; // Current text X position
var int textY; // Current text Y position
var String inputMask; // Input Mask Character
var EditWindow inputWindow; // Input Window
var Bool bWaitingForKey; // True if we're waiting for a single key
var Bool bEchoKey; // True if echo keypress
var Bool bPauseProcessing; // True if we're pausing processing
var Bool bIgnoreTick; // True if ignoring TICK event
var Bool bGamePaused; // True if the Game is paused
var Bool bIgnoreGamePaused; // True if we're going to ignore the game being paused
throttle=1.000000
textCols=80
textRows=24
fontWidth=8
fontHeight=20
FontColor=(R=255,G=255,B=255)
computerSoundVolume=0.500000
bWordWrap=True
bFirstTick=True
cursorTexture=Texture'Extension.Solid'
cursorColor=(R=255,G=255,B=255)
cursorWidth=8
cursorHeight=2
cursorBlinkSpeed=0.500000
bShowCursor=True
colGraphicTile=(R=255,G=255,B=255)

ClearLine (int rowToClear) | native

ClearScreen | native

ComputerFadeOutCompleted

ComputerInputFinished (String inputKey, String inputValue) -> Bool


return False;

ComputerStart -> Bool


return False;

EnableWordWrap (optional Bool bNewWordWrap) | native

FadeOutText (optional Float fadeDuration) | native

GetChar (String inputKey, optional bool bEcho) | native

GetThrottle | native

IsBufferFlushed | native

IsPaused | native

Pause (optional Float pauseLength) | native

PlaySoundLater (Sound newSound) | native

Print (String printText, optional bool bNewLine) | native

PrintLn | native

ResetThrottle | native

Resume | native

SetComputerSoundVolume (Float newSoundVolume) | native

SetCursorBlinkSpeed (Float newBlinkSpeed) | native

SetCursorColor (Color newCursorColor) | native

SetFadeSpeed (Float fadeSpeed) | native

SetFontColor (Color newFontColor) | native

SetGraphicTileColor (Color newColor)


colGraphicTile = newColor;

SetTextFont (Font newFont, int newFontWidth, int newFontHeight, Color newFontColor) | native

SetTextPosition (int posX, int posY) | native

SetTextSize (int newCols, int newRows) | native

SetTextSound (Sound newTextSound) | native

SetTextTiming (Float newTiming) | native

SetTextWindowPosition (int newX, int newY) | native

SetThrottle (float throttleModifier) | native

SetTypingSound (Sound newTypingSound) | native

SetTypingSoundVolume (Float newSoundVolume) | native

ShowTextCursor (optional Bool bShow) | native




EditWindow.uc (extends LargeTextWindow)

var const bool bEditable;
var const bool bSingleLine;
var const bool bUppercaseOnly;
var const int insertPos;
var const int insertHookPos;
var const EInsertionPointType insertType;
var const int selectStart;
var const int selectEnd;
var const int maxSize;
var const texture insertTexture;
var const color insertColor;
var const texture selectTexture;
var const color selectColor;
var const color inverseColor;
var const texture editCursor;
var const texture editCursorShadow;
var const color editCursorColor;
var const sound typeSound;
var const sound deleteSound;
var const sound enterSound;
var const sound moveSound;
var private DynamicArray bufferList;
var private int currentUndo;
var private int maxUndos;
var private int unchangedUndo;
var private float dragDelay;
var private float blinkDelay;
var private float blinkStart;
var private float blinkPeriod;
var private bool bCursorShowing;
var private bool bDragging;
var private bool bSelectWords;
var private float insertX;
var private float insertY;
var private float insertWidth;
var private float insertHeight;
var private float insertPrefWidth;
var private float insertPrefHeight;
var private float showAreaX;
var private float showAreaY;
var private float showAreaWidth;
var private float showAreaHeight;
var private float insertPreferredCol;
var private float lastConfigWidth;
var private float lastConfigHeight;
var private int selectStartRow;
var private int selectEndRow;
var private float selectStartX;
var private float selectEndX;
insertTexture=Texture'Extension.Solid'
selectTexture=Texture'Extension.Solid'

ClearTextChangedFlag | native

ClearUndo | native

Copy | native

Cut | native

DeleteChar (optional bool bBefore, optional bool bUndo) | native

EnableEditing (optional bool bEdit) | native

EnableSingleLineEditing (optional bool bSingle) | native

EnableUppercaseOnly (optional bool bUppercase) | native

FilterChar (out string chStr) -> bool


return true;

GetInsertionPoint | native

GetSelectedArea (out int startPos, out int count) | native

HasTextChanged | native

IsEditingEnabled | native

IsSingleLineEditingEnabled | native

MoveInsertionPoint (EMoveInsert moveInsert, optional bool bDrag) | native

Paste | native

Redo | native

SetInsertionPoint (int newPos, optional bool bDrag) | native

SetInsertionPointTextureRGB (texture newTexture, byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetInsertionPointTexture(newTexture, newColor);

SetMaxSize (int newMaxSize) | native

SetMaxUndos (int newMaxUndos) | native

SetSelectedArea (int startPos, int count) | native

SetSelectedAreaTextColor (optional color newColor) | native

SetSelectedAreaTextColorRGB (byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetSelectedAreaTextColor(newColor);

SetSelectedAreaTextureRGB (texture newTexture, byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetSelectedAreaTexture(newTexture, newColor);

SetTextChangedFlag (optional bool bSet) | native

Undo | native

VirtualKeyPressed (EInputKey key, bool bRepeat) -> bool


local bool retval;
local bool bShift;
local bool bCtrl;
local bool bDrag;
local bool bWord;


retval = Super.VirtualKeyPressed(key, bRepeat);

if (!bEditable)
return (retval);

bShift = IsKeyDown(IK_Shift);
bCtrl = IsKeyDown(IK_Ctrl);
bDrag = bShift;
bWord = bCtrl;

// Movement
if (key == IK_Left)
{
if (bWord)
MoveInsertionPoint(MOVEINSERT_WordLeft, bDrag);
else
MoveInsertionPoint(MOVEINSERT_Left, bDrag);
PlayEditSound(moveSound);
retval = true;
}
else if (key == IK_Right)
{
if (bWord)
MoveInsertionPoint(MOVEINSERT_WordRight, bDrag);
else
MoveInsertionPoint(MOVEINSERT_Right, bDrag);
PlayEditSound(moveSound);
retval = true;
}
else if (key == IK_Up)
{
MoveInsertionPoint(MOVEINSERT_Up, bDrag);
PlayEditSound(moveSound);
retval = true;
}
else if (key == IK_Down)
{
MoveInsertionPoint(MOVEINSERT_Down, bDrag);
PlayEditSound(moveSound);
retval = true;
}
else if (key == IK_PageUp)
{
MoveInsertionPoint(MOVEINSERT_PageUp, bDrag);
PlayEditSound(moveSound);
retval = true;
}
else if (key == IK_PageDown)
{
MoveInsertionPoint(MOVEINSERT_PageDown, bDrag);
PlayEditSound(moveSound);
retval = true;
}
else if (key == IK_Home)
{
if (bWord)
MoveInsertionPoint(MOVEINSERT_Home, bDrag);
else
MoveInsertionPoint(MOVEINSERT_StartOfLine, bDrag);
PlayEditSound(moveSound);
retval = true;
}
else if (key == IK_End)
{
if (bWord)
MoveInsertionPoint(MOVEINSERT_End, bDrag);
else
MoveInsertionPoint(MOVEINSERT_EndOfLine, bDrag);
PlayEditSound(moveSound);
retval = true;
}

// Editing
else if (key == IK_Backspace)
{
PlayEditSound(deleteSound);
DeleteChar(true, true);
retval = true;
}
else if (key == IK_Delete)
{
PlayEditSound(deleteSound);
DeleteChar(false, true);
retval = true;
}
else if (key == IK_Enter)
{
InsertText("|n", true);
retval = true;
}
else if (key == IK_C)
{
PlayEditSound(moveSound);
if (bCtrl)
{
Copy();
retval = true;
}
}
else if (key == IK_X)
{
PlayEditSound(moveSound);
if (bCtrl)
{
Cut();
retval = true;
}
}
else if (key == IK_V)
{
PlayEditSound(moveSound);
if (bCtrl)
{
Paste();
retval = true;
}
}
else if (key == IK_Z)
{
PlayEditSound(moveSound);
if (bCtrl)
{
Undo();
retval = true;
}
}
else if (key == IK_Y)
{
PlayEditSound(moveSound);
if (bCtrl)
{
Redo();
retval = true;
}
}

return (retval);





ExtString.uc (extends Object)

var native private int speechPage;
var native private string text;

AppendText (coerce string newText) | native

GetFirstTextPart (out string outText) | native

GetNextTextPart (out string outText) | native

GetText | native

GetTextLength | native

GetTextPart (int startPos, int count, out string outText) | native

SetText (coerce string newText) | native




ExtensionObject.uc (extends Object)

var const int Num, Max, Ptr;
var float originX, originY;
var float clipX, clipY;
var float clipWidth, clipHeight;

StringToName (coerce string str) | native




Flag.uc (extends ExtensionObject)

var private travel name flagName;
var private travel int flagHash;
var private travel FlagBase flagBase;
var private travel Flag nextFlag;
var private travel EFlagType flagType;
var private travel int expiration;



FlagBase.uc (extends ExtensionObject)

var private travel flag hashTable[64]; // Hash table containing all flags
var private travel int defaultFlagExpiration; // Default flag expiration

CheckFlag (Name flagName, EFlagType flagType) | native

CreateIterator (optional EFlagType flagType) | native

DeleteAllFlags | native

DeleteExpiredFlags (int criteria) | native

DeleteFlag (Name flagName, EFlagType flagType) | native

DestroyIterator (int iterator) | native

FubarCheat


local FlagBool flag1;
local FlagByte flag2;
local FlagInt flag3;
local FlagFloat flag4;
local FlagName flag5;
local FlagVector flag6;
local FlagRotator flag7;


// Do absolutely nothing -- the above variables are only included so
// UnrealScript will load the associated class information from the
// Extension package. Mega-Barf.

GetBool (Name flagName) | native

GetByte (Name flagName) | native

GetExpiration (Name flagName, EFlagType flagType) | native

GetFloat (Name flagName) | native

GetInt (Name flagName) | native

GetName (Name flagName) | native

GetNextFlagName (int iterator, out name flagName) | native

GetRotator (Name flagName) | native

GetVector (Name flagName) | native

SetBool (Name flagName, bool newValue, optional bool bAdd, optional int expiration) | native

SetByte (Name flagName, byte newValue, optional bool bAdd, optional int expiration) | native

SetDefaultExpiration (int expiration) | native

SetExpiration (Name flagName, EFlagType flagType, int expiration) | native

SetFloat (Name flagName, float newValue, optional bool bAdd, optional int expiration) | native

SetInt (Name flagName, int newValue, optional bool bAdd, optional int expiration) | native

SetName (Name flagName, name newValue, optional bool bAdd, optional int expiration) | native

SetRotator (Name flagName, rotator newValue, optional bool bAdd, optional int expiration) | native

SetVector (Name flagName, vector newValue, optional bool bAdd, optional int expiration) | native




FlagBool.uc (extends Flag)

var private travel bool bValue;



FlagByte.uc (extends Flag)

var private travel byte byteValue;



FlagFloat.uc (extends Flag)

var private travel float floatValue;



FlagInt.uc (extends Flag)

var private travel int intValue;



FlagName.uc (extends Flag)

var private travel name nameValue;



FlagRotator.uc (extends Flag)

var private travel rotator rotatorValue;



FlagVector.uc (extends Flag)

var private travel vector vectorValue;



GC.uc (extends ExtensionObject)

var private native Canvas canvas;
var private ClipRect gcClipRect;
var private byte style;
var private bool bSmoothed;
var private bool bDrawEnabled;
var private bool bMasked;
var private bool bTranslucent;
var private bool bModulated;
var private bool bTextTranslucent;
var private int polyFlags;
var private int textPolyFlags;
var private color tileColor;
var private plane tilePlane;
var private color textColor;
var private plane textPlane;
var private font normalFont;
var private font boldFont;
var private texture underlineTexture;
var private float underlineHeight;
var private float baselineOffset;
var private float textVSpacing;
var private EHAlign hAlign;
var private EVAlign vAlign;
var private bool bWordWrap;
var private bool bParseMetachars;
var private int hMultiplier;
var private int vMultiplier;
var private bool bFree;
var private int gcCount;
var private GC gcStack;
var private GC gcFree;
var private GC gcOwner;
underlineTexture=Texture'Extension.Solid'

ClearZ | native

CopyGC (gc copy) | native

EnableDrawing (bool bDrawEnabled) | native

EnableMasking (bool bNewMasking) | native

EnableModulation (bool bNewModulation) | native

EnableSmoothing (bool bNewSmoothing) | native

EnableSpecialText (bool bNewSpecialText) | native

EnableTranslucency (bool bNewTranslucency) | native

EnableTranslucentText (bool bNewTranslucency) | native

EnableWordWrap (bool bNewWordWrap) | native

GetAlignments (out EHAlign hAlign, out EVAlign vAlign) | native

GetFontHeight (optional bool bIncludeSpace) | native

GetFonts (out font normalFont, out font boldFont) | native

GetHorizontalAlignment | native

GetStyle | native

GetTextColor (out color textColor) | native

GetTextVSpacing | native

GetTileColor (out color tileColor) | native

GetVerticalAlignment | native

IsDrawingEnabled | native

IsMaskingEnabled | native

IsModulationEnabled | native

IsSmoothingEnabled | native

IsSpecialTextEnabled | native

IsTranslucencyEnabled | native

IsTranslucentTextEnabled | native

IsWordWrapEnabled | native

PopGC (optional int gcNum) | native

PushGC | native

SetAlignments (EHAlign newHAlign, EVAlign newVAlign) | native

SetBoldFont (font newBoldFont) | native

SetFont (font newFont) | native

SetFonts (font newNormalFont, font newBoldFont) | native

SetHorizontalAlignment (EHAlign newHAlign) | native

SetNormalFont (font newNormalFont) | native

SetStyle (EDrawStyle newStyle) | native

SetTextColor (color newTextColor) | native

SetTextColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetTextColor(newColor);

SetTextVSpacing (float newVSpacing) | native

SetTileColor (color newTileColor) | native

SetTileColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetTileColor(newColor);

SetVerticalAlignment (EVAlign newVAlign) | native




LargeTextWindow.uc (extends TextWindow)

var bool bDirty;
var bool bSpecialText;
var int dirtyStart;
var int dirtyCount;
var font normalFont;
var font boldFont;
var float destWidth;
var const float vSpace;
var const float lineHeight;
var private XTextParams textParams;
var native private DynamicArray rowData;
var private XTextParams queryTextParams;
var native private DynamicArray queryRowData;
var native private DynamicArray tempRowData;

SetVerticalSpacing (optional float newVSpace) | native




ListWindow.uc (extends Window)

var const string delimiter;
var const color inverseColor;
var const texture highlightTexture;
var const texture focusTexture;
var const color highlightColor;
var const color focusColor;
var const float focusThickness;
var const native DynamicArray rows;
var const native DynamicArray cols;
var const bool bAutoSort;
var const bool bAutoExpandColumns;
var const bool bMultiSelect;
var const float colMargin;
var const float rowMargin;
var const bool bHotKeys;
var const int hotKeyCol;
var const float lineSize;
var const sound activateSound;
var const sound moveSound;
var private int numSelected;
var private native int focusLine;
var private native int anchorLine;
var private bool bDragging;
var private int lastIndex;
var private float remainingDelay;
var private string hotKeyString;
var private float hotKeyTimer;
highlightTexture=Texture'Extension.Solid'
focusTexture=Texture'Extension.Dithered'

AddRow (coerce string rowStr, optional int clientData) | native

DeleteAllRows | native

DeleteRow (int rowId) | native

EnableAutoExpandColumns (optional bool bAutoExpand) | native

EnableAutoSort (optional bool bAutoSort) | native

EnableHotKeys (optional bool bEnable) | native

EnableMultiSelect (optional bool bEnableMultiSelect) | native

GetColumnAlignment (int colIndex) | native

GetColumnColor (int colIndex, out color colColor) | native

GetColumnFont (int colIndex) | native

GetColumnTitle (int colIndex) | native

GetColumnType (int colIndex) | native

GetColumnWidth (int colIndex) | native

GetField (int rowId, int colIndex) | native

GetFieldMargins (out float marginWidth, out float marginHeight) | native

GetFieldValue (int rowId, int colIndex) | native

GetFocusRow | native

GetNumColumns | native

GetNumRows | native

GetNumSelectedRows | native

GetPageSize | native

GetRowClientInt (int rowId) | native

GetRowClientObject (int rowId) | native

GetSelectedRow | native

HideColumn (int colIndex, optional bool bHide) | native

IndexToRowId (int index) | native

IsAutoExpandColumnsEnabled | native

IsAutoSortEnabled | native

IsColumnHidden (int colIndex) | native

IsMultiSelectEnabled | native

IsRowSelected (int rowId) | native

ModifyRow (int rowId, coerce string rowStr) | native

RemoveSortColumn (int colIndex) | native

ResetSortColumns (optional bool bSort) | native

ResizeColumns (optional bool bExpandOnly) | native

RowIdToIndex (int rowId) | native

SelectAllRows (optional bool bSelect) | native

SelectRow (int rowId, optional bool bSelect) | native

SetColumnAlignment (int colIndex, EHAlign newAlign) | native

SetColumnColor (int colIndex, color newColor) | native

SetColumnColorRGB (INT colIndex, INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetColumnColor(colIndex, newColor);

SetColumnFont (int colIndex, font newFont) | native

SetColumnTitle (int colIndex, coerce string title) | native

SetColumnType (int colIndex, EColumnType newType, optional coerce string newFmt) | native

SetColumnWidth (int colIndex, float newWidth) | native

SetDelimiter (string newDelimiter) | native

SetField (int rowId, int colIndex, coerce string fieldStr) | native

SetFieldMargins (float newMarginWidth, float newMarginHeight) | native

SetFieldValue (int rowId, int colIndex, float newValue) | native

SetFocusColor (color newColor) | native

SetFocusColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetFocusColor(newColor);

SetFocusRow (int rowId, optional bool bMoveTo, optional bool bAnchor) | native

SetFocusTexture (texture newTexture) | native

SetFocusThickness (float newThickness) | native

SetHighlightColor (color newColor) | native

SetHighlightColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetHighlightColor(newColor);

SetHighlightTextColor (color newColor) | native

SetHighlightTextColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetHighlightTextColor(newColor);

SetHighlightTexture (texture newTexture) | native

SetHotKeyColumn (int colIndex) | native

SetNumColumns (int newCols) | native

SetRowClientInt (int rowId, int clientInt) | native

SetRowClientObject (int rowId, object clientObj) | native

ShowFocusRow | native

Sort | native

ToggleRowSelection (int rowId) | native

VirtualKeyPressed (EInputKey key, bool bRepeat) -> bool


local bool retval;
local bool bDrag;
local bool bSelect;
local bool bClear;


retval = Super.VirtualKeyPressed(key, bRepeat);

bDrag = IsKeyDown(IK_Shift);
bSelect = !IsKeyDown(IK_Ctrl);
bClear = !IsKeyDown(IK_Ctrl);

// Handle keys
switch (key)
{
case IK_Up:
MoveRow(MOVELIST_Up, bSelect, bClear, bDrag);
retval = true;
break;
case IK_Down:
MoveRow(MOVELIST_Down, bSelect, bClear, bDrag);
retval = true;
break;
case IK_PageUp:
MoveRow(MOVELIST_PageUp, bSelect, bClear, bDrag);
retval = true;
break;
case IK_PageDown:
MoveRow(MOVELIST_PageDown, bSelect, bClear, bDrag);
retval = true;
break;
case IK_Home:
MoveRow(MOVELIST_Home, bSelect, bClear, bDrag);
retval = true;
break;
case IK_End:
MoveRow(MOVELIST_End, bSelect, bClear, bDrag);
retval = true;
break;

case IK_Space: // toggle selection
ToggleRowSelection(GetFocusRow());
retval = true;
break;

}

// Return TRUE if we handled this
return (retval);





ModalWindow.uc (extends TabGroupWindow)

var EMouseFocusMode focusMode;
var private Window preferredFocus;
var native private DynamicArray tabGroupWindowList;
var private Window acceleratorTable[0xFF];
var private bool bDirtyAccelerators;

IsCurrentModal | native

SetMouseFocusMode (EMouseFocusMode newFocusMode) | native




PlayerPawnExt.uc (extends PlayerPawn)

var Actor actor;
var int refCount;
var const travel FlagBase flagBase; // Knowledge base for the player
var const transient RootWindow rootWindow; // Root window for window manager
var private ActorRef actorList[32]; // List of valid actors
var private int actorCount; // Count of valid actors

ClientMessage (coerce string msg, optional Name type, optional bool bBeep)


local bool bHandled;


// See if the root window can use this event
bHandled = false;
if (rootWindow != None)
if (rootWindow.ClientMessage(msg, type, bBeep))
bHandled = true;

// If not, call the superclass
if (!bHandled)
Super.ClientMessage(msg, type, bBeep);

Destroyed


Super.Destroyed();

InitRootWindow | native

Possess


Super.Possess();
InitRootWindow();

PostRender (canvas Canvas)


Super.PostRender(Canvas);

PostRenderFlash (canvas Canvas)


PostRenderWindows(Canvas);
Super.PostRenderFlash(Canvas);

PostRenderWindows (canvas Canvas) | native

PreRender (canvas Canvas)


Super.PreRender(Canvas);
PreRenderWindows(Canvas);

PreRenderWindows (canvas Canvas) | native

RenderOverlays (canvas Canvas)


Super.RenderOverlays(Canvas);

SwitchWeapon (byte F)


local weapon newWeapon;


if ( Inventory == None )
return;
if ( (Weapon != None) && (Weapon.Inventory != None) )
newWeapon = Weapon.Inventory.WeaponChange(F);
else
newWeapon = None;
if ( newWeapon == None )
newWeapon = Inventory.WeaponChange(F);
if ( newWeapon == None )
return;

if ( Weapon == None )
{
PendingWeapon = newWeapon;
ChangedWeapon();
}
else if ( (Weapon != newWeapon) && Weapon.PutDown() )
PendingWeapon = newWeapon;




RadioBoxWindow.uc (extends TabGroupWindow)

var bool bOneCheck;
var native private DynamicArray toggleButtons;
var private ToggleWindow currentSelection;

GetEnabledToggle | native




RootWindow.uc (extends ModalWindow)

var const PlayerPawnExt parentPawn; // APlayerPawnExt which owns this win
var private RootWindow nextRootWindow; // Next root window in global list
var private float mouseX; // Cursor X pos
var private float mouseY; // Cursor Y pos
var private float prevMouseX; // Last cursor X pos
var private float prevMouseY; // Last cursor Y pos
var private window lastMouseWindow; // Last window the cursor was in
var private bool bMouseMoved; // TRUE if the mouse moved
var private bool bMouseMoveLocked; // TRUE if mouse movement is disabled
var private bool bMouseButtonLocked; // TRUE if mouse buttons are disabled
var private bool bCursorVisible; // TRUE if the cursor is visible
var private texture defaultEditCursor; // Cursor for edit widgets
var private texture defaultMoveCursor; // General movement cursor
var private texture defaultHorizontalMoveCursor; // Horizontal movement cursor
var private texture defaultVerticalMoveCursor; // Vertical movement cursor
var private texture defaultTopLeftMoveCursor; // Upper left to lower right cursor
var private texture defaultTopRightMoveCursor; // Upper right to lower left cursor
var private bool bPositionalSound; // TRUE if positional sound is enabled
var const window grabbedWindow; // Recipient window for all mouse events
var const window focusWindow; // Recipient window for all keyboard events
var int handleMouseRef; // Should root handle mouse events?
var int handleKeyboardRef; // Should root handle keyboard events?
var int initCount; // Number of windows to be initialized this tick
var private bool bRender; // TRUE if 3D areas should be rendered
var private bool bClipRender; // TRUE if the 3D area is clipped
var private bool bStretchRawBackground; // TRUE if raw background should be stretched
var private float renderX; // X offset of rendered area
var private float renderY; // Y offset of rendered area
var private float renderWidth; // Width of rendered area
var private float renderHeight; // Height of rendered area
var private texture rawBackground; // Background graphic drawn in unrendered areas
var private float rawBackgroundWidth; // Width of background graphic
var private float rawBackgroundHeight; // Height of background graphic
var private color rawColor; // Color of raw background texture
var const int tickCycles; // Number of cycles used during windows tick
var const int paintCycles; // Number of cycles used during PaintWindows call
var bool bShowStats; // Should statistics be shown on root window?
var bool bShowFrames; // Should we draw debugging frames around all windows?
var texture debugTexture; // Debugging texture
var float frameTimer; // Timer used for frames
var float multiClickTimeout; // Max amount of time between multiple button clicks
var private float maxMouseDist; // Maximum mouse distance for multi-click to work
var private int clickCount; // Current click number (zero-based)
var private int lastButtonType; // Last mouse button handled
var private float lastButtonPress; // Time remaining for last button press
var private window lastButtonWindow; // Last window clicked in
var private float firstButtonMouseX; // X position of initial button press
var private float firstButtonMouseY; // Y position of initial button press
var private byte keyDownMap[0xFF]; // State is TRUE if key is pressed
var private int hMultiplier; // Horizontal multiplier
var private int vMultiplier; // Vertical multiplier
var private int snapshotWidth; // Snapshot width
var private int snapshotHeight; // Snapshot height
var private transient int rootFrame; // Transient frame
rawBackground=Texture'Extension.Solid'
debugTexture=Texture'Extension.Solid'

EnablePositionalSound (optional bool bEnable) | native

EnableRendering (optional bool bRender) | native

GenerateSnapshot (optional bool bFilter) | native

GrabKeyboardEvents


handleKeyboardRef++;

GrabMouseEvents


handleMouseRef++;

InitWindow


Super.InitWindow();
SetFont(Font'TechMedium');
SetDefaultCursor(Texture'DefaultCursor');
SetDefaultEditCursor(Texture'DefaultTextCursor');
SetDefaultMovementCursors(Texture'DefaultMoveCursor',
Texture'DefaultHMoveCursor',
Texture'DefaultVMoveCursor',
Texture'DefaultTLMoveCursor',
Texture'DefaultTRMoveCursor');

IsKeyboardGrabbed -> bool


if (handleKeyboardRef > 0)
return true;
else
return false;

IsMouseGrabbed -> bool


if (handleMouseRef > 0)
return true;
else
return false;

IsPositionalSoundEnabled | native

IsRenderingEnabled | native

LockMouse (optional bool bLockMove, optional bool bLockButton) | native

ResetRenderViewport | native

SetDefaultEditCursor (optional texture newEditCursor) | native

SetRawBackgroundSize (float newWidth, float newHeight) | native

SetSnapshotSize (float newWidth, float newHeight) | native

ShowCursor (optional bool bShow) | native

ShowFrames (bool bNewShowFrames)


bShowFrames = bNewShowFrames;

ShowStats (bool bNewShowStats)


bShowStats = bNewShowStats;

StretchRawBackground (optional bool bStretch) | native

Tick (float deltaSeconds)

UngrabKeyboardEvents


if (handleKeyboardRef > 0)
handleKeyboardRef--;

UngrabMouseEvents


if (handleMouseRef > 0)
handleMouseRef--;

VirtualKeyPressed (EInputKey key, bool bRepeat) -> bool


local bool retval;


// Try the superclass first
retval = Super.VirtualKeyPressed(key, bRepeat);

// Didn't handle it -- do it ourselves
if (!retval)
{
retval = true;

// Handle arrow keys
if (key == IK_Left)
MoveFocusLeft();
else if (key == IK_Right)
MoveFocusRight();
else if (key == IK_Up)
MoveFocusUp();
else if (key == IK_Down)
MoveFocusDown();

// Handle tab key
else if (key == IK_Tab)
{
if (IsKeyDown(IK_Shift))
MoveTabGroupPrev();
else
MoveTabGroupNext();
}

// Handle zilch
else
retval = false;
}

// Return TRUE if we handled this event
return (retval);




ScaleManagerWindow.uc (extends Window)

var const buttonwindow decButton;
var const buttonwindow incButton;
var const textwindow valueField;
var const scalewindow scale;
var const EOrientation orientation;
var const bool bStretchScaleField;
var const bool bStretchValueField;
var const float marginWidth;
var const float marginHeight;
var const float spacing;
var const EHAlign childHAlign;
var const EVAlign childVAlign;

SetManagerAlignments (EHAlign newHAlign, EVAlign newVAlign) | native

SetManagerOrientation (EOrientation newOrientation) | native

SetMarginSpacing (optional float newSpacing) | native

SetScale (scalewindow newScale) | native

SetValueField (textwindow newValueField) | native

StretchScaleField (optional bool bNewStretch) | native

StretchValueField (optional bool bNewStretch) | native




ScaleWindow.uc (extends Window)

var const EOrientation orientation;
var const texture scaleTexture;
var const texture thumbTexture;
var const texture tickTexture;
var const texture preCapTexture;
var const texture postCapTexture;
var const bool bRepeatScaleTexture;
var const bool bRepeatThumbTexture;
var const bool bDrawEndTicks;
var const bool bStretchScale;
var const bool bSpanThumb;
var const texture borderPattern;
var const float scaleBorderSize;
var const float thumbBorderSize;
var const color scaleBorderColor;
var const color thumbBorderColor;
var const EDrawStyle scaleStyle;
var const EDrawStyle thumbStyle;
var const EDrawStyle tickStyle;
var const color scaleColor;
var const color thumbColor;
var const color tickColor;
var const float scaleWidth;
var const float scaleHeight;
var const float thumbWidth;
var const float thumbHeight;
var const float tickWidth;
var const float tickHeight;
var const float preCapWidth;
var const float preCapHeight;
var const float postCapWidth;
var const float postCapHeight;
var const float startOffset;
var const float endOffset;
var const float marginWidth;
var const float marginHeight;
var const int numPositions;
var const int currentPos;
var const int spanRange;
var const int thumbStep;
var const float fromValue;
var const float toValue;
var const string valueFmt;
var const float initialDelay;
var const float repeatRate;
var const int initialPos;
var const sound setSound;
var const sound clickSound;
var const sound dragSound;
var private float scaleX;
var private float scaleY;
var private float scaleW;
var private float scaleH;
var private float thumbX;
var private float thumbY;
var private float thumbW;
var private float thumbH;
var private float tickX;
var private float tickY;
var private float tickW;
var private float tickH;
var private float preCapXOff;
var private float preCapYOff;
var private float preCapW;
var private float preCapH;
var private float postCapXOff;
var private float postCapYOff;
var private float postCapW;
var private float postCapH;
var private float absStartScale;
var private float absEndScale;
var private bool bDraggingThumb;
var private float mousePos;
var private byte repeatDir;
var private float remainingTime;
var private native DynamicArray enumStrings;
borderPattern=Texture'Extension.Solid'

ClearAllEnumerations | native

EnableStretchedScale (optional bool bNewStretch) | native

GetNumTicks | native

GetThumbSpan | native

GetTickPosition | native

GetValue | native

GetValueString | native

GetValues (out float fromValue, out float toValue) | native

MoveThumb (EMoveThumb moveThumb) | native

SetBorderPattern (texture newTexture) | native

SetEnumeration (int tickPos, coerce string newStr) | native

SetNumTicks (int newNumTicks) | native

SetScaleBorder (optional float newBorderSize, optional color newColor) | native

SetScaleBorderRGB (float borderSize, byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetScaleBorder(borderSize, newColor);

SetScaleColor (color newColor) | native

SetScaleColorRGB (byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetScaleColor(newColor);

SetScaleOrientation (EOrientation newOrientation) | native

SetScaleStyle (EDrawStyle newStyle) | native

SetThumbBorder (optional float newBorderSize, optional color newColor) | native

SetThumbBorderRGB (float borderSize, byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetThumbBorder(borderSize, newColor);

SetThumbColor (color newColor) | native

SetThumbColorRGB (byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetThumbColor(newColor);

SetThumbSpan (optional int newRange) | native

SetThumbStep (int newStep) | native

SetThumbStyle (EDrawStyle newStyle) | native

SetTickColor (color newColor) | native

SetTickColorRGB (byte red, byte green, byte blue)


local color newColor;


newColor.R = red;
newColor.G = green;
newColor.B = blue;

SetTickColor(newColor);

SetTickPosition (int newPosition) | native

SetTickStyle (EDrawStyle newStyle) | native

SetValue (float newValue) | native

SetValueFormat (coerce string newFmt) | native

SetValueRange (float newFrom, float newTo) | native

VirtualKeyPressed (EInputKey key, bool bRepeat) -> bool


local bool retval;


retval = Super.VirtualKeyPressed(key, bRepeat);

if ((key == IK_Left) || (key == IK_Up))
{
MoveThumb(MOVETHUMB_StepUp);
PlayScaleSound(setSound);
retval = true;
}
else if ((key == IK_Right) || (key == IK_Down))
{
MoveThumb(MOVETHUMB_StepDown);
PlayScaleSound(setSound);
retval = true;
}
else if (key == IK_Home)
{
MoveThumb(MOVETHUMB_Home);
PlayScaleSound(setSound);
retval = true;
}
else if (key == IK_End)
{
MoveThumb(MOVETHUMB_End);
PlayScaleSound(setSound);
retval = true;
}
else if (key == IK_PageUp)
{
MoveThumb(MOVETHUMB_PageUp);
PlayScaleSound(setSound);
retval = true;
}
else if (key == IK_PageDown)
{
MoveThumb(MOVETHUMB_PageDown);
PlayScaleSound(setSound);
retval = true;
}

return (retval);





ScrollAreaWindow.uc (extends Window)

var const ScaleManagerWindow hScaleMgr;
var const ScaleManagerWindow vScaleMgr;
var const ScaleWindow hScale;
var const ScaleWindow vScale;
var const ButtonWindow leftButton;
var const ButtonWindow rightButton;
var const ButtonWindow upButton;
var const ButtonWindow downButton;
var const ClipWindow clipWindow;
var const float marginWidth;
var const float marginHeight;
var const float scrollbarDistance;
var const bool bHideScrollbars;
var const bool bHLastShow;
var const bool bVLastShow;

AutoHideScrollbars (optional bool bHide) | native

SetScrollbarDistance (float newDistance) | native

VirtualKeyPressed (EInputKey key, bool bRepeat) -> bool


local bool retval;


retval = Super.VirtualKeyPressed(key, bRepeat);

// I'm commenting this out for now, because I'm not sure we should do this
// by default...
/*
if (key == IK_Home)
{
if (vScale != None)
vScale.MoveThumb(MOVETHUMB_Home);
retval = true;
}
else if (key == IK_End)
{
if (vScale != None)
vScale.MoveThumb(MOVETHUMB_End);
retval = true;
}
else if (key == IK_PageUp)
{
if (vScale != None)
vScale.MoveThumb(MOVETHUMB_PageUp);
retval = true;
}
else if (key == IK_PageDown)
{
if (vScale != None)
vScale.MoveThumb(MOVETHUMB_PageDown);
retval = true;
}

if (hScale != None)
{
if (hScale.IsVisible())
{
if (key == IK_Left)
{
hScale.MoveThumb(MOVETHUMB_StepUp);
retval = true;
}
else if (key == IK_Right)
{
hScale.MoveThumb(MOVETHUMB_StepDown);
retval = true;
}
}
}
*/

return (retval);





TabGroupWindow.uc (extends Window)

var native private DynamicArray rowMajorWindowList;
var native private DynamicArray colMajorWindowList;
var bool bSizeParentToChildren;
var bool bSizeChildrenToParent;
var private int tabGroupIndex;
var private float firstAbsX;
var private float firstAbsY;



TextLogWindow.uc (extends TextWindow)

var float textTimeout; // Time before a log entry disappears
var native private DynamicArray lines; // Individual log entries
var private bool bTooTall; // TRUE if the log won't fit in the window
var private bool bPaused; // TRUE if the log is currently paused

AddLog (string newText, color linecol) | native

ClearLog | native

PauseLog (bool bNewPauseState) | native

SetTextTimeout (float newTimeout) | native




TextWindow.uc (extends Window)

var const EHAlign hAlign; // Horizontal alignment (left, center, right justified)
var const EVAlign vAlign; // Vertical alignment (top, center, bottom justified)
var const bool bWordWrap; // Is word wrapping on?
var const bool bTextIsAccelerator; // Is our text also used for keyboard acceleration?
var const float hMargin; // Horizontal margin between the window and the text
var const float vMargin; // Vertical margin between the window and the text
var const int minLines; // Preferred minimum number of lines
var const int maxLines; // Preferred maximum number of lines
var const float minWidth; // Preferred minimum width
var native private string text; // Text string to draw

AppendText (coerce string newText) | native

EnableTextAsAccelerator (optional bool bEnable) | native

GetText | native

GetTextLength | native

GetTextPart (int startPos, int count, out string outText) | native

ResetLines | native

ResetMinWidth | native

SetLines (int newMinLines, int newMaxLines) | native

SetMaxLines (int newMaxLines) | native

SetMinLines (int newMinLines) | native

SetMinWidth (float newMinWidth) | native

SetText (coerce string newText) | native

SetTextAlignments (EHAlign newHAlign, EVAlign newVAlign) | native

SetTextMargins (float newHMargin, float newVMargin) | native

SetWordWrap (bool bNewWordWrap) | native




TileWindow.uc (extends Window)

var const byte orientation; // Horizontal or vertical
var const byte hDirection; // Left-right or right-left
var const byte vDirection; // Top-bottom or bottom-top
var const float hMargin; // Horizontal margin
var const float vMargin; // Vertical margin
var const float minorSpacing; // Child spacing along orientation
var const float majorSpacing; // Child spacing when wrapped
var const byte hChildAlign; // Horizontal child alignment
var const byte vChildAlign; // Vertical child alignment
var const bool bWrap; // Wrap windows if not enough space?
var const bool bFillParent; // Fill the parent with children?
var const bool bEqualWidth; // Make all children equal width?
var const bool bEqualHeight; // Make all children equal height?
var native private DynamicArray rowArray; // Temporary array of row information

EnableWrapping (bool bWrapOn) | native

FillParent (bool FillParent) | native

MakeHeightsEqual (bool bEqual) | native

MakeWidthsEqual (bool bEqual) | native

SetChildAlignments (EHAlign newHAlign, EVAlign newVAlign) | native

SetDirections (EHDirection newHDir, EVDirection newVDir) | native

SetMajorSpacing (float newSpacing) | native

SetMargins (float newHMargin, float newVMargin) | native

SetMinorSpacing (float newSpacing) | native

SetOrder (EOrder newOrder) | native

SetOrientation (EOrientation newOrientation) | native




ToggleWindow.uc (extends ButtonWindow)

var const sound enableSound;
var const sound disableSound;

ChangeToggle | native

GetToggle | native

SetToggle (bool bNewToggle) | native




ViewportWindow.uc (extends Window)

var const bool bEnableViewport;
var const bool bClearZ;
var const bool bShowActor;
var const bool bShowWeapons;
var const bool bUseViewRotation;
var const bool bUseEyeHeight;
var const bool bWatchEyeHeight;
var const float fov;
var const texture defaultTexture;
var const color defaultColor;
var const actor originActor;
var const actor watchActor;
var const vector location;
var const vector relLocation;
var const rotator rotation;
var const rotator relRotation;
var private bool bOriginActorDestroyed;
var private vector lastLocation;
var private rotator lastRotation;
var private transient int viewportFrame;
DefaultTexture=Texture'Extension.Solid'

ClearZBuffer (optional bool bClear) | native

EnableViewport (optional bool bEnable) | native

SetDefaultTextureRGB (texture newTexture, INT red, INT green, INT blue)


local color newColor;


newColor.r = red;
newColor.g = green;
newColor.b = blue;

SetDefaultTexture(newTexture, newColor);

SetFOVAngle (optional float newAngle) | native

SetRelativeLocation (optional vector relLoc) | native

SetRelativeLocationXYZ (float x, float y, float z)


local Vector vector;


vector.x = x;
vector.y = y;
vector.z = z;

SetRelativeLocation(vector);

SetRelativeRotation (optional rotator relRot) | native

SetRelativeRotationPYR (int pitch, int yaw, int roll)


local rotator rotation;


rotation.roll = roll;
rotation.pitch = pitch;
rotation.yaw = yaw;

SetRelativeRotation(rotation);

SetRotation (optional rotator newRotation) | native

SetRotationPYR (int pitch, int yaw, int roll)


local rotator rotation;


rotation.roll = roll;
rotation.pitch = pitch;
rotation.yaw = yaw;

SetRotation(rotation);

SetViewportLocationXYZ (float x, float y, float z, bool bEnable)


local Vector vector;


vector.x = x;
vector.y = y;
vector.z = z;

SetViewportLocation(vector, bEnable);

ShowViewportActor (optional bool bShow) | native

ShowWeapons (optional bool bShow) | native




Window.uc (extends ExtensionObject)

var private byte windowType; // Contains window type
var private window parentOwner; // Window that "owns" this window
var const bool bIsVisible; // TRUE if the window is visible
var const bool bIsSensitive; // TRUE if the window can take input
var const bool bIsSelectable; // TRUE if the window can have keyboard focus
var const bool bIsInitialized; // TRUE if the window has been initialized
var const bool bBeingDestroyed; // TRUE if this window is going bye-bye
var const int lockCount; // Reference count of locks on this window
var const bool bDrawRawBackground; // TRUE if raw backgrounds should be drawn here
var const bool bStretchBackground; // TRUE=stretch background, FALSE=repeat tile
var const bool bSmoothBackground; // TRUE if the background should be smoothed
var const EDrawStyle backgroundStyle; // Normal, masked or translucent
var const color textColor; // Color of text
var const plane textPlane; // Plane of text; converted from textColor
var const font normalFont; // Regular font
var const font boldFont; // Boldface font
var const float textVSpacing; // Space between lines of text
var const color tileColor; // Color of tile
var const plane tilePlane; // Plane of tile; converted from tileColor
var const bool bSpecialText; // TRUE if special text is enabled
var const bool bTextTranslucent; // TRUE if translucent text is enabled
var const float x; // X position of window relative to parent
var const float y; // Y position of window relative to parent
var const float width; // Width of window
var const float height; // Height of window
var const EHAlign winHAlign; // User-specified horizontal alignment
var const EVAlign winVAlign; // User-specified vertical alignment
var const float hMargin0; // User-specified first horizontal margin
var const float hMargin1; // User-specified second horizontal margin (FULL only)
var const float vMargin0; // User-specified first vertical margin
var const float vMargin1; // User-specified second vertical margin (FULL only)
var const float hardcodedWidth; // User-specified preferred width
var const float hardcodedHeight; // User-specified preferred height
var float holdX;
var float holdY;
var float holdWidth;
var float holdHeight;
var int acceleratorKey; // Hotkey, cast to an INT (hack)
var bool bNeedsReconfigure; // TRUE if this window must be reconfigured
var bool bNeedsQuery; // TRUE if this window must be requeried
var bool bConfigured; // TRUE if this window was reconfigured
var private bool bLastWidthSpecified; // Whether width was specified in last size query
var private bool bLastHeightSpecified; // Whether height was specified in last size query
var private float lastSpecifiedWidth; // Width specified in last size query
var private float lastSpecifiedHeight; // Height specified in last size query
var private float lastQueryWidth; // Width returned by last size query
var private float lastQueryHeight; // Height returned by last size query
var bool bTickEnabled; // TRUE if the UnrealScript Tick() is enabled
var int maxClicks; // Number of clicks handled by window; 0=any number
var const ClipRect winClipRect; // Clipping rectangle; maintained at all times
var const texture background; // Background textures
var const texture defaultCursor; // Default cursor; can be overridden in CursorRequested
var const texture defaultCursorShadow; // Default cursor shadow; can be overridden in CursorRequested
var const float defaultHotX; // Default hot X; can be overridden in CursorRequested
var const float defaultHotY; // Default hot Y; can be overridden in CursorRequested
var const color defaultCursorColor; // Default cursor color; can be overridden in CursorRequested
var const sound focusSound; // Played when this window obtains focus
var const sound unfocusSound; // Played when this window loses focus
var const sound visibleSound; // Played when this window becomes visible
var const sound invisibleSound; // Played when this window becomes invisible
var const float soundVolume; // Volume of sound
var const object clientObject; // Pointer to an object associated with this window
var private int rowMajorIndex; // Index into tab group's row-major sorted list
var private int colMajorIndex; // Index into tab group's column-major sorted list
var native private int att; // Pointer to first attribute; used by parent
var native private int firstTimer; // Pointer to this window's first timer
var native private int freeTimer; // Free list of timers
var private gc wGc;
var private gc gGc;
var const window winParent; // Parent window; NULL if this is root
var const window firstChild; // "Lowest" child (first one drawn)
var const window lastChild; // "Highest" child (last one drawn)
var const window prevSibling; // Next "lowest" sibling (previous one drawn)
var const window nextSibling; // Next "highest" sibling (next one drawn)

AcceleratorKeyPressed (string key) -> bool


return false; // don't handle

AddActorRef (actor refActor) | native

AskParentForReconfigure | native

BoxOptionSelected (Window box, int buttonNumber) -> bool


return false;

ButtonActivated (Window button) -> bool


return false;

CR -> string


return CarriageReturn();

CarriageReturn | native

ChangeStyle | native

ChildAdded (Window child)

ChildRemoved (Window child)

ChildRequestedReconfiguration (window childWin) -> bool



childWin.ResizeChild();

return true;

ChildRequestedVisibilityChange (window childWin, bool bNewVisibility)


childWin.SetChildVisibility(bNewVisibility);

ClipPositionChanged (window clip, int newCol, int newRow) -> bool


return false;

ConfigurationChanged

ConfigureChild (float newX, float newY, float newWidth, float newHeight) | native

ConvertScriptString (string oldStr) | native

DescendantAdded (Window descendant)

DescendantRemoved (Window descendant)

Destroy | native

DestroyAllChildren | native

DestroyWindow

DisableWindow | native

DrawWindow (GC gc)

EditActivated (window edit, bool bModified) -> bool


return false;

EnableSpecialText (optional bool bEnable) | native

EnableTranslucentText (optional bool bEnable) | native

EnableWindow (optional bool bEnable) | native

FocusEnteredDescendant (Window enterWindow)

FocusEnteredWindow

FocusLeftDescendant (Window leaveWindow)

FocusLeftWindow

GetBottomChild (optional bool bVisibleOnly) | native

GetClientObject | native

GetColorScaled (float percent) -> Color


local float mult;
local Color col;


if (percent > 0.80)
{
col.r = 0;
col.g = 255;
col.b = 0;
}
else if (percent > 0.40)
{
mult = (percent-0.40)/(0.80-0.40);
col.r = 255 + (0-255)*mult;
col.g = 255;
col.b = 0;
}
else if (percent > 0.10)
{
mult = (percent-0.10)/(0.40-0.10);
col.r = 255;
col.g = 0 + (255-0)*mult;
col.b = 0;
}
else if (percent > 0)
{
col.r = 255;
col.g = 0;
col.b = 0;
}
else
{
col.r = 0;
col.g = 0;
col.b = 0;
}

return col;


GetCursorPos (out float mouseX, out float mouseY) | native

GetFocusWindow | native

GetGC | native

GetHigherSibling (optional bool bVisibleOnly) | native

GetLowerSibling (optional bool bVisibleOnly) | native

GetModalWindow | native

GetParent | native

GetPlayerPawn | native

GetRootWindow | native

GetTabGroupWindow | native

GetTickOffset | native

GetTopChild (optional bool bVisibleOnly) | native

GrabMouse | native

Hide | native

InitWindow

IsActorValid (actor refActor) | native

IsFocusWindow | native

IsKeyDown (EInputKey key) | native

IsPointInWindow (float pointX, float pointY) | native

IsSensitive (optional bool bRecurse) | native

IsVisible (optional bool bRecurse) | native

KeyPressed (string key) -> bool


return false; // don't handle

ListRowActivated (window list, int rowId) -> bool


return false;

ListSelectionChanged (window list, int numSelections, int focusRowId) -> bool


return false;

Lower | native

MouseEnteredWindow

MouseLeftWindow

MouseMoved (float newX, float newY)

MoveFocusDown | native

MoveFocusLeft | native

MoveFocusRight | native

MoveFocusUp | native

MoveTabGroupNext | native

MoveTabGroupPrev | native

PostDrawWindow (GC gc)

QueryGranularity (out float hGranularity, out float vGranularity) | native

QueryPreferredHeight (float queryWidth) | native

QueryPreferredSize (out float preferredWidth, out float preferredHeight) | native

QueryPreferredWidth (float queryHeight) | native

Raise | native

RawKeyPressed (EInputKey key, EInputState iState, bool bRepeat) -> bool


return false; // don't handle

ReleaseGC (GC gc) | native

RemoveActorRef (actor refActor) | native

RemoveTimer (int timerId) | native

ResetHeight | native

ResetSize | native

ResetWidth | native

ResizeChild | native

SensitivityChanged (bool bNewSensitivity)

SetAcceleratorText (string newStr) | native

SetBackground (texture newBackground) | native

SetBackgroundSmoothing (bool newSmoothing) | native

SetBackgroundStretching (bool newStretching) | native

SetBackgroundStyle (EDrawStyle newStyle) | native

SetBoldFont (Font fn) | native

SetChildVisibility (bool bNewVisibility) | native

SetClientObject (object newClientObject) | native

SetCursorPos (float newMouseX, float newMouseY) | native

SetFocusSounds (optional sound focusSound, optional sound unfocusSound) | native

SetFocusWindow (window newFocusWindow) | native

SetFont (Font fn) | native

SetFonts (Font nFont, Font bFont) | native

SetHeight (float newHeight) | native

SetNormalFont (Font fn) | native

SetPos (float newX, float newY) | native

SetSelectability (bool newSelectability) | native

SetSensitivity (bool newSensitivity) | native

SetSize (float newWidth, float newHeight) | native

SetSoundVolume (float newVolume) | native

SetTextColor (color newColor) | native

SetTextColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetTextColor(newColor);

SetTileColor (color newColor) | native

SetTileColorRGB (INT red, INT green, INT blue)


local color newColor;

newColor.r = red;
newColor.g = green;
newColor.b = blue;
SetTileColor(newColor);

SetVisibilitySounds (optional sound visSound, optional sound invisSound) | native

SetWidth (float newWidth) | native

Show (optional bool bShow) | native

TextChanged (window edit, bool bModified) -> bool


return false;

ToggleChanged (Window button, bool bNewToggle) -> bool


return false;

UngrabMouse | native

VirtualKeyPressed (EInputKey key, bool bRepeat) -> bool


return false;

VisibilityChanged (bool bNewVisibility)

WindowReady