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

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

Modifs pour les Drawers, Nouveaux ColorMap, Copier-Coller Reza 05/12/97

File size: 3.0 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 DrawOpaqueString(int x, int y, char* s, int pos = 0);
30 virtual void DrawLine(int x1, int y1, int x2, int y2);
31 virtual void DrawBox(int x0, int y0, int dx, int dy);
32 virtual void DrawFBox(int x0, int y0, int dx, int dy);
33 virtual void DrawCircle(int x0, int y0, int r);
34 virtual void DrawFCircle(int x0, int y0, int r);
35 virtual void DrawPolygon(int *x, int *y, int n);
36 virtual void DrawFPolygon(int *x, int *y, int n);
37 virtual void DrawMarker(int x0, int y0);
38 virtual void DrawMarkers(int *x, int *y, int n);
39 virtual void DrawPixmap(int x, int y, unsigned char *pix,
40 int sx, int sy, PIColorMap* cmap);
41
42 virtual int CalcStringWidth(char const* s);
43
44// Modifications attributs graphiques
45 virtual void SelForeground(PIColors col=PI_Black);
46 virtual void SelBackground(PIColors col=PI_White);
47 virtual void SelGOMode(PIGOMode mod=PI_GOCopy);
48 virtual void SelFont(PIFontSize sz=PI_NormalSizeFont,
49 PIFontAtt att=PI_RomanFont);
50 virtual void SelFontSzPt(int npt=12, PIFontAtt att=PI_RomanFont);
51 virtual void SelLine(PILineAtt att=PI_NormalLine);
52 virtual void SelPointerShape(PIPointer ptr=PI_ArrowPointer);
53 virtual void SelMarker(int msz, PIMarker mrk=PI_DotMarker);
54
55// Selection de zone de trace (clip)
56 virtual void SetClipRectangle(int x0, int y0, int dx, int dy);
57 virtual void ClearClipRectangle();
58
59// Acces aux attributs graphiques
60 virtual PIColors GetForeground();
61 virtual PIColors GetBackground();
62 virtual PIGOMode GetGOMode();
63 virtual PIFontAtt GetFontAtt();
64 virtual int GetFontSize();
65 virtual PILineAtt GetLineAtt();
66 virtual PIPointer GetPointerShape();
67 virtual PIMarker GetMarker();
68 virtual int GetMarkerSize();
69 virtual int GetFontHeight(int& asc, int& desc);
70
71// Sauvegarde des attributs graphiques
72 virtual void SaveGraphicAtt();
73
74
75protected:
76
77 void Init();
78 void SelectFont(int isz, int jat);
79 inline GC DefGC() { return mDefGC; }
80
81 GC mDefGC;
82 PIColors mFCol, mBCol;
83 PIGOMode mGOm;
84 PIPointer mPtrS;
85 PIFontAtt mFAtt;
86 PILineAtt mLAtt;
87 int mFSize;
88 XFontStruct *mFSt;
89 PIMarker mMrk;
90 int mMrkSz;
91};
92
93typedef PIBaseWdgX PIBaseWdg;
94
95#endif /* PIBWDGX_H_SEEN */
Note: See TracBrowser for help on using the repository browser.