From 27fa9d9abfa5f58f70258f0d671ab1cb133a68ce Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Mon, 4 Dec 2006 22:47:55 -0800 Subject: [PATCH] Add a 3D "etched" effect to the lettering. --- demo-item.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/demo-item.c b/demo-item.c index 99aaf4a..e34eb4c 100644 --- a/demo-item.c +++ b/demo-item.c @@ -104,6 +104,7 @@ goo_demo_item_paint (GooCanvasItemSimple *simple, int rad = (int) (item->size / 2); int cx = item->size / 2; int cy = cx; + int tx, ty; double spot_angle = M_PI / 4.0; double spot_rad = rad / 2.0; char string[2]; @@ -135,11 +136,19 @@ goo_demo_item_paint (GooCanvasItemSimple *simple, string[0] = item->letter; string[1] = '\0'; cairo_text_extents (cr, string, &extents); - cairo_move_to (cr, - cx - extents.width / 2 - extents.x_bearing, - cy - extents.height / 2 - extents.y_bearing); + tx = cx - extents.width / 2 - extents.x_bearing; + ty = cy - extents.height / 2 - extents.y_bearing; + + cairo_set_source_rgb (cr, 0.7, 0.7, 0.7); + cairo_move_to (cr, tx + 1, ty + 1); + cairo_show_text (cr, string); + + cairo_set_source_rgb (cr, 0.33, 0.33, 0.33); + cairo_move_to (cr, tx - 1, ty - 1); + cairo_show_text (cr, string); cairo_set_source_rgb (cr, 0.2, 0.3, 0.8); + cairo_move_to (cr, tx, ty); cairo_show_text (cr, string); cairo_restore (cr); -- 2.43.0