diff options
Diffstat (limited to 'graphics.h')
-rw-r--r-- | graphics.h | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/graphics.h b/graphics.h new file mode 100644 index 0000000..f0c3dfe --- /dev/null +++ b/graphics.h @@ -0,0 +1,164 @@ +#ifndef INCLUDE_BLASSIC_GRAPHICS_H +#define INCLUDE_BLASSIC_GRAPHICS_H + +// graphics.h +// Revision 9-jan-2005 + +#include "blassic.h" + +namespace graphics { + +struct Point { + int x, y; + Point (int xx, int yy) : x (xx), y (yy) { } + Point (): x (0), y (0) { } +}; + +void initialize (const char * progname); +void uninitialize (); + +void origin (int x, int y); +void limits (int minx, int maxx, int miny, int maxy); + +void ink (int inknum, int cpccolor); +void ink (int inknum, int r, int g, int b); +void clearink (); + +//void idle (); +using blassic::idle; + +void cls (); +void cls (BlChannel n); +void setmode (int width, int height, bool inverty, + int zoomx= 1, int zoomy= 1); +void setmode (int mode); +void setmode (const std::string & mode); +bool ingraphicsmode (); + +void setcolor (int color); +int getcolor (); +void setcolor (BlChannel ch, int color); +int getcolor (BlChannel ch); +void setbackground (int color); +int getbackground (); +void setbackground (BlChannel ch, int color); +int getbackground (BlChannel ch); + +void settransparent (int transpmode); +void setdrawmode (int mode); + +void line (int x, int y); +void liner (int x, int y); +void drawarc (int x, int y, double g); + +void rectangle (Point org, Point dest); +void rectanglefilled (Point org, Point dest); + +void zxplot (Point p); +void zxunplot (Point p); + +void move (int x, int y); +void mover (int x, int y); +void plot (int x, int y); +void plotr (int x, int y); +void plot (std::vector <Point> & points); +int test (int x, int y, bool relative); + +void circle (int x, int y, int radius); +void arccircle (int x, int y, int radius, + BlNumber arcbeg, BlNumber arcend); +void ellipse (int x, int y, int rx, int ry); +void arcellipse (int x, int y, int rx, int ry, + BlNumber arcbeg, BlNumber arcend); + +void paint (int x, int y, int paintattr, int borderattr); + +void mask (int m); +void maskdrawfirstpoint (bool f); +void draw (const std::string & str); +Point getlast (); + +std::string getkey (); +std::string inkey (); +bool pollin (); +int keypressed (int keynum); + +void charout (char c); +void stringout (const std::string & str); + +void charout (BlChannel ch, char c); +void stringout (BlChannel ch, const std::string & str); +std::string copychr (BlChannel ch, BlChar from, BlChar to); + +std::string screenchr (int x, int y); + +void definewindow (BlChannel n, int x1, int x2, int y1, int y2); +void undefinewindow (BlChannel ch); + +size_t getlinewidth (); +size_t getlinewidth (BlChannel ch); + +//void locate (int row, int col); +void gotoxy (int x, int y); +void tab (size_t n); +void movecharforward (size_t n); +void movecharback (size_t n); +void movecharup (size_t n); +void movechardown (size_t n); + +void gotoxy (BlChannel ch, int x, int y); +void tab (BlChannel ch); +void tab (BlChannel ch, size_t x); +void movecharforward (BlChannel ch, size_t n); +void movecharback (BlChannel ch, size_t n); +void movecharup (BlChannel ch, size_t n); +void movechardown (BlChannel ch, size_t n); + +void scroll (BlChannel ch, int n); + +void symbolafter (int symbol); +void definesymbol (int symbol, const unsigned char (& byte) [8] ); +void synchronize (bool mode); +void synchronize (); +void synchronize_suspend (); +void synchronize_restart (); + +int xmouse (); +int ymouse (); + +int xpos (); +int xpos (BlChannel ch); +int ypos (); +int ypos (BlChannel ch); + +void tag (BlChannel ch); +void tagoff (BlChannel ch); +bool istagactive (BlChannel ch); + +void showcursor (); +void hidecursor (); + +void showcursor (BlChannel ch); +void hidecursor (BlChannel ch); + +void inverse (BlChannel ch, bool active); +bool getinverse (BlChannel ch); +void bright (BlChannel ch, bool active); +bool getbright (BlChannel ch); + +void clean_input (); + +void ring (); + +void set_title (const std::string & title); +void set_default_title (const std::string & title); + +void get_image (int x1, int y1, int x2, int y2, const std::string & name); +void put_image (int x, int y, const std::string & name, int mode); +void clear_images (); + +} // namespace graphics + +#endif + +// Fin de graphics.h |