*E;@0M zF0vc0;NoneCoreEWindowSystemUWindowInternalTimeColor BeforePaintEWindowLookAndFeelMipZerobMaskedUBitsUClampVClampVBitsVSizePaletteUSize LMouseUpCreatedListbox_DrawItemSetHelpRadiobox_DrawRadiobox_SetupSizes RGBColorEnhancedCheckboxEWindowRadioboxListbox_DrawListbox_SetupSizesNotify ListClassCheckbox_SetupSizesAppend DeSelectCloseUp HideWindowPaint AddMenuItemEnhancedComboControlEnhancedDialogClientWindowEnhancedEditControlLookAndFeelModMenuItemEnhancedPulldownMenuEnhancedPulldownMenuItemEWindowListBoxItemEWindowListBoxEnhancedRightClickMenuSelectCheckbox_DrawMouseInRegionGetItemValue2ClearSelectedTextColor SelectedBGGetItemValue SetFrame CountShown RMouseUp ItemHeightFindItemIndexInsertControlFrame_SetupSizes ControlBGRemove RemoveItem SetRange DrawItemUMenuAddItem InsertItem RMouseDownGetDesiredDimensions GetItemAt SetCaptionCompareFocusOtherWindow LMouseDown ShowWindowFindItemIndex2ControlFrame_DrawBeforeCreateWSelectedItem ScriptTextiYEObjectPropertyNamePropertyUWindowLookAndFeelClassPropertyFrameGroupHRegionValue bCheckedNext MiscBevelB MiscBevelRB MiscBevelLFloatProperty Palette1RG ParentMenuTexttMItemOwnerLUWindowEditControlUWindowPulldownMenuItemUWindowSmallCloseButtonUWindowDialogClientWindowUWindowControlFrame UWindowListUWindowListControlUWindowComboControlUWindowRootWindowUWindowCheckboxUWindowDialogControlUWindowButtonUWindowWindowUWindowPulldownMenu UWindowBaseUWindowListBoxUWindowListBoxItemUWindowMenuBarItem MiscBevelTCloseBoxDown CloseBoxUpCloseBoxOffsetXFrameSB FrameSBL TextSizeSBRightDisabled SBRightDown StrPropertyStructProperty DrawColor SBLeftUpSBDownDisabled SBDownDown SBDownUpSBUpDisabled SBUpDownSBUpUpPulldown_HBorderPulldown_VBorderPulldown_TextBorderPulldown_ItemHeightSetSizeSetAcceptsFocus GetMouseXYBytePropertyCreateWindowDrawStretchedTexture ClipTextMiscDrawMiscBevelRemoveAmpersand bSelectedCloseBoxOffsetY ReturnValueCanvas NewHelpTextIndexSetPosUWindowVScrollbar FrameSBRNextSiblingWindowDisabledRegionC bUseRegionImageXImageYFirstChildWindow bDisabledAlignParentWindow bIgnoreCase DownTextureWinLeft UpTextureDisabledTextureWhiteTexture OverTexture DownRegion SortWeightItems bTransientVBorderHBorderEditBoxWidthValue2 MaxWidthDefaultHelpText OverItemCaption WinHeight WinWidthWinTop bByOwnerMouseYMouseXRootVertSB TextBorderIconsFramedFontsItemTopTIBITSBSbHelptHGraphicSubMenutW LookAndFeel CloseButton SBLeftDownUMenuRootWindowUMenuStatusBarUMenuModMenuItem StatusBarWinBoolProperty IntPropertyFontPackage FunctionEngineStructXObject TextBuffer SBRightUpSBLeftDisabled HelpText bAutoSizebOpenedToLefttmpbIntegralHeightbGrayed AltValue EChkCheckedEChkUnchecked EChkGrayed OptCheckedOptUnchecked ButtonUp ButtonDown ButtonOverButtonDisabledSBVUpTSBVUpBSBVUpMSBVUpC SBVDownT SBVDownB SBVDownM SBVDownC SBVOverT SBVOverB SBVOverM SBVOverCSBHUpLSBHUpRSBHUpMSBHUpC SBHDownL SBHDownR SBHDownM SBHDownC SBHOverL SBHOverR SBHOverM SBHOverC SBUpOver SBDownOver SBLeftOver SBRightOver TabOverL TabOverM TabOverRCloseBoxOverComboBtnOver ComboLeftUpComboLeftDownComboLeftOverComboLeftDisabledComboRightUpComboRightDownComboRightOverComboRightDisabledTextXControlTextColorTextY UpRegionConfigWindowMenuCount OverRegionmXmYParentClassTexturebWindowVisibleEditBoxBevelci,y&.nS*0W|.Xڃ.'l.'l.'lS*0WS*0W.'lԌ cԌԌ cԌyHPg*)~Dնmxo xK4融;aG;aG;aGEf$.'l.'l.'lնmնmնmo ~Dնmնmնmնmo նmնmo o ~D~D;aG~D~DK4融;aG;aG;aGCԌԌԌԌCI1tomc cԌxeeexeeee.'le.'le.'leexJOxxxJOo JOS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0WS*0W|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.XMWWu|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڊ|.Xڃ.'l>*5*4*@  !k-4JOK4K4K4K4K4K4K4Ԍ cxxxxxxxxxxo Ԍ cԌ c˔K4螭y&.y&..'le:$PAX} "@Dh7?B@#0&@5M@ ( " " " " *HH"h$'@ 2@G@ ( " " " " *rr"l$+@ < ( " " " " *}}"$/@ C ( " " " " *nn"W$U4@  ( " " " " *QQ"ЕA$8@ =kO~+C;aG~D~D~Dնmնmնmնmնmնmնmնm~D~DնmLSFbDDDD p^\@lnMWWu|.XhVZfnTRi@QUWUZg@WJzd]ldGtds%kaIq@r@+v@w@$s.A{~QAD|G>B@)N[|So`XPbm_lKifaVd e$bw.*w.*.a $ w.*w.*. ad bYG!>Ybb?, @JP KJ. J7 [ <[. ?,8?,@BA uAK:f7.)B5%A%(A.w*5AELE))E.s)?,?5,w.*.-w*7?w7*7-I+??%?-I'w**??,??,?DD%?DD% o*K)q*Nw*2r* .}w.*}r.* w*r* r.*.-"  ]J '.]&._'&0' 2& ~z02%s02&'& zf2 q.B%lw*IBfB.  w'{R'%--^(RS HL%Xx.   IL\.CKL TYL5-TYPZPYWX eea/!.  e)A?8?D#w*%Hlkr%{%#%{##$ @@h3@a* POL5-POK^KOV` ET// EWindow by Wormbo //============================================================================= // EnhancedEditControl - support auto-size based on caption size //============================================================================= class EnhancedEditControl extends UWindowEditControl; var bool bAutoSize; function BeforePaint(Canvas C, float X, float Y) { local float TW, TH; if ( bAutoSize ) { TextSize(C, Text, TW, TH); EditBoxWidth = WinWidth - TW; } Super.BeforePaint(C, X, Y); } xq(yDGtEj6x q.D%lw*IDj D.  ^->-MN<-JCz s::$-p  ::$-p  -  ?D D::$ **::$ ?,  j_@_ .?%w*\?_? ?.1 A@FL@ @!w*Ow.*r..*tw.*.*!# xF8-w*sa/!.``.-(FG K/ lw*??w.*..w.*.M H I-'H CDEFGHIS|pD\]+.  + p+q+r LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwI{9$-]1a/!.  9F 099CD }x9xs ym"%-m# `1a/!.  F m-ztz ::$p  ::$p    ?D D.::$ [[::$ ?, }~ @cE`86,E6,|6,{, gJuEQ]$. <$ u$v$w ~,W// EWindow by Wormbo //============================================================================= // EnhancedComboControl - support auto-size based on caption size //============================================================================= class EnhancedComboControl extends UWindowComboControl; var bool bAutoSize; function BeforePaint(Canvas C, float X, float Y) { local float TW, TH; if ( bAutoSize ) { TextSize(C, Text, TW, TH); EditBoxWidth = WinWidth - TW; } Super.BeforePaint(C, X, Y); } }O1j iO4<4[4[U<Z<Zo He\Nc[ . %w*T-g|\ rz\ .  rN$)L5a/!.  N Nht @4Bv&J2:_4A// EWindow by Wormbo //============================================================================= // EnhancedDialogClientWindow - displays tooltips for its controls //============================================================================= class EnhancedDialogClientWindow extends UWindowDialogClientWindow abstract; var UWindowSmallCloseButton CloseButton; function Created() { Super.Created(); CloseButton = UWindowSmallCloseButton(CreateWindow(class'UWindowSmallCloseButton', WinWidth-56, WinHeight-24, 48, 16)); } function Notify(UWindowDialogControl C, byte E) { switch(E) { // these are used to display tooltips case DE_MouseMove: if ( UMenuRootWindow(Root) != None && UMenuRootWindow(Root).StatusBar != None) UMenuRootWindow(Root).StatusBar.SetHelp(C.HelpText); break; case DE_MouseLeave: if ( UMenuRootWindow(Root) != None && UMenuRootWindow(Root).StatusBar != None) UMenuRootWindow(Root).StatusBar.SetHelp(""); break; } Super.Notify(C, E); } function GetDesiredDimensions(out float W, out float H) { Super(UWindowWindow).GetDesiredDimensions(W, H); H += 30; } Cr; #y.@?D@?&, $?,3 $.3 0$?,?,.?,3 ?,?,@?,-'c]WQda/!.M-^ 3 3 3 3- : : : : 6 6 6 6 Kc' MV(~imim{O)imim{OFB1Sa/!9. *.1GFST .1-6$6$6$GFST?& 6=,6=,6=,^6$6$6$%(G?,F.1  ]// EWindow by Wormbo //============================================================================= // EnhancedPulldownMenuItem - menu item for EnhancedPulldownMenu //============================================================================= class EnhancedPulldownMenuItem extends UWindowPulldownMenuItem; var string AltValue; function Select() { if ( SubMenu != None ) { SubMenu.WinLeft = Owner.WinLeft + Owner.WinWidth - Owner.HBorder; SubMenu.WinTop = ItemTop - Owner.VBorder; if ( EnhancedPulldownMenu(Owner) != None ) EnhancedPulldownMenu(Owner).SubMenu = EnhancedPulldownMenu(SubMenu); if ( EnhancedPulldownMenu(SubMenu) != None ) EnhancedPulldownMenu(SubMenu).ParentMenu = Owner; SubMenu.ShowWindow(); } } function DeSelect() { if ( SubMenu != None ) { if ( EnhancedPulldownMenu(Owner) != None && EnhancedPulldownMenu(Owner).SubMenu == SubMenu ) EnhancedPulldownMenu(Owner).SubMenu = None; if ( EnhancedPulldownMenu(SubMenu) != None ) EnhancedPulldownMenu(SubMenu).ParentMenu = None; SubMenu.DeSelect(); SubMenu.HideWindow(); } } ^2// EWindow by Wormbo //============================================================================= // EnhancedPulldownMenu - handles more than one submenu //============================================================================= class EnhancedPulldownMenu extends UWindowPulldownMenu; var EnhancedPulldownMenu SubMenu; // currently opened submenu var UWindowPulldownMenu ParentMenu; // EnhancedPulldownMenu(ParentMenu).SubMenu == Self var bool bOpenedToLeft; function Created() { SetAcceptsFocus(); Super(UWindowListControl).Created(); ItemHeight = LookAndFeel.Pulldown_ItemHeight; VBorder = LookAndFeel.Pulldown_VBorder; HBorder = LookAndFeel.Pulldown_HBorder; TextBorder = LookAndFeel.Pulldown_TextBorder; } function UWindowPulldownMenuItem AddMenuItem(string C, Texture G) { local UWindowPulldownMenuItem I; I = UWindowPulldownMenuItem(Items.Append(ListClass)); I.Owner = Self; I.SetCaption(C); I.Graphic = G; EnhancedPulldownMenuItem(I).AltValue = C; return I; } function FocusOtherWindow(UWindowWindow W) { local UWindowPulldownMenu M; local string tmp; Super(UWindowListControl).FocusOtherWindow(W); for (M = SubMenu; M != None; M = EnhancedPulldownMenu(M).SubMenu) if ( W == M ) return; if ( UWindowPulldownMenuItem(Owner) != None ) if ( UWindowPulldownMenuItem(Owner).Owner == W ) return; For (M = ParentMenu; M != None; M = EnhancedPulldownMenu(M).ParentMenu) { if ( W == M ) return; if ( EnhancedPulldownMenu(M) == None ) break; } if ( bWindowVisible ) CloseUp(); } function Clear() { SubMenu = None; Super.Clear(); } function BeforePaint(Canvas C, float X, float Y) { local float W, H, MaxWidth; local int Count; local UWindowPulldownMenuItem I; local EnhancedPulldownMenu Parent; Parent = EnhancedPulldownMenu(ParentMenu); MaxWidth = 100; Count = 0; C.Font = Root.Fonts[F_Normal]; C.SetPos(0, 0); for (I = UWindowPulldownMenuItem(Items.Next); I != None; I = UWindowPulldownMenuItem(I.Next)) { Count++; TextSize(C, RemoveAmpersand(I.Caption), W, H); if ( W > MaxWidth ) MaxWidth = W; } WinWidth = MaxWidth + (HBorder + TextBorder) * 2; WinHeight = ItemHeight * Count + VBorder * 2; // Take care of bHelp items if ( (UWindowMenuBarItem(Owner) != None && UWindowMenuBarItem(Owner).bHelp) || WinLeft + WinWidth > ParentWindow.WinWidth ) WinLeft = ParentWindow.WinWidth - WinWidth; if ( ParentMenu != None && (WinWidth + WinLeft > ParentWindow.WinWidth || ParentMenu.WinLeft + ParentMenu.WinWidth - ParentMenu.HBorder > WinLeft || WinLeft + WinWidth > Root.WinWidth || (Parent != None && Parent.bOpenedToLeft)) && ParentMenu.WinLeft + ParentMenu.HBorder - WinWidth > 0 ) { WinLeft = ParentMenu.WinLeft + ParentMenu.HBorder - WinWidth; bOpenedToLeft = True; } if ( ParentMenu != None && WinTop + WinHeight > Root.WinHeight && WinHeight < WinTop + ParentMenu.ItemHeight + 2 * VBorder ) WinTop -= WinHeight - ParentMenu.ItemHeight - 2 * VBorder; WinTop = Max(Min(WinTop, Root.WinHeight - WinHeight), 0); WinLeft = Max(Min(WinLeft, Root.WinWidth - WinWidth), 0); } L3#H>=?D=?&, $?,3 $>3 0$?,?,>?,3 ?,?,=?,-'c]WQI- / / / / ; ; ; ; 9class LookAndFeelModMenuItem extends UMenuModMenuItem; KR)2Ta'єCU // EWindow by Wormbo //============================================================================= // EnhancedRightClickMenu - handles more than one submenu //============================================================================= class EnhancedRightClickMenu extends EnhancedPulldownMenu; function Created() { bTransient = True; Super.Created(); } function RMouseDown(float X, float Y) { LMouseDown(X, Y); } function RMouseUp(float X, float Y) { LMouseUp(X, Y); } function CloseUp(optional bool bByOwner) { Super.CloseUp(bByOwner); HideWindow(); } QW XVZO [\Y^ _`]8 nX-A8(URna?& QB%8(8(U?,RX ' Uz.bs~DG class EWindowListBoxItem expands UWindowListBoxItem; var string Value; var string Value2; // A second, non-displayed value var int SortWeight; function int Compare(UWindowList T, UWindowList B) { local EWindowListBoxItem TI, BI; local string TS, BS; TI = EWindowListBoxItem(T); BI = EWindowListBoxItem(B); if ( TI.SortWeight == BI.SortWeight ) { TS = Caps(TI.Value); BS = Caps(BI.Value); if ( TS == BS ) return 0; if ( TS < BS ) return -1; return 1; } else return TI.SortWeight - BI.SortWeight; } NV;N."%w*T-i| V"rz V"".  DBa=?6?6n?6?6?6?6 NC//============================================================================= // EWindowListBox - a listbox with frame //============================================================================= class EWindowListBox extends UWindowListBox; var UWindowControlFrame Frame; var bool bIntegralHeight; // LookAndFeel should adjust height, so last visible item is completely displayed function BeforeCreate() { Frame = UWindowControlFrame(ParentWindow.CreateWindow(class'UWindowControlFrame', WinLeft, WinTop, WinWidth, WinHeight)); Frame.SetFrame(Self); Super.BeforeCreate(); } function BeforePaint(Canvas C, float MouseX, float MouseY) { local UWindowListBoxItem OverItem; local string NewHelpText; if ( !LookAndFeel.IsA('EWindowLookAndFeel') || !EWindowLookAndFeel(LookAndFeel).Listbox_SetupSizes(Self, C) ) { VertSB.SetRange(0, Items.CountShown(), int(WinHeight/ItemHeight)); NewHelpText = DefaultHelpText; if ( SelectedItem != None ) { OverItem = GetItemAt(MouseX, MouseY); if ( OverItem == SelectedItem && OverItem.HelpText != "" ) NewHelpText = OverItem.HelpText; } } if ( NewHelpText != HelpText ) { HelpText = NewHelpText; Notify(DE_HelpChanged); } } function Paint(Canvas C, float MouseX, float MouseY) { if ( LookAndFeel.IsA('EWindowLookAndFeel') && EWindowLookAndFeel(LookAndFeel).Listbox_Draw(Self, C) ) return; Super.Paint(C, MouseX, MouseY); } function DrawItem(Canvas C, UWindowList Item, float X, float Y, float W, float H) { if ( LookAndFeel.IsA('EWindowLookAndFeel') && EWindowLookAndFeel(LookAndFeel).Listbox_DrawItem(Self, C, EWindowListboxItem(Item), X, Y, W, H) ) return; if ( EWindowListboxItem(Item).bSelected ) { C.DrawColor.R = 0; C.DrawColor.G = 0; C.DrawColor.B = 128; DrawStretchedTexture(C, X, Y, W, H - 1, Texture'WhiteTexture'); C.DrawColor.R = 255; C.DrawColor.G = 255; C.DrawColor.B = 255; } else { C.DrawColor.R = 0; C.DrawColor.G = 0; C.DrawColor.B = 0; } C.Font = Root.Fonts[F_Normal]; ClipText(C, X + 2, Y, EWindowListBoxItem(Item).Value); } function int FindItemIndex(string Value, optional bool bIgnoreCase) { local EWindowListBoxItem I; local int Count; I = EWindowListBoxItem(Items.Next); Count = 0; while (I != None) { if ( bIgnoreCase && I.Value ~= Value ) return Count; if ( I.Value == Value ) return Count; Count++; I = EWindowListBoxItem(I.Next); } return -1; } function int FindItemIndex2(string Value2, optional bool bIgnoreCase) { local EWindowListBoxItem I; local int Count; I = EWindowListBoxItem(Items.Next); Count = 0; while (I != None) { if ( bIgnoreCase && I.Value2 ~= Value2 ) return Count; if ( I.Value2 == Value2 ) return Count; Count++; I = EWindowListBoxItem(I.Next); } return -1; } function string GetItemValue(int Index) { local EWindowListBoxItem I; local int Count; I = EWindowListBoxItem(Items.Next); Count = 0; while (I != None) { if ( Count == Index ) return I.Value; Count++; I = EWindowListBoxItem(I.Next); } return ""; } function string GetItemValue2(int Index) { local EWindowListBoxItem I; local int Count; I = EWindowListBoxItem(Items.Next); Count = 0; while (I != None) { if ( Count == Index ) return I.Value2; Count++; I = EWindowListBoxItem(I.Next); } return ""; } function RemoveItem(int Index) { local EWindowListBoxItem I; local int Count; if(Index == -1) return; I = EWindowListBoxItem(Items.Next); Count = 0; while (I != None) { if ( Count == Index ) { I.Remove(); return; } Count++; I = EWindowListBoxItem(I.Next); } } function AddItem(string Value, optional string Value2, optional int SortWeight) { local EWindowListBoxItem I; I = EWindowListBoxItem(Items.Append(ListClass)); I.Value = Value; I.Value2 = Value2; I.SortWeight = SortWeight; } function InsertItem(string Value, optional string Value2, optional int SortWeight) { local EWindowListBoxItem I; I = EWindowListBoxItem(Items.Insert(ListClass)); I.Value = Value; I.Value2 = Value2; I.SortWeight = SortWeight; } E//============================================================================= // EnhancedCheckbox - a checkbox //============================================================================= class EnhancedCheckbox extends UWindowCheckbox; var bool bGrayed; // unspecified state (neither checked nor unchecked) var bool bAutoSize; // adjust the size of the control to its Text's size function BeforePaint(Canvas C, float X, float Y) { local float TW, TH; Super.BeforePaint(C, X, Y); if ( bAutoSize ) { if ( Text == "" ) { TW = 0; TH = WinHeight; } else { if ( Align == TA_Left ) TextSize(C, Text $ " ", TW, TH); else if ( Align == TA_Right ) TextSize(C, " " $ Text, TW, TH); else TextSize(C, Text, TW, TH); TH = Max(TH, WinHeight); } if ( Align == TA_Left ) WinLeft -= TW + TH - WinWidth; else if ( Align == TA_Center ) WinLeft -= (TW + TH - WinWidth) / 2; WinWidth = TW + TH; } } function LMouseUp(float X, float Y) { if ( !bDisabled ) bGrayed = False; Super.LMouseUp(X, Y); } jO!I6! !=,=,=,;! C//============================================================================= // EWindowRadiobox - a radio box //============================================================================= class EWindowRadiobox extends UWindowCheckbox; var name Group; var bool bAutoSize; // adjust the size of the control to its Text's size function BeforePaint(Canvas C, float X, float Y) { local float TW, TH; if ( LookAndFeel.IsA('EWindowLookAndFeel') ) EWindowLookAndFeel(LookAndFeel).Radiobox_SetupSizes(Self, C); else LookAndFeel.Checkbox_SetupSizes(Self, C); if ( bAutoSize ) { if ( Text == "" ) { TW = 0; TH = WinHeight; } else { if ( Align == TA_Left ) TextSize(C, Text $ " ", TW, TH); else if ( Align == TA_Right ) TextSize(C, " " $ Text, TW, TH); else TextSize(C, Text, TW, TH); TH = Max(TH, WinHeight); } if ( Align == TA_Left ) WinLeft -= TW + TH - WinWidth; else if ( Align == TA_Center ) WinLeft -= (TW + TH - WinWidth) / 2; WinWidth = TW + TH; } Super(UWindowButton).BeforePaint(C, X, Y); } function Paint(Canvas C, float X, float Y) { if ( LookAndFeel.IsA('EWindowLookAndFeel') ) EWindowLookAndFeel(LookAndFeel).Radiobox_Draw(Self, C); else LookAndFeel.Checkbox_Draw(Self, C); Super(UWindowButton).Paint(C, X, Y); } function LMouseUp(float X, float Y) { local UWindowWindow W; if ( !bDisabled ) For (W = ParentWindow.FirstChildWindow; W != None; W = W.NextSiblingWindow) if ( W.IsA('EWindowRadiobox') && EWindowRadiobox(W).Group == Group ) EWindowRadiobox(W).bChecked = False; Super.LMouseUp(X, Y); } U^class EWindowLookAndFeel extends UWindowLookAndFeel; #exec TEXTURE IMPORT NAME=EChkChecked FILE=Textures\EChkChecked.pcx GROUP="Icons" FLAGS=2 MIPS=OFF #exec TEXTURE IMPORT NAME=EChkUnchecked FILE=Textures\EChkUnchecked.pcx GROUP="Icons" FLAGS=2 MIPS=OFF #exec TEXTURE IMPORT NAME=EChkGrayed FILE=Textures\EChkGrayed.pcx GROUP="Icons" FLAGS=2 MIPS=OFF #exec TEXTURE IMPORT NAME=OptChecked FILE=Textures\OptChecked.pcx GROUP="Icons" FLAGS=2 MIPS=OFF #exec TEXTURE IMPORT NAME=OptUnchecked FILE=Textures\OptUnchecked.pcx GROUP="Icons" FLAGS=2 MIPS=OFF // buttons var Region ButtonUp; var Region ButtonDown; var Region ButtonOver; var Region ButtonDisabled; var Region SBVUpT; var Region SBVUpB; var Region SBVUpM; var Region SBVUpC; var Region SBVDownT; var Region SBVDownB; var Region SBVDownM; var Region SBVDownC; var Region SBVOverT; var Region SBVOverB; var Region SBVOverM; var Region SBVOverC; var Region SBHUpL; var Region SBHUpR; var Region SBHUpM; var Region SBHUpC; var Region SBHDownL; var Region SBHDownR; var Region SBHDownM; var Region SBHDownC; var Region SBHOverL; var Region SBHOverR; var Region SBHOverM; var Region SBHOverC; var Region SBUpUp; var Region SBUpDown; var Region SBUpOver; var Region SBUpDisabled; var Region SBDownUp; var Region SBDownDown; var Region SBDownOver; var Region SBDownDisabled; var Region SBLeftUp; var Region SBLeftDown; var Region SBLeftOver; var Region SBLeftDisabled; var Region SBRightUp; var Region SBRightDown; var Region SBRightOver; var Region SBRightDisabled; var Region FrameSBL; var Region FrameSB; var Region FrameSBR; var Region TabOverL; var Region TabOverM; var Region TabOverR; var Region CloseBoxUp; var Region CloseBoxDown; var Region CloseBoxOver; var int CloseBoxOffsetX; var int CloseBoxOffsetY; var Region ComboBtnOver; var Region ComboLeftUp; var Region ComboLeftDown; var Region ComboLeftOver; var Region ComboLeftDisabled; var Region ComboRightUp; var Region ComboRightDown; var Region ComboRightOver; var Region ComboRightDisabled; var color ControlBG, ControlTextColor, SelectedBG, SelectedTextColor; var string ConfigWindowMenu; function color RGBColor(byte R, byte G, byte B) { local color C; C.R = R; C.G = G; C.B = B; return C; } function bool MouseInRegion(UWindowWindow Win, float X, float Y, float W, float H) { local float mX, mY; Win.GetMouseXY(mX, mY); return mX > X && mX < X + W && mY > Y && mY < Y + H; } function Checkbox_SetupSizes(UWindowCheckbox W, Canvas C) { local float TW, TH; W.TextSize(C, W.Text, TW, TH); W.WinHeight = Max(TH + 1, 16); switch(W.Align) { case TA_Left: W.ImageX = W.WinWidth - 16; W.TextX = 0; break; case TA_Right: W.ImageX = 0; W.TextX = W.WinWidth - TW; break; case TA_Center: W.ImageX = (W.WinWidth - 16) / 2; W.TextX = (W.WinWidth - TW) / 2; break; } W.ImageY = (W.WinHeight - 16) / 2; W.TextY = (W.WinHeight - TH) / 2; W.bUseRegion = True; W.UpRegion = ButtonUp; W.DownRegion = ButtonDown; W.OverRegion = ButtonOver; W.DisabledRegion = ButtonDisabled; if ( W.IsA('EnhancedCheckbox') && EnhancedCheckbox(W).bGrayed ) { W.UpTexture = Texture'EChkGrayed'; W.DownTexture = Texture'EChkGrayed'; W.OverTexture = Texture'EChkGrayed'; W.DisabledTexture = Texture'EChkGrayed'; } else if ( W.bChecked ) { W.UpTexture = Texture'EChkChecked'; W.DownTexture = Texture'EChkChecked'; W.OverTexture = Texture'EChkChecked'; W.DisabledTexture = Texture'EChkChecked'; } else { W.UpTexture = Texture'EChkUnchecked'; W.DownTexture = Texture'EChkUnchecked'; W.OverTexture = Texture'EChkUnchecked'; W.DisabledTexture = Texture'EChkUnchecked'; } } function Radiobox_SetupSizes(EWindowRadiobox W, Canvas C) { local float TW, TH; W.TextSize(C, W.Text, TW, TH); W.WinHeight = Max(TH + 1, 16); switch(W.Align) { case TA_Left: W.ImageX = W.WinWidth - 16; W.TextX = 0; break; case TA_Right: W.ImageX = 0; W.TextX = W.WinWidth - TW; break; case TA_Center: W.ImageX = (W.WinWidth - 16) / 2; W.TextX = (W.WinWidth - TW) / 2; break; } W.ImageY = (W.WinHeight - 16) / 2; W.TextY = (W.WinHeight - TH) / 2; W.bUseRegion = True; W.UpRegion = ButtonUp; W.DownRegion = ButtonDown; W.OverRegion = ButtonOver; W.DisabledRegion = ButtonDisabled; if ( W.bChecked ) { W.UpTexture = Texture'OptChecked'; W.DownTexture = Texture'OptChecked'; W.OverTexture = Texture'OptChecked'; W.DisabledTexture = Texture'OptChecked'; } else { W.UpTexture = Texture'OptUnchecked'; W.DownTexture = Texture'OptUnchecked'; W.OverTexture = Texture'OptUnchecked'; W.DisabledTexture = Texture'OptUnchecked'; } } function Radiobox_Draw(EWindowRadiobox W, Canvas C); function bool Listbox_SetupSizes(EWindowListbox W, Canvas C); function bool Listbox_Draw(EWindowListbox W, Canvas C); function bool Listbox_DrawItem(EWindowListbox L, Canvas C, EWindowListboxItem Item, float X, float Y, float W, float H) { if ( Item.bSelected ) { C.DrawColor = SelectedBG; L.DrawStretchedTexture(C, X, Y, W, H - 1, Texture'WhiteTexture'); C.DrawColor = SelectedTextColor; } else C.DrawColor = ControlTextcolor; C.Font = L.Root.Fonts[F_Normal]; L.ClipText(C, X + 2, Y, Item.Value); return true; } function ControlFrame_SetupSizes(UWindowControlFrame W, Canvas C) { local int B; B = EditBoxBevel; W.Framed.WinLeft = MiscBevelL[B].W; W.Framed.WinTop = MiscBevelT[B].H; W.Framed.SetSize(W.WinWidth - MiscBevelL[B].W - MiscBevelR[B].W, W.WinHeight - MiscBevelT[B].H - MiscBevelB[B].H); } function ControlFrame_Draw(UWindowControlFrame W, Canvas C) { C.DrawColor = ControlBG; W.DrawStretchedTexture(C, 0, 0, W.WinWidth, W.WinHeight, Texture'WhiteTexture'); C.DrawColor = RGBColor(255, 255, 255); W.DrawMiscBevel(C, 0, 0, W.WinWidth, W.WinHeight, Misc, EditBoxBevel); } kkw}n^wMwkmwfwgwzwWw~wrwlw|fKw{wpwYwvfJwufykCnwiwLW`wwMNwhwcWPW^WaLkwqWowwlIwyw@]uW@wAfLfqwxiCfmWvwqwxWzwtW{W}WxiBWoWfw]]d]hwBli:]il_iQi]mx|WjLtWTlwsWUh`ZMshtfol`MpfrMnhpM~MCl^MeiRLtll$l"lWRlPhdllweizwdl3l\hAlfDlLIlclGf:lFl9lJlBMbwklKMclh[lKWQWmLGlbfDl$fVl$ljwkWslllZfVfXfWfYlGW]hyl/l!l=lOWalwXwl%l[,MBOCOQ QRTQ`T*|nTjj[ox[mE\WS\_ jk\ vk\ Bl_ Nl*d ZlQfl_ sl-Ql-cLm!oouT}uoJvTXv ev^qv%T~vE KwTWw*QewTswT@xTMxr [x-ogx%r txh @yTLyHYyXfyWsy0gC@zF CQOT\oiov _D0~JQY [ngZ u0}JAt Kr W0|Jcvm!pzoG0{JU0J_u i\ u_ Ar M \ Yoer s+Vr UQaUno{ZHv b[n_|oIXVono|_J CW!UeQr] !oK%_X Be!nsoAUOo\Ei AvMyDi Q\]oj] x @DVRo_imwzOG%wTiaN nOzM G!QS]`_mEz GU SN __kEx EoQ o^u kdwiEoSU `U lox 5E nSoaU nhzoHU Uoa >nMu |Cz H] To`U mgy u G 4SoaU nu zQFoSo`UmQz\ GaSialo\ }dIUW!]dfqG1Wf HPGTG[P bKhrJOZ2cioLf YfeM7r%fix OK[@ff fw r3%~ KcUnS4_{(XZ6crM_U@ot"F)cC!vLEBC/\GH"&c JI KW Le Ms NA OO P] QkDSy SL TZ Uh Vv WD XR Y` Zn [| UJ TX \f St RB QP ]^ Pl Oz bH ^V sd rr K@ _N J\ Hj Gx lF `T ab bp E~ DL cZ Fh eu dB eP f^ gl hz iH jV kd lr$T@"9'T""){Jd q n :z HtESB GUfc S4bp 1bR EtN@B$OBf Q F]f k&XwS4LO \['YwBjPCS4hzS4i2b IKS4CT RW)[e"S4` @ `Q}oK XQuoCf Q ]QzoHf V mb.XOS4R g%f y;E DD IR*o`!f m =hyS4YCaMS4Pz OTJS4N^ S4`^lSL