
/*************************************************************************
* Title:    C include file for eDIP128
* Author:   Achim Seeger h.j.seeger@web.de
* File:     eDIP128.h
* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3
* Target:   any AVR device
**************************************************************************/

///////////////////////////////////////////////////////////////////

// Bargraph Nr,x1,y1,x2,y2,Anfang,Ende,Strichbreite,Muster Füllung / immer zusammen mit unten
void Graphik_Bargraph_L(int8_t n, int8_t x1, int8_t y1, int8_t x2, int8_t y2, int8_t aw, int8_t ew, int8_t typ, int8_t mst);

// Bargraph Nr,x1,y1,x2,y2,Anfang,Ende,Strichbreite,Muster Füllung / immer zusammen mit unten
void Graphik_Bargraph_R(int8_t n, int8_t x1, int8_t y1, int8_t x2, int8_t y2, int8_t aw, int8_t ew, int8_t typ, int8_t mst);

// Bargraph Nr,x1,y1,x2,y2,Anfang,Ende,Strichbreite,Muster Füllung / immer zusammen mit unten
void Graphik_Bargraph_O(int8_t n, int8_t x1, int8_t y1, int8_t x2, int8_t y2, int8_t aw, int8_t ew, int8_t typ, int8_t mst);

// Bargraph Nr,x1,y1,x2,y2,Anfang,Ende,Strichbreite,Muster Füllung / immer zusammen mit unten
void Graphik_Bargraph_U(int8_t n, int8_t x1, int8_t y1, int8_t x2, int8_t y2, int8_t aw, int8_t ew, int8_t typ, int8_t mst);

// Bargraph Nummer und Wert / immer zusammen mit oben
void Graphik_Bargraph_aktuell(int8_t a1, int8_t a2);

//////////////////////////////////////////////////////////////////

// min x1=0, y1=0 max x2=127, y2=63
void Graphik_Rechteck(int8_t a1, int8_t b1, int8_t x2, int8_t y2);

// Cursor aus=0, ein=1
void Graphik_Cursor(int8_t a);

// Cursor Position max x=16 y=8 Grösse Cursor beachten
void Graphik_Cursor_Position(int8_t a, int8_t b);

// Gerade von x1,y1 zu x2, y2
void Graphik_Gerade(int8_t x1, int8_t y1, int8_t x2, int8_t y2);

// Gerade weiter zu x, y			
void Graphik_Gerade_weiter(int8_t x1, int8_t y1);	

// allgemein für alle x, y
void Graphik_Punkt_Groesse(int8_t x1, int8_t y1);

// Ausgabe eines Punktes an x, y
void Graphik_Punkt(int8_t x1, int8_t y1);

// Blinken Display aus=0, ein=1, 2=inv 3=Phase
void Graphik_Blinken(int8_t a);

// Beleuchtung 1=ein 0=aus
void Graphik_Beleuchtung(int8_t a);

// Helligkeit von 0 bis 100%
void Graphik_Helligkeit(int8_t a);	

// alles löschen
void Graphik_loeschen(void);		

// alles invertieren			
void Graphik_invertieren(void);		

// Bereich invertieren und blinken x1, y1, x2, y2
void Graphik_Bereich_invertieren(int8_t a1, int8_t b1, int8_t x2, int8_t y2);

// Bereich fuellen nicht blinken x1, y1, x2, y2
void Graphik_Bereich_fuellen(int8_t a1, int8_t b1, int8_t x2, int8_t y2);

// Bereich loeschen x1, y1, x2, y2
void Graphik_Bereich_loeschen(int8_t a1, int8_t b1, int8_t x2, int8_t y2);

// Bereich mit Muster füllen x1, y1, x2, y2, Muster siehe Hersteller
void Graphik_Bereich_Muster(int8_t a1, int8_t b1, int8_t a2, int8_t b2, int8_t m);

// Box mit Rahmen und mit Muster füllen
void Graphik_Box_zeichnen(int8_t a1, int8_t b1, int8_t a2, int8_t b2, int8_t m);

// Rahmen zeichnen mit Muster 
void Graphik_Rahmen_zeichnen(int8_t a1, int8_t b1, int8_t a2, int8_t b2, int8_t m);

// Rahmenbox zeichnen			
void Graphik_Rahmenbox_zeichnen(int8_t a1, int8_t b1, int8_t a2, int8_t b2, int8_t m);

// Info Abfragen vom Display Typ usw. Anzeige löschen ???
void Graphik_Info(void);

// Abfrage Version vom Display Anzeige Löschen ???
void Graphik_Version(void);

// Auswahl Schriftart (Font) sieh Datenblatt 1-7
void Graphik_Auswahl_Font(int8_t f);

// Ausgabe Schrift im Winkel von 90 Grad	0 - 0 Grad, 1 - 90 Grad
void Graphik_Font_Winkel(int8_t w);

// Zoomt das gewählte Font in x und y Grösse 1 bis 4 mal
void Graphik_Font_Zoom(int8_t z1, int8_t z2);	

// Ausgabe Text am gewählten Ort links		
void Graphik_Text_ausgabe_L(int8_t x1, int8_t y1, char * Text);

// Ausgabe Text am gewählten Ort techts
void Graphik_Text_ausgabe_R(int8_t x1, int8_t y1, char * Text);

// Ausgabe Text am gewählten Ort zentriert
void Graphik_Text_ausgabe_Z(int8_t x1, int8_t y1, char * Text);

// Ausgabe Menue Inhalt und Rahmen
void Graphik_Menue_zeichnen(int8_t x1, int8_t y1, int8_t a1, char * Text);

// Menue Balken nach unten - weiter
void Graphik_Menue_weiter(void);	

//Menue Balken nach oben - zurück
void Graphik_Menue_zurueck(void);	

// Auswahl Schrift Menue		
void Graphik_Menue_Font(int8_t f);
