Here is a short description, I managed to understand from reverse engneering the Base skin and the Prophecy skin.
* You may define as many rectangles as you want
* Rectangles spanning a horizontal stripe can be of 3 types: NORMAL, STRETCHX and OFFSX.
* Rectangles in a vertical stripe can be NORMAL, STRETCHY and OFFSY
* NORMAL, OFFSX and OFFSY are drawn as is when the window is resized
* STRETCHX and STRETCHY are scaled up or down.
* Stretch rectangles cannot overlap, not in the X ,nor Y dimensions (overlap in the sense that they cannot span the same X or Y coordinates, even if they are not on top of each other geometrically)
* Stretch rectangles may overlap with NORMAL and OFFSX, OFFSY rectangles
* All the area must be covered by some rectangle, otherwise it will not get drawn.
** Especially, define a rectangle for the ClientArea, of type STRECHX and STRECHY. This is not a rule, since some skins work without defining it
* The Resizearea just tells BSP where it should change the cursor from normal to resize cursor.
* You can enable each side and corner of the window to allow resize from it ( for example I only allowed resizing from the right side, bottom side and right-low corner)
* In the MinHW, always put the original main bitmap size, it is not clear, nor consistent, what would happen if you put a different minimum size, since the pre-scaling BSP does in this case, is not the same as opening the original size and resizing.
|