[cairo-commit] cairo-demo/cairo-candy ChangeLog, 1.1, 1.2 INSTALL,
1.1, 1.2 Makefile, 1.1, 1.2 NEWS, 1.1, 1.2 README, 1.1,
1.2 cairo-clock.c, 1.2, 1.3 clock-drop-shadow.svg, NONE,
1.1 clock-face-shadow.svg, NONE, 1.1 clock-face.svg, NONE,
1.1 clock-frame.svg, NONE, 1.1 clock-glass.svg, NONE,
1.1 clock-hour-hand-shadow.svg, NONE, 1.1 clock-hour-hand.svg,
NONE, 1.1 clock-marks.svg, NONE,
1.1 clock-minute-hand-shadow.svg, NONE,
1.1 clock-minute-hand.svg, NONE,
1.1 clock-second-hand-shadow.svg, NONE,
1.1 clock-second-hand.svg, NONE, 1.1
commit at pdx.freedesktop.org
commit at pdx.freedesktop.org
Thu Jan 26 23:24:08 PST 2006
Committed by: macslow
Update of /cvs/cairo/cairo-demo/cairo-candy
In directory gabe:/tmp/cvs-serv19703
Modified Files:
ChangeLog INSTALL Makefile NEWS README cairo-clock.c
Added Files:
clock-drop-shadow.svg clock-face-shadow.svg clock-face.svg
clock-frame.svg clock-glass.svg clock-hour-hand-shadow.svg
clock-hour-hand.svg clock-marks.svg
clock-minute-hand-shadow.svg clock-minute-hand.svg
clock-second-hand-shadow.svg clock-second-hand.svg
Log Message:
librsvg-ified cairo-clock.c
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/cairo-demo/cairo-candy/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ChangeLog 22 Jan 2006 14:01:29 -0000 1.1
+++ ChangeLog 27 Jan 2006 07:24:06 -0000 1.2
@@ -1,3 +1,9 @@
+2006-01-27 Mirco Mueller <macslow at bangang.de>
+
+ The cairo-clock.c now uses librsvg to load all parts of the clock as SVG
+ files. Some command-line paramters can now be use to alter the initial
+ behaviour of the clock. Overall performance is much better now!
+
2006-01-22 Mirco Mueller <macslow at bangang.de>
On request by Carl Worth I'm doing the initial commit of this ahead of
Index: INSTALL
===================================================================
RCS file: /cvs/cairo/cairo-demo/cairo-candy/INSTALL,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- INSTALL 22 Jan 2006 14:01:29 -0000 1.1
+++ INSTALL 27 Jan 2006 07:24:06 -0000 1.2
@@ -3,6 +3,7 @@
gtk+ 2.8.x
cairo 1.0.2
+ librsvg 2.13.5
some half-way decent compositing-manager (e.g. xcompmgr)
Xorg 6.9/7.0 (with enabled Composite-extension)
a good gfx-card with drivers that accelerate Render (e.g. GeForce-series)
Index: Makefile
===================================================================
RCS file: /cvs/cairo/cairo-demo/cairo-candy/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Makefile 22 Jan 2006 14:01:29 -0000 1.1
+++ Makefile 27 Jan 2006 07:24:06 -0000 1.2
@@ -2,8 +2,8 @@
APP_2=wobbly-zini
CC=cc
-CFLAGS= -Wall -Os `pkg-config --cflags gtk+-2.0`
-LDFLAGS= `pkg-config --libs gtk+-2.0`
+CFLAGS= -Wall -Os `pkg-config --cflags gtk+-2.0 librsvg-2.0`
+LDFLAGS= `pkg-config --libs gtk+-2.0 librsvg-2.0`
SRC_1 = cairo-clock.c
SRC_2 = wobbly-zini.c
Index: NEWS
===================================================================
RCS file: /cvs/cairo/cairo-demo/cairo-candy/NEWS,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- NEWS 22 Jan 2006 14:01:29 -0000 1.1
+++ NEWS 27 Jan 2006 07:24:06 -0000 1.2
@@ -0,0 +1,21 @@
+The clock now uses a fixed set of SVG-files to determine its look. Thus it is
+now possible to skin the clock. Just replace the 12 SVG-files with your own set
+of files to give the clock your own personal style. Take note, that the
+filenames are currently hard-coded. Open the default set of files in inkscape to
+get an idea how to draw your own theme. In the near future proper theme-support
+for the clock seems within reach. Furthermore the clock is no longer affected by
+cairo-bug #5681.
+
+The overall performance (refresh and redrawn) is much better now.
+
+A few command-line options are available now. Here's the output of of the
+command "cairo-clock --help":
+
+Usage: ./cairo-clock
+ --seconds (refresh every second and draw second-hand)
+ --width <int> (open window with this width)
+ --height <int> (open window with this height)
+ --help (this usage-description)
+
+And always remember... this is still work-in-progress. Now have fun with
+creating your own clock-theme!
Index: README
===================================================================
RCS file: /cvs/cairo/cairo-demo/cairo-candy/README,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- README 22 Jan 2006 14:01:29 -0000 1.1
+++ README 27 Jan 2006 07:24:06 -0000 1.2
@@ -1,8 +1,6 @@
cairo-clock: My try at producing a sleek looking analog clock you see on OS X
-and Vista these days. Pure cairo-calls, no SVG baby! Drags around with the LMB
-pressed, resizes with the MMB pressed. Exits on <ESC>. I the long run a proper
-support for SVG via librsvg would be the way to go. But since I regard this
-mainly as an exercise to learn new things, SVG-support as not my inital goal. It
+and Vista these days. No more pure cairo-calls. This time SVGs all the way!Drags
+around with the LMB pressed, resizes with the MMB pressed. Exits on <ESC>. It
has already grown larger than I anticipated. I guess people like funky desktop
visuals after all ;)
Index: cairo-clock.c
===================================================================
RCS file: /cvs/cairo/cairo-demo/cairo-candy/cairo-clock.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- cairo-clock.c 22 Jan 2006 16:15:15 -0000 1.2
+++ cairo-clock.c 27 Jan 2006 07:24:06 -0000 1.3
@@ -12,7 +12,7 @@
** 10.1.2006 (or so)
**
** last change:
-** 21.1.2006
+** 27.1.2006
**
** notes:
** In my ongoing efforts to do something useful while learning the cairo-API
@@ -24,14 +24,10 @@
** http://www.gnu.org/licenses/licenses.html#GPL
**
** todo:
-** - fix the way the drop-shadow is drawn
-** - put the minute-marks back in
-** - speed the whole thing up
** - maybe add a date-display in the lower halve like chronographs have
-** - make some features settable via the commandline
-** - fuzzy shadows under the hour-, minute- and second-hand
-** - add an GtkAspectFrame to only allow ratio-fixed resizing
-** - add a invisible drag-handle on the clock so it's easily moveable
+** - maybe add a popup-menu and a settings-dialog
+** - maybe allow easy theme-switching via command-line/settings-dialog
+** - maybe save settings in a rc-file
**
*******************************************************************************/
@@ -39,19 +35,64 @@
#include <gtk/gtk.h>
#include <time.h>
#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <librsvg/rsvg.h>
+#include <librsvg/rsvg-cairo.h>
-#define WIN_WIDTH 256
-#define WIN_HEIGHT 256
-#define MS_INTERVAL 1000
+#define SECOND_INTERVAL 1000
+#define MINUTE_INTERVAL 60000
+#define MIN_WIDTH 32
+#define MIN_HEIGHT 32
+#define MAX_WIDTH 512
+#define MAX_HEIGHT 512
-cairo_t* g_pCairoContext;
-int g_iSeconds;
-int g_iMinutes;
-int g_iHours;
-static time_t g_timeOfDay;
-struct tm* g_pTime;
+enum
+{
+ CLOCK_DROP_SHADOW = 0,
+ CLOCK_FACE,
+ CLOCK_MARKS,
+ CLOCK_HOUR_HAND_SHADOW,
+ CLOCK_MINUTE_HAND_SHADOW,
+ CLOCK_SECOND_HAND_SHADOW,
+ CLOCK_HOUR_HAND,
+ CLOCK_MINUTE_HAND,
+ CLOCK_SECOND_HAND,
+ CLOCK_FACE_SHADOW,
+ CLOCK_GLASS,
+ CLOCK_FRAME,
+ CLOCK_ELEMENTS
+};
-void clock_render (int width, int height);
+/* yeah I know... global variables are the devil */
+cairo_t* g_pCairoContext;
+RsvgHandle* g_pSvgHandles[CLOCK_ELEMENTS];
+char g_cFileNames[CLOCK_ELEMENTS][30] =
+{
+ "clock-drop-shadow.svg",
+ "clock-face.svg",
+ "clock-marks.svg",
+ "clock-hour-hand-shadow.svg",
+ "clock-minute-hand-shadow.svg",
+ "clock-second-hand-shadow.svg",
+ "clock-hour-hand.svg",
+ "clock-minute-hand.svg",
+ "clock-second-hand.svg",
+ "clock-face-shadow.svg",
+ "clock-glass.svg",
+ "clock-frame.svg"
+};
+RsvgDimensionData g_DimensionData;
+int g_iSeconds;
+int g_iMinutes;
+int g_iHours;
+static time_t g_timeOfDay;
+struct tm* g_pTime;
+int g_iEverySecond = 0; /* 1/0 - draw/don't draw seconds */
+int g_iDefaultWidth = 128; /* window opens with this width */
+int g_iDefaultHeight = 128; /* ... and with this height */
+
+void render (int width, int height);
static gboolean time_handler (GtkWidget* pWidget)
{
@@ -68,7 +109,7 @@
g_pCairoContext = gdk_cairo_create (pWidget->window);
cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_SOURCE);
gtk_window_get_size (GTK_WINDOW (pWidget), &iWidth, &iHeight);
- clock_render (iWidth, iHeight);
+ render (iWidth, iHeight);
cairo_destroy (g_pCairoContext);
return FALSE;
@@ -82,12 +123,7 @@
GdkColormap* pColormap = gdk_screen_get_rgba_colormap (pScreen);
if (!pColormap)
- {
pColormap = gdk_screen_get_rgb_colormap (pScreen);
- printf ("screen does NOT support alpha\n");
- }
- else
- printf ("screen supports alpha!\n");
gtk_widget_set_colormap (pWidget, pColormap);
}
@@ -133,318 +169,191 @@
return TRUE;
}
-void clock_render (int width, int height)
+void render (int width, int height)
{
- int i;
- double fX1;
- double fY1;
- double fX2;
- double fY2;
- cairo_pattern_t* pPattern;
+ double fHalfX = g_DimensionData.width / 2.0f;
+ double fHalfY = g_DimensionData.height / 2.0f;
+ double fShadowOffsetX = -0.75f;
+ double fShadowOffsetY = 0.75f;
+
+ time (&g_timeOfDay);
+ g_pTime = localtime (&g_timeOfDay);
+ g_iSeconds = g_pTime->tm_sec;
+ g_iMinutes = g_pTime->tm_min;
+ g_iHours = g_pTime->tm_hour;
+ g_iHours = g_iHours >= 12 ? g_iHours - 12 : g_iHours;
cairo_save (g_pCairoContext);
- cairo_scale (g_pCairoContext, (double) width / 1.0f, (double) height / 1.0f);
+ cairo_scale (g_pCairoContext,
+ (double) width / (double) g_DimensionData.width,
+ (double) height / (double) g_DimensionData.height);
/* "clear" the background of the window to fully transparent */
- cairo_set_source_rgba (g_pCairoContext, 0.0f, 0.0f, 0.0f, 0.0f);
+ cairo_set_source_rgba (g_pCairoContext, 1.0f, 1.0f, 1.0f, 0.0f);
+ cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_SOURCE);
cairo_paint (g_pCairoContext);
cairo_save (g_pCairoContext);
-
- /* draw "drop-shadow" behind the clock - atm this still looks aweful */
cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_OVER);
- pPattern = cairo_pattern_create_radial (0.55f,
- 0.55f,
- 0.25f,
- 0.5f,
- 0.5f,
- 0.525f);
- cairo_pattern_add_color_stop_rgba (pPattern,
- 0.0f,
- 0.0f,
- 0.0f,
- 0.0f,
- 0.811f);
- cairo_pattern_add_color_stop_rgba (pPattern,
- 0.64f,
- 0.345f,
- 0.345f,
- 0.345f,
- 0.317f);
- cairo_pattern_add_color_stop_rgba (pPattern,
- 0.84f,
- 0.713f,
- 0.713f,
- 0.713f,
- 0.137f);
- cairo_pattern_add_color_stop_rgba (pPattern,
- 1.0f,
- 1.0f,
- 1.0f,
- 1.0f,
- 0.0f);
- cairo_pattern_set_filter (pPattern, CAIRO_FILTER_BILINEAR);
- cairo_set_source (g_pCairoContext, pPattern);
- cairo_arc (g_pCairoContext, 0.5f, 0.5f, 142.0f/150.0f, 0.0f, M_PI * 2.0f);
- cairo_fill (g_pCairoContext);
- cairo_pattern_destroy (pPattern);
- /* draw bright inner clock-face background */
- fX1 = 0.5f;
- fY1 = 0.0f;
- fX2 = 0.5f;
- fY2 = 1.0f;
- pPattern = cairo_pattern_create_linear (fX1, fY1, fX2, fY2);
- cairo_pattern_add_color_stop_rgb (pPattern, 0.0f, 0.91f, 0.96f, 0.93f);
- cairo_pattern_add_color_stop_rgb (pPattern, 1.0f, 0.65f, 0.68f, 0.68f);
- cairo_pattern_set_filter (pPattern, CAIRO_FILTER_BILINEAR);
- cairo_set_source (g_pCairoContext, pPattern);
- cairo_translate (g_pCairoContext, 0.5f, 0.5f);
- cairo_arc (g_pCairoContext, 0.0f, 0.0f, 60.0f/150.0f, 0.0f, M_PI * 2.0f);
- cairo_fill (g_pCairoContext);
- cairo_pattern_destroy (pPattern);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_DROP_SHADOW]);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_FACE]);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_MARKS]);
- cairo_restore (g_pCairoContext);
+ cairo_save (g_pCairoContext);
+ cairo_translate (g_pCairoContext, fHalfX, fHalfY);
+ cairo_rotate (g_pCairoContext, -M_PI/2.0f);
cairo_save (g_pCairoContext);
- cairo_translate (g_pCairoContext, 0.5f, 0.5f);
- cairo_scale (g_pCairoContext, 0.4f, 0.4f);
- cairo_set_source_rgb (g_pCairoContext, 0.16f, 0.18f, 0.19f);
- cairo_set_line_width (g_pCairoContext, 1.5f/60.0f);
- cairo_set_line_cap (g_pCairoContext, CAIRO_LINE_CAP_ROUND);
- cairo_set_line_join (g_pCairoContext, CAIRO_LINE_JOIN_ROUND);
+ cairo_translate (g_pCairoContext, fShadowOffsetX, fShadowOffsetY);
+ cairo_rotate (g_pCairoContext, (M_PI/6.0f) * g_iHours);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_HOUR_HAND_SHADOW]);
+ cairo_restore (g_pCairoContext);
- /* draw hour-marks */
cairo_save (g_pCairoContext);
- for (i = 0; i < 12; i++)
- {
- cairo_rotate (g_pCairoContext, M_PI/6.0f);
- cairo_move_to (g_pCairoContext, 4.5f/6.0f, 0.0f);
- cairo_line_to (g_pCairoContext, 5.0f/6.0f, 0.0f);
- }
- cairo_stroke (g_pCairoContext);
+ cairo_translate (g_pCairoContext, fShadowOffsetX, fShadowOffsetY);
+ cairo_rotate (g_pCairoContext, (M_PI/30.0f) * g_iMinutes);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_MINUTE_HAND_SHADOW]);
cairo_restore (g_pCairoContext);
- /* draw minute-marks */
- /*cairo_save (g_pCairoContext);
- cairo_set_line_width (g_pCairoContext, 1.0f/45.0f);
- cairo_set_source_rgb (g_pCairoContext, 1.0f, 0.0f, 0.0f);
- for (i = 0; i < 60; i++)
+ if (g_iEverySecond)
{
- if (i%5 != 0)
- {
- fX1 = sin ((double) i*39 / 360.0f) / 1.2f;
- fY1 = cos ((double) i*39 / 360.0f) / 1.2f;
- cairo_arc (g_pCairoContext, fX1, fY1, 0.015f, 0.0f, 2.0f * M_PI);
- cairo_fill (g_pCairoContext);
- }
+ cairo_save (g_pCairoContext);
+ cairo_translate (g_pCairoContext, fShadowOffsetX, fShadowOffsetY);
+ cairo_rotate (g_pCairoContext, (M_PI/30.0f) * g_iSeconds);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_SECOND_HAND_SHADOW]);
+ cairo_restore (g_pCairoContext);
}
- cairo_restore (g_pCairoContext);*/
- time (&g_timeOfDay);
- g_pTime = localtime (&g_timeOfDay);
- g_iSeconds = g_pTime->tm_sec;
- g_iMinutes = g_pTime->tm_min;
- g_iHours = g_pTime->tm_hour;
-
- g_iHours = g_iHours >= 12 ? g_iHours - 12 : g_iHours;
-
- /* draw hour-hand */
cairo_save (g_pCairoContext);
- cairo_rotate (g_pCairoContext, -M_PI/2.0f);
- cairo_set_line_cap (g_pCairoContext, CAIRO_LINE_CAP_SQUARE);
- cairo_set_line_join (g_pCairoContext, CAIRO_LINE_JOIN_MITER);
- cairo_rotate (g_pCairoContext, (M_PI/6.0f) * g_iHours +
- (M_PI/360.0f) * g_iMinutes +
- (M_PI/21600.0f) * g_iSeconds);
- cairo_set_line_width (g_pCairoContext, 1.0f/60.0f);
-
- /* its shadow */
- cairo_set_line_width (g_pCairoContext, 1.75f/60.0f);
- cairo_set_operator( g_pCairoContext, CAIRO_OPERATOR_ATOP);
- cairo_set_source_rgba (g_pCairoContext, 0.16f, 0.18f, 0.19f, 0.125f);
- cairo_move_to(g_pCairoContext, -2.0f/15.0f + 0.025f, 0.025f);
- cairo_line_to(g_pCairoContext, 7.0f/15.0f + 0.025f, 0.025f);
- cairo_stroke (g_pCairoContext);
-
- /* the hand itself */
- cairo_set_line_width (g_pCairoContext, 1.0f/60.0f);
- cairo_set_operator( g_pCairoContext, CAIRO_OPERATOR_OVER);
- cairo_set_source_rgb (g_pCairoContext, 0.16f, 0.18f, 0.19f);
- cairo_move_to(g_pCairoContext, -2.0f/15.0f, 0.0f);
- cairo_line_to(g_pCairoContext, 7.0f/15.0f, 0.0f);
- cairo_stroke (g_pCairoContext);
-
+ cairo_rotate (g_pCairoContext, (M_PI/6.0f) * g_iHours);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_HOUR_HAND]);
cairo_restore (g_pCairoContext);
- /* draw minute-hand */
cairo_save (g_pCairoContext);
- cairo_rotate (g_pCairoContext, -M_PI/2.0f);
- cairo_set_line_cap (g_pCairoContext, CAIRO_LINE_CAP_SQUARE);
- cairo_set_line_join (g_pCairoContext, CAIRO_LINE_JOIN_MITER);
- cairo_rotate (g_pCairoContext, (M_PI/30) * g_iMinutes +
- (M_PI/1800) * g_iSeconds);
- /* its shadow */
- cairo_set_line_width (g_pCairoContext, 1.75f/60.0f);
- cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_ATOP);
- cairo_set_source_rgba (g_pCairoContext, 0.16f, 0.18f, 0.19f, 0.125f);
- cairo_move_to (g_pCairoContext, -16.0f/75.0f - 0.025f, -0.025f);
- cairo_line_to (g_pCairoContext, 2.0f/3.0f - 0.025f, -0.025f);
- cairo_stroke (g_pCairoContext);
-
- /* the hand itself */
- cairo_set_line_width (g_pCairoContext, 1.0f/60.0f);
- cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_OVER);
- cairo_set_source_rgb (g_pCairoContext, 0.16f, 0.18f, 0.19f);
- cairo_move_to (g_pCairoContext, -16.0f/75.0f, 0.0f);
- cairo_line_to (g_pCairoContext, 2.0f/3.0f, 0.0f);
- cairo_stroke (g_pCairoContext);
-
- cairo_restore (g_pCairoContext);
-
- /* draw second-hand */
- cairo_save (g_pCairoContext);
- cairo_rotate (g_pCairoContext, -M_PI/2.0f);
- cairo_set_line_cap (g_pCairoContext, CAIRO_LINE_CAP_SQUARE);
- cairo_set_line_join (g_pCairoContext, CAIRO_LINE_JOIN_MITER);
- cairo_rotate (g_pCairoContext, g_iSeconds * M_PI/30.0f);
-
- /* shadow of first hand-part */
- cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_ATOP);
- cairo_set_source_rgba (g_pCairoContext, 0.16f, 0.18f, 0.19f, 0.125f);
- cairo_set_line_width (g_pCairoContext, 1.3125f / 60.0f);
- cairo_move_to (g_pCairoContext, -1.5f/5.0f + 0.025f, 0.025f);
- cairo_line_to (g_pCairoContext, 3.0f/5.0f + 0.025f, 0.025f);
- cairo_stroke (g_pCairoContext);
-
- /* first hand-part */
- cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_OVER);
- cairo_set_source_rgb (g_pCairoContext, 0.39f, 0.58f, 0.77f);
- cairo_set_line_width (g_pCairoContext, 0.75f / 60.0f);
- cairo_move_to (g_pCairoContext, -1.5f/5.0f, 0.0f);
- cairo_line_to (g_pCairoContext, 3.0f/5.0f ,0.0f);
- cairo_stroke (g_pCairoContext);
-
- cairo_arc (g_pCairoContext, 0.0f, 0.0f, 1.0f/20.0f, 0.0f, M_PI * 2.0f);
- cairo_fill (g_pCairoContext);
- cairo_arc (g_pCairoContext, 63.0f / 100.0f,
- 0.0f,
- 1.0f / 35.0f,
- 0.0f,
- M_PI * 2.0f);
- cairo_stroke (g_pCairoContext);
- cairo_set_line_width (g_pCairoContext, 1.0f / 100.0f);
- cairo_move_to (g_pCairoContext, 10.0f/15.0f, 0.0f);
- cairo_line_to (g_pCairoContext, 12.0f/15.0f, 0.0f);
- cairo_stroke (g_pCairoContext);
- cairo_set_source_rgb (g_pCairoContext, 0.31f, 0.31f, 0.31f);
- cairo_arc (g_pCairoContext, 0.0f, 0.0f, 1.0f/25.0f, 0.0f, M_PI * 2);
- cairo_fill (g_pCairoContext);
+ cairo_rotate (g_pCairoContext, (M_PI/30.0f) * g_iMinutes);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_MINUTE_HAND]);
cairo_restore (g_pCairoContext);
- /* draw the subtle inner shadow on the clock-face cast by the frame */
- cairo_save (g_pCairoContext);
- cairo_set_operator (g_pCairoContext, CAIRO_OPERATOR_OVER);
- cairo_arc (g_pCairoContext, 0.0f, 0.0f, 142.0f/150.0f, 0.0f, M_PI * 2.0f);
- cairo_clip (g_pCairoContext);
- pPattern = cairo_pattern_create_radial (0.3f,
- 0.3f,
- 0.1f,
- 0.0f,
- 0.0f,
- 0.95f);
- cairo_pattern_add_color_stop_rgba (pPattern, 0.0f, 1.0f, 1.0f, 1.0f, 0.0f);
- cairo_pattern_add_color_stop_rgba (pPattern,
- 0.64f,
- 0.713f,
- 0.713f,
- 0.713f,
- 0.137f);
- cairo_pattern_add_color_stop_rgba (pPattern,
- 0.84f,
- 0.345f,
- 0.345f,
- 0.345f,
- 0.317f);
- cairo_pattern_add_color_stop_rgba (pPattern,1.0f, 0.0f, 0.0f, 0.0f, 0.811f);
- cairo_pattern_set_filter (pPattern, CAIRO_FILTER_BILINEAR);
- cairo_set_source (g_pCairoContext, pPattern);
- cairo_arc (g_pCairoContext, 0.0f, 0.0f, 142.0f/150.0f, 0.0f, M_PI * 2.0f);
- cairo_fill (g_pCairoContext);
- cairo_pattern_destroy (pPattern);
+ if (g_iEverySecond)
+ {
+ cairo_save (g_pCairoContext);
+ cairo_rotate (g_pCairoContext, (M_PI/30.0f) * g_iSeconds);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_SECOND_HAND]);
+ cairo_restore (g_pCairoContext);
+ }
- /* draw "reflection" on glass */
- cairo_rotate (g_pCairoContext, -75.0f * M_PI/180.0f);
- cairo_set_source_rgba (g_pCairoContext, 0.87f, 0.9f, 0.95f, 0.25f);
- cairo_move_to (g_pCairoContext, -1.0f, -1.0f);
- cairo_line_to (g_pCairoContext, 1.0f, -1.0f);
- cairo_line_to (g_pCairoContext, 1.0f, 1.0f);
- cairo_curve_to (g_pCairoContext, 1.0f, 0.15f, -0.15f, -1.0f, -1.0f, -1.0f);
- cairo_fill (g_pCairoContext);
- cairo_move_to (g_pCairoContext, -1.0f, -1.0f);
- cairo_line_to (g_pCairoContext, -1.0f, 1.0f);
- cairo_line_to (g_pCairoContext, 1.0f, 1.0f);
- cairo_curve_to (g_pCairoContext, -0.5f, 1.0f, -1.0f, 0.5f, -1.0f, -1.0f);
- cairo_fill (g_pCairoContext);
cairo_restore (g_pCairoContext);
- /* draw surrounding frame */
- pPattern = cairo_pattern_create_radial (-0.1f,
- -0.1f,
- 0.8f,
- 0.0f,
- 0.0f,
- 1.5f);
- cairo_pattern_add_color_stop_rgb (pPattern, 0.0f, 0.4f, 0.4f, 0.4f);
- cairo_pattern_add_color_stop_rgb (pPattern, 0.2f, 0.95f, 0.95f, 0.95f);
- cairo_pattern_set_filter (pPattern, CAIRO_FILTER_BILINEAR);
- cairo_set_source (g_pCairoContext, pPattern);
- cairo_set_line_width (g_pCairoContext, 10.0f/75.0f);
- cairo_arc (g_pCairoContext, 0.0f, 0.0f, 142.0f/150.0f, 0.0f, M_PI * 2.0f);
- cairo_stroke (g_pCairoContext);
- cairo_pattern_destroy (pPattern);
-
- pPattern = cairo_pattern_create_radial (-0.1f,
- -0.1f,
- 0.8f,
- 0.0f,
- 0.0f,
- 1.5f);
- cairo_pattern_add_color_stop_rgb (pPattern, 0.0f, 0.9f, 0.9f, 0.9f);
- cairo_pattern_add_color_stop_rgb (pPattern, 0.2f, 0.35f, 0.35f, 0.35f);
- cairo_pattern_set_filter (pPattern, CAIRO_FILTER_BILINEAR);
- cairo_set_source (g_pCairoContext, pPattern);
- cairo_set_line_width (g_pCairoContext, 10.0f/75.0f);
- cairo_arc (g_pCairoContext, 0.0f, 0.0f, 150.0f/150.0f, 0.0f, M_PI * 2.0f);
- cairo_stroke (g_pCairoContext);
- cairo_pattern_destroy (pPattern);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_FACE_SHADOW]);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_GLASS]);
+ rsvg_cairo_render (g_pCairoContext, g_pSvgHandles[CLOCK_FRAME]);
cairo_restore (g_pCairoContext);
- cairo_restore (g_pCairoContext);
}
int main (int argc, char **argv)
{
GtkWidget* pWindow = NULL;
GdkGeometry hints;
+ GError* pError;
+ int iElement;
+ int i;
+ int iTmp;
+
+ /*
+ ** ideas...
+ **
+ **
+ ** used directories/files:
+ **
+ ** $prefix/share/macslow-cairo-clock (icon, glade file)
+ ** $prefix/share/macslow-cairo-clock/themes
+ ** ~/.macslow-cairo-clock/settingsrc ()
+ ** ~/.macslow-cairo-clock/themes
+ **
+ **
+ ** command-line options:
+ **
+ ** --seconds (update every second, draw second-hand)
+ ** --theme <name> (default: "standard")
+ ** --themedir <path> (default: "$prefix/share/macslow-cairo-clock/themes")
+ ** --width <int> (default: 128, min-width <= width <= max-width)
+ ** --height <int> (default: 128, min-height <= height <= max-height)
+ ** --date (draw date-display - currently ignored)
+ ** --help (spit out short list of available optoins)
+ **
+ **
+ ** popup-menu entries:
+ **
+ ** Settings
+ ** About
+ ** ------
+ ** Quit
+ */
+
+ /* this is just a quick&dirty command-line parsing, it should be replaced
+ ** by something using libpopt... but right now I'm not motivated to look in
+ ** the API-reference of libpopt */
+ for (i = 1; i < argc ;i++)
+ {
+ if (!strcmp (argv[i], "--seconds"))
+ {
+ g_iEverySecond = 1;
+ continue;
+ }
+
+ if (!strcmp (argv[i], "--width"))
+ {
+ iTmp = atoi (argv[++i]);
+ if (iTmp <= MAX_WIDTH && iTmp >= MIN_WIDTH)
+ g_iDefaultWidth = iTmp;
+ continue;
+ }
+
+ if (!strcmp (argv[i], "--height"))
+ {
+ iTmp = atoi (argv[++i]);
+ if (iTmp <= MAX_HEIGHT && iTmp >= MIN_HEIGHT)
+ g_iDefaultHeight = iTmp;
+ continue;
+ }
+
+ if (!strcmp (argv[i], "--help"))
+ {
+ printf ("Usage: %s\n", argv[0]);
+ printf ("\t--seconds (refresh every second and draw second-hand)\n");
+ printf ("\t--width <int> (open window with this width)\n");
+ printf ("\t--height <int> (open window with this height)\n");
+ printf ("\t--help (this usage-description)\n");
+ exit (0);
+ }
+ }
gtk_init (&argc, &argv);
+ rsvg_init ();
+
+ for (iElement = 0; iElement < CLOCK_ELEMENTS; iElement++)
+ g_pSvgHandles[iElement] = rsvg_handle_new_from_file (g_cFileNames[iElement], &pError);
+
+ rsvg_handle_get_dimensions (g_pSvgHandles[CLOCK_DROP_SHADOW], &g_DimensionData);
pWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_decorated (GTK_WINDOW (pWindow), FALSE);
gtk_window_set_resizable (GTK_WINDOW (pWindow), TRUE);
- gtk_window_set_position (GTK_WINDOW (pWindow), GTK_WIN_POS_CENTER_ALWAYS);
gtk_widget_set_app_paintable (pWindow, TRUE);
- gtk_window_set_icon_from_file (GTK_WINDOW (pWindow), "./cairo-clock-icon.png", NULL);
+ gtk_window_set_icon_from_file (GTK_WINDOW (pWindow), "cairo-clock-icon.png", NULL);
gtk_window_set_title (GTK_WINDOW (pWindow), "MacSlow's Cairo-Clock");
- gtk_window_set_default_size (GTK_WINDOW (pWindow), WIN_WIDTH, WIN_HEIGHT);
+ gtk_window_set_default_size (GTK_WINDOW (pWindow),
+ g_iDefaultWidth,
+ g_iDefaultHeight);
- hints.min_width = 32;
- hints.min_height = 32;
- hints.max_width = 512;
- hints.max_height = 512;
- hints.min_aspect = 1.0f;
- hints.max_aspect = 1.0f;
+ hints.min_width = MIN_WIDTH;
+ hints.min_height = MIN_HEIGHT;
+ hints.max_width = MAX_WIDTH;
+ hints.max_height = MAX_HEIGHT;
+ hints.min_aspect = (double) g_iDefaultWidth / (double) g_iDefaultHeight;
+ hints.max_aspect = (double) g_iDefaultWidth / (double) g_iDefaultHeight;
gtk_window_set_geometry_hints (GTK_WINDOW (pWindow),
pWindow,
@@ -477,11 +386,19 @@
if (!GTK_WIDGET_VISIBLE (pWindow))
gtk_widget_show_all (pWindow);
- gtk_timeout_add (MS_INTERVAL, (GtkFunction) time_handler, pWindow);
+ if (g_iEverySecond)
+ gtk_timeout_add (SECOND_INTERVAL, (GtkFunction) time_handler, pWindow);
+ else
+ gtk_timeout_add (MINUTE_INTERVAL, (GtkFunction) time_handler, pWindow);
g_pCairoContext = gdk_cairo_create (pWindow->window);
gtk_main ();
+ for (iElement = 0; iElement < CLOCK_ELEMENTS; iElement++)
+ rsvg_handle_free (g_pSvgHandles[iElement]);
+
+ rsvg_term ();
+
return 0;
}
--- NEW FILE: clock-drop-shadow.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-drop-shadow.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
id="stop2200"
offset="0.86259544"
style="stop-color:#000000;stop-opacity:0.49803922;" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop2206" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2202"
id="radialGradient2208"
cx="29.116467"
cy="22.941767"
fx="29.116467"
fy="22.941767"
r="19.174698"
gradientTransform="matrix(0.944994,3.007559e-16,-4.476419e-16,0.65058,1.601592,8.016313)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="9.96"
inkscape:cx="57.831325"
inkscape:cy="47.389558"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1590"
inkscape:window-height="1172"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
sodipodi:type="arc"
style="opacity:0.75;fill:url(#radialGradient2208);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path1327"
sodipodi:cx="29.116467"
sodipodi:cy="22.941767"
sodipodi:rx="18.674698"
sodipodi:ry="12.700803"
d="M 47.791164 22.941767 A 18.674698 12.700803 0 1 1 10.441769,22.941767 A 18.674698 12.700803 0 1 1 47.791164 22.941767 z"
transform="matrix(2.570433,0,0,3.77945,-22.84399,-34.70931)" />
</g>
</svg>
--- NEW FILE: clock-face-shadow.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-face-shadow.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="0"
id="stop2204" />
<stop
id="stop2202"
offset="0.78765059"
style="stop-color:#7f7f7f;stop-opacity:0.49803922;" />
<stop
style="stop-color:#3f3f3f;stop-opacity:0.74901961;"
offset="0.93802023"
id="stop2205" />
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2202"
id="radialGradient2200"
cx="28.22608"
cy="23.644703"
fx="28.22608"
fy="23.644703"
r="18.674698"
gradientTransform="matrix(1.067943,2.242373e-32,7.881997e-33,0.726316,-1.917757,6.246314)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="9.96"
inkscape:cx="50"
inkscape:cy="50"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1590"
inkscape:window-height="1172"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
sodipodi:type="arc"
style="opacity:0.75;fill:url(#radialGradient2200);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path1327"
sodipodi:cx="29.116467"
sodipodi:cy="22.941767"
sodipodi:rx="18.674698"
sodipodi:ry="12.700803"
d="M 47.791164 22.941767 A 18.674698 12.700803 0 1 1 10.441769,22.941767 A 18.674698 12.700803 0 1 1 47.791164 22.941767 z"
transform="matrix(0,-2.142473,3.150198,0,-22.22091,112.331)" />
</g>
</svg>
--- NEW FILE: clock-face.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-face.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2202"
id="linearGradient3101"
x1="10.441769"
y1="22.941767"
x2="47.791164"
y2="22.941767"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="9.96"
inkscape:cx="50"
inkscape:cy="50"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1600"
inkscape:window-height="1176"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#linearGradient3101);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path1327"
sodipodi:cx="29.116467"
sodipodi:cy="22.941767"
sodipodi:rx="18.674698"
sodipodi:ry="12.700803"
d="M 47.791164 22.941767 A 18.674698 12.700803 0 1 1 10.441769,22.941767 A 18.674698 12.700803 0 1 1 47.791164 22.941767 z"
transform="matrix(0,-2.142473,3.150198,0,-22.22091,112.331)" />
</g>
</svg>
--- NEW FILE: clock-frame.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-frame.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient5754">
<stop
style="stop-color:#858585;stop-opacity:1;"
offset="0"
id="stop5756" />
<stop
id="stop5762"
offset="0.71816796"
style="stop-color:#979797;stop-opacity:1;" />
<stop
style="stop-color:#b3b3b3;stop-opacity:1;"
offset="0.94836664"
id="stop5764" />
<stop
style="stop-color:#f3f3f3;stop-opacity:1;"
offset="1"
id="stop5758" />
</linearGradient>
<linearGradient
id="linearGradient3996">
<stop
style="stop-color:#666666;stop-opacity:1;"
offset="0"
id="stop3998" />
<stop
id="stop4877"
offset="0.95577621"
style="stop-color:#acacac;stop-opacity:1;" />
<stop
style="stop-color:#cfcfcf;stop-opacity:1;"
offset="0.97817725"
id="stop4879" />
<stop
style="stop-color:#f2f2f2;stop-opacity:1;"
offset="1"
id="stop4000" />
</linearGradient>
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3996"
id="radialGradient4002"
cx="28.470314"
cy="23.586941"
fx="28.470314"
fy="23.586941"
r="19.189064"
gradientTransform="matrix(1,1.016444e-16,-8.254542e-17,0.68115,-6.306154e-15,7.314983)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5754"
id="radialGradient5760"
cx="29.983475"
cy="22.08255"
fx="29.983475"
fy="22.08255"
r="19.04179"
gradientTransform="matrix(1,0,0,0.686275,0,7.197417)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8.0175539"
inkscape:cx="50.000001"
inkscape:cy="50.000037"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1155"
inkscape:window-height="905"
inkscape:window-x="265"
inkscape:window-y="147">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
<sodipodi:guide
orientation="horizontal"
position="94.97992"
id="guide2222" />
<sodipodi:guide
orientation="horizontal"
position="5.0200803"
id="guide2224" />
<sodipodi:guide
orientation="vertical"
position="5.0200803"
id="guide2226" />
<sodipodi:guide
orientation="vertical"
position="94.97992"
id="guide2228" />
<sodipodi:guide
orientation="horizontal"
position="92.068273"
id="guide2232" />
<sodipodi:guide
orientation="vertical"
position="7.9317269"
id="guide2234" />
<sodipodi:guide
orientation="vertical"
position="91.967871"
id="guide2236" />
<sodipodi:guide
orientation="horizontal"
position="8.0321285"
id="guide2238" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
transform="matrix(0,-2.330758,3.427043,0,-28.62242,117.8634)"
d="M 47.791164 22.941767 A 18.674698 12.700803 0 1 1 10.441769,22.941767 A 18.674698 12.700803 0 1 1 47.791164 22.941767 z"
sodipodi:ry="12.700803"
sodipodi:rx="18.674698"
sodipodi:cy="22.941767"
sodipodi:cx="29.116467"
id="path2230"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient4002);stroke-width:1.32685327;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0,-2.200244,3.235141,0,-24.21984,114.0633)"
d="M 47.791164 22.941767 A 18.674698 12.700803 0 1 1 10.441769,22.941767 A 18.674698 12.700803 0 1 1 47.791164 22.941767 z"
sodipodi:ry="12.700803"
sodipodi:rx="18.674698"
sodipodi:cy="22.941767"
sodipodi:cx="29.116467"
id="path2240"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient5760);stroke-width:0.93703967;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
</svg>
--- NEW FILE: clock-glass.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-glass.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8.7257792"
inkscape:cx="66.986517"
inkscape:cy="46.873326"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1590"
inkscape:window-height="1172"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="opacity:1;fill:#dde5f2;fill-opacity:0.24705882;fill-rule:nonzero;stroke:none;stroke-width:0.03849226;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 49.03125 9.9375 C 27.593602 10.481231 10.303935 27.933903 10.03125 49.4375 C 10.029069 49.609529 10.03125 49.764957 10.03125 49.9375 C 10.03125 50.110043 10.029069 50.296721 10.03125 50.46875 C 10.097014 55.654824 11.168692 60.592286 13.03125 65.125 C 21.688245 32.263585 47.366788 18.941146 66.71875 13.5625 C 61.934495 11.363025 56.667538 10.07887 51.09375 9.9375 L 49.03125 9.9375 z M 89.96875 47.125 C 83.607127 75.402465 61.667389 85.739963 42.375 89.21875 C 44.696552 89.670506 47.08552 89.937736 49.53125 89.96875 L 50.5625 89.96875 C 72.066101 89.696064 89.518769 72.406394 90.0625 50.96875 C 90.0712 50.625748 90.0625 50.282587 90.0625 49.9375 C 90.0625 49.592413 90.0712 49.249252 90.0625 48.90625 C 90.047276 48.305996 90.010175 47.718429 89.96875 47.125 z "
id="path1327" />
</g>
</svg>
--- NEW FILE: clock-hour-hand-shadow.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-hour-hand-shadow.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="12.745957"
inkscape:cx="29.01081"
inkscape:cy="81.290532"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1590"
inkscape:window-height="1172"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
<sodipodi:guide
orientation="vertical"
position="-10.040161"
id="guide4953" />
<sodipodi:guide
orientation="vertical"
position="40.060241"
id="guide4955" />
<sodipodi:guide
orientation="vertical"
position="30.02008"
id="guide4957" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.75;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.12156863;stroke-miterlimit:4;stroke-dasharray:none"
d="M -5.3327858,0 L 20.448417,0"
id="path4959"
sodipodi:nodetypes="cc" />
</g>
</svg>
--- NEW FILE: clock-hour-hand.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-hour-hand.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="256"
inkscape:cx="-0.0098820188"
inkscape:cy="100.01591"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1590"
inkscape:window-height="1172"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
<sodipodi:guide
orientation="vertical"
position="-10.040161"
id="guide4953" />
<sodipodi:guide
orientation="vertical"
position="40.060241"
id="guide4955" />
<sodipodi:guide
orientation="vertical"
position="30.02008"
id="guide4957" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.25;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M -5.3327858,0 L 20.448417,0"
id="path4959"
sodipodi:nodetypes="cc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#282d30;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path1329"
sodipodi:cx="-2.196775"
sodipodi:cy="5.2248487"
sodipodi:rx="1.2553"
sodipodi:ry="1.2553"
d="M -0.94147491 5.2248487 A 1.2553 1.2553 0 1 1 -3.452075,5.2248487 A 1.2553 1.2553 0 1 1 -0.94147491 5.2248487 z"
transform="translate(2.195354,-5.226252)" />
</g>
</svg>
--- NEW FILE: clock-marks.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-marks.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="9.96"
inkscape:cx="50"
inkscape:cy="50"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1600"
inkscape:window-height="1176"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 50,12.439759 L 50,16.656625"
id="path3103" />
<path
id="path4859"
d="M 68.761701,17.440042 L 66.653267,21.091954"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:0.99999964px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<path
id="path4871"
d="M 82.509718,31.15127 L 78.857806,33.259703"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:0.99999964px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 87.560201,49.899553 L 83.343335,49.899553"
id="path4877" />
<path
id="path4883"
d="M 82.559945,68.6613 L 78.90803,66.552867"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000048px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000107px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 68.848708,82.409315 L 66.740271,78.7574"
id="path4889" />
<path
id="path4895"
d="M 50.100443,87.459817 L 50.100441,83.242947"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000095px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000143px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 31.33868,82.459533 L 33.447113,78.807613"
id="path4901" />
<path
id="path4907"
d="M 17.590685,68.748308 L 21.2426,66.639871"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000107px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000095px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 12.540183,50.000043 L 16.757053,50.000041"
id="path4913" />
<path
id="path4919"
d="M 17.540467,31.23828 L 21.192387,33.346713"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000143px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.00000107px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="M 31.251702,17.490285 L 33.360139,21.1422"
id="path4925" />
</g>
</svg>
--- NEW FILE: clock-minute-hand-shadow.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-minute-hand-shadow.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="12.745957"
inkscape:cx="29.01081"
inkscape:cy="81.290532"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1600"
inkscape:window-height="1176"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
<sodipodi:guide
orientation="vertical"
position="-10.040161"
id="guide4953" />
<sodipodi:guide
orientation="vertical"
position="40.060241"
id="guide4955" />
<sodipodi:guide
orientation="vertical"
position="30.02008"
id="guide4957" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.12156863;stroke-miterlimit:4;stroke-dasharray:none"
d="M -7.6864734,0 L 26.097267,0"
id="path4959"
sodipodi:nodetypes="cc" />
</g>
</svg>
--- NEW FILE: clock-minute-hand.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-minute-hand.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="12.745957"
inkscape:cx="29.01081"
inkscape:cy="81.290532"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1600"
inkscape:window-height="1176"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
<sodipodi:guide
orientation="vertical"
position="-10.040161"
id="guide4953" />
<sodipodi:guide
orientation="vertical"
position="40.060241"
id="guide4955" />
<sodipodi:guide
orientation="vertical"
position="30.02008"
id="guide4957" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M -7.6864734,0 L 26.097267,0"
id="path4959"
sodipodi:nodetypes="cc" />
</g>
</svg>
--- NEW FILE: clock-second-hand-shadow.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-second-hand-shadow.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="21.224294"
inkscape:cx="13.525292"
inkscape:cy="100.57053"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1590"
inkscape:window-height="1172"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
<sodipodi:guide
orientation="vertical"
position="-10.040161"
id="guide4953" />
<sodipodi:guide
orientation="vertical"
position="40.060241"
id="guide4955" />
<sodipodi:guide
orientation="vertical"
position="30.02008"
id="guide4957" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:0.875;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.12156863;stroke-miterlimit:4;stroke-dasharray:none"
d="M -10.040161,0 L 29.607817,0"
id="path4959"
sodipodi:nodetypes="cc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#282d30;stroke-width:0.625;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.12156863"
id="path5834"
sodipodi:cx="40.772312"
sodipodi:cy="0.58036447"
sodipodi:rx="0.70203978"
sodipodi:ry="0.70203978"
d="M 41.474352 0.58036447 A 0.70203978 0.70203978 0 1 1 40.070272,0.58036447 A 0.70203978 0.70203978 0 1 1 41.474352 0.58036447 z"
transform="translate(-9.800192,-0.5855)" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#282d30;stroke-width:0.525;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.12156863"
d="M 32.199476,0 L 36.857277,0"
id="path6709"
sodipodi:nodetypes="cc" />
</g>
</svg>
--- NEW FILE: clock-second-hand.svg ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
sodipodi:docbase="/home/mirco/src/svg-test"
sodipodi:docname="clock-second-hand.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient2202">
<stop
style="stop-color:#a5adad;stop-opacity:1;"
offset="0"
id="stop2204" />
<stop
style="stop-color:#e8f4ed;stop-opacity:1;"
offset="1"
id="stop2206" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="31.428763"
inkscape:cx="13.321058"
inkscape:cy="99.998355"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1590"
inkscape:window-height="1172"
inkscape:window-x="0"
inkscape:window-y="0">
<sodipodi:guide
orientation="horizontal"
position="50"
id="guide1307" />
<sodipodi:guide
orientation="vertical"
position="50"
id="guide1309" />
<sodipodi:guide
orientation="horizontal"
position="100"
id="guide1311" />
<sodipodi:guide
orientation="vertical"
position="0"
id="guide1313" />
<sodipodi:guide
orientation="vertical"
position="100"
id="guide1315" />
<sodipodi:guide
orientation="horizontal"
position="0"
id="guide1317" />
<sodipodi:guide
orientation="horizontal"
position="90.060241"
id="guide1319" />
<sodipodi:guide
orientation="vertical"
position="10.040161"
id="guide1321" />
<sodipodi:guide
orientation="vertical"
position="90.060241"
id="guide1323" />
<sodipodi:guide
orientation="horizontal"
position="10.040161"
id="guide1325" />
<sodipodi:guide
orientation="vertical"
position="-10.040161"
id="guide4953" />
<sodipodi:guide
orientation="vertical"
position="40.060241"
id="guide4955" />
<sodipodi:guide
orientation="vertical"
position="30.02008"
id="guide4957" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#6393c4;stroke-width:0.75;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M -10.040161,0 L 30.02008,0"
id="path4959" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#6393c4;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path5834"
sodipodi:cx="40.772312"
sodipodi:cy="0.58036447"
sodipodi:rx="0.70203978"
sodipodi:ry="0.70203978"
d="M 41.474352 0.58036447 A 0.70203978 0.70203978 0 1 1 40.070272,0.58036447 A 0.70203978 0.70203978 0 1 1 41.474352 0.58036447 z"
transform="translate(-9.800192,-0.5855)" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#6393c4;stroke-width:0.4;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 31.893223,0 L 36.857277,0"
id="path6709" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#6393c4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path1331"
sodipodi:cx="-6.1588159"
sodipodi:cy="5.0287085"
sodipodi:rx="1.8437219"
sodipodi:ry="1.8437219"
d="M -4.315094 5.0287085 A 1.8437219 1.8437219 0 1 1 -8.0025377,5.0287085 A 1.8437219 1.8437219 0 1 1 -4.315094 5.0287085 z"
transform="matrix(0.756146,0,0,0.756146,4.658387,-3.800793)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#282d30;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3079"
sodipodi:cx="-5.4567847"
sodipodi:cy="3.2574077"
sodipodi:rx="0.84317666"
sodipodi:ry="0.84317666"
d="M -4.6136081 3.2574077 A 0.84317666 0.84317666 0 1 1 -6.2999614,3.2574077 A 0.84317666 0.84317666 0 1 1 -4.6136081 3.2574077 z"
transform="matrix(1.198104,0,0,1.198104,6.535898,-3.901356)" />
</g>
</svg>
More information about the cairo-commit
mailing list