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

Last change on this file since 61 was 61, checked in by ansari, 28 years ago

J'ai remis les fonctions d'Activation d'evts (ActivateButton(), ...) ds

PIBaseWdgGen - et correction petit pb ds pixtbase.cc (Leave etait appele
au moment de Close !) Reza 26/11/97

File size: 3.7 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 virtual void FinishCreate(); // appele par la fenetre mere, apres XtRealize()
19
20// Activation des evenements
21 virtual void ActivatePtrCross();
22 virtual void ActivateButton(int bid);
23 virtual void ActivateMove(int bid);
24 virtual void ActivateKeyboard();
25
26// Trace graphiques
27 virtual void EraseWindow(int x0=0, int y0=0, int dx=0, int dy=0);
28 virtual void DrawString(int x, int y, char* s, int pos = 0);
29 virtual void DrawLine(int x1, int y1, int x2, int y2);
30 virtual void DrawBox(int x0, int y0, int dx, int dy);
31 virtual void DrawFBox(int x0, int y0, int dx, int dy);
32 virtual void DrawCircle(int x0, int y0, int r);
33 virtual void DrawFCircle(int x0, int y0, int r);
34 virtual void DrawPolygon(int *x, int *y, int n);
35 virtual void DrawFPolygon(int *x, int *y, int n);
36 virtual void DrawMarker(int x0, int y0);
37 virtual void DrawMarkers(int *x, int *y, int n);
38 virtual void DrawPixmap(int x, int y, unsigned char *pix,
39 int sx, int sy, PIColorMap* cmap);
40
41 virtual int CalcStringWidth(char const* s);
42
43// Modifications attributs graphiques
44 virtual void SelForeground(PIColors col=PI_Black);
45 virtual void SelBackground(PIColors col=PI_White);
46 virtual void SelGOMode(PIGOMode mod=PI_GOCopy);
47 virtual void SelFont(PIFontSize sz=PI_NormalSizeFont,
48 PIFontAtt att=PI_RomanFont);
49 virtual void SelFontSzPt(int npt=12, PIFontAtt att=PI_RomanFont);
50 virtual void SelLine(PILineAtt att=PI_NormalLine);
51 virtual void SelPointerShape(PIPointer ptr=PI_ArrowPointer);
52 virtual void SelMarker(int msz, PIMarker mrk=PI_DotMarker);
53
54// Selection de zone de trace (clip)
55 virtual void SetClipRectangle(int x0, int y0, int dx, int dy);
56 virtual void ClearClipRectangle();
57
58// Acces aux attributs graphiques
59 virtual PIColors GetForeground();
60 virtual PIColors GetBackground();
61 virtual PIGOMode GetGOMode();
62 virtual PIFontAtt GetFontAtt();
63 virtual int GetFontSize();
64 virtual PILineAtt GetLineAtt();
65 virtual PIPointer GetPointerShape();
66 virtual PIMarker GetMarker();
67 virtual int GetMarkerSize();
68 virtual int GetFontHeight(int& asc, int& desc);
69
70// Sauvegarde des attributs graphiques
71 virtual void SaveGraphicAtt();
72
73// Fonction qui doit etre appelee pour rafraichir (retracer) tout
74 virtual void Refresh();
75
76// Traitement des evenements
77 virtual void Resize();
78 virtual void Draw();
79 virtual void Draw(int x0, int y0, int dx, int dy);
80
81 virtual void Enter();
82 virtual void Leave();
83 virtual void But1Press(int x, int y);
84 virtual void But1Release(int x, int y);
85 virtual void But2Press(int x, int y);
86 virtual void But2Release(int x, int y);
87 virtual void But3Press(int x, int y);
88 virtual void But3Release(int x, int y);
89 virtual void Ptr1Move(int x, int y);
90 virtual void Ptr2Move(int x, int y);
91 virtual void Ptr3Move(int x, int y);
92 virtual void Keyboard(int key, PIKeyModifier kmod);
93
94 inline GC DefGC() { return mDefGC; }
95
96protected:
97
98 void Init();
99 void SelectFont(int isz, int jat);
100
101 GC mDefGC;
102 PIColors mFCol, mBCol;
103 PIGOMode mGOm;
104 PIPointer mPtrS;
105 PIFontAtt mFAtt;
106 PILineAtt mLAtt;
107 int mFSize;
108 XFontStruct *mFSt;
109 PIMarker mMrk;
110 int mMrkSz;
111};
112
113typedef PIBaseWdgX PIBaseWdg;
114
115#endif /* PIBWDGX_H_SEEN */
Note: See TracBrowser for help on using the repository browser.