source: Sophya/trunk/SophyaPI/PI/pibwdgx.h@ 11

Last change on this file since 11 was 11, checked in by eros, 30 years ago

Ajout de DrawPolygon et DrawFPolygon , GOXOR et GOCopy, DrawMarkers et
petites autres modifs (piimage et piscdrawwdg) Reza

File size: 3.1 KB
Line 
1#ifndef PIBWDGX_H_SEEN
2#define PIBWDGX_H_SEEN
3
4#include "pisysdep.h"
5#include "pibwdggen.h"
6
7
8class PIBaseWdgX : public PIBaseWdgGen
9{
10
11public:
12// Les methodes ...
13
14 PIBaseWdgX(PIContainerGen *par, char *nom,
15 int sx=10, int sy=10, int px=0, int py=0);
16 virtual ~PIBaseWdgX();
17
18
19// Activation des evenements
20 virtual void ActivatePtrCross();
21 virtual void ActivateButton(int bid);
22 virtual void ActivateMove(int bid);
23 virtual void ActivateKeyboard();
24
25// Trace graphiques
26 virtual void EraseWindow();
27 virtual void DrawString(int x, int y, char* s, int pos = 0);
28 virtual void DrawLine(int x1, int y1, int x2, int y2);
29 virtual void DrawBox(int x0, int y0, int dx, int dy);
30 virtual void DrawFBox(int x0, int y0, int dx, int dy);
31 virtual void DrawCircle(int x0, int y0, int r);
32 virtual void DrawFCircle(int x0, int y0, int r);
33 virtual void DrawPolygon(int *x, int *y, int n);
34 virtual void DrawFPolygon(int *x, int *y, int n);
35 virtual void DrawMarker(int x0, int y0);
36 virtual void DrawMarkers(int *x, int *y, int n);
37
38 virtual int CalcStringWidth(char const* s);
39
40// Modifications attributs graphiques
41 virtual void SelForeground(PIColors col=PI_Black);
42 virtual void SelBackground(PIColors col=PI_White);
43 virtual void SelGOMode(PIGOMode mod=PI_GOCopy);
44 virtual void SelFont(PIFontSize sz=PI_NormalSizeFont,
45 PIFontAtt att=PI_RomanFont);
46 virtual void SelFontSzPt(int npt=12, PIFontAtt att=PI_RomanFont);
47 virtual void SelLine(PILineAtt att=PI_NormalLine);
48 virtual void SelPointerShape(PIPointer ptr=PI_ArrowPointer);
49 virtual void SelMarker(int msz, PIMarker mrk=PI_DotMarker);
50
51
52// Acces aux attributs graphiques
53 virtual PIColors GetForeground();
54 virtual PIColors GetBackground();
55 virtual PIGOMode GetGOMode();
56 virtual PIFontAtt GetFontAtt();
57 virtual int GetFontSize();
58 virtual PILineAtt GetLineAtt();
59 virtual PIPointer GetPointerShape();
60 virtual PIMarker GetMarker();
61 virtual int GetMarkerSize();
62
63// Fonction qui doit etre appelee pour rafraichir (retracer) tout
64 virtual void Refresh();
65
66// Traitement des evenements
67 virtual void Resize();
68 virtual void Draw();
69 virtual void Draw(int x0, int y0, int dx, int dy);
70
71 virtual void Enter();
72 virtual void Leave();
73 virtual void But1Press(int x, int y);
74 virtual void But1Release(int x, int y);
75 virtual void But2Press(int x, int y);
76 virtual void But2Release(int x, int y);
77 virtual void But3Press(int x, int y);
78 virtual void But3Release(int x, int y);
79 virtual void Ptr1Move(int x, int y);
80 virtual void Ptr2Move(int x, int y);
81 virtual void Ptr3Move(int x, int y);
82 virtual void Keyboard(int key, PIKeyModifier kmod);
83
84 inline GC DefGC() { return mDefGC; }
85
86protected:
87 void Init();
88 void SelectFont(int isz, int jat);
89
90 GC mDefGC;
91 PIColors mFCol, mBCol;
92 PIGOMode mGOm;
93 PIPointer mPtrS;
94 PIFontAtt mFAtt;
95 PILineAtt mLAtt;
96 int mFSize;
97 XFontStruct *mFSt;
98 PIMarker mMrk;
99 int mMrkSz;
100};
101
102typedef PIBaseWdgX PIBaseWdg;
103
104#endif /* PIBWDGX_H_SEEN */
Note: See TracBrowser for help on using the repository browser.