Katana Plug-in APIs 0.1

FnEventWrapper.h

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_ */
 All Classes Functions Variables Typedefs Enumerations Enumerator