/*
Projekt: Photovoltaik-Präsentation "solar" mit MSP430
Detail: BorlandC-ähnliche Kopfdatei für Vollgrafikfunktionen
070522 erstellt (unausgegoren!)
*/
#define GRAF_X 240 // Ausdehnung in Pixel
#define GRAF_Y 128 // (betrifft Grafikmodus)
typedef BYTE COLORREF;
struct linesettingstype{
int linestyle;
unsigned upattern;
int thickness;
};
struct textsettingstype{
int font;
int direction;
int charsize;
int horiz;
int vert;
};
struct fillsettingstype{
int pattern;
int color;
};
struct pointtype{
int x,y;
};
struct viewporttype{
int left,top,right,bottom,clip;
};
struct arccoordstype{
int x, y, xstart, ystart, xend, yend;
};
struct graphics_data{ // interne Verwaltungsdaten (zz. ungenutzt)
int color, bkcolor;
struct pointtype position;
struct linesettingstype linesettings;
struct textsettingstype textsettings;
struct fillsettingstype fillsettings;
struct viewporttype viewport;
struct arccoordstype arccoords;
};
extern struct graphics_data GraphicsData;
void arc(int x,int y,int sa,int ea,int r);
void bar(int l,int t,int r,int b);
void bar3d(int l,int t,int r,int b,int d,int f);
void circle(int x,int y,int r);
void cleardevice(void);
void clearviewport(void);
void closegraph(void);
void drawpoly(int n,const struct pointtype*p);
void ellipse(int x,int y,int sa,int ea,int xr,int yr);
void fillellipse(int x,int y,int xr,int yr);
void fillpoly(int n,const struct pointtype*p);
void floodfill(int x,int y,int c);
#define getarccoords(a) (*(a)=GraphicsData.arccoords)
#define getbkcolor() (GraphicsData.bkcolor)
#define getcolor() (GrafDC.color)
void getfillpattern(unsigned char p[8]);
void getimage(int l,int t,int r,int b,void*);
#define getmaxcolor() 1
#define getmaxx() (GRAF_X-1)
#define getmaxy() (GRAF_Y-1)
unsigned getpixel(int x,int y);
#define getviewsettings(vp) (*(vp)=GrafDC.viewport)
#define getx() GrafDC.pos.x
#define gety() GrafDC.pos.y
void graphdefaults(void);
#define imagesize(l,t,r,b) (4+(((r)+1-(l))+FONT_X-1)/FONT_X*((b)+1-(t)))
void initgraph(void);
void line(int x1,int y1,int x2,int y2);
#define linerel(dx,dy) lineto((dx)+GrafDC.pos.x,(dy)+GrafDC.pos.y)
void lineto(int x,int y);
#define moverel(xx,yy) {GrafDC.pos.x+=(xx); GrafDC.pos.y+=(yy);}
#define moveto(xx,yy) {GrafDC.pos.x=(xx); GrafDC.pos.y=(yy);}
void outtext(const char*);
void outtextxy(int x,int y,const char*);
void pieslice(int x,int y,int sa,int ea,int r);
void putimage(int x,int y,const void*,int o);
void putpixel(int x,int y,int c);
void rectangle(int l,int t,int r,int b);
void sector(int x,int y,int sa,int ea,int xr,int yr);
#define setactivepage(page) /* Ziel für Zeichenoperationen */\
(GrafDC.ba=3*1024+(page)*8*1024)
#define setbkcolor(c) (GraphicsData.bkcolor=(c))
#define setcolor(c) (GrafDC.color=(c))
void setfillpattern(const unsigned char p[8],int c);
void setfillstyle(int,int);
void setgraphmode(int);
void setlinestyle(int,unsigned,int);
void settextjustify(int,int);
void settextstyle(int,int,int);
#define setviewport(l,t,r,b,c)\
{GrafDC.viewport.left =(l);\
GrafDC.viewport.top =(t);\
GrafDC.viewport.right =(r)+1;\
GrafDC.viewport.bottom=(b)+1;\
GrafDC.viewport.clip =(c);} // wirkungslos!
void setvisualpage(int); // dargestellte Seite
void setwritemode(int);
int textheight(const char*);
int textwidth(const char*);
Vorgefundene Kodierung: ANSI (CP1252) | 4
|
|