VTK
vtkAndroidRenderWindowInteractor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAndroidRenderWindowInteractor.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 =========================================================================*/
33 #ifndef vtkAndroidRenderWindowInteractor_h
34 #define vtkAndroidRenderWindowInteractor_h
35 
36 #include "vtkRenderingOpenGL2Module.h" // For export macro
38 
39 struct AInputEvent;
40 
41 class VTKRENDERINGOPENGL2_EXPORT vtkAndroidRenderWindowInteractor : public vtkRenderWindowInteractor
42 {
43 public:
48 
50  void PrintSelf(ostream& os, vtkIndent indent);
51 
55  virtual void Initialize();
56 
58 
67  virtual void Enable();
68  virtual void Disable();
70 
76  void TerminateApp(void);
77 
79 
85  static void SetClassExitMethod(void (*f)(void *), void *arg);
86  static void SetClassExitMethodArgDelete(void (*f)(void *));
88 
93  virtual void ExitCallback();
94 
95  virtual void SetAndroidApplication(struct android_app *app)
96  { this->AndroidApplication = app; };
97 
101  void HandleKeyEvent(bool down, int nChar, int metaState, int nRepCnt);
102 
106  void HandleMotionEvent(int actionType, int actionId, int numPtrs,
107  int *xPtr, int *yPtr, int *idPtr, int metaState);
108 
112  const char *GetKeySym(int keyCode);
113 
114  void HandleCommand(int32_t cmd);
115  int32_t HandleInput(AInputEvent* event);
116 
117 
118 protected:
121 
124 
125  struct android_app *AndroidApplication;
126  const char **KeyCodeToKeySymTable;
127 
128  bool Done; // is the event loop done running
129 
131 
136  static void (*ClassExitMethod)(void *);
137  static void (*ClassExitMethodArgDelete)(void *);
138  static void *ClassExitMethodArg;
140 
142 
146  virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration);
147  virtual int InternalDestroyTimer(int platformTimerId);
149 
155  virtual void StartEventLoop();
156 
157 private:
159  void operator=(const vtkAndroidRenderWindowInteractor&) = delete;
160 };
161 
162 #endif
vtkAndroidRenderWindowInteractor::StartedMessageLoop
int StartedMessageLoop
Definition: vtkAndroidRenderWindowInteractor.h:123
vtkAndroidRenderWindowInteractor::~vtkAndroidRenderWindowInteractor
~vtkAndroidRenderWindowInteractor()
vtkAndroidRenderWindowInteractor::KeyCodeToKeySymTable
const char ** KeyCodeToKeySymTable
Definition: vtkAndroidRenderWindowInteractor.h:126
vtkAndroidRenderWindowInteractor::ExitCallback
virtual void ExitCallback()
These methods correspond to the Exit, User and Pick callbacks.
vtkAndroidRenderWindowInteractor::vtkAndroidRenderWindowInteractor
vtkAndroidRenderWindowInteractor()
vtkAndroidRenderWindowInteractor::AndroidApplication
struct android_app * AndroidApplication
Definition: vtkAndroidRenderWindowInteractor.h:125
vtkAndroidRenderWindowInteractor::HandleMotionEvent
void HandleMotionEvent(int actionType, int actionId, int numPtrs, int *xPtr, int *yPtr, int *idPtr, int metaState)
Handle motion events.
vtkAndroidRenderWindowInteractor::InternalCreateTimer
virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration)
Win32-specific internal timer methods.
vtkAndroidRenderWindowInteractor::SetAndroidApplication
virtual void SetAndroidApplication(struct android_app *app)
Definition: vtkAndroidRenderWindowInteractor.h:95
vtkAndroidRenderWindowInteractor::MouseInWindow
int MouseInWindow
Definition: vtkAndroidRenderWindowInteractor.h:122
vtkAndroidRenderWindowInteractor::SetClassExitMethod
static void SetClassExitMethod(void(*f)(void *), void *arg)
Methods to set the default exit method for the class.
vtkAndroidRenderWindowInteractor::StartEventLoop
virtual void StartEventLoop()
This will start up the event loop and never return.
vtkAndroidRenderWindowInteractor::SetClassExitMethodArgDelete
static void SetClassExitMethodArgDelete(void(*f)(void *))
vtkAndroidRenderWindowInteractor::Done
bool Done
Definition: vtkAndroidRenderWindowInteractor.h:128
vtkAndroidRenderWindowInteractor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkAndroidRenderWindowInteractor::Disable
virtual void Disable()
vtkAndroidRenderWindowInteractor::InternalDestroyTimer
virtual int InternalDestroyTimer(int platformTimerId)
vtkAndroidRenderWindowInteractor::HandleCommand
void HandleCommand(int32_t cmd)
vtkRenderWindowInteractor
platform-independent render window interaction including picking and frame rate control.
Definition: vtkRenderWindowInteractor.h:79
vtkAndroidRenderWindowInteractor::GetKeySym
const char * GetKeySym(int keyCode)
used for converting keyCodes on Android
vtkAndroidRenderWindowInteractor::HandleInput
int32_t HandleInput(AInputEvent *event)
vtkAndroidRenderWindowInteractor::HandleKeyEvent
void HandleKeyEvent(bool down, int nChar, int metaState, int nRepCnt)
Handle key up/down events.
vtkRenderWindowInteractor.h
vtkAndroidRenderWindowInteractor::New
static vtkAndroidRenderWindowInteractor * New()
Construct object so that light follows camera motion.
vtkAndroidRenderWindowInteractor::Enable
virtual void Enable()
Enable/Disable interactions.
vtkAndroidRenderWindowInteractor::TerminateApp
void TerminateApp(void)
Android specific application terminate, calls ClassExitMethod then calls PostQuitMessage(0) to termin...
vtkAndroidRenderWindowInteractor::ClassExitMethodArg
static void * ClassExitMethodArg
Definition: vtkAndroidRenderWindowInteractor.h:138
vtkAndroidRenderWindowInteractor::Initialize
virtual void Initialize()
Initialize the event handler.
vtkAndroidRenderWindowInteractor
implements Win32 specific functions required by vtkRenderWindowInteractor.
Definition: vtkAndroidRenderWindowInteractor.h:42