summaryrefslogtreecommitdiff
path: root/include/shape.h
blob: fdae6afa9c6527314c16f14cbe15cd16fd8e2737 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef __SHAPE_H__
#define __SHAPE_H__

#include <Exceptions.h>
#include <BString.h>
#include <mcolor.h>
#include <texture.h>

namespace mogltk {
    typedef enum {
	LEFT,
	CENTER,
	RIGHT
    } align_t;
    class shape : public Base {
      public:
        virtual void pixel(int x, int y, ColorP = WHITE);
	virtual void circle(int x, int y, int r, ColorP = WHITE);
	virtual void pcircle(int x, int y, int r, ColorP = WHITE);
	virtual void arc(int x, int y, int r, double a1, double a2, ColorP = WHITE);
	virtual void arc(int x, int y, int r, int x1, int y1, int x2, int y2, ColorP = WHITE);
        virtual void box(int x1, int y1, int x2, int y2, ColorP = WHITE);
        virtual void box3d(int x1, int y1, int x2, int y2, ColorP = DOS_WHITE, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, int = 2, bool = false);
        virtual void obox(int x1, int y1, int x2, int y2, ColorP = WHITE);
        virtual void obox3d(int x1, int y1, int x2, int y2, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false);
	virtual void hline(int x1, int x2, int y, ColorP = WHITE);
	virtual void hline3d(int x1, int x2, int y, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false);
	virtual void vline(int x, int y1, int y2, ColorP = WHITE);
	virtual void vline3d(int x, int y1, int y2, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false);
	virtual void window(int x1, int y1, int x2, int y2,
			    const String & title = "",
	                    ColorP titlecolor = DOS_HIGH_WHITE, 
			    ColorP titlebackcolor = DOS_MAGENTA, 
			    ColorP front = DOS_WHITE, 
			    ColorP shade1 = DOS_HIGH_WHITE,
			    ColorP shade2 = DOS_GRAY);
	virtual void text(int x, int y, const String &,
			    ColorP textcolor = DOS_HIGH_WHITE,
			    align_t align = LEFT);
	virtual void text3d(int x, int y, const String &,
			    ColorP textcolor = DOS_BLACK,
			    ColorP shade1 = DOS_HIGH_WHITE,
			    ColorP shade2 = DOS_GRAY,
			    align_t align = LEFT,
			    bool bevel = false);
	virtual void button(int x1, int y1, int x2, int y2, const String &,
			    bool bevel = false,
			    ColorP front = DOS_WHITE,
			    ColorP shade1 = DOS_HIGH_WHITE,
			    ColorP shade2 = DOS_GRAY,
			    ColorP round = DOS_BLACK,
			    ColorP textcolor = DOS_BLACK,
			    ColorP tshade1 = DOS_HIGH_WHITE,
			    ColorP tshade2 = DOS_GRAY);
      private:
        virtual bool Enter();
	virtual void Leave(bool);
    };
};

#endif