X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d4624460ec905603942263255a2e5d1c98b066ff..72c5855f5c9e6b5747dc9571d64e217eff26561d:/interface/wx/kbdstate.h diff --git a/interface/wx/kbdstate.h b/interface/wx/kbdstate.h index 8cfbb98414..c8d14bc8ad 100644 --- a/interface/wx/kbdstate.h +++ b/interface/wx/kbdstate.h @@ -4,7 +4,7 @@ // Author: wxWidgets team // Created: 2008-09-19 // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -18,8 +18,8 @@ This class is implemented entirely inline in @ and thus has no linking requirements. - @category{misc} @nolibrary + @category{events} @see wxKeyEvent, wxMouseState */ @@ -41,7 +41,7 @@ public: The return value is a combination of @c wxMOD_ALT, @c wxMOD_CONTROL, @c wxMOD_SHIFT and @c wxMOD_META bit masks. Additionally, @c wxMOD_NONE - is defined as 0, i.e. corresponds to no modifiers (see HasModifiers()) + is defined as 0, i.e. corresponds to no modifiers (see HasAnyModifiers()) and @c wxMOD_CMD is either @c wxMOD_CONTROL (MSW and Unix) or @c wxMOD_META (Mac), see CmdDown(). See ::wxKeyModifier for the full list of modifiers. @@ -73,22 +73,48 @@ public: Returns true if any modifiers at all are pressed. This is equivalent to @c GetModifiers() @c != @c wxMOD_NONE. + + Notice that this is different from HasModifiers() method which doesn't + take e.g. Shift modifier into account. This method is most suitable for + mouse events when any modifier, including Shift, can change the + interpretation of the event. + + @since 2.9.5 + */ + bool HasAnyModifiers() const; + + /** + Returns true if Control or Alt are pressed. + + Checks if Control, Alt or, under OS X only, Command key are pressed + (notice that the real Control key is still taken into account under OS + X too). + + This method returns @false if only Shift is pressed for compatibility + reasons and also because pressing Shift usually doesn't change the + interpretation of key events, see HasAnyModifiers() if you want to + take Shift into account as well. */ bool HasModifiers() const; /** - Returns true if the Control key is pressed. + Returns true if the Control key or Apple/Command key under OS X is pressed. This function doesn't distinguish between right and left control keys. - In portable code you usually want to use CmdDown() to automatically - test for the more frequently used Command key (and not the rarely used - Control one) under Mac. - Notice that GetModifiers() should usually be used instead of this one. */ bool ControlDown() const; + /** + Returns true if the Control key (also under OS X). + + This function doesn't distinguish between right and left control keys. + + Notice that GetModifiers() should usually be used instead of this one. + */ + bool RawControlDown() const; + /** Returns true if the Shift key is pressed. @@ -102,9 +128,7 @@ public: Returns true if the Meta/Windows/Apple key is pressed. This function tests the state of the key traditionally called Meta - under Unix systems, Windows keys under MSW and Apple, or Command, key - under Mac. - + under Unix systems, Windows keys under MSW Notice that GetModifiers() should usually be used instead of this one. @see CmdDown() @@ -119,16 +143,19 @@ public: bool AltDown() const; /** - Returns true if the key used for command accelerators is pressed. - - @c Cmd is a pseudo key which is Control for PC and Unix platforms but - Apple (or Command) key under Macs: it makes often sense to use it - instead of ControlDown() because @c Command key is used for the same - thing under Mac as @c Control elsewhere (even though @c Control still - exists, it is usually not used for the same purpose under Mac). + Returns true if the key used for command accelerators is pressed. Same as + ControlDown(). Deprecated. Notice that GetModifiers() should usually be used instead of this one. */ bool CmdDown() const; + + + void SetControlDown(bool down); + void SetRawControlDown(bool down); + void SetShiftDown(bool down); + void SetAltDown(bool down); + void SetMetaDown(bool down); + };