2 * aclock - ascii clock for UNIX Console
4 * Copyright (c) 2002 Antoni Sawicki <as@tenoware.com>
5 * Version 2.3 (unix-curses); Mountain View, July 2013
7 * Compilation: cc aclock-unix-curses.c -o aclock -lcurses -lm
17 #define M_PI 3.14159265358979323846
20 #define FontWH_Ratio 2
22 void draw_circle(int hand_max, int sYcen, int sXcen){
27 x=cos(r*M_PI/180*6)*hand_max*FontWH_Ratio+sXcen;
28 y=sin(r*M_PI/180*6)*hand_max+sYcen;
52 void draw_hand(int minute, int hlenght, char c, int sXcen, int sYcen){
54 float r=(minute-15)*(M_PI/180)*6;
56 for(n=1; n<hlenght; n++){
57 x=cos(r)*n*FontWH_Ratio+sXcen;
65 char INFO[]="Copyright (c) 1994-2013 Antoni Sawicki <as@tenoware.com>\n"
66 "Version 2.3 (unix-curses); Mountain View, July 2013\n";
67 char digital_time[15];
68 int sXmax, sYmax, smax, hand_max, sXcen, sYcen;
72 sXmax=sYmax=hand_max=sXcen=sYcen=0;
81 if(sXmax/FontWH_Ratio<=sYmax)
82 smax=sXmax/FontWH_Ratio;
86 hand_max = (smax/2)-1;
92 draw_circle(hand_max, sYcen, sXcen);
94 draw_hand((ltime->tm_hour*5)+(ltime->tm_min/10), 2*hand_max/3, 'h', sXcen, sYcen);
95 draw_hand(ltime->tm_min, hand_max-2, 'm', sXcen, sYcen);
96 draw_hand(ltime->tm_sec, hand_max-1, '.', sXcen, sYcen);
98 mvaddstr(sYcen-(3*hand_max/5), sXcen-5, ".:ACLOCK:.");
99 mvprintw(sYcen+(3*hand_max/5), sXcen-5, "[%02d:%02d:%02d]", ltime->tm_hour, ltime->tm_min, ltime->tm_sec);