From 92383a9916c5f9bbbd465434d7ece2b79e336599 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Sat, 1 Nov 2014 18:18:37 +0100 Subject: [PATCH] Add aclock-unix-aalib.c --- .gitignore | 3 +- Makefile | 3 ++ aclock-unix-aalib.c | 120 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 aclock-unix-aalib.c diff --git a/.gitignore b/.gitignore index cc853fc..b0d09e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ aclock -aclock-termcap +aclock-aalib aclock-curses +aclock-termcap diff --git a/Makefile b/Makefile index c85eb93..8274130 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,9 @@ all: aclock aclock: aclock-termcap ln -s aclock-termcap aclock +aclock-aalib: + gcc -O2 aclock-unix-aalib.c -o aclock -laa -lm + aclock-curses: cc aclock-unix-curses.c -o aclock-curses -lcurses -lm diff --git a/aclock-unix-aalib.c b/aclock-unix-aalib.c new file mode 100644 index 0000000..8e737a4 --- /dev/null +++ b/aclock-unix-aalib.c @@ -0,0 +1,120 @@ +/* + * aclock - ascii clock for UNIX Console + * + * Copyright (c) 2002 by Antoni Sawicki + * Version 1.8 (unix-aalib); Dublin, June 2002 + * + * Compile: gcc -O2 aclock-unix-aalib.c -o aclock -laa -lm + * + */ + +#include +#include +#include +#include + +aa_context *context; + +void cls(int width, int height) { + int x,y; + for(x=0; x<=width; x++) + for(y=0; y<=height; y++) + aa_putpixel(context, x+1, y+1, 0); +} + +void draw_circle(int hand_max, int sYcen, int sXcen, int FontHW){ + int x,y,r; + int c; + + + for(r=0;r<60;r++){ + x=cos(r*M_PI/180*6)*hand_max*FontHW+sXcen; + y=sin(r*M_PI/180*6)*hand_max+sYcen; + switch (r) { + case 0: + case 5: + case 10: + case 15: + case 20: + case 25: + case 30: + case 35: + case 40: + case 45: + case 50: + case 55: + c=255; + break; + default: + c=33; + break; + } + aa_putpixel(context, x+1, y+1, c); + } +} + +void draw_hand(int minute, int hlenght, int c, int sXcen, int sYcen, int FontHW){ + int x,y,n; + float r=(minute-15)*(M_PI/180)*6; + + for(n=1; ntm_hour*5)+(ltime->tm_min/10), 2*hand_max/3, 255, sXcen, sYcen, FontHW); + draw_hand(ltime->tm_min, hand_max-2, 100, sXcen, sYcen, FontHW); + draw_hand(ltime->tm_sec, hand_max-2, 33, sXcen, sYcen, FontHW); + + aa_fastrender(context, 0, 0, sXmax, sYmax); + + aa_printf(context, sXmax/4-4, sYmax/8, AA_BOLD, ".:ACLOCK:."); + aa_printf(context, sXmax/4-4, sYmax/2.5, AA_NORMAL, "[%02d:%02d:%02d]", + ltime->tm_hour, ltime->tm_min, ltime->tm_sec); + aa_flush(context); + sleep(1); + } + return 0; +} -- 2.39.2