/**************/ /* nappulat.h */ /**************/ #define MIN_X 1 /* N„yt”n koko */ #define MIN_Y 1 #define MAX_X 80 #define MAX_Y 25 #define MIN_H_X 0 /* Hiiren koordinaatin rajat */ #define MAX_H_X 639 #define MIN_H_Y 0 #define MAX_H_Y 199 /****************************************************************************/ /* Yleiset tyypit: */ typedef struct { int x; int y; } koord_tyyppi; typedef struct { koord_tyyppi vasen_yla; /* Laatikon vasemman yl„kulman koordinaatit */ koord_tyyppi koko; /* Laatikon sis„koko. Jos (0,0) niin pienin mah.*/ } laatikko_tyyppi; /* Jos <0, niin ei raameja */ typedef struct { /* Tyyppi n„pp„imelle: */ char valinta_kirjain; /* Kirjain, jota painamalla komento tot. */ char *teksti; /* N„pp„imeen tulostettava teksti. */ laatikko_tyyppi nappain; /* N„pp„imen sijainti ja koko */ int komento; /* Mik„ komento n„pp„imell„ tehd„„n. */ int lisa_viesti; /* Jos halutaan v„litt„„ jokin lis„tieto */ } nappain_tyyppi; /* esim. numeron„pp„imen arvo tms. */ typedef struct { /* Tyypit laskurin„yt”ille: */ int tunnus; /* Laskurin tunniste */ long int arvo; /* Laskurin nykyinen arvo */ char *format; /* Tulostuksen formaatti C-muodossa */ laatikko_tyyppi tila; /* Laskurin tulostusalueen paikka ja koko*/ } laskuri_tyyppi; int laatikossa(laatikko_tyyppi *, int, int); int tutki_hiiri(nappain_tyyppi *,laskuri_tyyppi *); int lue_komento(nappain_tyyppi *, laskuri_tyyppi *,int *); void piirra_laatikko(laatikko_tyyppi *, int); void nayta_laskuri(laskuri_tyyppi *); void piirra_nappula(nappain_tyyppi *); void piirra_laskuri(laskuri_tyyppi *); void nollaa_laskurit(laskuri_tyyppi *); void lisaa_laskuria(laskuri_tyyppi *, int); void alusta_nappulat(void); void tyhjenna_ruutu(void);