VTK
vtkAbstractContextItem.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkContextItem.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
26 #ifndef vtkAbstractContextItem_h
27 #define vtkAbstractContextItem_h
28 
29 #include "vtkRenderingContext2DModule.h" // For export macro
30 #include "vtkObject.h"
31 
32 class vtkContext2D;
34 class vtkContextKeyEvent;
35 class vtkContextScene;
37 class vtkVector2f;
38 
40 {
41 public:
43  virtual void PrintSelf(ostream &os, vtkIndent indent);
44 
48  virtual void Update();
49 
51  virtual bool Paint(vtkContext2D *painter);
52 
55  virtual bool PaintChildren(vtkContext2D *painter);
56 
59  virtual void ReleaseGraphicsResources();
60 
63  unsigned int AddItem(vtkAbstractContextItem* item);
64 
69 
73  bool RemoveItem(unsigned int index);
74 
78 
81  unsigned int GetItemIndex(vtkAbstractContextItem* item);
82 
84  unsigned int GetNumberOfItems();
85 
87  void ClearItems();
88 
91  unsigned int Raise(unsigned int index);
92 
94 
97  virtual unsigned int StackAbove(unsigned int index,
98  unsigned int under);
100 
103  unsigned int Lower(unsigned int index);
104 
106 
109  virtual unsigned int StackUnder(unsigned int child,
110  unsigned int above);
112 
113 //BTX
115  virtual bool Hit(const vtkContextMouseEvent &mouse);
116 
120 
123  virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse);
124 
127  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
128 
131  virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse);
132 
135  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
136 
139  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
140 
143  virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse);
144 
148  virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta);
149 
151  virtual bool KeyPressEvent(const vtkContextKeyEvent &key);
152 
154 
155  virtual bool KeyReleaseEvent(const vtkContextKeyEvent &key);
156 //ETX
158 
161  virtual void SetScene(vtkContextScene *scene);
162 
164 
167  {
168  return this->Scene;
169  }
171 
174  virtual void SetParent(vtkAbstractContextItem *parent);
175 
177 
180  {
181  return this->Parent;
182  }
184 
187 
190 
193 
196 
198 
199  vtkGetMacro(Visible, bool);
201 
203 
205  vtkSetMacro(Visible, bool);
207 
209 
210  vtkGetMacro(Interactive, bool);
212 
214 
215  vtkSetMacro(Interactive, bool);
217 
218 //BTX
219 protected:
222 
225 
228 
233 
235  bool Visible;
236 
240 
241 private:
242  vtkAbstractContextItem(const vtkAbstractContextItem &); // Not implemented.
243  void operator=(const vtkAbstractContextItem &); // Not implemented.
244 //ETX
245 };
246 
247 #endif //vtkContextItem_h
vtkAbstractContextItem::MapFromParent
virtual vtkVector2f MapFromParent(const vtkVector2f &point)
vtkContextMouseEvent
data structure to represent mouse events.
Definition: vtkContextMouseEvent.h:40
vtkContextKeyEvent
data structure to represent key events.
Definition: vtkContextKeyEvent.h:34
vtkAbstractContextItem::GetScene
vtkContextScene * GetScene()
Definition: vtkAbstractContextItem.h:166
vtkAbstractContextItem::StackAbove
virtual unsigned int StackAbove(unsigned int index, unsigned int under)
vtkAbstractContextItem::Scene
vtkContextScene * Scene
Definition: vtkAbstractContextItem.h:224
VTKRENDERINGCONTEXT2D_EXPORT
#define VTKRENDERINGCONTEXT2D_EXPORT
Definition: vtkRenderingContext2DModule.h:15
vtkAbstractContextItem
base class for items that are part of a vtkContextScene.
Definition: vtkAbstractContextItem.h:40
vtkAbstractContextItem::RemoveItem
bool RemoveItem(vtkAbstractContextItem *item)
vtkX3D::key
@ key
Definition: vtkX3D.h:257
vtkAbstractContextItem::MapToScene
virtual vtkVector2f MapToScene(const vtkVector2f &point)
vtkAbstractContextItem::KeyPressEvent
virtual bool KeyPressEvent(const vtkContextKeyEvent &key)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkAbstractContextItem::GetPickedItem
virtual vtkAbstractContextItem * GetPickedItem(const vtkContextMouseEvent &mouse)
vtkAbstractContextItem::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkAbstractContextItem::Lower
unsigned int Lower(unsigned int index)
vtkContext2D
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:57
vtkAbstractContextItem::Parent
vtkAbstractContextItem * Parent
Definition: vtkAbstractContextItem.h:227
vtkAbstractContextItem::RemoveItem
bool RemoveItem(unsigned int index)
vtkAbstractContextItem::~vtkAbstractContextItem
~vtkAbstractContextItem()
vtkAbstractContextItem::MapFromScene
virtual vtkVector2f MapFromScene(const vtkVector2f &point)
vtkX3D::point
@ point
Definition: vtkX3D.h:236
vtkContextScene
Provides a 2D scene for vtkContextItem objects.
Definition: vtkContextScene.h:50
vtkAbstractContextItem::Visible
bool Visible
Definition: vtkAbstractContextItem.h:235
vtkAbstractContextItem::MapToParent
virtual vtkVector2f MapToParent(const vtkVector2f &point)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkAbstractContextItem::Hit
virtual bool Hit(const vtkContextMouseEvent &mouse)
vtkX3D::Scene
@ Scene
Definition: vtkX3D.h:154
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkContextScenePrivate
Private implementation for scene/items.
Definition: vtkContextScenePrivate.h:40
vtkAbstractContextItem::MouseMoveEvent
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse)
vtkObject.h
vtkAbstractContextItem::MouseButtonReleaseEvent
virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkAbstractContextItem::AddItem
unsigned int AddItem(vtkAbstractContextItem *item)
vtkAbstractContextItem::Children
vtkContextScenePrivate * Children
Definition: vtkAbstractContextItem.h:232
vtkAbstractContextItem::GetItemIndex
unsigned int GetItemIndex(vtkAbstractContextItem *item)
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkAbstractContextItem::StackUnder
virtual unsigned int StackUnder(unsigned int child, unsigned int above)
vtkAbstractContextItem::Paint
virtual bool Paint(vtkContext2D *painter)
vtkAbstractContextItem::SetScene
virtual void SetScene(vtkContextScene *scene)
vtkAbstractContextItem::vtkAbstractContextItem
vtkAbstractContextItem()
vtkAbstractContextItem::MouseEnterEvent
virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse)
vtkAbstractContextItem::SetParent
virtual void SetParent(vtkAbstractContextItem *parent)
vtkAbstractContextItem::MouseDoubleClickEvent
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse)
vtkAbstractContextItem::KeyReleaseEvent
virtual bool KeyReleaseEvent(const vtkContextKeyEvent &key)
vtkAbstractContextItem::GetParent
vtkAbstractContextItem * GetParent()
Definition: vtkAbstractContextItem.h:179
vtkAbstractContextItem::ClearItems
void ClearItems()
vtkAbstractContextItem::MouseLeaveEvent
virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse)
vtkAbstractContextItem::MouseButtonPressEvent
virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse)
vtkAbstractContextItem::GetItem
vtkAbstractContextItem * GetItem(unsigned int index)
vtkAbstractContextItem::Interactive
bool Interactive
Definition: vtkAbstractContextItem.h:239
vtkRenderingContext2DModule.h
vtkAbstractContextItem::PaintChildren
virtual bool PaintChildren(vtkContext2D *painter)
vtkVector2f
Definition: vtkVector.h:277
vtkAbstractContextItem::MouseWheelEvent
virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta)
vtkAbstractContextItem::Raise
unsigned int Raise(unsigned int index)
vtkAbstractContextItem::GetNumberOfItems
unsigned int GetNumberOfItems()
vtkAbstractContextItem::Update
virtual void Update()
vtkAbstractContextItem::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources()