Commit 9cdfb5cd authored by Marcus D. Hanwell's avatar Marcus D. Hanwell
Browse files

ENH: Separated vtkContextMouseEvent from the scene.

It does not always make sense to include the scene in places that need
the mouse event API, and so I have separated it out. This means that
classes can just use the mouse event data structure.
parent 24adbbda
......@@ -113,6 +113,7 @@ ENDIF(VTK_USE_QT)
IF(NOT VTK_INSTALL_NO_DEVELOPMENT)
SET(Kit_HDRS
vtkColor.h
vtkContextMouseEvent.h
vtkVector.h
)
INSTALL(FILES ${Kit_HDRS}
......
......@@ -14,6 +14,7 @@ IF(PYTHON_EXECUTABLE)
"${VTK_SOURCE_DIR}/Charts"
VTK_CHARTS_EXPORT
vtkColor.h
vtkContextMouseEvent.h
vtkContextScenePrivate.h
vtkDataElement.h
vtkDataValue.h
......
/*=========================================================================
Program: Visualization Toolkit
Module: vtkContextScene.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 vtkContextMouseEvent - data structure to represent mouse events.
//
// .SECTION Description
// Provides a convenient data structure to represent mouse events in the
// vtkContextScene. Passed to vtkAbstractContextItem objects.
#ifndef __vtkContextMouseEvent_h
#define __vtkContextMouseEvent_h
#include "vtkVector.h" // Needed for vtkVector2f and vtkVector2i
class vtkContextMouseEvent
{
public:
// Description:
// Enumeration of mouse buttons.
enum {
LEFT_BUTTON = 0,
MIDDLE_BUTTON,
RIGHT_BUTTON
};
// Description:
// Position of the mouse in item coordinate system.
vtkVector2f Pos;
// Description:
// Position of the mouse the scene coordinate system.
vtkVector2f ScenePos;
// Description:
// Position of the mouse in screen coordinates
vtkVector2i ScreenPos;
// Description:
// `Pos' at the previous mouse event.
vtkVector2f LastPos;
// Description:
// `ScenePos'at the previous mouse event.
vtkVector2f LastScenePos;
// Description:
// `ScreenPos' at the previous mouse event.
vtkVector2i LastScreenPos;
// Description:
// Mouse button that was pressed, using the anonymous enumeration.
int Button;
};
//ETX
#endif // __vtkContextMouseEvent_h
......@@ -20,6 +20,7 @@
#include "vtkTransform2D.h"
#include "vtkMatrix3x3.h"
#include "vtkContextScenePrivate.h"
#include "vtkContextMouseEvent.h"
// Get my new commands
#include "vtkCommand.h"
......
......@@ -25,7 +25,6 @@
#include "vtkObject.h"
#include "vtkWeakPointer.h" // Needed for weak pointer to the window.
#include "vtkVector.h" // Needed for vtkVector2f
class vtkContext2D;
class vtkAbstractContextItem;
......@@ -268,48 +267,4 @@ private:
//ETX
};
//BTX
// Description:
// Data structure to store context scene mouse events to be passed to items.
class vtkContextMouseEvent
{
public:
// Description:
// Enumeration of mouse buttons.
enum {
LEFT_BUTTON = 0,
MIDDLE_BUTTON,
RIGHT_BUTTON
};
// Description:
// Position of the mouse in item coordinate system.
vtkVector2f Pos;
// Description:
// Position of the mouse the scene coordinate system.
vtkVector2f ScenePos;
// Description:
// Position of the mouse in screen coordinates
vtkVector2i ScreenPos;
// Description:
// `Pos' at the previous mouse event.
vtkVector2f LastPos;
// Description:
// `ScenePos'at the previous mouse event.
vtkVector2f LastScenePos;
// Description:
// `ScreenPos' at the previous mouse event.
vtkVector2i LastScreenPos;
// Description:
// Mouse button that was pressed, using the anonymous enumeration.
int Button;
};
//ETX
#endif //__vtkContextScene_h
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment