| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/kbdstate.h
 
- // Purpose:     Declaration of wxKeyboardState class
 
- // Author:      Vadim Zeitlin
 
- // Created:     2008-09-19
 
- // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_KBDSTATE_H_
 
- #define _WX_KBDSTATE_H_
 
- #include "wx/defs.h"
 
- // ----------------------------------------------------------------------------
 
- // wxKeyboardState stores the state of the keyboard modifier keys
 
- // ----------------------------------------------------------------------------
 
- class WXDLLIMPEXP_CORE wxKeyboardState
 
- {
 
- public:
 
-     wxKeyboardState(bool controlDown = false,
 
-                     bool shiftDown = false,
 
-                     bool altDown = false,
 
-                     bool metaDown = false)
 
-         : m_controlDown(controlDown),
 
-           m_shiftDown(shiftDown),
 
-           m_altDown(altDown),
 
-           m_metaDown(metaDown)
 
- #ifdef __WXOSX__
 
-           ,m_rawControlDown(false)
 
- #endif
 
-     {
 
-     }
 
-     // default copy ctor, assignment operator and dtor are ok
 
-     // accessors for the various modifier keys
 
-     // ---------------------------------------
 
-     // should be used check if the key event has exactly the given modifiers:
 
-     // "GetModifiers() = wxMOD_CONTROL" is easier to write than "ControlDown()
 
-     // && !MetaDown() && !AltDown() && !ShiftDown()"
 
-     int GetModifiers() const
 
-     {
 
-         return (m_controlDown ? wxMOD_CONTROL : 0) |
 
-                (m_shiftDown ? wxMOD_SHIFT : 0) |
 
-                (m_metaDown ? wxMOD_META : 0) |
 
- #ifdef __WXOSX__
 
-                (m_rawControlDown ? wxMOD_RAW_CONTROL : 0) |
 
- #endif
 
-                (m_altDown ? wxMOD_ALT : 0);
 
-     }
 
-     // returns true if any modifiers at all are pressed
 
-     bool HasAnyModifiers() const { return GetModifiers() != wxMOD_NONE; }
 
-     // returns true if any modifiers changing the usual key interpretation are
 
-     // pressed, notably excluding Shift
 
-     bool HasModifiers() const
 
-     {
 
-         return ControlDown() || RawControlDown() || AltDown();
 
-     }
 
-     // accessors for individual modifier keys
 
-     bool ControlDown() const { return m_controlDown; }
 
-     bool RawControlDown() const 
 
-     { 
 
- #ifdef __WXOSX__
 
-         return m_rawControlDown; 
 
- #else
 
-         return m_controlDown;
 
- #endif
 
-     }
 
-     bool ShiftDown() const { return m_shiftDown; }
 
-     bool MetaDown() const { return m_metaDown; }
 
-     bool AltDown() const { return m_altDown; }
 
-     // "Cmd" is a pseudo key which is Control for PC and Unix platforms but
 
-     // Apple ("Command") key under Macs: it makes often sense to use it instead
 
-     // of, say, ControlDown() because Cmd key is used for the same thing under
 
-     // Mac as Ctrl elsewhere (but Ctrl still exists, just not used for this
 
-     // purpose under Mac)
 
-     bool CmdDown() const
 
-     {
 
-         return ControlDown();
 
-     }
 
-     // these functions are mostly used by wxWidgets itself
 
-     // ---------------------------------------------------
 
-     void SetControlDown(bool down) { m_controlDown = down; }
 
-     void SetRawControlDown(bool down) 
 
-     { 
 
- #ifdef __WXOSX__
 
-         m_rawControlDown = down; 
 
- #else
 
-         m_controlDown = down; 
 
- #endif
 
-     }
 
-     void SetShiftDown(bool down)   { m_shiftDown = down; }
 
-     void SetAltDown(bool down)     { m_altDown = down; }
 
-     void SetMetaDown(bool down)    { m_metaDown = down; }
 
-     // for backwards compatibility with the existing code accessing these
 
-     // members of wxKeyEvent directly, these variables are public, however you
 
-     // should not use them in any new code, please use the accessors instead
 
- public:
 
-     bool m_controlDown     : 1;
 
-     bool m_shiftDown       : 1;
 
-     bool m_altDown         : 1;
 
-     bool m_metaDown        : 1;
 
- #ifdef __WXOSX__
 
-     bool m_rawControlDown : 1;
 
- #endif
 
- };
 
- #endif // _WX_KBDSTATE_H_
 
 
  |