home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 June / Chip_2004-06_cd1.bin / software / rain / setup.exe / Skinning.txt < prev    next >
Text File  |  2004-01-24  |  18KB  |  625 lines

  1.                  Rainlendar Skinning Instructions
  2.                  --------------------------------
  3.  
  4. This document gives some details how you can skin Rainlendar. Most of the 
  5. skinning can be done via the GUI, which is probably the easiest way to modify 
  6. the skins. However, sometimes it might be useful to do the changes directly 
  7. in the skin files. The skin files weren't originally meant to be edited by 
  8. humans, so some of the entries might be a bit unintuitive.
  9.  
  10. The items (numbers) in an image can be placed either horizontally or 
  11. vertically. The correct placement is determined from the dimensions of the 
  12. image (i.e. whichever is bigger: height or width). The images must be cropped
  13. so that they don't hold any extra space and their width (or height) must be 
  14. divisional with the number of items in the image. The current version of 
  15. Rainlendar supports BMP, JPG and PNG files. Them PNGs can include alpha mask.
  16.  
  17. Please note that if you disable all items on the calendar the window won't have
  18. any size and it will be impossible to quit it. You'll have to kill the process
  19. in order to quit the program.
  20.  
  21. The name of the skin file can be anything that ends with ".ini".
  22. The skins must be placed in a separate subfolders, which will give the name
  23. to the skin. The same folder can also contain several skin ini-files.
  24.  
  25. Only the ones that affect the outlook of the calendar are explained here. 
  26. Check the Rainlendar's manual for info about the general settings.
  27.  
  28. -----------------------------------------------------------------------
  29.  
  30. BackgroundBitmapName
  31. --------------------
  32. The filename of the background picture to use behind the calendar. You can also 
  33. select if you want the image to be tiled or stretched if it's too small for the
  34. calendar window. It's also possible to grab the desktop behind the calendar and 
  35. use it as background.
  36.  
  37. BackgroundMode
  38. --------------
  39. 0 = Tile background to fill the whole window
  40. 1 = Transparent background
  41. 2 = Stretch background to fill the whole window
  42. 3 = Solid color background
  43.  
  44. BackgroundBevel
  45. ---------------
  46. 0 = No not draw bevel around solid color background
  47. 1 = Draw bevel around solid color background
  48.  
  49. BackgroundSolidColor
  50. --------------------
  51. Color of the solid background defined as BGR hex-value (e.g. BackgroundSolidColor=888888)
  52.  
  53. ToolTipFont
  54. -----------
  55. The font to be used with the tooltips. Check below for more info about the fonts.
  56.  
  57. ToolTipFontColor
  58. ----------------
  59. Color of the tooltip font defined as BGR hex-value (e.g. ToolTipFontColor=000000)
  60.  
  61. ToolTipBGColor
  62. --------------
  63. Color of the tooltip background defined as BGR hex-value (e.g. ToolTipBGColor=FFFFFF)
  64.  
  65. DaysEnable
  66. ----------
  67. 0 = Do not show days in calendar
  68. 1 = Show days in calendar
  69.  
  70. DaysX
  71. -----
  72. X-position of the days
  73.  
  74. DaysY
  75. -----
  76. Y-position of the days
  77.  
  78. DaysW
  79. -----
  80. Width of the days
  81.  
  82. DaysH
  83. -----
  84. Height of the days
  85.  
  86. DaysAlign
  87. ---------
  88. 0 = TopLeft
  89. 1 = TopRight
  90. 2 = TopCenter
  91. 16 = MiddleLeft
  92. 17 = MiddleRight
  93. 18 = Middle
  94. 32 = BottomLeft
  95. 33 = BottomRight
  96. 34 = BottomCenter
  97.  
  98. DaysRasterizer
  99. --------------
  100. FONT = Use fonts to display the days
  101. BITMAP = Use bitmap to display the days
  102.  
  103. DaysFont
  104. --------
  105. The font to be used with the days. Check below for more info about the fonts.
  106.  
  107. DaysFontColor
  108. -------------
  109. Color of the font defined as BGR hex-value (e.g. DaysFontColor=44AAFF)
  110.  
  111. DaysBitmapName
  112. --------------
  113. Filename of the days bitmap. The bitmap must contain either numbers from 0 to 9
  114.  or from 0 to 31. All the numbers must be same size.
  115.  
  116. DaysNumOfComponents
  117. -------------------
  118. Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
  119. this to 10. For numbers from 0 to 31 use value 32. Note that with 32 numbers
  120. the 0 is never used, so it may hold anything. 
  121.  
  122. DaysSeparation
  123. --------------
  124. The horizontal separation of the numbers (i.e. how close/far the numbers are
  125. placed from each other). This is only applied with bitmaps when the number of 
  126. components is 10. The value can be negative.
  127.  
  128. DaysIgnoreToday
  129. ---------------
  130. 0 = Draw a day for today
  131. 1 = Do not draw a day for today
  132.  
  133. DaysIgnoreEvent
  134. ---------------
  135. 0 = Draw a day for event days
  136. 1 = Do not draw a day for event days
  137.  
  138. TodayEnable
  139. -----------
  140. 0 = Do not show today in calendar
  141. 1 = Show today in calendar
  142.  
  143. TodayAlign
  144. ----------
  145. 0 = TopLeft
  146. 1 = TopRight
  147. 2 = TopCenter
  148. 16 = MiddleLeft
  149. 17 = MiddleRight
  150. 18 = Middle
  151. 32 = BottomLeft
  152. 33 = BottomRight
  153. 34 = BottomCenter
  154.  
  155. TodayRasterizer
  156. ---------------
  157. FONT = Use fonts to display the today
  158. BITMAP = Use bitmap to display the today
  159.  
  160. TodayFont
  161. ---------
  162. The font to be used with the today. Check below for more info about the fonts.
  163.  
  164. TodayFontColor
  165. --------------
  166. Color of the font defined as BGR hex-value (e.g. TodayFontColor=44AAFF)
  167.  
  168. TodayBitmapName
  169. ---------------
  170. Filename of the today bitmap. The bitmap must contain either numbers from 0 to 9
  171.  or from 0 to 31. It can also contain just one image.
  172.  
  173. TodayNumOfComponents
  174. --------------------
  175. Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
  176. this to 10. For numbers from 0 to 31 use value 32. If the bitmap contains only 
  177. one image use value 1.
  178.  
  179. TodaySeparation
  180. ---------------
  181. The horizontal separation of the numbers (i.e. how close/far the numbers are
  182. placed from each other). This is only applied with bitmaps when the number of 
  183. components is 10. The value can be negative.
  184.  
  185. WeekdaysEnable
  186. --------------
  187. 0 = Do not show weekdays in calendar
  188. 1 = Show weekdays in calendar
  189.  
  190. WeekdaysAlign
  191. -------------
  192. 0 = TopLeft
  193. 1 = TopRight
  194. 2 = TopCenter
  195. 16 = MiddleLeft
  196. 17 = MiddleRight
  197. 18 = Middle
  198. 32 = BottomLeft
  199. 33 = BottomRight
  200. 34 = BottomCenter
  201.  
  202. WeekdaysRasterizer
  203. ------------------
  204. FONT = Use fonts to display the weekdays
  205. BITMAP = Use bitmap to display the weekdays
  206.  
  207. WeekdaysFont
  208. ------------
  209. The font to be used with the today. Check below for more info about the fonts.
  210.  
  211. WeekdaysFontColor
  212. -----------------
  213. Color of the font defined as BGR hex-value (e.g. WeekdaysFontColor=44AAFF)
  214.  
  215. WeekdayNames
  216. ------------
  217. Weekday strings separated with '/'-char 
  218. (E.g. WeekdayNames=Sun/Mon/Tue/Wed/Thu/Fri/Sat)
  219.  
  220. WeekdaysBitmapName
  221. ------------------
  222. Filename of the weekdays bitmap. The bitmap must contain 7 items (one for each
  223.  weekday).
  224.  
  225. MonthEnable
  226. -----------
  227. 0 = Do not show month in calendar
  228. 1 = Show month in calendar
  229.  
  230. MonthX
  231. ------
  232. X-position of the month
  233.  
  234. MonthY
  235. ------
  236. Y-position of the month
  237.  
  238. MonthAlign
  239. ----------
  240. 0 = TopLeft
  241. 1 = TopRight
  242. 2 = TopCenter
  243. 16 = MiddleLeft
  244. 17 = MiddleRight
  245. 18 = Middle
  246. 32 = BottomLeft
  247. 33 = BottomRight
  248. 34 = BottomCenter
  249.  
  250. MonthRasterizer
  251. ---------------
  252. FONT = Use fonts to display the months
  253. BITMAP = Use bitmap to display the months
  254.  
  255. MonthFont
  256. ---------
  257. The font to be used with the month. Check below for more info about the fonts.
  258.  
  259. MonthFontColor
  260. --------------
  261. Color of the font defined as BGR hex-value (e.g. WeekdaysFontColor=44AAFF)
  262.  
  263. MonthBitmapName
  264. ---------------
  265. Filename of the months bitmap. The bitmap must contain 12 items (one for each 
  266. month).
  267.  
  268. MonthNames
  269. ----------
  270. Names of the months separated with '/'-char 
  271. (E.g MonthNames=January/February/March/April/May/June/July/August/September/October/November/December)
  272.  
  273. YearEnable
  274. ----------
  275. 0 = Do not show year in calendar
  276. 1 = Show year in calendar
  277.  
  278. YearX
  279. -----
  280. X-position of the year
  281.  
  282. YearY
  283. -----
  284. Y-position of the year
  285.  
  286. YearAlign
  287. ---------
  288. 0 = TopLeft
  289. 1 = TopRight
  290. 2 = TopCenter
  291. 16 = MiddleLeft
  292. 17 = MiddleRight
  293. 18 = Middle
  294. 32 = BottomLeft
  295. 33 = BottomRight
  296. 34 = BottomCenter
  297.  
  298. YearRasterizer
  299. --------------
  300. FONT = Use fonts to display the years
  301. BITMAP = Use bitmap to display the years
  302.  
  303. YearFont
  304. --------
  305. The font to be used with the year. Check below for more info about the fonts.
  306.  
  307. YearFontColor
  308. -------------
  309. Color of the font defined as BGR hex-value (e.g. WeekdaysFontColor=44AAFF)
  310.  
  311. YearBitmapName
  312. --------------
  313. Filename of the year bitmap. The bitmap must contain numbers from 0 to 9.
  314.  
  315. DaysSeparation
  316. --------------
  317. The horizontal separation of the numbers (i.e. how close/far the numbers are
  318. placed from each other). The value can be negative.
  319.  
  320. EventEnable
  321. -----------
  322. 0 = Do not show events in calendar
  323. 1 = Show events in calendar
  324.  
  325. EventAlign
  326. ----------
  327. 0 = TopLeft
  328. 1 = TopRight
  329. 2 = TopCenter
  330. 16 = MiddleLeft
  331. 17 = MiddleRight
  332. 18 = Middle
  333. 32 = BottomLeft
  334. 33 = BottomRight
  335. 34 = BottomCenter
  336.  
  337. EventRasterizer
  338. ---------------
  339. FONT = Use fonts to display the events
  340. BITMAP = Use bitmap to display the events
  341.  
  342. EventFont
  343. ---------
  344. The font to be used with the events. Check below for more info about the fonts.
  345.  
  346. EventFontColor
  347. --------------
  348. Color of the font defined as BGR hex-value (e.g. WeekdaysFontColor=44AAFF)
  349.  
  350. EventBitmapName
  351. ---------------
  352. Filename of the events bitmap. The bitmap must contain either numbers from 
  353. 0 to 9 or from 0 to 31. It can also contain just one image.
  354.  
  355. EventNumOfComponents
  356. --------------------
  357. Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
  358. this to 10. For numbers from 0 to 31 use value 32. If the bitmap contains only
  359. one image use value 1.
  360.  
  361. EventSeparation
  362. ---------------
  363. The horizontal separation of the numbers (i.e. how close/far the numbers are
  364. placed from each other). This is only applied with bitmaps when the number of 
  365. components is 10. The value can be negative.
  366.  
  367. EventInCalendar
  368. ---------------
  369. 0 = Do not show event texts inside the calendar
  370. 1 = Show event texts inside the calendar
  371.  
  372. EventFont2
  373. ----------
  374. The font to be used with the events texts that are dran on the calendar. Check
  375. below for more info about the fonts.
  376.  
  377. EventFontColor2
  378. ---------------
  379. Color of the font defined as BGR hex-value (e.g. WeekdaysFontColor=44AAFF)
  380.  
  381. WeekNumbersEnable
  382. -----------------
  383. 0 = Do not show week numbers in calendar
  384. 1 = Show week numbers in calendar
  385.  
  386. WeekNumbersAlign
  387. ----------------
  388. 0 = TopLeft
  389. 1 = TopRight
  390. 2 = TopCenter
  391. 16 = MiddleLeft
  392. 17 = MiddleRight
  393. 18 = Middle
  394. 32 = BottomLeft
  395. 33 = BottomRight
  396. 34 = BottomCenter
  397.  
  398. WeekNumbersRasterizer
  399. ---------------------
  400. FONT = Use fonts to display the week numbers
  401. BITMAP = Use bitmap to display the week numbers
  402.  
  403. WeekNumbersFont
  404. ---------------
  405. The font to be used with the week numbers. Check below for more info about the
  406. fonts.
  407.  
  408. WeekNumbersFontColor
  409. --------------------
  410. Color of the font defined as BGR hex-value (e.g. WeekdaysFontColor=44AAFF)
  411.  
  412. WeekNumbersBitmapName
  413. ---------------------
  414. Filename of the week numbers bitmap. The bitmap must contain either numbers 
  415. from 0 to 9 or from 0 to 53. It can also contain just one image.
  416.  
  417. WeekNumbersNumOfComponents
  418. --------------------------
  419. Number of components in the bitmap. If the bitmap has numbers from 0 to 9, set
  420. this to 10. For numbers from 0 to 53 use value 54.
  421.  
  422. WeekNumbersSeparation
  423. ---------------------
  424. The horizontal separation of the numbers (i.e. how close/far the numbers are
  425. placed from each other). This is only applied with bitmaps when the number of 
  426. components is 10. The value can be negative.
  427.  
  428. TodoW
  429. -----
  430. The width of the todo window.
  431.  
  432. TodoFont
  433. --------
  434. The font to be used with the todo items. Check below for more info about the
  435. fonts.
  436.  
  437. TodoFontColor
  438. -------------
  439. Color of the font defined as BGR hex-value (e.g. TodoFontColor=44AAFF)
  440.  
  441. TodoBitmapName
  442. --------------
  443. Name of the todo window's background image.
  444.  
  445. TodoBitmapMargins
  446. -----------------
  447. Margins for the bitmap scaling. The margins are four comma separated values 
  448. that define the non-scaled part of the images borders. e.g. TodoBitmapMargins=10,10,0,0 
  449. would leave 10 pixels from the left and top borders as is and scale the rest.
  450.  
  451. TodoTextMargins
  452. ---------------
  453. Margins for the text. The margins are four comma separated values 
  454. that define the borders for the text (i.e. text is not drawn on the border area).
  455.  
  456. TodoSeparation
  457. --------------
  458. The horizontal separation of the todo items (i.e. how close/far the texts are
  459. placed from each other).
  460.  
  461. TodoItemBitmapName
  462. ------------------
  463. Name of the image for the todo items.
  464.  
  465. TodoItemAlign
  466. -------------
  467. 0 = TopLeft
  468. 1 = TopRight
  469. 2 = TopCenter
  470. 16 = MiddleLeft
  471. 17 = MiddleRight
  472. 18 = Middle
  473. 32 = BottomLeft
  474. 33 = BottomRight
  475. 34 = BottomCenter
  476.  
  477. TodoItemOffset
  478. --------------
  479. Offset to the todo item. This is two comma separated values (e.g. TodoItemOffset=10,-10)
  480.  
  481. MessageBoxBitmapName
  482. --------------------
  483. Name of the messagebox background image.
  484.  
  485. MessageBoxFont
  486. --------------
  487. The font to be used with the messagebox texts. Check below for more info about the
  488. fonts.
  489.  
  490. MessageBoxFontColor
  491. -------------------
  492. Color of the font defined as BGR hex-value (e.g. TodoFontColor=44AAFF)
  493.  
  494. MessageBoxBitmapMargins
  495. -----------------------
  496. Margins for the bitmap scaling. The margins are four comma separated values 
  497. that define the non-scaled part of the images borders. e.g. MessageBoxBitmapMargins=10,10,0,0 
  498. would leave 10 pixels from the left and top borders as is and scale the rest.
  499.  
  500. MessageBoxTextMargins
  501. ---------------------
  502. Margins for the text. The margins are four comma separated values 
  503. that define the borders for the text (i.e. text is not drawn on the border area).
  504.  
  505. MessageBoxTextMaxWidth
  506. ----------------------
  507. Maximum width in pixels that the message box can scale. The text is wrapped if longer than that.
  508.  
  509. MessageBoxSeparation
  510. --------------------
  511. The horizontal separation of the event texts (i.e. how close/far the texts are
  512. placed from each other).
  513.  
  514.  
  515. -----------------------------------------------------------------------
  516. Fonts
  517. -----------------------------------------------------------------------
  518.  
  519. The fonts are defined with 13 values and the name of the font all separated 
  520. with '/'-char. The most important values are the first one which defines the 
  521. height of the font and the last, which is the typeface name of the font. The 
  522. height of the font is defined in logical size and not in the point size.
  523.  
  524. E.g. -17/0/0/0/700/0/0/0/0/3/2/1/34/Arial
  525.  
  526. The different values are in order:
  527.  
  528. height of font
  529. average character width
  530. angle of escapement
  531. base-line orientation angle
  532. font weight
  533. italic attribute option
  534. underline attribute option
  535. strikeout attribute option
  536. character set identifier
  537. output precision
  538. clipping precision
  539. output quality
  540. pitch and family
  541. typeface name
  542.  
  543. Check CreateFont() in Win32API documentation for more info.
  544.  
  545.  
  546. -----------------------------------------------------------------------
  547. Profiles
  548. -----------------------------------------------------------------------
  549.  
  550. With profiles you can customize individual events. In the previous versions
  551. (<= 0.11) it was possible to override the event font color / bitmap in
  552. the Edit Event dialog. This is not supported anymore as the new profile
  553. system provides a better(?) way to customize the events.
  554.  
  555. When you create an event there is a combo box below the message's text 
  556. box, which can be used to select the profile for the event. The combo box
  557. lists the profiles that are defined in the current skin's ini-file, but 
  558. you can also give a custom profile name. If a certain profile is not 
  559. defined in a skin a default settings are used instead.
  560.  
  561. The profiles are defined in the skin file by making a new section. The name
  562. of the section must start with the word "Profile" (without the quotes). After
  563. that you can put pretty much anything to make the section unique (i.e. there
  564. cannot be two sections that have same name (i.e. the string between []-chars, 
  565. not the "Name=" string).
  566.  
  567. The profile section must have a key called Name, which will give the identity 
  568. to the profile. The name is the one that is displayed in the Edit Event dialog.
  569.  
  570. Other keys that can be in the profile section are:
  571.  
  572. ToolTipFontColor
  573. EventBitmapName
  574. EventFontColor
  575. EventFontColor2
  576. EventIconName
  577. EventIconAlign
  578. EventDrawAlways
  579. Priority
  580.  
  581. The values for the keys are exactly the same as defined above. The profile 
  582. settings override the default skin settings, so for example if the default
  583. ToolTipFontColor value is black and you create a profile that defines it
  584. white, all events that use that profile will draw the tooltip texts white.
  585. Note that it is not necessary to give all the keys always; you can define
  586. just the ones that are necessary (default values are used for the missing
  587. keys).
  588.  
  589. The EventIconName, EventIconAlign and EventDrawAlways can only be used with 
  590. the profiles. The event icon is a small image that is displayed on top of the 
  591. event with the given profile. The align uses the same alignment system as other 
  592. aligns (check e.g. DaysAlign for the codes). If the EventDrawAlways is set to 1 
  593. it means that the event is drawn always on the calendar.
  594.  
  595. The priority defines what is drawn on the calendar when there are several
  596. event on the same day. The repeating events also have predefined priorities so 
  597. that less frequently happening events have higher priority. Like this:
  598.  
  599. Daily Priority    = 10
  600. Weekly Priority   = 20
  601. Monthly Priority  = 30
  602. Annually Priority = 40
  603. Single Priority   = 50
  604.  
  605. The profile's priority value is added to this to determine the actual priority
  606. for the event.
  607.  
  608. Currently it is not possible to create/edit the profiles from the GUI. 
  609. You need to create by hand with a text editor.
  610.  
  611. E.g.
  612.  
  613. [Profile 1]
  614. Name=Sunday
  615. ToolTipFontColor=00DDFF
  616. EventFontColor=DD8888
  617.  
  618. [Profile 2]
  619. Name=Important
  620. ToolTipFontColor=FFFFFF
  621. EventFontColor=FFFFFF
  622. EventFontColor2=FFFFFF
  623. EventIconName=Icons/Lightning.png
  624. EventIconAlign=18
  625.