VR-Forces 5.0.3 Developer's Guide
 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  class DtCachedIntersectorsContainer;
25 }
26 
27 namespace makVrf
28 {
32  {
33  public:
34  virtual void getCurrentMousePosition(int& x, int& y) = 0;
35  virtual void setFreezeMousePosition(bool) = 0;
36  virtual bool isShiftKeyDown() const = 0;
37  virtual bool isControlKeyDown() const = 0;
38  virtual bool isAltKeyDown() const = 0;
39  virtual double getDpi(std::string& dpiMessage) = 0;
40  virtual bool isLeftMouseButtonDown() const = 0;
41  virtual bool isRightMouseButtonDown() const = 0;
42  virtual bool isMiddleMouseButtonDown() const = 0;
43  };
44 
48  {
49  public:
50 
53 
55  virtual ~DtGuiEventProcessor();
56 
59  virtual void setBlockKeyboardEvents(bool);
60  virtual bool blockKeyboardEvents() const;
61 
64  virtual bool processMouseEvent( const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
65 
69  virtual bool processKeyboardEvent( const makVrv::DtKeyEvent& ev, makVrv::DtChannel& channel);
70 
71  virtual const std::string& className();
72 
73  virtual void setCurrentMousePosition(makVrv::DtDe&, int x, int y);
74  virtual void setCurrentMousePosition(int x, int y);
75  virtual void getCurrentMousePosition(int& x, int& y) const;
76 
78  virtual double getDpi(std::string& dpiMessage);
79 
81  virtual void setMousePositionProvider(DtMousePositionProvider*);
82  virtual DtMousePositionProvider* mousePositionProvider();
83 
85  static DtGuiEventProcessor& instance(makVrv::DtDe& de);
86  static void registerInstance(makVrv::DtDe&, DtGuiEventProcessor*);
87 
89  virtual bool setFreezeMousePosition(bool);
90  virtual bool mousePositionFrozen() const;
91 
93  virtual bool isShiftKeyDown() const;
94  virtual bool isControlKeyDown() const;
95  virtual bool isAltKeyDown() const;
96  virtual bool isLeftMouseButtonDown() const;
97  virtual bool isRightMouseButtonDown() const;
98  virtual bool isMiddleMouseButtonDown() const;
99 
100  virtual makVrv::DtCachedIntersectorsContainer& cachedIntersectorManager() const;
101 
102  protected:
104  virtual void cleanupBox();
105 
107  virtual void createBox(makVrv::DtChannel& channel);
108 
110  virtual void setBoxFromExtents(makVrv::DtChannel& channel, int anchorX, int anchorY, int toX, int toY);
111 
112  protected:
117 
119  bool myFrozen;
120 
123 
127  mutable makVrv::DtCachedIntersectorsContainer* myCachedIntersectorManager = nullptr;
128  };
129 }
int myCurrentMousePositionY
Definition: guiEventProcessor.h:125
Simple class to provide mouse position. Implement if you wish to provide the mouse position in a diff...
Definition: guiEventProcessor.h:31
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
This class encapsulates a Key event.
Definition: DtKeyEvent.h:16
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:19
makVrv::DtOutlinedPolygon * myBox
Definition: guiEventProcessor.h:114
int myCurrentMousePositionX
Definition: guiEventProcessor.h:124
The abstract Channel Class.
Definition: DtChannel.h:35
makVrv::DtDe & myDe
Definition: guiEventProcessor.h:113
Contains makVrv::DtVirtualBaseClass class.
int myInitialMousePositionX
Definition: guiEventProcessor.h:121
Interface for an event processor for a channel.
makVrv::DtSelectionManager::IdSet myCurrentSelections
Definition: guiEventProcessor.h:118
A convex polygon drawn using lines.
Definition: DtOutlinedPolygon.h:25
makVrv::DtUniqueID myLineId
Definition: guiEventProcessor.h:115
int myInitialMousePositionY
Definition: guiEventProcessor.h:122
bool myFrozen
Definition: guiEventProcessor.h:119
int myBlockKeyboardEvents
Definition: guiEventProcessor.h:126
The DtCachedIntersectorsContainer class contains instances of cached intersectors of different model ...
Definition: DtCachedIntersectorsContainer.h:43
DtMousePositionProvider * myMousePositionProvider
Definition: guiEventProcessor.h:116
The Gui Event Processor will process certain events that pertain to the VRF Gui, most notably terrain...
Definition: guiEventProcessor.h:47
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
The DtEventProcessorInterface defines the generic interface for classes which handle input events...
Definition: DtEventProcessorInterface.h:34
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Contains makVrv::DtElementEntry class.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)