@ -5403,29 +5403,34 @@ static void ShowDemoWindowMisc()
ImGui : : Text ( " WantSetMousePos: %d " , io . WantSetMousePos ) ;
ImGui : : Text ( " WantSetMousePos: %d " , io . WantSetMousePos ) ;
ImGui : : Text ( " NavActive: %d, NavVisible: %d " , io . NavActive , io . NavVisible ) ;
ImGui : : Text ( " NavActive: %d, NavVisible: %d " , io . NavActive , io . NavVisible ) ;
// Display Keyboard/ Mouse state
// Display Mouse state
if ( ImGui : : TreeNode ( " Keyboard, Mouse & Navigation State" ) )
if ( ImGui : : TreeNode ( " Mouse State" ) )
{
{
if ( ImGui : : IsMousePosValid ( ) )
if ( ImGui : : IsMousePosValid ( ) )
ImGui : : Text ( " Mouse pos: (%g, %g) " , io . MousePos . x , io . MousePos . y ) ;
ImGui : : Text ( " Mouse pos: (%g, %g) " , io . MousePos . x , io . MousePos . y ) ;
else
else
ImGui : : Text ( " Mouse pos: <INVALID> " ) ;
ImGui : : Text ( " Mouse pos: <INVALID> " ) ;
ImGui : : Text ( " Mouse delta: (%g, %g) " , io . MouseDelta . x , io . MouseDelta . y ) ;
ImGui : : Text ( " Mouse delta: (%g, %g) " , io . MouseDelta . x , io . MouseDelta . y ) ;
ImGui : : Text ( " Mouse down: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( io. MouseDownDuration [ i ] > = 0.0f ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d (%.02f secs) " , i , io . MouseDownDuration [ i ] ) ; }
ImGui : : Text ( " Mouse down: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( ImGui: : IsMouseDown ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d (%.02f secs) " , i , io . MouseDownDuration [ i ] ) ; }
ImGui : : Text ( " Mouse clicked: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( ImGui : : IsMouseClicked ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d " , i ) ; }
ImGui : : Text ( " Mouse clicked: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( ImGui : : IsMouseClicked ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d " , i ) ; }
ImGui : : Text ( " Mouse dblclick: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( ImGui : : IsMouseDoubleClicked ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d " , i ) ; }
ImGui : : Text ( " Mouse dblclick: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( ImGui : : IsMouseDoubleClicked ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d " , i ) ; }
ImGui : : Text ( " Mouse released: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( ImGui : : IsMouseReleased ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d " , i ) ; }
ImGui : : Text ( " Mouse released: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . MouseDown ) ; i + + ) if ( ImGui : : IsMouseReleased ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " b%d " , i ) ; }
ImGui : : Text ( " Mouse wheel: %.1f " , io . MouseWheel ) ;
ImGui : : Text ( " Mouse wheel: %.1f " , io . MouseWheel ) ;
ImGui : : Text ( " Pen Pressure: %.1f " , io . PenPressure ) ; // Note: currently unused
ImGui : : TreePop ( ) ;
}
ImGui : : Text ( " Keys down: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . KeysDown ) ; i + + ) if ( io . KeysDownDuration [ i ] > = 0.0f ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " %d (0x%X) (%.02f secs) " , i , i , io . KeysDownDuration [ i ] ) ; }
// Display Keyboard/Mouse state
if ( ImGui : : TreeNode ( " Keyboard & Navigation State " ) )
{
ImGui : : Text ( " Keys down: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . KeysDown ) ; i + + ) if ( ImGui : : IsKeyDown ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " %d (0x%X) (%.02f secs) " , i , i , io . KeysDownDuration [ i ] ) ; }
ImGui : : Text ( " Keys pressed: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . KeysDown ) ; i + + ) if ( ImGui : : IsKeyPressed ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " %d (0x%X) " , i , i ) ; }
ImGui : : Text ( " Keys pressed: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . KeysDown ) ; i + + ) if ( ImGui : : IsKeyPressed ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " %d (0x%X) " , i , i ) ; }
ImGui : : Text ( " Keys release: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . KeysDown ) ; i + + ) if ( ImGui : : IsKeyReleased ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " %d (0x%X) " , i , i ) ; }
ImGui : : Text ( " Keys release: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . KeysDown ) ; i + + ) if ( ImGui : : IsKeyReleased ( i ) ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " %d (0x%X) " , i , i ) ; }
ImGui : : Text ( " Keys mods: %s%s%s%s " , io . KeyCtrl ? " CTRL " : " " , io . KeyShift ? " SHIFT " : " " , io . KeyAlt ? " ALT " : " " , io . KeySuper ? " SUPER " : " " ) ;
ImGui : : Text ( " Keys mods: %s%s%s%s " , io . KeyCtrl ? " CTRL " : " " , io . KeyShift ? " SHIFT " : " " , io . KeyAlt ? " ALT " : " " , io . KeySuper ? " SUPER " : " " ) ;
ImGui : : Text ( " Chars queue: " ) ; for ( int i = 0 ; i < io . InputQueueCharacters . Size ; i + + ) { ImWchar c = io . InputQueueCharacters [ i ] ; ImGui : : SameLine ( ) ; ImGui : : Text ( " \' %c \' (0x%04X) " , ( c > ' ' & & c < = 255 ) ? ( char ) c : ' ? ' , c ) ; } // FIXME: We should convert 'c' to UTF-8 here but the functions are not public.
ImGui : : Text ( " Chars queue: " ) ; for ( int i = 0 ; i < io . InputQueueCharacters . Size ; i + + ) { ImWchar c = io . InputQueueCharacters [ i ] ; ImGui : : SameLine ( ) ; ImGui : : Text ( " \' %c \' (0x%04X) " , ( c > ' ' & & c < = 255 ) ? ( char ) c : ' ? ' , c ) ; } // FIXME: We should convert 'c' to UTF-8 here but the functions are not public.
ImGui : : Text ( " NavInputs down: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . NavInputs ) ; i + + ) if ( io . NavInputs [ i ] > 0.0f ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " [%d] %.2f " , i , io . NavInputs [ i ] ) ; }
ImGui : : Text ( " NavInputs down: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . NavInputs ) ; i + + ) if ( io . NavInputs [ i ] > 0.0f ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " [%d] %.2f (%.02f secs) " , i , io . NavInputs [ i ] , io . NavInputsDownDuration [ i ] ) ; }
ImGui : : Text ( " NavInputs pressed: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . NavInputs ) ; i + + ) if ( io . NavInputsDownDuration [ i ] = = 0.0f ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " [%d] " , i ) ; }
ImGui : : Text ( " NavInputs pressed: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . NavInputs ) ; i + + ) if ( io . NavInputsDownDuration [ i ] = = 0.0f ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " [%d] " , i ) ; }
ImGui : : Text ( " NavInputs duration: " ) ; for ( int i = 0 ; i < IM_ARRAYSIZE ( io . NavInputs ) ; i + + ) if ( io . NavInputsDownDuration [ i ] > = 0.0f ) { ImGui : : SameLine ( ) ; ImGui : : Text ( " [%d] %.2f " , i , io . NavInputsDownDuration [ i ] ) ; }
ImGui : : Button ( " Hovering me sets the \n keyboard capture flag " ) ;
ImGui : : Button ( " Hovering me sets the \n keyboard capture flag " ) ;
if ( ImGui : : IsItemHovered ( ) )
if ( ImGui : : IsItemHovered ( ) )
@ -5434,7 +5439,6 @@ static void ShowDemoWindowMisc()
ImGui : : Button ( " Holding me clears the \n the keyboard capture flag " ) ;
ImGui : : Button ( " Holding me clears the \n the keyboard capture flag " ) ;
if ( ImGui : : IsItemActive ( ) )
if ( ImGui : : IsItemActive ( ) )
ImGui : : CaptureKeyboardFromApp ( false ) ;
ImGui : : CaptureKeyboardFromApp ( false ) ;
ImGui : : TreePop ( ) ;
ImGui : : TreePop ( ) ;
}
}