VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
guiEventProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrfGuiCore/vrfGuiCore.h>
14 
16 #include <vrvCore/DtElementEntry.h>
18 
19 namespace makVrv
20 {
21  class DtOutlinedPolygon;
22  class DtDe;
23  class DtChannel;
24 }
25 
26 namespace makVrf
27 {
31  {
32  public:
33  virtual void getCurrentMousePosition(int& x, int& y) = 0;
34  virtual void setFreezeMousePosition(bool) = 0;
35  virtual bool isShiftKeyDown() const = 0;
36  virtual bool isControlKeyDown() const = 0;
37  virtual bool isAltKeyDown() const = 0;
38  virtual double getDpi(std::string& dpiMessage) = 0;
39  virtual bool isLeftMouseButtonDown() const = 0;
40  virtual bool isRightMouseButtonDown() const = 0;
41  virtual bool isMiddleMouseButtonDown() const = 0;
42  };
43 
47  {
48  public:
49 
52 
54  virtual ~DtGuiEventProcessor();
55 
58  virtual void setBlockKeyboardEvents(bool);
59  virtual bool blockKeyboardEvents() const;
60 
63  virtual bool processMouseEvent( const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
64 
68  virtual bool processKeyboardEvent( const makVrv::DtKeyEvent& ev, makVrv::DtChannel& channel);
69 
70  virtual const std::string& className();
71 
72  virtual void setCurrentMousePosition(makVrv::DtDe&, int x, int y);
73  virtual void setCurrentMousePosition(int x, int y);
74  virtual void getCurrentMousePosition(int& x, int& y) const;
75 
77  virtual double getDpi(std::string& dpiMessage);
78 
80  virtual void setMousePositionProvider(DtMousePositionProvider*);
81  virtual DtMousePositionProvider* mousePositionProvider();
82 
84  static DtGuiEventProcessor& instance(makVrv::DtDe& de);
85  static void registerInstance(makVrv::DtDe&, DtGuiEventProcessor*);
86 
88  virtual bool setFreezeMousePosition(bool);
89  virtual bool mousePositionFrozen() const;
90 
92  virtual bool isShiftKeyDown() const;
93  virtual bool isControlKeyDown() const;
94  virtual bool isAltKeyDown() const;
95  virtual bool isLeftMouseButtonDown() const;
96  virtual bool isRightMouseButtonDown() const;
97  virtual bool isMiddleMouseButtonDown() const;
98 
99  protected:
101  virtual void cleanupBox();
102 
104  virtual void createBox(makVrv::DtChannel& channel);
105 
107  virtual void setBoxFromExtents(makVrv::DtChannel& channel, int anchorX, int anchorY, int toX, int toY);
108 
109  protected:
114 
116  bool myFrozen;
117 
120 
124  };
125 }
int myCurrentMousePositionY
Definition: guiEventProcessor.h:122
Simple class to provide mouse position.
Definition: guiEventProcessor.h:30
Virtual base class.
Definition: DtVirtualBaseClass.h:22
This class encapsulates a Key event.
Definition: DtKeyEvent.h:19
Contains makVrv:DtSelectionManager class.
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:22
makVrv::DtOutlinedPolygon * myBox
Definition: guiEventProcessor.h:111
int myCurrentMousePositionX
Definition: guiEventProcessor.h:121
The abstract Channel Class.
Definition: DtChannel.h:29
makVrv::DtDe & myDe
Definition: guiEventProcessor.h:110
Contains makVrv::DtVirtualBaseClass class.
int myInitialMousePositionX
Definition: guiEventProcessor.h:118
Interface for an event processor for a channel.
makVrv::DtSelectionManager::IdSet myCurrentSelections
Definition: guiEventProcessor.h:115
A convex polygon drawn using lines.
Definition: DtOutlinedPolygon.h:25
makVrv::DtUniqueID myLineId
Definition: guiEventProcessor.h:112
int myInitialMousePositionY
Definition: guiEventProcessor.h:119
bool myFrozen
Definition: guiEventProcessor.h:116
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
int myBlockKeyboardEvents
Definition: guiEventProcessor.h:123
DtMousePositionProvider * myMousePositionProvider
Definition: guiEventProcessor.h:113
The Gui Event Processor will process certain events that pertain to the VRF Gui, most notably terrain...
Definition: guiEventProcessor.h:46
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The DtEventProcessorInterface defines the generic interface for classes which handle input events...
Definition: DtEventProcessorInterface.h:37
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Contains makVrv::DtElementEntry class.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)