                 Rainlendar Skinning Instructions
                 --------------------------------

This document gives some details how you can skin Rainlendar. Most of the 
skinning can be done via the GUI, which is probably the easies way to modify 
the skins. However, sometimes it might be useful to do the changes directly 
in the skin files. The skin files weren't originally meant to be edited by 
humans, so some of the entries might be a bit unintuitive.

All the images can have pink (#FF00FF) as transparency or use real alpha-map. 
The items (numbers) in the image can be placed either horizontally or 
vertically. The correct placement is determined from the dimensions of the 
image (i.e. whichever is bigger: height or width). The images must be cropped
so that they don't hold any extra space and their width (or height) must be 
divisional with the number of items in the image. Only BMP-files are supported 
for now (PNG might also work on recent Litestep builds). Alpha masking does 
not use the native Win2k/XP functions, so it works with Win9x also.

Please note that if you disable all items on the calendar the window won't have
any size and it will be impossible to quit it. You'll have to kill the process
in order to quit the program.
 
The skin files can contains also the general settings that are in the 
Rainlendar.ini. The name of the skin file can be anything that ends with ".ini".
The skins must be placed in a separate subfolders, which will give the name
to the skin. The same folder can also contain several skin ini-files. The 
settings in the skin file always override the ones in the Rainlendar.ini. This 
is useful for example if the skin needs to be always in a specific place.

Only the ones that affect the outlook of the calendar are explained here. 
Check the Manual.html for info about other settings.

-----------------------------------------------------------------------

BackgroundBitmapName
--------------------
The filename of the background picture to use behind the calendar. You can also 
select if you want the image to be tiled or stretched if it's too small for the
calendar window. It's also possible to grab the desktop behind the calendar and 
use it as background.

BackgroundMode
--------------
0 = Tile background to fill the whole window
1 = Copy the wallpaper for the background
2 = Stretch background to fill the whole window

DaysEnable
----------
0 = Do not show days in calendar
1 = Show days in calendar

DaysX
-----
X-position of the days

DaysY
-----
Y-position of the days

DaysW
-----
Width of the days

DaysH
-----
Height of the days

DaysAlign
---------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter

DaysRasterizer
--------------
FONT = Use fonts to display the days
BITMAP = Use bitmap to display the days

DaysFont
--------
The font to be used with the days. Check below for more info about the fonts.

DaysFontColor
-------------
Color of the font defined as RGB hex-value (e.g. DaysFontColor=44AAFF)

DaysBitmapName
--------------
Filename of the days bitmap. The bitmap must contain either numbers from 0 to 9
 or from 0 to 31. All the numbers must be same size.

DaysNumOfComponents
-------------------
Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
this to 10. For numbers from 0 to 31 use value 32. Note that with 32 numbers
the 0 is never used, so it may hold anything. 

DaysSeparation
--------------
The horizontal separation of the numbers (i.e. how close/far the numbers are
placed from each other). This is only applied with bitmaps when the number of 
components is 10. The value can be negative.

DaysIgnoreToday
---------------
0 = Draw a day for today
1 = Do not draw a day for today

DaysIgnoreEvent
---------------
0 = Draw a day for event days
1 = Do not draw a day for event days

TodayEnable
-----------
0 = Do not show today in calendar
1 = Show today in calendar

TodayAlign
----------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter

TodayRasterizer
---------------
FONT = Use fonts to display the today
BITMAP = Use bitmap to display the today

TodayFont
---------
The font to be used with the today. Check below for more info about the fonts.

TodayFontColor
--------------
Color of the font defined as RGB hex-value (e.g. TodayFontColor=44AAFF)

TodayBitmapName
---------------
Filename of the today bitmap. The bitmap must contain either numbers from 0 to 9
 or from 0 to 31. It can also contain just one image.

TodayNumOfComponents
--------------------
Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
this to 10. For numbers from 0 to 31 use value 32. If the bitmap contains only 
one image use value 1.

TodaySeparation
---------------
The horizontal separation of the numbers (i.e. how close/far the numbers are
placed from each other). This is only applied with bitmaps when the number of 
components is 10. The value can be negative.

WeekdaysEnable
--------------
0 = Do not show weekdays in calendar
1 = Show weekdays in calendar

WeekdaysAlign
-------------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter

WeekdaysRasterizer
------------------
FONT = Use fonts to display the weekdays
BITMAP = Use bitmap to display the weekdays

WeekdaysFont
------------
The font to be used with the today. Check below for more info about the fonts.

WeekdaysFontColor
-----------------
Color of the font defined as RGB hex-value (e.g. WeekdaysFontColor=44AAFF)

WeekdayNames
------------
Weekday strings separated with '/'-char 
(E.g. WeekdayNames=Sun/Mon/Tue/Wed/Thu/Fri/Sat)

WeekdaysBitmapName
------------------
Filename of the weekdays bitmap. The bitmap must contain 7 items (one for each
 weekday).

MonthEnable
-----------
0 = Do not show month in calendar
1 = Show month in calendar

MonthX
------
X-position of the month

MonthY
------
Y-position of the month

MonthAlign
----------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter

MonthRasterizer
---------------
FONT = Use fonts to display the months
BITMAP = Use bitmap to display the months

MonthFont
---------
The font to be used with the month. Check below for more info about the fonts.

MonthFontColor
--------------
Color of the font defined as RGB hex-value (e.g. WeekdaysFontColor=44AAFF)

MonthBitmapName
---------------
Filename of the months bitmap. The bitmap must contain 12 items (one for each 
month).

MonthNames
----------
Names of the months separated with '/'-char 
(E.g MonthNames=January/February/March/April/May/June/July/August/September/October/November/December)

YearEnable
----------
0 = Do not show year in calendar
1 = Show year in calendar

YearX
-----
X-position of the year

YearY
-----
Y-position of the year

YearAlign
---------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter

YearRasterizer
--------------
FONT = Use fonts to display the years
BITMAP = Use bitmap to display the years

YearFont
--------
The font to be used with the year. Check below for more info about the fonts.

YearFontColor
-------------
Color of the font defined as RGB hex-value (e.g. WeekdaysFontColor=44AAFF)

YearBitmapName
--------------
Filename of the year bitmap. The bitmap must contain numbers from 0 to 9.

DaysSeparation
--------------
The horizontal separation of the numbers (i.e. how close/far the numbers are
placed from each other). The value can be negative.

EventEnable
-----------
0 = Do not show events in calendar
1 = Show events in calendar

EventAlign
----------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter

EventRasterizer
---------------
FONT = Use fonts to display the events
BITMAP = Use bitmap to display the events

EventFont
---------
The font to be used with the events. Check below for more info about the fonts.

EventFontColor
--------------
Color of the font defined as RGB hex-value (e.g. WeekdaysFontColor=44AAFF)

EventBitmapName
---------------
Filename of the events bitmap. The bitmap must contain either numbers from 
0 to 9 or from 0 to 31. It can also contain just one image.

EventNumOfComponents
--------------------
Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
this to 10. For numbers from 0 to 31 use value 32. If the bitmap contains only
one image use value 1.

EventSeparation
---------------
The horizontal separation of the numbers (i.e. how close/far the numbers are
placed from each other). This is only applied with bitmaps when the number of 
components is 10. The value can be negative.

EventInCalendar
---------------
0 = Do not show event texts inside the calendar
1 = Show event texts inside the calendar

EventFont2
----------
The font to be used with the events texts that are dran on the calendar. Check
below for more info about the fonts.

EventFontColor2
---------------
Color of the font defined as RGB hex-value (e.g. WeekdaysFontColor=44AAFF)

WeekNumbersEnable
-----------------
0 = Do not show week numbers in calendar
1 = Show week numbers in calendar

WeekNumbersAlign
----------------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter

WeekNumbersRasterizer
---------------------
FONT = Use fonts to display the week numbers
BITMAP = Use bitmap to display the week numbers

WeekNumbersFont
---------------
The font to be used with the week numbers. Check below for more info about the
fonts.

WeekNumbersFontColor
--------------------
Color of the font defined as RGB hex-value (e.g. WeekdaysFontColor=44AAFF)

WeekNumbersBitmapName
---------------------
Filename of the week numbers bitmap. The bitmap must contain either numbers 
from 0 to 9 or from 0 to 53. It can also contain just one image.

WeekNumbersNumOfComponents
--------------------------
Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
this to 10. For numbers from 0 to 53 use value 54.

WeekNumbersSeparation
---------------------
The horizontal separation of the numbers (i.e. how close/far the numbers are
placed from each other). This is only applied with bitmaps when the number of 
components is 10. The value can be negative.

-----------------------------------------------------------------------

Fonts

The fonts are defined with 13 values and the name of the font all separated 
with '/'-char. The most important values are the first one which defines the 
height of the font and the last, which is the typeface name of the font. The 
height of the font is defined in logical size and not in the point size.

E.g. -17/0/0/0/700/0/0/0/0/3/2/1/34/Arial

The different values are in order:

height of font
average character width
angle of escapement
base-line orientation angle
font weight
italic attribute option
underline attribute option
strikeout attribute option
character set identifier
output precision
clipping precision
output quality
pitch and family
typeface name

Check CreateFont() in Win32API documentation for more info.
