43 class TGView :
public TGCompositeFrame,
public TGWidget {
45 friend class TGViewFrame;
48 enum { kNoHSB = BIT(0), kNoVSB = BIT(1) };
49 enum { kHorizontal = 0, kVertical = 1 };
52 TGLongPosition fVisible;
53 TGLongPosition fMousePos;
54 TGLongPosition fScrollVal;
55 TGDimension fVirtualSize;
56 TGRectangle fExposedRegion;
69 virtual void DoRedraw();
70 virtual void UpdateRegion(Int_t x, Int_t y, UInt_t w, UInt_t h);
71 virtual Bool_t ItemLayout() {
return kFALSE; }
74 TGView(
const TGView&);
75 TGView& operator=(
const TGView&);
78 TGView(
const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, Int_t
id = -1,
79 UInt_t xMargin = 0, UInt_t yMargin = 0,
80 UInt_t options = kSunkenFrame | kDoubleBorder,
82 Pixel_t back = GetWhitePixel());
86 TGViewFrame *GetCanvas()
const {
return fCanvas; }
88 virtual void Clear(Option_t * =
"");
89 virtual void SetVisibleStart(Int_t newTop, Int_t direction);
90 virtual void ScrollCanvas(Int_t newTop, Int_t direction);
91 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
92 virtual void DrawBorder();
93 virtual void Layout();
94 virtual void SetLayoutManager(TGLayoutManager*) { }
95 virtual void DrawRegion(Int_t x, Int_t y, UInt_t width, UInt_t height);
97 virtual void ScrollToPosition(TGLongPosition newPos);
98 void ScrollUp(Int_t pixels)
99 { ScrollToPosition(TGLongPosition(fVisible.fX, fVisible.fY + pixels)); }
100 void ScrollDown(Int_t pixels)
101 { ScrollToPosition(TGLongPosition(fVisible.fX, fVisible.fY - pixels)); }
102 void ScrollLeft(Int_t pixels)
103 { ScrollToPosition(TGLongPosition(fVisible.fX + pixels, fVisible.fY)); }
104 void ScrollRight(Int_t pixels)
105 { ScrollToPosition(TGLongPosition(fVisible.fX - pixels, fVisible.fY)); }
107 virtual TGDimension GetDefaultSize()
const {
return TGDimension(fWidth, fHeight); }
108 TGDimension GetVirtualSize()
const {
return fVirtualSize; }
109 TGLongPosition GetScrollValue()
const {
return fScrollVal; }
110 TGLongPosition GetScrollPosition()
const {
return fVisible; }
112 TGLongPosition ToVirtual(TGLongPosition coord)
const {
return coord + fVisible; }
113 TGLongPosition ToPhysical(TGLongPosition coord)
const {
return coord - fVisible; }
115 virtual Bool_t HandleButton(Event_t *event);
116 virtual Bool_t HandleExpose(Event_t *event);
118 virtual void ChangeBackground(Pixel_t);
119 virtual void SetBackgroundColor(Pixel_t);
120 virtual void SetBackgroundPixmap(Pixmap_t p);
121 virtual void UpdateBackgroundStart();
123 const TGGC &GetViewWhiteGC() {
return fWhiteGC; }
129 class TGViewFrame :
public TGCompositeFrame {
133 TGViewFrame(
const TGViewFrame&);
134 TGViewFrame& operator=(
const TGViewFrame&);
137 TGViewFrame(TGView *v, UInt_t w, UInt_t h, UInt_t options = 0,
138 Pixel_t back = GetWhitePixel());
140 Bool_t HandleSelectionRequest(Event_t *event)
141 {
return fView->HandleSelectionRequest(event); }
142 Bool_t HandleSelectionClear(Event_t *event)
143 {
return fView->HandleSelectionClear(event); }
144 Bool_t HandleSelection(Event_t *event)
145 {
return fView->HandleSelection(event); }
146 Bool_t HandleButton(Event_t *event)
147 {
return fView->HandleButton(event); }
148 Bool_t HandleExpose(Event_t *event)
149 {
return fView->HandleExpose(event); }
150 Bool_t HandleCrossing(Event_t *event)
151 {
return fView->HandleCrossing(event); }
152 Bool_t HandleMotion(Event_t *event)
153 {
return fView->HandleMotion(event); }
154 Bool_t HandleKey(Event_t *event)
155 {
return fView->HandleKey(event); }
156 Bool_t HandleDoubleClick(Event_t *event)
157 {
return fView->HandleDoubleClick(event); }
159 ClassDef(TGViewFrame,0)