I made clock, just for fun. I thought I'd share it.
var dir = fb.FoobarPath+"\\images\\clock\\";
var face = gdi.Image(dir+"clockface.png");
var h_hand = gdi.Image(dir+"h_hand.png");
var m_hand = gdi.Image(dir+"m_hand.png");
var s_hand = gdi.Image(dir+"s_hand.png");
var h_angle, m_angle, s_angle;
var clock_timer = window.CreateTimerInterval(40);
var d = new Date();
var ms;
var datefont = gdi.Font("Calibri", 22, 1)
var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var suf;
var ww = window.Width;
var wh = window.Height;
function StringFormat()
{
var h_align = 0, v_align = 0, trimming = 0, flags = 0;
switch (arguments.length)
{
// fall-thru
case 4:
flags = arguments[3];
case 3:
trimming = arguments[2];
case 2:
v_align = arguments[1];
case 1:
h_align = arguments[0];
break;
default:
return 0;
}
return ((h_align << 28) | (v_align << 24) | (trimming << 20) | flags);
}
var g_stringformat = StringFormat(1, 0);
function on_paint(gr)
{
if(d.getDate()==1 || d.getDate()==21 || d.getDate()==31)
{suf = "st"}
else if(d.getDate()==2 || d.getDate()==22)
{suf = "nd"}
else if(d.getDate()==3 || d.getDate()==23)
{suf = "rd"}
else
{suf = "th"}
gr.SetTextRenderingHint(5);
gr.FillSolidRect(0,0,ww,wh,0xff191919);
gr.DrawImage( face, ww/2-face.Width/2, 20, face.Width, face.Height, 0, 0, face.Width, face.Height);
gr.DrawImage( h_hand, ww/2-h_hand.Width/2, 20, h_hand.Width, h_hand.Height, 0, 0, h_hand.Width, h_hand.Height, h_angle);
gr.DrawImage( m_hand, ww/2-m_hand.Width/2, 20, m_hand.Width, m_hand.Height, 0, 0, m_hand.Width, m_hand.Height, m_angle);
gr.DrawImage( s_hand, ww/2-s_hand.Width/2, 20, s_hand.Width, s_hand.Height, 0, 0, s_hand.Width, s_hand.Height, s_angle);
gr.DrawString(days[d.getDay()]+", "+d.getDate()+suf+" "+months[d.getMonth()], datefont, 0xffDEDEDE, 0, 250, ww, 40, g_stringformat);
}
function on_size()
{
ww = window.Width;
wh = window.Height;
}
function on_timer(id)
{
d = new Date();
ms = d.getMilliseconds()/1000;
s_angle = 360*(d.getSeconds()+Math.pow(ms,32)+0.3*Math.cos(60*ms)*Math.exp(-15*ms))/60;
m_angle = 360*d.getMinutes()/60+s_angle/60;
h_angle = 360*(d.getHours()%12)/12+m_angle/12;
window.Repaint();
}
Here are the images (you'll need to rename them):




Oh, and I have another question: is it possible to stroke text? I.e. add a border to the letters? I tried with the box blur method but didn't get very far. Thanks.