|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2016 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef FNEVENTWRAPPER_H_ 00004 #define FNEVENTWRAPPER_H_ 00005 00006 #include <FnAttribute/FnAttribute.h> 00007 #include <string> 00008 00009 namespace Foundry 00010 { 00011 namespace Katana 00012 { 00013 namespace ViewerAPI 00014 { 00015 00028 class FnEventWrapper 00029 { 00030 public: 00035 enum MouseButtons 00036 { 00037 kNoButton = 0, 00038 kLeftButton = 1, 00039 kRightButton = 2, 00040 kMidButton = 4, 00041 kMiddleButton = kMidButton, 00042 kXButton1 = 8, 00043 kXButton2 = 16, 00044 }; 00045 00050 enum KeyboardModifiers 00051 { 00052 kNoModifier = 0x00000000, 00053 kShiftModifier = 0x02000000, 00054 kControlModifier = 0x04000000, 00055 kAltModifier = 0x08000000, 00056 kMetaModifier = 0x10000000, 00057 kKeypadModifier = 0x20000000, 00058 kGroupSwitchModifier = 0x40000000, 00059 }; 00060 00061 FnEventWrapper(); 00062 FnEventWrapper(const FnAttribute::GroupAttribute& attr); 00063 FnEventWrapper(const FnEventWrapper& other); 00064 ~FnEventWrapper(); 00065 00067 std::string getType() const; 00070 FnAttribute::Hash getTypeHash() const; 00072 FnAttribute::GroupAttribute getData() const; 00074 FnAttributeHandle getHandle() const; 00076 FnAttributeHandle getRetainedHandle() const; 00077 private: 00079 FnAttribute::GroupAttribute m_data; 00080 }; 00081 00084 } // namespace ViewerAPI 00085 } // namespace Katana 00086 } // namespace Foundry 00087 00088 00089 #endif /* FNEVENTWRAPPER_H_ */
1.7.3