UWindowLookAndFeel
A GUI skin. This class has (almost) full control over how UT's windows, menus and dialog controls look like.
The UWindowLookAndFeel subclasses are a good example how to extend classes the wrong way: Although they only differ in the textures used they still declare the same variables and the same functions in the subclasses.
Properties
- Texture (UT) Active
- Active widgets, window frames, etc. for windows without status bar.
- Texture (UT) Inactive
- Inactive Widgets, window frames, etc. for windows without status bar.
- Texture (UT) ActiveS
- Active widgets, window frames, etc. for windows with status bar.
- Texture (UT) InactiveS
- Inactive widgets, window frames, etc. for windows with status bar.
- Texture (UT) Misc
- Miscellaneous window elements. (used by UWindowWindow.DrawMiscBevel)
- Region FrameTL
- Frame Title Left: The UpperLeft corner region of the frame. Used for drawing window frame.
- Region FrameT
- Frame Title: The UpperMiddle region of the frame. Used for drawing window frame. Call for FrameT.H to get top border of the frame.
- Region FrameTR
- Frame Title Left: The UpperRight corner region of the frame. Used for drawing window frame.
- Region FrameL
- Frame Left: The LeftMiddle region of the frame. Used for drawing window frame. Call for FrameL.W to get left border of the frame.
- Region FrameR
- Frame Title Right: The RightMiddle region of the frame. Used for drawing window frame. Call for FrameR.W to get right border of the frame.
- Region FrameBL
- Frame Bottom Left: The BottomLeft corner region of the frame. Used for drawing window frame.
- Region FrameB
- Frame Bottom: The BottomMiddle region of the frame. Used for drawing window frame. Call for FrameB.H to get bottom border of the frame.
- Region FrameBR
- Frame Bottom Right: The BottomRight corner region of the frame. Used for drawing window frame.
Note: All subclasses declare additional Region properties for windows with a status bar: FrameSBL, FrameSB, FrameSBR. Use FrameSB.H to get height of the status bar. So the whole bottom border can be calculated as follows: FrameSB.H + FrameB.H.
- Color FrameActiveTitleColor
- Color used for the title bar text of the active window.
- Color FrameInactiveTitleColor
- Color used for the title bar text of inactive windows.
- Color HeadingActiveTitleColor
- Color HeadingInActiveTitleColor
- int FrameTitleX, FrameTitleY
- Offset for drawing the title bar text.
- Region BevelUpTL
- Region BevelUpT
- Region BevelUpTR
- Region BevelUpL
- Region BevelUpR
- Region BevelUpBL
- Region BevelUpB
- Region BevelUpBR
- Region BevelUpArea
- Region MiscBevelTL[4]
- Region MiscBevelT[4]
- Region MiscBevelTR[4]
- Region MiscBevelL[4]
- Region MiscBevelR[4]
- Region MiscBevelBL[4]
- Region MiscBevelB[4]
- Region MiscBevelBR[4]
- Region MiscBevelArea[4]
- Region ComboBtnUp
- Region ComboBtnDown
- Region ComboBtnDisabled
- int ColumnHeadingHeight
- Region HLine
- Color EditBoxTextColor
- int EditBoxBevel
- Region TabSelectedL
- Region TabSelectedM
- Region TabSelectedR
- Region TabUnselectedL
- Region TabUnselectedM
- Region TabUnselectedR
- Region TabBackground
- float Size_ScrollbarWidth
- float Size_ScrollbarButtonHeight
- Interchange W and H for horizontal SB's
- float Size_MinScrollbarHeight
- float Size_TabAreaHeight
- The height of the clickable tab area
- float Size_TabAreaOverhangHeight
- The height of the tab area overhang
- float Size_TabSpacing
- float Size_TabXOffset
- float Pulldown_ItemHeight
- Height of individual menu items.
- float Pulldown_VBorder
- Top and bottom border width.
- float Pulldown_HBorder
- Left and right border width.
- float Pulldown_TextBorder
- Additional text indention.
Methods
- Texture (UT) GetTexture (UWindowFramedWindow W)
- Returns one of the textures Active, Inactive, ActiveS or InactiveS depending on whether the window is the active window and has a status bar.
- Setup ( )
- Called when the UWindowLookAndFeel is created.
- FW_DrawWindowFrame (UWindowFramedWindow W, Canvas C)
- Region FW_GetClientArea (UWindowFramedWindow W)
- Returns the size of the window's client area.
- FrameHitTest FW_HitTest (UWindowFramedWindow W, float X, float Y)
- FW_SetupFrameButtons (UWindowFramedWindow W, Canvas C)
- DrawClientArea (UWindowClientWindow W, Canvas C)
- Checkbox_SetupSizes (UWindowCheckbox W, Canvas C)
- Called by UWindowCheckbox.BeforePaint.
- Checkbox_Draw (UWindowCheckbox W, Canvas C)
- Called by UWindowCheckbox.Paint. This is not used in the UT skins, because the checkbox control extends UWindowButton and uses its default drawing method.
- Combo_SetupSizes (UWindowComboControl W, Canvas C)
- Combo_Draw (UWindowComboControl W, Canvas C)
- Combo_GetButtonBitmaps (UWindowComboButton? W)
- Combo_SetupLeftButton (UWindowComboLeftButton? W)
- Combo_SetupRightButton (UWindowComboRightButton? W)
- ComboList_DrawBackground (UWindowComboList? W, Canvas C)
- ComboList_DrawItem (UWindowComboList? Combo, Canvas C, float X, float Y, float W, float H, string Text, bool bSelected)
- Editbox_SetupSizes (UWindowEditControl W, Canvas C)
- Editbox_Draw (UWindowEditControl W, Canvas C)
- SB_SetupUpButton (UWindowSBUpButton? W)
- SB_SetupDownButton (UWindowSBDownButton? W)
- SB_SetupLeftButton (UWindowSBLeftButton? W)
- SB_SetupRightButton (UWindowSBRightButton? W)
- SB_VDraw (UWindowVScrollbar? W, Canvas C)
- SB_HDraw (UWindowHScrollbar? W, Canvas C)
- Tab_DrawTab (UWindowTabControlTabArea? Tab, Canvas C, bool bActiveTab, bool bLeftmostTab, float X, float Y, float W, float H, string Text, bool bShowText)
- Tab_GetTabSize (UWindowTabControlTabArea? Tab, Canvas C, string Text, out float W, out float H)
- Tab_SetupLeftButton (UWindowTabControlLeftButton? W)
- Tab_SetupRightButton (UWindowTabControlRightButton? W)
- Tab_SetTabPageSize (UWindowPageControl W, UWindowPageWindow P)
- Tab_DrawTabPageArea (UWindowPageControl W, Canvas C, UWindowPageWindow P)
- Menu_DrawMenuBar (UWindowMenuBar? W, Canvas C)
- Menu_DrawMenuBarItem (UWindowMenuBar? B, UWindowMenuBarItem? I, float X, float Y, float W, float H, Canvas C)
- Menu_DrawPulldownMenuBackground (UWindowPulldownMenu W, Canvas C)
- Menu_DrawPulldownMenuItem (UWindowPulldownMenu M, UWindowPulldownMenuItem Item, Canvas C, float X, float Y, float W, float H, bool bSelected)
- Button_DrawSmallButton (UWindowSmallButton? B, Canvas C)
- PlayMenuSound (UWindowWindow W, MenuSound S)
- ControlFrame_SetupSizes (UWindowControlFrame? W, Canvas C)
- ControlFrame_Draw (UWindowControlFrame? W, Canvas C)
Known Subclasses
- UMenuBlueLookAndFeel (UT's default Ice skin)
- UMenuGoldLookAndFeel (UT's Gold skin)
- UMenuMetalLookAndFeel (UT's Metal skin)
- UWindowWin95LookAndFeel (doesn't work as GUI skin, isn't used in UT)
- EWindowLookAndFeel (custom base class for GUI skins based on the EWindow package)