home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 June
/
Chip_2004-06_cd1.bin
/
software
/
rain
/
setup.exe
/
Skinning.txt
< prev
next >
Wrap
Text File
|
2004-01-24
|
18KB
|
625 lines
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 easiest 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.
The items (numbers) in an 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. The current version of
Rainlendar supports BMP, JPG and PNG files. Them PNGs can include alpha mask.
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 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.
Only the ones that affect the outlook of the calendar are explained here.
Check the Rainlendar's manual for info about the general 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 = Transparent background
2 = Stretch background to fill the whole window
3 = Solid color background
BackgroundBevel
---------------
0 = No not draw bevel around solid color background
1 = Draw bevel around solid color background
BackgroundSolidColor
--------------------
Color of the solid background defined as BGR hex-value (e.g. BackgroundSolidColor=888888)
ToolTipFont
-----------
The font to be used with the tooltips. Check below for more info about the fonts.
ToolTipFontColor
----------------
Color of the tooltip font defined as BGR hex-value (e.g. ToolTipFontColor=000000)
ToolTipBGColor
--------------
Color of the tooltip background defined as BGR hex-value (e.g. ToolTipBGColor=FFFFFF)
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 BGR 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 BGR 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 BGR 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 BGR 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 BGR 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 BGR 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 BGR 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 BGR 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.
TodoW
-----
The width of the todo window.
TodoFont
--------
The font to be used with the todo items. Check below for more info about the
fonts.
TodoFontColor
-------------
Color of the font defined as BGR hex-value (e.g. TodoFontColor=44AAFF)
TodoBitmapName
--------------
Name of the todo window's background image.
TodoBitmapMargins
-----------------
Margins for the bitmap scaling. The margins are four comma separated values
that define the non-scaled part of the images borders. e.g. TodoBitmapMargins=10,10,0,0
would leave 10 pixels from the left and top borders as is and scale the rest.
TodoTextMargins
---------------
Margins for the text. The margins are four comma separated values
that define the borders for the text (i.e. text is not drawn on the border area).
TodoSeparation
--------------
The horizontal separation of the todo items (i.e. how close/far the texts are
placed from each other).
TodoItemBitmapName
------------------
Name of the image for the todo items.
TodoItemAlign
-------------
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter
TodoItemOffset
--------------
Offset to the todo item. This is two comma separated values (e.g. TodoItemOffset=10,-10)
MessageBoxBitmapName
--------------------
Name of the messagebox background image.
MessageBoxFont
--------------
The font to be used with the messagebox texts. Check below for more info about the
fonts.
MessageBoxFontColor
-------------------
Color of the font defined as BGR hex-value (e.g. TodoFontColor=44AAFF)
MessageBoxBitmapMargins
-----------------------
Margins for the bitmap scaling. The margins are four comma separated values
that define the non-scaled part of the images borders. e.g. MessageBoxBitmapMargins=10,10,0,0
would leave 10 pixels from the left and top borders as is and scale the rest.
MessageBoxTextMargins
---------------------
Margins for the text. The margins are four comma separated values
that define the borders for the text (i.e. text is not drawn on the border area).
MessageBoxTextMaxWidth
----------------------
Maximum width in pixels that the message box can scale. The text is wrapped if longer than that.
MessageBoxSeparation
--------------------
The horizontal separation of the event texts (i.e. how close/far the texts are
placed from each other).
-----------------------------------------------------------------------
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.
-----------------------------------------------------------------------
Profiles
-----------------------------------------------------------------------
With profiles you can customize individual events. In the previous versions
(<= 0.11) it was possible to override the event font color / bitmap in
the Edit Event dialog. This is not supported anymore as the new profile
system provides a better(?) way to customize the events.
When you create an event there is a combo box below the message's text
box, which can be used to select the profile for the event. The combo box
lists the profiles that are defined in the current skin's ini-file, but
you can also give a custom profile name. If a certain profile is not
defined in a skin a default settings are used instead.
The profiles are defined in the skin file by making a new section. The name
of the section must start with the word "Profile" (without the quotes). After
that you can put pretty much anything to make the section unique (i.e. there
cannot be two sections that have same name (i.e. the string between []-chars,
not the "Name=" string).
The profile section must have a key called Name, which will give the identity
to the profile. The name is the one that is displayed in the Edit Event dialog.
Other keys that can be in the profile section are:
ToolTipFontColor
EventBitmapName
EventFontColor
EventFontColor2
EventIconName
EventIconAlign
EventDrawAlways
Priority
The values for the keys are exactly the same as defined above. The profile
settings override the default skin settings, so for example if the default
ToolTipFontColor value is black and you create a profile that defines it
white, all events that use that profile will draw the tooltip texts white.
Note that it is not necessary to give all the keys always; you can define
just the ones that are necessary (default values are used for the missing
keys).
The EventIconName, EventIconAlign and EventDrawAlways can only be used with
the profiles. The event icon is a small image that is displayed on top of the
event with the given profile. The align uses the same alignment system as other
aligns (check e.g. DaysAlign for the codes). If the EventDrawAlways is set to 1
it means that the event is drawn always on the calendar.
The priority defines what is drawn on the calendar when there are several
event on the same day. The repeating events also have predefined priorities so
that less frequently happening events have higher priority. Like this:
Daily Priority = 10
Weekly Priority = 20
Monthly Priority = 30
Annually Priority = 40
Single Priority = 50
The profile's priority value is added to this to determine the actual priority
for the event.
Currently it is not possible to create/edit the profiles from the GUI.
You need to create by hand with a text editor.
E.g.
[Profile 1]
Name=Sunday
ToolTipFontColor=00DDFF
EventFontColor=DD8888
[Profile 2]
Name=Important
ToolTipFontColor=FFFFFF
EventFontColor=FFFFFF
EventFontColor2=FFFFFF
EventIconName=Icons/Lightning.png
EventIconAlign=18