Actions
Feature #560
closedAdd themes to clock face, hands and overlay
Start date:
16 Dec 2016
Due date:
% Done:
100%
Estimated time:
Severity:
01 - Critical
Description
This is relatively easy although the rotation of the hands is a little confusing (to me, so far). But the background face and overlay (like adding a glass highlight) are straightforward.
How this needs to be done:- Add support for a theme directory
- Add support for a current theme configuration, defaulting to original drawn face and hands
- Design theme config file format, including validation of the content
- Maximum face size: 512
- Scale hands: face size * {.97 second, .85 minute, .65 hour}
- Hands have rotation point: x/y offset for where rotation should occur
- Write functions for loading hands and rotating them
- If theme available, do drawing:
- Draw background
- Call hour hand, draw it
- Call minute hand, draw it
- Call second hand, draw it
- Draw overlay
- Be loaded into their own cairo surface
- Scale the hand
- Rotate the hand
- position the hand after the call
- merged into the main cairo surface
See http://zetcode.com/gfx/cairo/compositing/
Also see this for how to translate and rotate the hands: http://stackoverflow.com/a/35996791. Note that this also shows the use of a Cairo pattern that is generated from the source and is used for translating/rotating.
Actions