the heart border is animated (record my desktop made everything dark and settings are on the low end so quality isn't the best)
http://blip.tv/file/3177952
heart.lua (there is probably a more compact way to achieve the same effect... i dont think i even used the string split function)
--[[valentine by mrpeachy (2010) incorporates air clock by londonali1010 ]]
require 'cairo'
function string_split(delimiter)
local result = { }
local from = 1
local delim_from, delim_to = string.find( self, delimiter, from )
while delim_from do
table.insert( result, string.sub( self, from , delim_from-1 ) )
from = delim_to + 1
delim_from, delim_to = string.find( self, delimiter, from )
end
table.insert( result, string.sub( self, from ) )
return result
end
function conky_draw_heart()
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num > 5 then
if conky_window==nil then return end
local w=conky_window.width
local h=conky_window.height
local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, w, h)
cr=cairo_create(cs)
--clock
local clock_r=30
local xc=190
local yc=137
shadow_width=5
shadow_xoffset=0
shadow_yoffset=2
show_seconds=true
-- Grab time
local hours=os.date("%I")
local mins=os.date("%M")
local secs=os.date("%S")
secs_arc=(2*math.pi/60)*secs
mins_arc=(2*math.pi/60)*mins
hours_arc=(2*math.pi/12)*hours+mins_arc/12
-- Set clock face
cairo_arc(cr,xc,yc,clock_r,0,2*math.pi)
cairo_close_path(cr)
cairo_set_source_rgba(cr, 1 ,0 ,0 ,1)
cairo_set_line_width(cr, 1)
cairo_stroke (cr)
-- Draw hour hand
xh=xc+0.7*clock_r*math.sin(hours_arc)
yh=yc-0.7*clock_r*math.cos(hours_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xh,yh)
cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
cairo_set_line_width(cr,5)
cairo_set_source_rgba(cr,1,0,0,0.5)
cairo_stroke(cr)
-- Draw minute hand
xm=xc+0.9*clock_r*math.sin(mins_arc)
ym=yc-0.9*clock_r*math.cos(mins_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xm,ym)
cairo_set_line_width(cr,3)
cairo_stroke(cr)
-- Draw seconds hand
if show_seconds then
xs=xc+0.9*clock_r*math.sin(secs_arc)
ys=yc-0.9*clock_r*math.cos(secs_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xs,ys)
cairo_set_line_width(cr,1)
cairo_stroke(cr)
end
--background
corner_r=15
height=531
cairo_move_to(cr,corner_r,0)
cairo_line_to(cr,w-corner_r,0)
cairo_curve_to(cr,w,0,w,0,w,corner_r)
cairo_line_to(cr,w,height-corner_r)
cairo_curve_to(cr,w,height,w,height,w-corner_r,height)
cairo_line_to(cr,corner_r,height)
cairo_curve_to(cr,0,height,0,height,0,height-corner_r)
cairo_line_to(cr,0,corner_r)
cairo_curve_to(cr,0,0,0,0,corner_r,0)
cairo_close_path(cr)
cairo_set_source_rgba(cr, 0, 0, 0, 0.4)
cairo_fill(cr)
--calculates animation
timer=(update_num % 4)+1
if timer == 1 then
n1=0.2
n2=0.4
n3=0.6
n4=0.8
elseif timer == 2 then
n1=0.4
n2=0.6
n3=0.8
n4=0.2
elseif timer == 3 then
n1=0.6
n2=0.8
n3=0.2
n4=0.4
elseif timer == 4 then
n1=0.8
n2=0.2
n3=0.4
n4=0.6
end
--prints hear border
scale=0.2
--top left
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_rotate (cr, -45*math.pi/180)
cairo_translate (cr, -40, -5)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_rotate (cr, 45*math.pi/180)
--(cr x = horizontal, y = vertical)
--top right
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_rotate (cr, 45*math.pi/180)
cairo_translate (cr, 397, -477)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_rotate (cr, -45*math.pi/180)
--(cr x = horizontal, y = vertical)
--bottom right
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_rotate (cr, 135*math.pi/180)
cairo_translate (cr, 341, -421)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_rotate (cr, -135*math.pi/180)
--(cr x = horizontal, y = vertical)
--bottom left
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_rotate (cr, -135*math.pi/180)
cairo_translate (cr, 397, -477)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_rotate (cr, 135*math.pi/180)
--top row
side=44
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, -0.5, -584)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, side, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
--right side
sider=45
cairo_rotate (cr, 90*math.pi/180)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider-1, -123)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
--bottom row
sider=44
cairo_rotate (cr, 90*math.pi/180)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, sider, -123)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
--left side
sider=45
cairo_rotate (cr, 90*math.pi/180)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider-1, -123)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n2)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n1)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n4)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
cairo_set_source_rgba (cr, 1, 0, 0, n3)
cairo_translate (cr, sider, 0)
cairo_move_to (cr, 200*scale, 150*scale);
cairo_curve_to (cr, 210*scale, 90*scale, 290*scale, 90*scale, 300*scale, 150*scale);
cairo_curve_to (cr, 300*scale, 150*scale, 320*scale, 250*scale, 200*scale, 300*scale);
cairo_curve_to (cr, 200*scale, 300*scale, 80*scale, 250*scale, 100*scale, 150*scale);
cairo_curve_to (cr, 110*scale, 90*scale, 190*scale, 90*scale, 200*scale, 150*scale);
cairo_close_path (cr);
cairo_fill (cr)
end
end