Preface Introduction Topic index Glossary F.A.Q. Copyright
Look MyFrame | defines how AfterStep should construct window's frame |
Overview
Configuration
Look Alignment flags Bevel flags MyBackground MyFrame
MyStyle Suported hints Titlebar layout
Window frame decorations (aka MyFrame)
Each window is surrounded by so-called frame decoration. each
frame decoration could be built from 9 TBars:
1) Main Titlebar with icons on left, label in the middle and
icons on right. Label may also have special underlying image -
so called Title Background . Ordering of this elements is set by
TitleButtonOrder setting ( see below ).
2) 4 frame sides. Each of this have fixed width that is
determined by SideSize setting or image size if SideSize is
ommited. Second dimension of the TBar changes to match the
size of the window .
3) 4 frame corners. Each of this have both fixed width and
height, as determined by CornerSize setting or image size.
Each of above elements is rendered by generating background
using respective MyStyle , and then overlaying images/buttons
and text on top of it. Default overlaying is done using
composition method alpha -blend. In case of main Titlebar that
could be changed. Bevel is then drawn on top of the image as
specified in respective setting.
MyFrame allows different MyStyles to be used for titlebar and
frame decorations. If any of those are ommited - default
setting from FWindowStyle / UWindowStyle / SWindowStyle will be
used.
Important:
If you use semi-transparent images for frame sides -
they will be overlayed on top of MyStyle generated background ,
so if you want it to be overlayed over root background - you
should use MyStyle with BackPixmap set to 129 or 149.
Also note that unless you use MYStyle with BackPixmap
126 and 125 - frame decorations will not be shaped. Likewise if
you want frame part to have only the shape of the image, you
specified, with no background at all - use MyStyle with
BackPixmap set like so :
BackPixmap 126 empty.xpm
Where empty.xpm is 1x1 completely transparent image (supplied
as desktop/icons/common/empty.xpm ).
To identify side/corner it is possible to use abbreviations,
such as: N, NW, SW, etc.
All the CompositionMethod settings must have one of the
BackPixmap types from MyStyles ( ie 130-143 )
Align setting may have different meaning/capabilities for
different items. When applied to text - it simply aligns text
to sides mentioned. When applied to image - such as title
background or frame side pixmap - it also specifies if image
should be tiled, scaled or left same size. Make sure that you
use HTiled , VTiled or HScaled , VScaled for frame sides -
otherwise images on they will not be resized to match window
size (this is also a feature :).
To center item specify Align to include both sides. For
example :
Align Left ,Right
will center item horizontally.
Note that TitleBackground option allows you to specify an
image to be used under titlebar label in addition to the MyStyle .
This was done for better shaped titlebars. You may have MyStyle
to be completely transparent shape, while TitleBackground some
non-transparent image, and that will provide better visibility
for the titlebar text .
MyFrame "name"
Inherit "name"]
#traditional form :
[ North ]
[ East ]
[ South ]
[ West ]
[ NorthEast ]
[ NorthWest ]
[ SouthEast ]
[ SouthWest ]
#alternative form :
[ Side North | South | East | West |Any []]
if pixmap is ommited - empty bevel will be drawn
[ NoSide North | South | East | West |Any]
[ Corner NorthEast | SouthEast | NorthWest | SouthWest |Any ]
if pixmap is ommited - empty bevel will be drawn
[ NoCorner NorthEast | SouthEast | NorthWest | SouthWest |Any]
# new settings :
[ TitleUnfocusedStyle ]
[ TitleFocusedStyle ]
[ TitleStickyStyle ]
[ FrameUnfocusedStyle ]
[ FrameFocusedStyle ]
[ FrameStickyStyle ]
[ TitleBackground ]
gets overlayed over background and under the text
[ LeftBtnBackground ]
gets overlayed over background and under the left block of buttons
[ LeftSpacerBackground ]
gets overlayed over background between left block of buttons and text label
[ RightSpacerBackground ]
gets overlayed over background between right block of buttons and text label
[ RightBtnBackground ]
gets overlayed over background and under the right block of buttons
#additional attributes :
[ SideSize North | South | East | West |Any