/usr/include/vtk-5.10/vtkAbstractContextItem.h is in libvtk5-dev 5.10.1+dfsg-2.1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkContextItem.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkAbstractContextItem - base class for items that are part of a
// vtkContextScene.
//
// .SECTION Description
// This class is the common base for all context scene items. You should
// generally derive from vtkContextItem, rather than this class, as it provides
// most of the commonly used API.
#ifndef __vtkAbstractContextItem_h
#define __vtkAbstractContextItem_h
#include "vtkObject.h"
class vtkContext2D;
class vtkContextMouseEvent;
class vtkContextKeyEvent;
class vtkContextScene;
class vtkContextScenePrivate;
class vtkVector2f;
class VTK_CHARTS_EXPORT vtkAbstractContextItem : public vtkObject
{
public:
vtkTypeMacro(vtkAbstractContextItem, vtkObject);
virtual void PrintSelf(ostream &os, vtkIndent indent);
// Description:
// Perform any updates to the item that may be necessary before rendering.
// The scene should take care of calling this on all items before their
// Paint function is invoked.
virtual void Update();
// Description:
// Paint event for the item, called whenever the item needs to be drawn.
virtual bool Paint(vtkContext2D *painter);
// Description:
// Paint the children of the item, should be called whenever the children
// need to be rendered.
bool PaintChildren(vtkContext2D *painter);
// Description:
// Release graphics resources hold by the item. The default implementation
// is empty.
virtual void ReleaseGraphicsResources();
// Description:
// Add child items to this item. Increments reference count of item.
// \return the index of the child item.
unsigned int AddItem(vtkAbstractContextItem* item);
// Description:
// Remove child item from this item. Decrements reference count of item.
// \param item the item to be removed.
// \return true on success, false otherwise.
bool RemoveItem(vtkAbstractContextItem* item);
// Description:
// Remove child item from this item. Decrements reference count of item.
// \param index of the item to be removed.
// \return true on success, false otherwise.
bool RemoveItem(unsigned int index);
// Description:
// Get the item at the specified index.
// \return the item at the specified index (null if index is invalid).
vtkAbstractContextItem* GetItem(unsigned int index);
// Description:
// Get the number of child items.
unsigned int GetNumberOfItems();
// Description:
// Remove all child items from this item.
void ClearItems();
//BTX
// Description:
// Return true if the supplied x, y coordinate is inside the item.
virtual bool Hit(const vtkContextMouseEvent &mouse);
// Description:
// Return the item under the mouse.
// If no item is under the mouse, the method returns a null pointer.
virtual vtkAbstractContextItem* GetPickedItem(const vtkContextMouseEvent &mouse);
// Description:
// Mouse enter event.
// Return true if the item holds the event, false if the event can be
// propagated to other items.
virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse);
// Description:
// Mouse move event.
// Return true if the item holds the event, false if the event can be
// propagated to other items.
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
// Description:
// Mouse leave event.
// Return true if the item holds the event, false if the event can be
// propagated to other items.
virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse);
// Description:
// Mouse button down event
// Return true if the item holds the event, false if the event can be
// propagated to other items.
virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
// Description:
// Mouse button release event.
// Return true if the item holds the event, false if the event can be
// propagated to other items.
virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
// Description:
// Mouse button double click event.
// Return true if the item holds the event, false if the event can be
// propagated to other items.
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse);
// Description:
// Mouse wheel event, positive delta indicates forward movement of the wheel.
// Return true if the item holds the event, false if the event can be
// propagated to other items.
virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta);
// Description:
// Key press event.
virtual bool KeyPressEvent(const vtkContextKeyEvent &key);
// Description:
// Key release event.
virtual bool KeyReleaseEvent(const vtkContextKeyEvent &key);
//ETX
// Description:
// Set the vtkContextScene for the item, always set for an item in a scene.
virtual void SetScene(vtkContextScene *scene);
// Description:
// Get the vtkContextScene for the item, always set for an item in a scene.
vtkContextScene* GetScene()
{
return this->Scene;
}
// Description:
// Set the parent item. The parent will be set for all items except top
// level items in a scene.
virtual void SetParent(vtkAbstractContextItem *parent);
// Description:
// Get the parent item. The parent will be set for all items except top
// level items in a tree.
vtkAbstractContextItem* GetParent()
{
return this->Parent;
}
// Description:
// Maps the point to the parent coordinate system.
virtual vtkVector2f MapToParent(const vtkVector2f& point);
// Description:
// Maps the point from the parent coordinate system.
virtual vtkVector2f MapFromParent(const vtkVector2f& point);
// Description:
// Maps the point to the scene coordinate system.
virtual vtkVector2f MapToScene(const vtkVector2f& point);
// Description:
// Maps the point from the scene coordinate system.
virtual vtkVector2f MapFromScene(const vtkVector2f& point);
// Description:
// Get the visibility of the item (should it be drawn).
vtkGetMacro(Visible, bool);
// Description:
// Set the visibility of the item (should it be drawn).
// Visible by default.
vtkSetMacro(Visible, bool);
//BTX
protected:
vtkAbstractContextItem();
~vtkAbstractContextItem();
// Description:
// Point to the scene the item is on - can be null.
vtkContextScene* Scene;
// Description:
// Point to the parent item - can be null.
vtkAbstractContextItem* Parent;
// Description:
// This structure provides a list of children, along with convenience
// functions to paint the children etc. It is derived from
// std::vector<vtkAbstractContextItem>, defined in a private header.
vtkContextScenePrivate* Children;
// Description: Store the visibility of the item (default is true).
bool Visible;
private:
vtkAbstractContextItem(const vtkAbstractContextItem &); // Not implemented.
void operator=(const vtkAbstractContextItem &); // Not implemented.
//ETX
};
#endif //__vtkContextItem_h
|