mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
GUI Basics: Refactor juce_gui_basics file structure
- Created a new detail namespace - Moved shared module implementation details into the detail namespace - Split dependencies so source files only rely on details in the detail namespace - Removed all code from the juce_gui_basics.cpp file
This commit is contained in:
parent
8942f22a9b
commit
cff722a4af
129 changed files with 4458 additions and 2318 deletions
|
|
@ -1581,6 +1581,25 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -1721,10 +1740,10 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -1777,6 +1796,7 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
@ -3573,6 +3593,25 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -3713,10 +3752,10 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -3769,6 +3808,7 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
|
|||
|
|
@ -2117,6 +2117,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2312,6 +2315,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2357,6 +2363,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3536,6 +3545,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3611,7 +3638,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -572,6 +572,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2755,6 +2758,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2950,6 +2956,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -3034,6 +3043,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5934,6 +5946,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -6159,9 +6225,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -2117,6 +2117,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2312,6 +2315,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2357,6 +2363,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3536,6 +3545,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3611,7 +3638,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -572,6 +572,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2755,6 +2758,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2950,6 +2956,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -3034,6 +3043,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5934,6 +5946,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -6159,9 +6225,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -2117,6 +2117,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2312,6 +2315,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2357,6 +2363,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3536,6 +3545,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3611,7 +3638,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -572,6 +572,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2755,6 +2758,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2950,6 +2956,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -3034,6 +3043,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5934,6 +5946,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -6159,9 +6225,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1358,6 +1358,25 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -1498,10 +1517,10 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -1554,6 +1573,7 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
@ -3048,6 +3068,25 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -3188,10 +3227,10 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -3244,6 +3283,7 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
|
|||
|
|
@ -1828,6 +1828,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2023,6 +2026,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2068,6 +2074,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3035,6 +3044,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3110,7 +3137,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -494,6 +494,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2329,6 +2332,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2524,6 +2530,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2608,6 +2617,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5049,6 +5061,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5274,9 +5340,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1490,6 +1490,25 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -1630,10 +1649,10 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -1686,6 +1705,7 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
@ -3335,6 +3355,25 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -3475,10 +3514,10 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -3531,6 +3570,7 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
|
|||
|
|
@ -1965,6 +1965,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2160,6 +2163,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2205,6 +2211,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3272,6 +3281,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3347,7 +3374,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -536,6 +536,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2539,6 +2542,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2734,6 +2740,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2818,6 +2827,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5490,6 +5502,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5715,9 +5781,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1965,6 +1965,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2160,6 +2163,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2205,6 +2211,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3272,6 +3281,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3347,7 +3374,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -536,6 +536,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2539,6 +2542,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2734,6 +2740,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2818,6 +2827,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5490,6 +5502,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5715,9 +5781,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1965,6 +1965,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2160,6 +2163,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2205,6 +2211,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3272,6 +3281,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3347,7 +3374,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -536,6 +536,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2539,6 +2542,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2734,6 +2740,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2818,6 +2827,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5490,6 +5502,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5715,9 +5781,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1377,6 +1377,25 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -1517,10 +1536,10 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -1573,6 +1592,7 @@ add_library( ${BINARY_NAME}
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
@ -3147,6 +3167,25 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp"
|
||||
"../../../../../modules/juce_gui_basics/desktop/juce_Displays.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ComponentHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_FocusRestorer.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_MouseInputSourceList.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScalingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_ViewportHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/detail/juce_WindowingHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"
|
||||
"../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"
|
||||
|
|
@ -3287,10 +3326,10 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_PointerState.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"
|
||||
"../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp"
|
||||
|
|
@ -3343,6 +3382,7 @@ set_source_files_properties(
|
|||
"../../../../../modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"
|
||||
"../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"
|
||||
|
|
|
|||
|
|
@ -1849,6 +1849,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2044,6 +2047,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2089,6 +2095,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3133,6 +3142,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3208,7 +3235,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -503,6 +503,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2383,6 +2386,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2578,6 +2584,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2662,6 +2671,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5211,6 +5223,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5436,9 +5502,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1082,6 +1082,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1277,6 +1280,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1322,6 +1328,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2020,6 +2029,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -2095,7 +2122,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -248,6 +248,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -1402,6 +1405,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1597,6 +1603,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1681,6 +1690,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -3321,6 +3333,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -3546,9 +3612,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1082,6 +1082,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1277,6 +1280,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1322,6 +1328,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2020,6 +2029,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -2095,7 +2122,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -248,6 +248,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -1402,6 +1405,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1597,6 +1603,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1681,6 +1690,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -3321,6 +3333,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -3546,9 +3612,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1082,6 +1082,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1277,6 +1280,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -1322,6 +1328,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2020,6 +2029,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -2095,7 +2122,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -248,6 +248,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -1402,6 +1405,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1597,6 +1603,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -1681,6 +1690,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -3321,6 +3333,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -3546,9 +3612,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1973,6 +1973,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2168,6 +2171,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2213,6 +2219,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3338,6 +3347,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3413,7 +3440,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -536,6 +536,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2563,6 +2566,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2758,6 +2764,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2842,6 +2851,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5580,6 +5592,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5805,9 +5871,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1973,6 +1973,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2168,6 +2171,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2213,6 +2219,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3338,6 +3347,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3413,7 +3440,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -536,6 +536,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2563,6 +2566,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2758,6 +2764,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2842,6 +2851,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5580,6 +5592,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5805,9 +5871,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1973,6 +1973,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2168,6 +2171,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2213,6 +2219,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3338,6 +3347,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3413,7 +3440,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -536,6 +536,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2563,6 +2566,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2758,6 +2764,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2842,6 +2851,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5580,6 +5592,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5805,9 +5871,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -1848,6 +1848,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2043,6 +2046,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -2088,6 +2094,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<ExcludedFromBuild>true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
|
|
@ -3109,6 +3118,24 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Desktop.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>
|
||||
|
|
@ -3184,7 +3211,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>
|
||||
|
|
|
|||
|
|
@ -497,6 +497,9 @@
|
|||
<Filter Include="JUCE Modules\juce_gui_basics\desktop">
|
||||
<UniqueIdentifier>{B331BC33-9770-3DB5-73F2-BC2469ECCF7F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\detail">
|
||||
<UniqueIdentifier>{3B09E947-B78C-1758-E072-7FD67F8DCB00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="JUCE Modules\juce_gui_basics\drawables">
|
||||
<UniqueIdentifier>{46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -2380,6 +2383,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2575,6 +2581,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_Accessibility.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\accessibility\juce_AccessibilityTextHelpers_test.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native\accessibility</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -2659,6 +2668,9 @@
|
|||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_ScopedDPIAwarenessDisabler.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">
|
||||
<Filter>JUCE Modules\juce_gui_basics\native</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -5178,6 +5190,60 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\desktop\juce_Displays.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\desktop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AccessibilityHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_AlertWindowHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ButtonAccessibilityHandler.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ComponentHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_CustomMouseCursorInfo.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_FocusRestorer.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_LookAndFeelHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_MouseInputSourceList.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScalingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxImpl.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ScopedMessageBoxInterface.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ToolbarItemDragAndDropOverlayComponent.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_TopLevelWindowManager.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_ViewportHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\detail\juce_WindowingHelpers.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\detail</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\drawables</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -5403,9 +5469,6 @@
|
|||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_PointerState.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">
|
||||
<Filter>JUCE Modules\juce_gui_basics\mouse</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -78,4 +78,4 @@ enum class AccessibilityEvent
|
|||
rowSelectionChanged
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -68,4 +68,4 @@ enum class AccessibilityRole
|
|||
unspecified
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -28,30 +28,6 @@ namespace juce
|
|||
|
||||
AccessibilityHandler* AccessibilityHandler::currentlyFocusedHandler = nullptr;
|
||||
|
||||
enum class InternalAccessibilityEvent
|
||||
{
|
||||
elementCreated,
|
||||
elementDestroyed,
|
||||
elementMovedOrResized,
|
||||
focusChanged,
|
||||
windowOpened,
|
||||
windowClosed
|
||||
};
|
||||
|
||||
void notifyAccessibilityEventInternal (const AccessibilityHandler&, InternalAccessibilityEvent);
|
||||
|
||||
inline String getAccessibleApplicationOrPluginName()
|
||||
{
|
||||
#if defined (JucePlugin_Name)
|
||||
return JucePlugin_Name;
|
||||
#else
|
||||
if (auto* app = JUCEApplicationBase::getInstance())
|
||||
return app->getApplicationName();
|
||||
|
||||
return "JUCE Application";
|
||||
#endif
|
||||
}
|
||||
|
||||
AccessibilityHandler::AccessibilityHandler (Component& comp,
|
||||
AccessibilityRole accessibilityRole,
|
||||
AccessibilityActions accessibilityActions,
|
||||
|
|
@ -68,7 +44,7 @@ AccessibilityHandler::AccessibilityHandler (Component& comp,
|
|||
AccessibilityHandler::~AccessibilityHandler()
|
||||
{
|
||||
giveAwayFocus();
|
||||
notifyAccessibilityEventInternal (*this, InternalAccessibilityEvent::elementDestroyed);
|
||||
detail::AccessibilityHelpers::notifyAccessibilityEvent (*this, detail::AccessibilityHelpers::Event::elementDestroyed);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -320,13 +296,13 @@ void AccessibilityHandler::grabFocusInternal (bool canTryParent)
|
|||
void AccessibilityHandler::giveAwayFocusInternal() const
|
||||
{
|
||||
currentlyFocusedHandler = nullptr;
|
||||
notifyAccessibilityEventInternal (*this, InternalAccessibilityEvent::focusChanged);
|
||||
detail::AccessibilityHelpers::notifyAccessibilityEvent (*this, detail::AccessibilityHelpers::Event::focusChanged);
|
||||
}
|
||||
|
||||
void AccessibilityHandler::takeFocus()
|
||||
{
|
||||
currentlyFocusedHandler = this;
|
||||
notifyAccessibilityEventInternal (*this, InternalAccessibilityEvent::focusChanged);
|
||||
detail::AccessibilityHelpers::notifyAccessibilityEvent (*this, detail::AccessibilityHelpers::Event::focusChanged);
|
||||
|
||||
if ((component.isShowing() || component.isOnDesktop())
|
||||
&& component.getWantsKeyboardFocus()
|
||||
|
|
@ -336,4 +312,20 @@ void AccessibilityHandler::takeFocus()
|
|||
}
|
||||
}
|
||||
|
||||
std::unique_ptr<AccessibilityHandler::AccessibilityNativeImpl> AccessibilityHandler::createNativeImpl (AccessibilityHandler& handler)
|
||||
{
|
||||
#if JUCE_NATIVE_ACCESSIBILITY_INCLUDED
|
||||
return std::make_unique<AccessibilityNativeImpl> (handler);
|
||||
#else
|
||||
ignoreUnused (handler);
|
||||
return nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ! JUCE_NATIVE_ACCESSIBILITY_INCLUDED
|
||||
void AccessibilityHandler::notifyAccessibilityEvent (AccessibilityEvent) const {}
|
||||
void AccessibilityHandler::postAnnouncement (const String&, AnnouncementPriority) {}
|
||||
AccessibilityNativeHandle* AccessibilityHandler::getNativeImplementation() const { return nullptr; }
|
||||
#endif
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -83,16 +83,12 @@ bool JUCEApplication::perform (const InvocationInfo& info)
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_MAC
|
||||
extern void juce_initialiseMacMainMenu();
|
||||
#endif
|
||||
|
||||
bool JUCEApplication::initialiseApp()
|
||||
{
|
||||
if (JUCEApplicationBase::initialiseApp())
|
||||
{
|
||||
#if JUCE_MAC
|
||||
juce_initialiseMacMainMenu(); // (needs to get the app's name)
|
||||
initialiseMacMainMenu(); // (needs to get the app's name)
|
||||
#endif
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -715,100 +715,9 @@ void Button::repeatTimerCallback()
|
|||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
class ButtonAccessibilityHandler : public AccessibilityHandler
|
||||
{
|
||||
public:
|
||||
explicit ButtonAccessibilityHandler (Button& buttonToWrap, AccessibilityRole roleIn)
|
||||
: AccessibilityHandler (buttonToWrap,
|
||||
isRadioButton (buttonToWrap) ? AccessibilityRole::radioButton : roleIn,
|
||||
getAccessibilityActions (buttonToWrap),
|
||||
getAccessibilityInterfaces (buttonToWrap)),
|
||||
button (buttonToWrap)
|
||||
{
|
||||
}
|
||||
|
||||
AccessibleState getCurrentState() const override
|
||||
{
|
||||
auto state = AccessibilityHandler::getCurrentState();
|
||||
|
||||
if (button.isToggleable())
|
||||
{
|
||||
state = state.withCheckable();
|
||||
|
||||
if (button.getToggleState())
|
||||
state = state.withChecked();
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
String getTitle() const override
|
||||
{
|
||||
auto title = AccessibilityHandler::getTitle();
|
||||
|
||||
if (title.isEmpty())
|
||||
return button.getButtonText();
|
||||
|
||||
return title;
|
||||
}
|
||||
|
||||
String getHelp() const override { return button.getTooltip(); }
|
||||
|
||||
private:
|
||||
class ButtonValueInterface : public AccessibilityTextValueInterface
|
||||
{
|
||||
public:
|
||||
explicit ButtonValueInterface (Button& buttonToWrap)
|
||||
: button (buttonToWrap)
|
||||
{
|
||||
}
|
||||
|
||||
bool isReadOnly() const override { return true; }
|
||||
String getCurrentValueAsString() const override { return button.getToggleState() ? "On" : "Off"; }
|
||||
void setValueAsString (const String&) override {}
|
||||
|
||||
private:
|
||||
Button& button;
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ButtonValueInterface)
|
||||
};
|
||||
|
||||
static bool isRadioButton (const Button& button) noexcept
|
||||
{
|
||||
return button.getRadioGroupId() != 0;
|
||||
}
|
||||
|
||||
static AccessibilityActions getAccessibilityActions (Button& button)
|
||||
{
|
||||
auto actions = AccessibilityActions().addAction (AccessibilityActionType::press,
|
||||
[&button] { button.triggerClick(); });
|
||||
|
||||
if (button.isToggleable())
|
||||
actions = actions.addAction (AccessibilityActionType::toggle,
|
||||
[&button] { button.setToggleState (! button.getToggleState(), sendNotification); });
|
||||
|
||||
return actions;
|
||||
}
|
||||
|
||||
static Interfaces getAccessibilityInterfaces (Button& button)
|
||||
{
|
||||
if (button.isToggleable())
|
||||
return { std::make_unique<ButtonValueInterface> (button) };
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
Button& button;
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ButtonAccessibilityHandler)
|
||||
};
|
||||
|
||||
std::unique_ptr<AccessibilityHandler> Button::createAccessibilityHandler()
|
||||
{
|
||||
return std::make_unique<ButtonAccessibilityHandler> (*this, AccessibilityRole::button);
|
||||
return std::make_unique<detail::ButtonAccessibilityHandler> (*this, AccessibilityRole::button);
|
||||
}
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ void HyperlinkButton::paintButton (Graphics& g,
|
|||
|
||||
std::unique_ptr<AccessibilityHandler> HyperlinkButton::createAccessibilityHandler()
|
||||
{
|
||||
return std::make_unique<ButtonAccessibilityHandler> (*this, AccessibilityRole::hyperlink);
|
||||
return std::make_unique<detail::ButtonAccessibilityHandler> (*this, AccessibilityRole::hyperlink);
|
||||
}
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ void ToggleButton::colourChanged()
|
|||
|
||||
std::unique_ptr<AccessibilityHandler> ToggleButton::createAccessibilityHandler()
|
||||
{
|
||||
return std::make_unique<ButtonAccessibilityHandler> (*this, AccessibilityRole::toggleButton);
|
||||
return std::make_unique<detail::ButtonAccessibilityHandler> (*this, AccessibilityRole::toggleButton);
|
||||
}
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -270,7 +270,7 @@ ApplicationCommandTarget* ApplicationCommandManager::findDefaultComponentTarget(
|
|||
// getting a bit desperate now: try all desktop comps..
|
||||
for (int i = desktop.getNumComponents(); --i >= 0;)
|
||||
if (auto* component = desktop.getComponent (i))
|
||||
if (isForegroundOrEmbeddedProcess (component))
|
||||
if (detail::WindowingHelpers::isForegroundOrEmbeddedProcess (component))
|
||||
if (auto* peer = component->getPeer())
|
||||
if (auto* target = findTargetForComponent (peer->getLastFocusedSubcomponent()))
|
||||
return target;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,11 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#define JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED_OR_OFFSCREEN \
|
||||
jassert ((MessageManager::getInstanceWithoutCreating() != nullptr \
|
||||
&& MessageManager::getInstanceWithoutCreating()->currentThreadHasLockedMessageManager()) \
|
||||
|| getPeer() == nullptr);
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
|
|
@ -158,343 +163,6 @@ private:
|
|||
JUCE_DECLARE_NON_COPYABLE (MouseListenerList)
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
struct FocusRestorer
|
||||
{
|
||||
FocusRestorer() : lastFocus (Component::getCurrentlyFocusedComponent()) {}
|
||||
|
||||
~FocusRestorer()
|
||||
{
|
||||
if (lastFocus != nullptr
|
||||
&& lastFocus->isShowing()
|
||||
&& ! lastFocus->isCurrentlyBlockedByAnotherModalComponent())
|
||||
lastFocus->grabKeyboardFocus();
|
||||
}
|
||||
|
||||
WeakReference<Component> lastFocus;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (FocusRestorer)
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
struct ScalingHelpers
|
||||
{
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect unscaledScreenPosToScaled (float scale, PointOrRect pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? pos / scale : pos;
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect scaledScreenPosToUnscaled (float scale, PointOrRect pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? pos * scale : pos;
|
||||
}
|
||||
|
||||
// For these, we need to avoid getSmallestIntegerContainer being used, which causes
|
||||
// judder when moving windows
|
||||
static Rectangle<int> unscaledScreenPosToScaled (float scale, Rectangle<int> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<int> (roundToInt ((float) pos.getX() / scale),
|
||||
roundToInt ((float) pos.getY() / scale),
|
||||
roundToInt ((float) pos.getWidth() / scale),
|
||||
roundToInt ((float) pos.getHeight() / scale)) : pos;
|
||||
}
|
||||
|
||||
static Rectangle<int> scaledScreenPosToUnscaled (float scale, Rectangle<int> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<int> (roundToInt ((float) pos.getX() * scale),
|
||||
roundToInt ((float) pos.getY() * scale),
|
||||
roundToInt ((float) pos.getWidth() * scale),
|
||||
roundToInt ((float) pos.getHeight() * scale)) : pos;
|
||||
}
|
||||
|
||||
static Rectangle<float> unscaledScreenPosToScaled (float scale, Rectangle<float> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<float> (pos.getX() / scale,
|
||||
pos.getY() / scale,
|
||||
pos.getWidth() / scale,
|
||||
pos.getHeight() / scale) : pos;
|
||||
}
|
||||
|
||||
static Rectangle<float> scaledScreenPosToUnscaled (float scale, Rectangle<float> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<float> (pos.getX() * scale,
|
||||
pos.getY() * scale,
|
||||
pos.getWidth() * scale,
|
||||
pos.getHeight() * scale) : pos;
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect unscaledScreenPosToScaled (PointOrRect pos) noexcept
|
||||
{
|
||||
return unscaledScreenPosToScaled (Desktop::getInstance().getGlobalScaleFactor(), pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect scaledScreenPosToUnscaled (PointOrRect pos) noexcept
|
||||
{
|
||||
return scaledScreenPosToUnscaled (Desktop::getInstance().getGlobalScaleFactor(), pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect unscaledScreenPosToScaled (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
return unscaledScreenPosToScaled (comp.getDesktopScaleFactor(), pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect scaledScreenPosToUnscaled (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
return scaledScreenPosToUnscaled (comp.getDesktopScaleFactor(), pos);
|
||||
}
|
||||
|
||||
static Point<int> addPosition (Point<int> p, const Component& c) noexcept { return p + c.getPosition(); }
|
||||
static Rectangle<int> addPosition (Rectangle<int> p, const Component& c) noexcept { return p + c.getPosition(); }
|
||||
static Point<float> addPosition (Point<float> p, const Component& c) noexcept { return p + c.getPosition().toFloat(); }
|
||||
static Rectangle<float> addPosition (Rectangle<float> p, const Component& c) noexcept { return p + c.getPosition().toFloat(); }
|
||||
static Point<int> subtractPosition (Point<int> p, const Component& c) noexcept { return p - c.getPosition(); }
|
||||
static Rectangle<int> subtractPosition (Rectangle<int> p, const Component& c) noexcept { return p - c.getPosition(); }
|
||||
static Point<float> subtractPosition (Point<float> p, const Component& c) noexcept { return p - c.getPosition().toFloat(); }
|
||||
static Rectangle<float> subtractPosition (Rectangle<float> p, const Component& c) noexcept { return p - c.getPosition().toFloat(); }
|
||||
|
||||
static Point<float> screenPosToLocalPos (Component& comp, Point<float> pos)
|
||||
{
|
||||
if (auto* peer = comp.getPeer())
|
||||
{
|
||||
pos = peer->globalToLocal (pos);
|
||||
auto& peerComp = peer->getComponent();
|
||||
return comp.getLocalPoint (&peerComp, unscaledScreenPosToScaled (peerComp, pos));
|
||||
}
|
||||
|
||||
return comp.getLocalPoint (nullptr, unscaledScreenPosToScaled (comp, pos));
|
||||
}
|
||||
};
|
||||
|
||||
static const char colourPropertyPrefix[] = "jcclr_";
|
||||
|
||||
//==============================================================================
|
||||
struct Component::ComponentHelpers
|
||||
{
|
||||
#if JUCE_MODAL_LOOPS_PERMITTED
|
||||
static void* runModalLoopCallback (void* userData)
|
||||
{
|
||||
return (void*) (pointer_sized_int) static_cast<Component*> (userData)->runModalLoop();
|
||||
}
|
||||
#endif
|
||||
|
||||
static Identifier getColourPropertyID (int colourID)
|
||||
{
|
||||
char buffer[32];
|
||||
auto* end = buffer + numElementsInArray (buffer) - 1;
|
||||
auto* t = end;
|
||||
*t = 0;
|
||||
|
||||
for (auto v = (uint32) colourID;;)
|
||||
{
|
||||
*--t = "0123456789abcdef" [v & 15];
|
||||
v >>= 4;
|
||||
|
||||
if (v == 0)
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = (int) sizeof (colourPropertyPrefix) - 1; --i >= 0;)
|
||||
*--t = colourPropertyPrefix[i];
|
||||
|
||||
return t;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
static bool hitTest (Component& comp, Point<float> localPoint)
|
||||
{
|
||||
const auto intPoint = localPoint.roundToInt();
|
||||
return Rectangle<int> { comp.getWidth(), comp.getHeight() }.contains (intPoint)
|
||||
&& comp.hitTest (intPoint.x, intPoint.y);
|
||||
}
|
||||
|
||||
// converts an unscaled position within a peer to the local position within that peer's component
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect rawPeerPositionToLocal (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
if (comp.isTransformed())
|
||||
pos = pos.transformedBy (comp.getTransform().inverted());
|
||||
|
||||
return ScalingHelpers::unscaledScreenPosToScaled (comp, pos);
|
||||
}
|
||||
|
||||
// converts a position within a peer's component to the unscaled position within the peer
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect localPositionToRawPeerPos (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
if (comp.isTransformed())
|
||||
pos = pos.transformedBy (comp.getTransform());
|
||||
|
||||
return ScalingHelpers::scaledScreenPosToUnscaled (comp, pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertFromParentSpace (const Component& comp, const PointOrRect pointInParentSpace)
|
||||
{
|
||||
const auto transformed = comp.affineTransform != nullptr ? pointInParentSpace.transformedBy (comp.affineTransform->inverted())
|
||||
: pointInParentSpace;
|
||||
|
||||
if (comp.isOnDesktop())
|
||||
{
|
||||
if (auto* peer = comp.getPeer())
|
||||
return ScalingHelpers::unscaledScreenPosToScaled (comp, peer->globalToLocal (ScalingHelpers::scaledScreenPosToUnscaled (transformed)));
|
||||
|
||||
jassertfalse;
|
||||
return transformed;
|
||||
}
|
||||
|
||||
if (comp.getParentComponent() == nullptr)
|
||||
return ScalingHelpers::subtractPosition (ScalingHelpers::unscaledScreenPosToScaled (comp, ScalingHelpers::scaledScreenPosToUnscaled (transformed)), comp);
|
||||
|
||||
return ScalingHelpers::subtractPosition (transformed, comp);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertToParentSpace (const Component& comp, const PointOrRect pointInLocalSpace)
|
||||
{
|
||||
const auto preTransform = [&]
|
||||
{
|
||||
if (comp.isOnDesktop())
|
||||
{
|
||||
if (auto* peer = comp.getPeer())
|
||||
return ScalingHelpers::unscaledScreenPosToScaled (peer->localToGlobal (ScalingHelpers::scaledScreenPosToUnscaled (comp, pointInLocalSpace)));
|
||||
|
||||
jassertfalse;
|
||||
return pointInLocalSpace;
|
||||
}
|
||||
|
||||
if (comp.getParentComponent() == nullptr)
|
||||
return ScalingHelpers::unscaledScreenPosToScaled (ScalingHelpers::scaledScreenPosToUnscaled (comp, ScalingHelpers::addPosition (pointInLocalSpace, comp)));
|
||||
|
||||
return ScalingHelpers::addPosition (pointInLocalSpace, comp);
|
||||
}();
|
||||
|
||||
return comp.affineTransform != nullptr ? preTransform.transformedBy (*comp.affineTransform)
|
||||
: preTransform;
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertFromDistantParentSpace (const Component* parent, const Component& target, PointOrRect coordInParent)
|
||||
{
|
||||
auto* directParent = target.getParentComponent();
|
||||
jassert (directParent != nullptr);
|
||||
|
||||
if (directParent == parent)
|
||||
return convertFromParentSpace (target, coordInParent);
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (6011)
|
||||
return convertFromParentSpace (target, convertFromDistantParentSpace (parent, *directParent, coordInParent));
|
||||
JUCE_END_IGNORE_WARNINGS_MSVC
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertCoordinate (const Component* target, const Component* source, PointOrRect p)
|
||||
{
|
||||
while (source != nullptr)
|
||||
{
|
||||
if (source == target)
|
||||
return p;
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (6011)
|
||||
|
||||
if (source->isParentOf (target))
|
||||
return convertFromDistantParentSpace (source, *target, p);
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_MSVC
|
||||
|
||||
p = convertToParentSpace (*source, p);
|
||||
source = source->getParentComponent();
|
||||
}
|
||||
|
||||
jassert (source == nullptr);
|
||||
if (target == nullptr)
|
||||
return p;
|
||||
|
||||
auto* topLevelComp = target->getTopLevelComponent();
|
||||
|
||||
p = convertFromParentSpace (*topLevelComp, p);
|
||||
|
||||
if (topLevelComp == target)
|
||||
return p;
|
||||
|
||||
return convertFromDistantParentSpace (topLevelComp, *target, p);
|
||||
}
|
||||
|
||||
static bool clipObscuredRegions (const Component& comp, Graphics& g,
|
||||
const Rectangle<int> clipRect, Point<int> delta)
|
||||
{
|
||||
bool wasClipped = false;
|
||||
|
||||
for (int i = comp.childComponentList.size(); --i >= 0;)
|
||||
{
|
||||
auto& child = *comp.childComponentList.getUnchecked(i);
|
||||
|
||||
if (child.isVisible() && ! child.isTransformed())
|
||||
{
|
||||
auto newClip = clipRect.getIntersection (child.boundsRelativeToParent);
|
||||
|
||||
if (! newClip.isEmpty())
|
||||
{
|
||||
if (child.isOpaque() && child.componentTransparency == 0)
|
||||
{
|
||||
g.excludeClipRegion (newClip + delta);
|
||||
wasClipped = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
auto childPos = child.getPosition();
|
||||
|
||||
if (clipObscuredRegions (child, g, newClip - childPos, childPos + delta))
|
||||
wasClipped = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return wasClipped;
|
||||
}
|
||||
|
||||
static Rectangle<int> getParentOrMainMonitorBounds (const Component& comp)
|
||||
{
|
||||
if (auto* p = comp.getParentComponent())
|
||||
return p->getLocalBounds();
|
||||
|
||||
return Desktop::getInstance().getDisplays().getPrimaryDisplay()->userArea;
|
||||
}
|
||||
|
||||
static void releaseAllCachedImageResources (Component& c)
|
||||
{
|
||||
if (auto* cached = c.getCachedComponentImage())
|
||||
cached->releaseResources();
|
||||
|
||||
for (auto* child : c.childComponentList)
|
||||
releaseAllCachedImageResources (*child);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
static bool modalWouldBlockComponent (const Component& maybeBlocked, Component* modal)
|
||||
{
|
||||
return modal != nullptr
|
||||
&& modal != &maybeBlocked
|
||||
&& ! modal->isParentOf (&maybeBlocked)
|
||||
&& ! modal->canModalEventBeSentToComponent (&maybeBlocked);
|
||||
}
|
||||
|
||||
template <typename Function>
|
||||
static void sendMouseEventToComponentsThatAreBlockedByModal (Component& modal, Function&& function)
|
||||
{
|
||||
for (auto& ms : Desktop::getInstance().getMouseSources())
|
||||
if (auto* c = ms.getComponentUnderMouse())
|
||||
if (modalWouldBlockComponent (*c, &modal))
|
||||
(c->*function) (ms, ScalingHelpers::screenPosToLocalPos (*c, ms.getScreenPosition()), Time::getCurrentTime());
|
||||
}
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
Component::Component() noexcept
|
||||
: componentFlags (0)
|
||||
|
|
@ -574,7 +242,7 @@ void Component::setVisible (bool shouldBeVisible)
|
|||
|
||||
if (! shouldBeVisible)
|
||||
{
|
||||
ComponentHelpers::releaseAllCachedImageResources (*this);
|
||||
detail::ComponentHelpers::releaseAllCachedImageResources (*this);
|
||||
|
||||
if (hasKeyboardFocus (true))
|
||||
{
|
||||
|
|
@ -664,8 +332,8 @@ void Component::addToDesktop (int styleWanted, void* nativeWindowToAttachTo)
|
|||
jmax (1, getHeight()));
|
||||
#endif
|
||||
|
||||
const auto unscaledPosition = ScalingHelpers::scaledScreenPosToUnscaled (getScreenPosition());
|
||||
const auto topLeft = ScalingHelpers::unscaledScreenPosToScaled (*this, unscaledPosition);
|
||||
const auto unscaledPosition = detail::ScalingHelpers::scaledScreenPosToUnscaled (getScreenPosition());
|
||||
const auto topLeft = detail::ScalingHelpers::unscaledScreenPosToScaled (*this, unscaledPosition);
|
||||
|
||||
bool wasFullscreen = false;
|
||||
bool wasMinimised = false;
|
||||
|
|
@ -747,7 +415,7 @@ void Component::addToDesktop (int styleWanted, void* nativeWindowToAttachTo)
|
|||
internalHierarchyChanged();
|
||||
|
||||
if (auto* handler = getAccessibilityHandler())
|
||||
notifyAccessibilityEventInternal (*handler, InternalAccessibilityEvent::windowOpened);
|
||||
detail::AccessibilityHelpers::notifyAccessibilityEvent (*handler, detail::AccessibilityHelpers::Event::windowOpened);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -761,9 +429,9 @@ void Component::removeFromDesktop()
|
|||
if (flags.hasHeavyweightPeerFlag)
|
||||
{
|
||||
if (auto* handler = getAccessibilityHandler())
|
||||
notifyAccessibilityEventInternal (*handler, InternalAccessibilityEvent::windowClosed);
|
||||
detail::AccessibilityHelpers::notifyAccessibilityEvent (*handler, detail::AccessibilityHelpers::Event::windowClosed);
|
||||
|
||||
ComponentHelpers::releaseAllCachedImageResources (*this);
|
||||
detail::ComponentHelpers::releaseAllCachedImageResources (*this);
|
||||
|
||||
auto* peer = ComponentPeer::getPeerFor (this);
|
||||
jassert (peer != nullptr);
|
||||
|
|
@ -1115,15 +783,15 @@ int Component::getScreenY() const { return getScreenPositi
|
|||
Point<int> Component::getScreenPosition() const { return localPointToGlobal (Point<int>()); }
|
||||
Rectangle<int> Component::getScreenBounds() const { return localAreaToGlobal (getLocalBounds()); }
|
||||
|
||||
Point<int> Component::getLocalPoint (const Component* source, Point<int> point) const { return ComponentHelpers::convertCoordinate (this, source, point); }
|
||||
Point<float> Component::getLocalPoint (const Component* source, Point<float> point) const { return ComponentHelpers::convertCoordinate (this, source, point); }
|
||||
Rectangle<int> Component::getLocalArea (const Component* source, Rectangle<int> area) const { return ComponentHelpers::convertCoordinate (this, source, area); }
|
||||
Rectangle<float> Component::getLocalArea (const Component* source, Rectangle<float> area) const { return ComponentHelpers::convertCoordinate (this, source, area); }
|
||||
Point<int> Component::getLocalPoint (const Component* source, Point<int> point) const { return detail::ComponentHelpers::convertCoordinate (this, source, point); }
|
||||
Point<float> Component::getLocalPoint (const Component* source, Point<float> point) const { return detail::ComponentHelpers::convertCoordinate (this, source, point); }
|
||||
Rectangle<int> Component::getLocalArea (const Component* source, Rectangle<int> area) const { return detail::ComponentHelpers::convertCoordinate (this, source, area); }
|
||||
Rectangle<float> Component::getLocalArea (const Component* source, Rectangle<float> area) const { return detail::ComponentHelpers::convertCoordinate (this, source, area); }
|
||||
|
||||
Point<int> Component::localPointToGlobal (Point<int> point) const { return ComponentHelpers::convertCoordinate (nullptr, this, point); }
|
||||
Point<float> Component::localPointToGlobal (Point<float> point) const { return ComponentHelpers::convertCoordinate (nullptr, this, point); }
|
||||
Rectangle<int> Component::localAreaToGlobal (Rectangle<int> area) const { return ComponentHelpers::convertCoordinate (nullptr, this, area); }
|
||||
Rectangle<float> Component::localAreaToGlobal (Rectangle<float> area) const { return ComponentHelpers::convertCoordinate (nullptr, this, area); }
|
||||
Point<int> Component::localPointToGlobal (Point<int> point) const { return detail::ComponentHelpers::convertCoordinate (nullptr, this, point); }
|
||||
Point<float> Component::localPointToGlobal (Point<float> point) const { return detail::ComponentHelpers::convertCoordinate (nullptr, this, point); }
|
||||
Rectangle<int> Component::localAreaToGlobal (Rectangle<int> area) const { return detail::ComponentHelpers::convertCoordinate (nullptr, this, area); }
|
||||
Rectangle<float> Component::localAreaToGlobal (Rectangle<float> area) const { return detail::ComponentHelpers::convertCoordinate (nullptr, this, area); }
|
||||
|
||||
//==============================================================================
|
||||
void Component::setBounds (int x, int y, int w, int h)
|
||||
|
|
@ -1238,7 +906,7 @@ void Component::sendMovedResizedMessages (bool wasMoved, bool wasResized)
|
|||
|
||||
if ((wasMoved || wasResized) && ! checker.shouldBailOut())
|
||||
if (auto* handler = getAccessibilityHandler())
|
||||
notifyAccessibilityEventInternal (*handler, InternalAccessibilityEvent::elementMovedOrResized);
|
||||
detail::AccessibilityHelpers::notifyAccessibilityEvent (*handler, detail::AccessibilityHelpers::Event::elementMovedOrResized);
|
||||
}
|
||||
|
||||
void Component::setSize (int w, int h) { setBounds (getX(), getY(), w, h); }
|
||||
|
|
@ -1271,7 +939,7 @@ void Component::setBoundsRelative (float x, float y, float w, float h)
|
|||
|
||||
void Component::centreWithSize (int width, int height)
|
||||
{
|
||||
auto parentArea = ComponentHelpers::getParentOrMainMonitorBounds (*this)
|
||||
auto parentArea = detail::ComponentHelpers::getParentOrMainMonitorBounds (*this)
|
||||
.transformedBy (getTransform().inverted());
|
||||
|
||||
setBounds (parentArea.getCentreX() - width / 2,
|
||||
|
|
@ -1281,7 +949,7 @@ void Component::centreWithSize (int width, int height)
|
|||
|
||||
void Component::setBoundsInset (BorderSize<int> borders)
|
||||
{
|
||||
setBounds (borders.subtractedFrom (ComponentHelpers::getParentOrMainMonitorBounds (*this)));
|
||||
setBounds (borders.subtractedFrom (detail::ComponentHelpers::getParentOrMainMonitorBounds (*this)));
|
||||
}
|
||||
|
||||
void Component::setBoundsToFit (Rectangle<int> targetArea, Justification justification, bool onlyReduceInSize)
|
||||
|
|
@ -1391,7 +1059,7 @@ bool Component::hitTest (int x, int y)
|
|||
auto& child = *childComponentList.getUnchecked (i);
|
||||
|
||||
if (child.isVisible()
|
||||
&& ComponentHelpers::hitTest (child, ComponentHelpers::convertFromParentSpace (child, Point<int> (x, y).toFloat())))
|
||||
&& detail::ComponentHelpers::hitTest (child, detail::ComponentHelpers::convertFromParentSpace (child, Point<int> (x, y).toFloat())))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -1420,14 +1088,14 @@ bool Component::contains (Point<int> point)
|
|||
|
||||
bool Component::contains (Point<float> point)
|
||||
{
|
||||
if (ComponentHelpers::hitTest (*this, point))
|
||||
if (detail::ComponentHelpers::hitTest (*this, point))
|
||||
{
|
||||
if (parentComponent != nullptr)
|
||||
return parentComponent->contains (ComponentHelpers::convertToParentSpace (*this, point));
|
||||
return parentComponent->contains (detail::ComponentHelpers::convertToParentSpace (*this, point));
|
||||
|
||||
if (flags.hasHeavyweightPeerFlag)
|
||||
if (auto* peer = getPeer())
|
||||
return peer->contains (ComponentHelpers::localPositionToRawPeerPos (*this, point).roundToInt(), true);
|
||||
return peer->contains (detail::ComponentHelpers::localPositionToRawPeerPos (*this, point).roundToInt(), true);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
@ -1456,13 +1124,13 @@ Component* Component::getComponentAt (Point<int> position)
|
|||
|
||||
Component* Component::getComponentAt (Point<float> position)
|
||||
{
|
||||
if (flags.visibleFlag && ComponentHelpers::hitTest (*this, position))
|
||||
if (flags.visibleFlag && detail::ComponentHelpers::hitTest (*this, position))
|
||||
{
|
||||
for (int i = childComponentList.size(); --i >= 0;)
|
||||
{
|
||||
auto* child = childComponentList.getUnchecked (i);
|
||||
|
||||
child = child->getComponentAt (ComponentHelpers::convertFromParentSpace (*child, position));
|
||||
child = child->getComponentAt (detail::ComponentHelpers::convertFromParentSpace (*child, position));
|
||||
|
||||
if (child != nullptr)
|
||||
return child;
|
||||
|
|
@ -1579,7 +1247,7 @@ Component* Component::removeChildComponent (int index, bool sendParentEvents, bo
|
|||
childComponentList.remove (index);
|
||||
child->parentComponent = nullptr;
|
||||
|
||||
ComponentHelpers::releaseAllCachedImageResources (*child);
|
||||
detail::ComponentHelpers::releaseAllCachedImageResources (*child);
|
||||
|
||||
// (NB: there are obscure situations where child->isShowing() = false, but it still has the focus)
|
||||
if (child->hasKeyboardFocus (true))
|
||||
|
|
@ -1732,7 +1400,7 @@ int Component::runModalLoop()
|
|||
{
|
||||
// use a callback so this can be called from non-gui threads
|
||||
return (int) (pointer_sized_int) MessageManager::getInstance()
|
||||
->callFunctionOnMessageThread (&ComponentHelpers::runModalLoopCallback, this);
|
||||
->callFunctionOnMessageThread (&detail::ComponentHelpers::runModalLoopCallback, this);
|
||||
}
|
||||
|
||||
if (! isCurrentlyModal (false))
|
||||
|
|
@ -1758,7 +1426,7 @@ void Component::enterModalState (bool shouldTakeKeyboardFocus,
|
|||
// While this component is in modal state it may block other components from receiving
|
||||
// mouseExit events. To keep mouseEnter and mouseExit calls balanced on these components,
|
||||
// we must manually force the mouse to "leave" blocked components.
|
||||
ComponentHelpers::sendMouseEventToComponentsThatAreBlockedByModal (*this, &Component::internalMouseExit);
|
||||
detail::ComponentHelpers::sendMouseEventToComponentsThatAreBlockedByModal (*this, &Component::internalMouseExit);
|
||||
|
||||
if (safeReference == nullptr)
|
||||
{
|
||||
|
|
@ -1799,7 +1467,7 @@ void Component::exitModalState (int returnValue)
|
|||
// mouseEnter events. To keep mouseEnter and mouseExit calls balanced on these components,
|
||||
// we must manually force the mouse to "enter" blocked components.
|
||||
if (deletionChecker != nullptr)
|
||||
ComponentHelpers::sendMouseEventToComponentsThatAreBlockedByModal (*deletionChecker, &Component::internalMouseEnter);
|
||||
detail::ComponentHelpers::sendMouseEventToComponentsThatAreBlockedByModal (*deletionChecker, &Component::internalMouseEnter);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1822,7 +1490,7 @@ bool Component::isCurrentlyModal (bool onlyConsiderForemostModalComponent) const
|
|||
|
||||
bool Component::isCurrentlyBlockedByAnotherModalComponent() const
|
||||
{
|
||||
return ComponentHelpers::modalWouldBlockComponent (*this, getCurrentlyModalComponent());
|
||||
return detail::ComponentHelpers::modalWouldBlockComponent (*this, getCurrentlyModalComponent());
|
||||
}
|
||||
|
||||
int JUCE_CALLTYPE Component::getNumCurrentlyModalComponents() noexcept
|
||||
|
|
@ -1923,7 +1591,7 @@ void Component::repaint (Rectangle<int> area)
|
|||
void Component::repaintParent()
|
||||
{
|
||||
if (parentComponent != nullptr)
|
||||
parentComponent->internalRepaint (ComponentHelpers::convertToParentSpace (*this, getLocalBounds()));
|
||||
parentComponent->internalRepaint (detail::ComponentHelpers::convertToParentSpace (*this, getLocalBounds()));
|
||||
}
|
||||
|
||||
void Component::internalRepaint (Rectangle<int> area)
|
||||
|
|
@ -1965,7 +1633,7 @@ void Component::internalRepaintUnchecked (Rectangle<int> area, bool isEntireComp
|
|||
else
|
||||
{
|
||||
if (parentComponent != nullptr)
|
||||
parentComponent->internalRepaint (ComponentHelpers::convertToParentSpace (*this, area));
|
||||
parentComponent->internalRepaint (detail::ComponentHelpers::convertToParentSpace (*this, area));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2006,7 +1674,7 @@ void Component::paintComponentAndChildren (Graphics& g)
|
|||
{
|
||||
Graphics::ScopedSaveState ss (g);
|
||||
|
||||
if (! (ComponentHelpers::clipObscuredRegions (*this, g, clipBounds, {}) && g.isClipEmpty()))
|
||||
if (! (detail::ComponentHelpers::clipObscuredRegions (*this, g, clipBounds, {}) && g.isClipEmpty()))
|
||||
paint (g);
|
||||
}
|
||||
|
||||
|
|
@ -2209,7 +1877,7 @@ void Component::sendLookAndFeelChange()
|
|||
|
||||
Colour Component::findColour (int colourID, bool inheritFromParent) const
|
||||
{
|
||||
if (auto* v = properties.getVarPointer (ComponentHelpers::getColourPropertyID (colourID)))
|
||||
if (auto* v = properties.getVarPointer (detail::ComponentHelpers::getColourPropertyID (colourID)))
|
||||
return Colour ((uint32) static_cast<int> (*v));
|
||||
|
||||
if (inheritFromParent && parentComponent != nullptr
|
||||
|
|
@ -2221,18 +1889,18 @@ Colour Component::findColour (int colourID, bool inheritFromParent) const
|
|||
|
||||
bool Component::isColourSpecified (int colourID) const
|
||||
{
|
||||
return properties.contains (ComponentHelpers::getColourPropertyID (colourID));
|
||||
return properties.contains (detail::ComponentHelpers::getColourPropertyID (colourID));
|
||||
}
|
||||
|
||||
void Component::removeColour (int colourID)
|
||||
{
|
||||
if (properties.remove (ComponentHelpers::getColourPropertyID (colourID)))
|
||||
if (properties.remove (detail::ComponentHelpers::getColourPropertyID (colourID)))
|
||||
colourChanged();
|
||||
}
|
||||
|
||||
void Component::setColour (int colourID, Colour colour)
|
||||
{
|
||||
if (properties.set (ComponentHelpers::getColourPropertyID (colourID), (int) colour.getARGB()))
|
||||
if (properties.set (detail::ComponentHelpers::getColourPropertyID (colourID), (int) colour.getARGB()))
|
||||
colourChanged();
|
||||
}
|
||||
|
||||
|
|
@ -2244,7 +1912,7 @@ void Component::copyAllExplicitColoursTo (Component& target) const
|
|||
{
|
||||
auto name = properties.getName(i);
|
||||
|
||||
if (name.toString().startsWith (colourPropertyPrefix))
|
||||
if (name.toString().startsWith (detail::colourPropertyPrefix))
|
||||
if (target.properties.set (name, properties [name]))
|
||||
changed = true;
|
||||
}
|
||||
|
|
@ -2405,7 +2073,7 @@ void Component::internalMouseEnter (MouseInputSource source, Point<float> relati
|
|||
repaint();
|
||||
|
||||
const auto me = makeMouseEvent (source,
|
||||
PointerState().withPosition (relativePos),
|
||||
detail::PointerState().withPosition (relativePos),
|
||||
source.getCurrentModifiers(),
|
||||
this,
|
||||
this,
|
||||
|
|
@ -2442,7 +2110,7 @@ void Component::internalMouseExit (MouseInputSource source, Point<float> relativ
|
|||
flags.cachedMouseInsideComponent = false;
|
||||
|
||||
const auto me = makeMouseEvent (source,
|
||||
PointerState().withPosition (relativePos),
|
||||
detail::PointerState().withPosition (relativePos),
|
||||
source.getCurrentModifiers(),
|
||||
this,
|
||||
this,
|
||||
|
|
@ -2462,7 +2130,9 @@ void Component::internalMouseExit (MouseInputSource source, Point<float> relativ
|
|||
MouseListenerList::sendMouseEvent (checker, &MouseListener::mouseExit);
|
||||
}
|
||||
|
||||
void Component::internalMouseDown (MouseInputSource source, const PointerState& relativePointerState, Time time)
|
||||
void Component::internalMouseDown (MouseInputSource source,
|
||||
const detail::PointerState& relativePointerState,
|
||||
Time time)
|
||||
{
|
||||
auto& desktop = Desktop::getInstance();
|
||||
|
||||
|
|
@ -2531,7 +2201,10 @@ void Component::internalMouseDown (MouseInputSource source, const PointerState&
|
|||
MouseListenerList::sendMouseEvent (checker, &MouseListener::mouseDown);
|
||||
}
|
||||
|
||||
void Component::internalMouseUp (MouseInputSource source, const PointerState& relativePointerState, Time time, const ModifierKeys oldModifiers)
|
||||
void Component::internalMouseUp (MouseInputSource source,
|
||||
const detail::PointerState& relativePointerState,
|
||||
Time time,
|
||||
const ModifierKeys oldModifiers)
|
||||
{
|
||||
if (flags.mouseDownWasBlocked && isCurrentlyBlockedByAnotherModalComponent())
|
||||
return;
|
||||
|
|
@ -2579,7 +2252,7 @@ void Component::internalMouseUp (MouseInputSource source, const PointerState& re
|
|||
}
|
||||
}
|
||||
|
||||
void Component::internalMouseDrag (MouseInputSource source, const PointerState& relativePointerState, Time time)
|
||||
void Component::internalMouseDrag (MouseInputSource source, const detail::PointerState& relativePointerState, Time time)
|
||||
{
|
||||
if (! isCurrentlyBlockedByAnotherModalComponent())
|
||||
{
|
||||
|
|
@ -2618,7 +2291,7 @@ void Component::internalMouseMove (MouseInputSource source, Point<float> relativ
|
|||
else
|
||||
{
|
||||
const auto me = makeMouseEvent (source,
|
||||
PointerState().withPosition (relativePos),
|
||||
detail::PointerState().withPosition (relativePos),
|
||||
source.getCurrentModifiers(),
|
||||
this,
|
||||
this,
|
||||
|
|
@ -2646,7 +2319,7 @@ void Component::internalMouseWheel (MouseInputSource source, Point<float> relati
|
|||
auto& desktop = Desktop::getInstance();
|
||||
|
||||
const auto me = makeMouseEvent (source,
|
||||
PointerState().withPosition (relativePos),
|
||||
detail::PointerState().withPosition (relativePos),
|
||||
source.getCurrentModifiers(),
|
||||
this,
|
||||
this,
|
||||
|
|
@ -2683,7 +2356,7 @@ void Component::internalMagnifyGesture (MouseInputSource source, Point<float> re
|
|||
auto& desktop = Desktop::getInstance();
|
||||
|
||||
const auto me = makeMouseEvent (source,
|
||||
PointerState().withPosition (relativePos),
|
||||
detail::PointerState().withPosition (relativePos),
|
||||
source.getCurrentModifiers(),
|
||||
this,
|
||||
this,
|
||||
|
|
@ -2884,16 +2557,16 @@ Component* Component::findKeyboardFocusContainer() const
|
|||
return findContainer (this, &Component::isKeyboardFocusContainer);
|
||||
}
|
||||
|
||||
static const Identifier juce_explicitFocusOrderId ("_jexfo");
|
||||
static const Identifier explicitFocusOrderId ("_jexfo");
|
||||
|
||||
int Component::getExplicitFocusOrder() const
|
||||
{
|
||||
return properties [juce_explicitFocusOrderId];
|
||||
return properties [explicitFocusOrderId];
|
||||
}
|
||||
|
||||
void Component::setExplicitFocusOrder (int newFocusOrderIndex)
|
||||
{
|
||||
properties.set (juce_explicitFocusOrderId, newFocusOrderIndex);
|
||||
properties.set (explicitFocusOrderId, newFocusOrderIndex);
|
||||
}
|
||||
|
||||
std::unique_ptr<ComponentTraverser> Component::createFocusTraverser()
|
||||
|
|
@ -3300,7 +2973,7 @@ AccessibilityHandler* Component::getAccessibilityHandler()
|
|||
// created, the if() predicate above should evaluate to false on recursive calls,
|
||||
// terminating the recursion.
|
||||
if (accessibilityHandler != nullptr)
|
||||
notifyAccessibilityEventInternal (*accessibilityHandler, InternalAccessibilityEvent::elementCreated);
|
||||
detail::AccessibilityHelpers::notifyAccessibilityEvent (*accessibilityHandler, detail::AccessibilityHelpers::Event::elementCreated);
|
||||
else
|
||||
jassertfalse; // createAccessibilityHandler must return non-null
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2535,7 +2535,7 @@ private:
|
|||
|
||||
//==============================================================================
|
||||
friend class ComponentPeer;
|
||||
friend class MouseInputSourceInternal;
|
||||
friend class detail::MouseInputSourceImpl;
|
||||
|
||||
#ifndef DOXYGEN
|
||||
static Component* currentlyFocusedComponent;
|
||||
|
|
@ -2604,9 +2604,9 @@ private:
|
|||
//==============================================================================
|
||||
void internalMouseEnter (MouseInputSource, Point<float>, Time);
|
||||
void internalMouseExit (MouseInputSource, Point<float>, Time);
|
||||
void internalMouseDown (MouseInputSource, const PointerState&, Time);
|
||||
void internalMouseUp (MouseInputSource, const PointerState&, Time, const ModifierKeys oldModifiers);
|
||||
void internalMouseDrag (MouseInputSource, const PointerState&, Time);
|
||||
void internalMouseDown (MouseInputSource, const detail::PointerState&, Time);
|
||||
void internalMouseUp (MouseInputSource, const detail::PointerState&, Time, const ModifierKeys oldModifiers);
|
||||
void internalMouseDrag (MouseInputSource, const detail::PointerState&, Time);
|
||||
void internalMouseMove (MouseInputSource, Point<float>, Time);
|
||||
void internalMouseWheel (MouseInputSource, Point<float>, Time, const MouseWheelDetails&);
|
||||
void internalMagnifyGesture (MouseInputSource, Point<float>, Time, float);
|
||||
|
|
@ -2635,8 +2635,7 @@ private:
|
|||
void sendEnablementChangeMessage();
|
||||
void sendVisibilityChangeMessage();
|
||||
|
||||
struct ComponentHelpers;
|
||||
friend struct ComponentHelpers;
|
||||
friend struct detail::ComponentHelpers;
|
||||
|
||||
/* Components aren't allowed to have copy constructors, as this would mess up parent hierarchies.
|
||||
You might need to give your subclasses a private dummy constructor to avoid compiler warnings.
|
||||
|
|
|
|||
|
|
@ -26,100 +26,14 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
namespace FocusHelpers
|
||||
{
|
||||
static int getOrder (const Component* c)
|
||||
{
|
||||
auto order = c->getExplicitFocusOrder();
|
||||
return order > 0 ? order : std::numeric_limits<int>::max();
|
||||
}
|
||||
|
||||
template <typename FocusContainerFn>
|
||||
static void findAllComponents (Component* parent,
|
||||
std::vector<Component*>& components,
|
||||
FocusContainerFn isFocusContainer)
|
||||
{
|
||||
if (parent == nullptr || parent->getNumChildComponents() == 0)
|
||||
return;
|
||||
|
||||
std::vector<Component*> localComponents;
|
||||
|
||||
for (auto* c : parent->getChildren())
|
||||
if (c->isVisible() && c->isEnabled())
|
||||
localComponents.push_back (c);
|
||||
|
||||
const auto compareComponents = [&] (const Component* a, const Component* b)
|
||||
{
|
||||
const auto getComponentOrderAttributes = [] (const Component* c)
|
||||
{
|
||||
return std::make_tuple (getOrder (c),
|
||||
c->isAlwaysOnTop() ? 0 : 1,
|
||||
c->getY(),
|
||||
c->getX());
|
||||
};
|
||||
|
||||
return getComponentOrderAttributes (a) < getComponentOrderAttributes (b);
|
||||
};
|
||||
|
||||
// This will sort so that they are ordered in terms of explicit focus,
|
||||
// always on top, left-to-right, and then top-to-bottom.
|
||||
std::stable_sort (localComponents.begin(), localComponents.end(), compareComponents);
|
||||
|
||||
for (auto* c : localComponents)
|
||||
{
|
||||
components.push_back (c);
|
||||
|
||||
if (! (c->*isFocusContainer)())
|
||||
findAllComponents (c, components, isFocusContainer);
|
||||
}
|
||||
}
|
||||
|
||||
enum class NavigationDirection { forwards, backwards };
|
||||
|
||||
template <typename FocusContainerFn>
|
||||
static Component* navigateFocus (Component* current,
|
||||
Component* focusContainer,
|
||||
NavigationDirection direction,
|
||||
FocusContainerFn isFocusContainer)
|
||||
{
|
||||
if (focusContainer != nullptr)
|
||||
{
|
||||
std::vector<Component*> components;
|
||||
findAllComponents (focusContainer, components, isFocusContainer);
|
||||
|
||||
const auto iter = std::find (components.cbegin(), components.cend(), current);
|
||||
|
||||
if (iter == components.cend())
|
||||
return nullptr;
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
case NavigationDirection::forwards:
|
||||
if (iter != std::prev (components.cend()))
|
||||
return *std::next (iter);
|
||||
|
||||
break;
|
||||
|
||||
case NavigationDirection::backwards:
|
||||
if (iter != components.cbegin())
|
||||
return *std::prev (iter);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Component* FocusTraverser::getNextComponent (Component* current)
|
||||
{
|
||||
jassert (current != nullptr);
|
||||
|
||||
return FocusHelpers::navigateFocus (current,
|
||||
return detail::FocusHelpers::navigateFocus (current,
|
||||
current->findFocusContainer(),
|
||||
FocusHelpers::NavigationDirection::forwards,
|
||||
detail::FocusHelpers::NavigationDirection::forwards,
|
||||
&Component::isFocusContainer);
|
||||
}
|
||||
|
||||
|
|
@ -127,9 +41,9 @@ Component* FocusTraverser::getPreviousComponent (Component* current)
|
|||
{
|
||||
jassert (current != nullptr);
|
||||
|
||||
return FocusHelpers::navigateFocus (current,
|
||||
return detail::FocusHelpers::navigateFocus (current,
|
||||
current->findFocusContainer(),
|
||||
FocusHelpers::NavigationDirection::backwards,
|
||||
detail::FocusHelpers::NavigationDirection::backwards,
|
||||
&Component::isFocusContainer);
|
||||
}
|
||||
|
||||
|
|
@ -138,7 +52,7 @@ Component* FocusTraverser::getDefaultComponent (Component* parentComponent)
|
|||
if (parentComponent != nullptr)
|
||||
{
|
||||
std::vector<Component*> components;
|
||||
FocusHelpers::findAllComponents (parentComponent,
|
||||
detail::FocusHelpers::findAllComponents (parentComponent,
|
||||
components,
|
||||
&Component::isFocusContainer);
|
||||
|
||||
|
|
@ -152,7 +66,7 @@ Component* FocusTraverser::getDefaultComponent (Component* parentComponent)
|
|||
std::vector<Component*> FocusTraverser::getAllComponents (Component* parentComponent)
|
||||
{
|
||||
std::vector<Component*> components;
|
||||
FocusHelpers::findAllComponents (parentComponent,
|
||||
detail::FocusHelpers::findAllComponents (parentComponent,
|
||||
components,
|
||||
&Component::isFocusContainer);
|
||||
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ int ModalComponentManager::runEventLoopForCurrentComponent()
|
|||
|
||||
if (auto* currentlyModal = getModalComponent (0))
|
||||
{
|
||||
FocusRestorer focusRestorer;
|
||||
detail::FocusRestorer focusRestorer;
|
||||
bool finished = false;
|
||||
|
||||
attachCallback (currentlyModal, ModalCallbackFunction::create ([&] (int r) { returnValue = r; finished = true; }));
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace juce
|
|||
{
|
||||
|
||||
Desktop::Desktop()
|
||||
: mouseSources (new MouseInputSource::SourceList()),
|
||||
: mouseSources (new detail::MouseInputSourceList()),
|
||||
masterScaleFactor ((float) getDefaultMasterScale()),
|
||||
nativeDarkModeChangeDetectorImpl (createNativeDarkModeChangeDetectorImpl())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -410,12 +410,12 @@ private:
|
|||
|
||||
friend class Component;
|
||||
friend class ComponentPeer;
|
||||
friend class MouseInputSourceInternal;
|
||||
friend class detail::MouseInputSourceImpl;
|
||||
friend class DeletedAtShutdown;
|
||||
friend class TopLevelWindowManager;
|
||||
friend class detail::TopLevelWindowManager;
|
||||
friend class Displays;
|
||||
|
||||
std::unique_ptr<MouseInputSource::SourceList> mouseSources;
|
||||
std::unique_ptr<detail::MouseInputSourceList> mouseSources;
|
||||
|
||||
ListenerList<MouseListener> mouseListeners;
|
||||
ListenerList<FocusChangeListener> focusListeners;
|
||||
|
|
|
|||
33
modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp
Normal file
33
modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
#if ! JUCE_NATIVE_ACCESSIBILITY_INCLUDED
|
||||
void AccessibilityHelpers::notifyAccessibilityEvent (const AccessibilityHandler&, Event) {}
|
||||
#endif
|
||||
|
||||
} // namespace juce::detail
|
||||
70
modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h
Normal file
70
modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct AccessibilityHelpers
|
||||
{
|
||||
AccessibilityHelpers() = delete;
|
||||
|
||||
enum class Event
|
||||
{
|
||||
elementCreated,
|
||||
elementDestroyed,
|
||||
elementMovedOrResized,
|
||||
focusChanged,
|
||||
windowOpened,
|
||||
windowClosed
|
||||
};
|
||||
|
||||
static void notifyAccessibilityEvent (const AccessibilityHandler&, Event);
|
||||
|
||||
static String getApplicationOrPluginName()
|
||||
{
|
||||
#if defined (JucePlugin_Name)
|
||||
return JucePlugin_Name;
|
||||
#else
|
||||
if (auto* app = JUCEApplicationBase::getInstance())
|
||||
return app->getApplicationName();
|
||||
|
||||
return "JUCE Application";
|
||||
#endif
|
||||
}
|
||||
|
||||
template <typename MemberFn>
|
||||
static const AccessibilityHandler* getEnclosingHandlerWithInterface (const AccessibilityHandler* handler, MemberFn fn)
|
||||
{
|
||||
if (handler == nullptr)
|
||||
return nullptr;
|
||||
|
||||
if ((handler->*fn)() != nullptr)
|
||||
return handler;
|
||||
|
||||
return getEnclosingHandlerWithInterface (handler->getParent(), fn);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
115
modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h
Normal file
115
modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct AlertWindowHelpers
|
||||
{
|
||||
AlertWindowHelpers() = delete;
|
||||
|
||||
static std::unique_ptr<ScopedMessageBoxInterface> create (const MessageBoxOptions& opts)
|
||||
{
|
||||
class AlertWindowImpl : public detail::ScopedMessageBoxInterface
|
||||
{
|
||||
public:
|
||||
explicit AlertWindowImpl (const MessageBoxOptions& opts) : options (opts) {}
|
||||
|
||||
void runAsync (std::function<void (int)> recipient) override
|
||||
{
|
||||
if (auto* comp = setUpAlert())
|
||||
comp->enterModalState (true, ModalCallbackFunction::create (std::move (recipient)), true);
|
||||
else
|
||||
NullCheckedInvocation::invoke (recipient, 0);
|
||||
}
|
||||
|
||||
int runSync() override
|
||||
{
|
||||
#if JUCE_MODAL_LOOPS_PERMITTED
|
||||
if (auto comp = rawToUniquePtr (setUpAlert()))
|
||||
return comp->runModalLoop();
|
||||
#endif
|
||||
|
||||
jassertfalse;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void close() override
|
||||
{
|
||||
if (alert != nullptr)
|
||||
if (alert->isCurrentlyModal())
|
||||
alert->exitModalState();
|
||||
|
||||
alert = nullptr;
|
||||
}
|
||||
|
||||
private:
|
||||
Component* setUpAlert()
|
||||
{
|
||||
auto* component = options.getAssociatedComponent();
|
||||
|
||||
auto& lf = component != nullptr ? component->getLookAndFeel()
|
||||
: LookAndFeel::getDefaultLookAndFeel();
|
||||
|
||||
alert = lf.createAlertWindow (options.getTitle(),
|
||||
options.getMessage(),
|
||||
options.getButtonText (0),
|
||||
options.getButtonText (1),
|
||||
options.getButtonText (2),
|
||||
options.getIconType(),
|
||||
options.getNumButtons(),
|
||||
component);
|
||||
|
||||
if (alert == nullptr)
|
||||
{
|
||||
// You have to return an alert box!
|
||||
jassertfalse;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (auto* parent = options.getParentComponent())
|
||||
{
|
||||
parent->addAndMakeVisible (alert);
|
||||
|
||||
if (options.getAssociatedComponent() == nullptr)
|
||||
alert->setCentrePosition (parent->getLocalBounds().getCentre());
|
||||
}
|
||||
|
||||
alert->setAlwaysOnTop (detail::WindowingHelpers::areThereAnyAlwaysOnTopWindows());
|
||||
|
||||
return alert;
|
||||
}
|
||||
|
||||
const MessageBoxOptions options;
|
||||
Component::SafePointer<AlertWindow> alert;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AlertWindowImpl)
|
||||
};
|
||||
|
||||
return std::make_unique<AlertWindowImpl> (opts);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
125
modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h
Normal file
125
modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
//==============================================================================
|
||||
class ButtonAccessibilityHandler : public AccessibilityHandler
|
||||
{
|
||||
public:
|
||||
ButtonAccessibilityHandler (Button& buttonToWrap, AccessibilityRole roleIn)
|
||||
: AccessibilityHandler (buttonToWrap,
|
||||
isRadioButton (buttonToWrap) ? AccessibilityRole::radioButton : roleIn,
|
||||
getAccessibilityActions (buttonToWrap),
|
||||
getAccessibilityInterfaces (buttonToWrap)),
|
||||
button (buttonToWrap)
|
||||
{}
|
||||
|
||||
|
||||
AccessibleState getCurrentState() const override
|
||||
{
|
||||
auto state = AccessibilityHandler::getCurrentState();
|
||||
|
||||
if (button.isToggleable())
|
||||
{
|
||||
state = state.withCheckable();
|
||||
|
||||
if (button.getToggleState())
|
||||
state = state.withChecked();
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
String getTitle() const override
|
||||
{
|
||||
auto title = AccessibilityHandler::getTitle();
|
||||
|
||||
if (title.isEmpty())
|
||||
return button.getButtonText();
|
||||
|
||||
return title;
|
||||
}
|
||||
|
||||
String getHelp() const override
|
||||
{
|
||||
return button.getTooltip();
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
class ButtonValueInterface : public AccessibilityTextValueInterface
|
||||
{
|
||||
public:
|
||||
explicit ButtonValueInterface (Button& buttonToWrap)
|
||||
: button (buttonToWrap)
|
||||
{
|
||||
}
|
||||
|
||||
bool isReadOnly() const override { return true; }
|
||||
String getCurrentValueAsString() const override { return button.getToggleState() ? "On" : "Off"; }
|
||||
void setValueAsString (const String&) override {}
|
||||
|
||||
private:
|
||||
Button& button;
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ButtonValueInterface)
|
||||
};
|
||||
|
||||
static bool isRadioButton (const Button& button) noexcept
|
||||
{
|
||||
return button.getRadioGroupId() != 0;
|
||||
}
|
||||
|
||||
static AccessibilityActions getAccessibilityActions (Button& button)
|
||||
{
|
||||
auto actions = AccessibilityActions().addAction (AccessibilityActionType::press,
|
||||
[&button] { button.triggerClick(); });
|
||||
|
||||
if (button.isToggleable())
|
||||
actions = actions.addAction (AccessibilityActionType::toggle,
|
||||
[&button] { button.setToggleState (! button.getToggleState(), sendNotification); });
|
||||
|
||||
return actions;
|
||||
}
|
||||
|
||||
static Interfaces getAccessibilityInterfaces (Button& button)
|
||||
{
|
||||
if (button.isToggleable())
|
||||
return { std::make_unique<ButtonValueInterface> (button) };
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
Button& button;
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ButtonAccessibilityHandler)
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
255
modules/juce_gui_basics/detail/juce_ComponentHelpers.h
Normal file
255
modules/juce_gui_basics/detail/juce_ComponentHelpers.h
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
constexpr char colourPropertyPrefix[] = "jcclr_";
|
||||
|
||||
//==============================================================================
|
||||
struct ComponentHelpers
|
||||
{
|
||||
using SH = ScalingHelpers;
|
||||
|
||||
#if JUCE_MODAL_LOOPS_PERMITTED
|
||||
static void* runModalLoopCallback (void* userData)
|
||||
{
|
||||
return (void*) (pointer_sized_int) static_cast<Component*> (userData)->runModalLoop();
|
||||
}
|
||||
#endif
|
||||
|
||||
static Identifier getColourPropertyID (int colourID)
|
||||
{
|
||||
char buffer[32];
|
||||
auto* end = buffer + numElementsInArray (buffer) - 1;
|
||||
auto* t = end;
|
||||
*t = 0;
|
||||
|
||||
for (auto v = (uint32) colourID;;)
|
||||
{
|
||||
*--t = "0123456789abcdef" [v & 15];
|
||||
v >>= 4;
|
||||
|
||||
if (v == 0)
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = (int) sizeof (colourPropertyPrefix) - 1; --i >= 0;)
|
||||
*--t = colourPropertyPrefix[i];
|
||||
|
||||
return t;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
static bool hitTest (Component& comp, Point<float> localPoint)
|
||||
{
|
||||
const auto intPoint = localPoint.roundToInt();
|
||||
return Rectangle<int> { comp.getWidth(), comp.getHeight() }.contains (intPoint)
|
||||
&& comp.hitTest (intPoint.x, intPoint.y);
|
||||
}
|
||||
|
||||
// converts an unscaled position within a peer to the local position within that peer's component
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect rawPeerPositionToLocal (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
if (comp.isTransformed())
|
||||
pos = pos.transformedBy (comp.getTransform().inverted());
|
||||
|
||||
return SH::unscaledScreenPosToScaled (comp, pos);
|
||||
}
|
||||
|
||||
// converts a position within a peer's component to the unscaled position within the peer
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect localPositionToRawPeerPos (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
if (comp.isTransformed())
|
||||
pos = pos.transformedBy (comp.getTransform());
|
||||
|
||||
return SH::scaledScreenPosToUnscaled (comp, pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertFromParentSpace (const Component& comp, const PointOrRect pointInParentSpace)
|
||||
{
|
||||
const auto transformed = comp.affineTransform != nullptr ? pointInParentSpace.transformedBy (comp.affineTransform->inverted())
|
||||
: pointInParentSpace;
|
||||
|
||||
if (comp.isOnDesktop())
|
||||
{
|
||||
if (auto* peer = comp.getPeer())
|
||||
return SH::unscaledScreenPosToScaled (comp, peer->globalToLocal (SH::scaledScreenPosToUnscaled (transformed)));
|
||||
|
||||
jassertfalse;
|
||||
return transformed;
|
||||
}
|
||||
|
||||
if (comp.getParentComponent() == nullptr)
|
||||
return SH::subtractPosition (SH::unscaledScreenPosToScaled (comp, SH::scaledScreenPosToUnscaled (transformed)), comp);
|
||||
|
||||
return SH::subtractPosition (transformed, comp);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertToParentSpace (const Component& comp, const PointOrRect pointInLocalSpace)
|
||||
{
|
||||
const auto preTransform = [&]
|
||||
{
|
||||
if (comp.isOnDesktop())
|
||||
{
|
||||
if (auto* peer = comp.getPeer())
|
||||
return SH::unscaledScreenPosToScaled (peer->localToGlobal (SH::scaledScreenPosToUnscaled (comp, pointInLocalSpace)));
|
||||
|
||||
jassertfalse;
|
||||
return pointInLocalSpace;
|
||||
}
|
||||
|
||||
if (comp.getParentComponent() == nullptr)
|
||||
return SH::unscaledScreenPosToScaled (SH::scaledScreenPosToUnscaled (comp, SH::addPosition (pointInLocalSpace, comp)));
|
||||
|
||||
return SH::addPosition (pointInLocalSpace, comp);
|
||||
}();
|
||||
|
||||
return comp.affineTransform != nullptr ? preTransform.transformedBy (*comp.affineTransform)
|
||||
: preTransform;
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertFromDistantParentSpace (const Component* parent, const Component& target, PointOrRect coordInParent)
|
||||
{
|
||||
auto* directParent = target.getParentComponent();
|
||||
jassert (directParent != nullptr);
|
||||
|
||||
if (directParent == parent)
|
||||
return convertFromParentSpace (target, coordInParent);
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (6011)
|
||||
return convertFromParentSpace (target, convertFromDistantParentSpace (parent, *directParent, coordInParent));
|
||||
JUCE_END_IGNORE_WARNINGS_MSVC
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect convertCoordinate (const Component* target, const Component* source, PointOrRect p)
|
||||
{
|
||||
while (source != nullptr)
|
||||
{
|
||||
if (source == target)
|
||||
return p;
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (6011)
|
||||
|
||||
if (source->isParentOf (target))
|
||||
return convertFromDistantParentSpace (source, *target, p);
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_MSVC
|
||||
|
||||
p = convertToParentSpace (*source, p);
|
||||
source = source->getParentComponent();
|
||||
}
|
||||
|
||||
jassert (source == nullptr);
|
||||
if (target == nullptr)
|
||||
return p;
|
||||
|
||||
auto* topLevelComp = target->getTopLevelComponent();
|
||||
|
||||
p = convertFromParentSpace (*topLevelComp, p);
|
||||
|
||||
if (topLevelComp == target)
|
||||
return p;
|
||||
|
||||
return convertFromDistantParentSpace (topLevelComp, *target, p);
|
||||
}
|
||||
|
||||
static bool clipObscuredRegions (const Component& comp, Graphics& g,
|
||||
const Rectangle<int> clipRect, Point<int> delta)
|
||||
{
|
||||
bool wasClipped = false;
|
||||
|
||||
for (int i = comp.childComponentList.size(); --i >= 0;)
|
||||
{
|
||||
auto& child = *comp.childComponentList.getUnchecked(i);
|
||||
|
||||
if (child.isVisible() && ! child.isTransformed())
|
||||
{
|
||||
auto newClip = clipRect.getIntersection (child.boundsRelativeToParent);
|
||||
|
||||
if (! newClip.isEmpty())
|
||||
{
|
||||
if (child.isOpaque() && child.componentTransparency == 0)
|
||||
{
|
||||
g.excludeClipRegion (newClip + delta);
|
||||
wasClipped = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
auto childPos = child.getPosition();
|
||||
|
||||
if (clipObscuredRegions (child, g, newClip - childPos, childPos + delta))
|
||||
wasClipped = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return wasClipped;
|
||||
}
|
||||
|
||||
static Rectangle<int> getParentOrMainMonitorBounds (const Component& comp)
|
||||
{
|
||||
if (auto* p = comp.getParentComponent())
|
||||
return p->getLocalBounds();
|
||||
|
||||
return Desktop::getInstance().getDisplays().getPrimaryDisplay()->userArea;
|
||||
}
|
||||
|
||||
static void releaseAllCachedImageResources (Component& c)
|
||||
{
|
||||
if (auto* cached = c.getCachedComponentImage())
|
||||
cached->releaseResources();
|
||||
|
||||
for (auto* child : c.childComponentList)
|
||||
releaseAllCachedImageResources (*child);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
static bool modalWouldBlockComponent (const Component& maybeBlocked, Component* modal)
|
||||
{
|
||||
return modal != nullptr
|
||||
&& modal != &maybeBlocked
|
||||
&& ! modal->isParentOf (&maybeBlocked)
|
||||
&& ! modal->canModalEventBeSentToComponent (&maybeBlocked);
|
||||
}
|
||||
|
||||
template <typename Function>
|
||||
static void sendMouseEventToComponentsThatAreBlockedByModal (Component& modal, Function&& function)
|
||||
{
|
||||
for (auto& ms : Desktop::getInstance().getMouseSources())
|
||||
if (auto* c = ms.getComponentUnderMouse())
|
||||
if (modalWouldBlockComponent (*c, &modal))
|
||||
(c->*function) (ms, SH::screenPosToLocalPos (*c, ms.getScreenPosition()), Time::getCurrentTime());
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
35
modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h
Normal file
35
modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct CustomMouseCursorInfo
|
||||
{
|
||||
ScaledImage image;
|
||||
Point<int> hotspot;
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
117
modules/juce_gui_basics/detail/juce_FocusHelpers.h
Normal file
117
modules/juce_gui_basics/detail/juce_FocusHelpers.h
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct FocusHelpers
|
||||
{
|
||||
FocusHelpers() = delete;
|
||||
|
||||
static int getOrder (const Component* c)
|
||||
{
|
||||
auto order = c->getExplicitFocusOrder();
|
||||
return order > 0 ? order : std::numeric_limits<int>::max();
|
||||
}
|
||||
|
||||
template <typename FocusContainerFn>
|
||||
static void findAllComponents (Component* parent,
|
||||
std::vector<Component*>& components,
|
||||
FocusContainerFn isFocusContainer)
|
||||
{
|
||||
if (parent == nullptr || parent->getNumChildComponents() == 0)
|
||||
return;
|
||||
|
||||
std::vector<Component*> localComponents;
|
||||
|
||||
for (auto* c : parent->getChildren())
|
||||
if (c->isVisible() && c->isEnabled())
|
||||
localComponents.push_back (c);
|
||||
|
||||
const auto compareComponents = [&] (const Component* a, const Component* b)
|
||||
{
|
||||
const auto getComponentOrderAttributes = [] (const Component* c)
|
||||
{
|
||||
return std::make_tuple (getOrder (c),
|
||||
c->isAlwaysOnTop() ? 0 : 1,
|
||||
c->getY(),
|
||||
c->getX());
|
||||
};
|
||||
|
||||
return getComponentOrderAttributes (a) < getComponentOrderAttributes (b);
|
||||
};
|
||||
|
||||
// This will sort so that they are ordered in terms of explicit focus,
|
||||
// always on top, left-to-right, and then top-to-bottom.
|
||||
std::stable_sort (localComponents.begin(), localComponents.end(), compareComponents);
|
||||
|
||||
for (auto* c : localComponents)
|
||||
{
|
||||
components.push_back (c);
|
||||
|
||||
if (! (c->*isFocusContainer)())
|
||||
findAllComponents (c, components, isFocusContainer);
|
||||
}
|
||||
}
|
||||
|
||||
enum class NavigationDirection { forwards, backwards };
|
||||
|
||||
template <typename FocusContainerFn>
|
||||
static Component* navigateFocus (Component* current,
|
||||
Component* focusContainer,
|
||||
NavigationDirection direction,
|
||||
FocusContainerFn isFocusContainer)
|
||||
{
|
||||
if (focusContainer != nullptr)
|
||||
{
|
||||
std::vector<Component*> components;
|
||||
findAllComponents (focusContainer, components, isFocusContainer);
|
||||
|
||||
const auto iter = std::find (components.cbegin(), components.cend(), current);
|
||||
|
||||
if (iter == components.cend())
|
||||
return nullptr;
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
case NavigationDirection::forwards:
|
||||
if (iter != std::prev (components.cend()))
|
||||
return *std::next (iter);
|
||||
|
||||
break;
|
||||
|
||||
case NavigationDirection::backwards:
|
||||
if (iter != components.cbegin())
|
||||
return *std::prev (iter);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
46
modules/juce_gui_basics/detail/juce_FocusRestorer.h
Normal file
46
modules/juce_gui_basics/detail/juce_FocusRestorer.h
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct FocusRestorer
|
||||
{
|
||||
FocusRestorer() : lastFocus (Component::getCurrentlyFocusedComponent()) {}
|
||||
|
||||
~FocusRestorer()
|
||||
{
|
||||
if (lastFocus != nullptr
|
||||
&& lastFocus->isShowing()
|
||||
&& ! lastFocus->isCurrentlyBlockedByAnotherModalComponent())
|
||||
lastFocus->grabKeyboardFocus();
|
||||
}
|
||||
|
||||
WeakReference<Component> lastFocus;
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (FocusRestorer)
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
62
modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h
Normal file
62
modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct LookAndFeelHelpers
|
||||
{
|
||||
LookAndFeelHelpers() = delete;
|
||||
|
||||
static Colour createBaseColour (Colour buttonColour,
|
||||
bool hasKeyboardFocus,
|
||||
bool shouldDrawButtonAsHighlighted,
|
||||
bool shouldDrawButtonAsDown) noexcept
|
||||
{
|
||||
const float sat = hasKeyboardFocus ? 1.3f : 0.9f;
|
||||
const Colour baseColour (buttonColour.withMultipliedSaturation (sat));
|
||||
|
||||
if (shouldDrawButtonAsDown) return baseColour.contrasting (0.2f);
|
||||
if (shouldDrawButtonAsHighlighted) return baseColour.contrasting (0.1f);
|
||||
|
||||
return baseColour;
|
||||
}
|
||||
|
||||
static TextLayout layoutTooltipText (const String& text, Colour colour) noexcept
|
||||
{
|
||||
const float tooltipFontSize = 13.0f;
|
||||
const int maxToolTipWidth = 400;
|
||||
|
||||
AttributedString s;
|
||||
s.setJustification (Justification::centred);
|
||||
s.append (text, Font (tooltipFontSize, Font::bold), colour);
|
||||
|
||||
TextLayout tl;
|
||||
tl.createLayoutWithBalancedLineLengths (s, (float) maxToolTipWidth);
|
||||
return tl;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
589
modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h
Normal file
589
modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h
Normal file
|
|
@ -0,0 +1,589 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
class MouseInputSourceImpl : private AsyncUpdater
|
||||
{
|
||||
public:
|
||||
using SH = ScalingHelpers;
|
||||
|
||||
MouseInputSourceImpl (int i, MouseInputSource::InputSourceType type)
|
||||
: index (i),
|
||||
inputType (type)
|
||||
{}
|
||||
|
||||
//==============================================================================
|
||||
bool isDragging() const noexcept
|
||||
{
|
||||
return buttonState.isAnyMouseButtonDown();
|
||||
}
|
||||
|
||||
Component* getComponentUnderMouse() const noexcept
|
||||
{
|
||||
return componentUnderMouse.get();
|
||||
}
|
||||
|
||||
ModifierKeys getCurrentModifiers() const noexcept
|
||||
{
|
||||
return ModifierKeys::currentModifiers
|
||||
.withoutMouseButtons()
|
||||
.withFlags (buttonState.getRawFlags());
|
||||
}
|
||||
|
||||
ComponentPeer* getPeer() noexcept
|
||||
{
|
||||
if (! ComponentPeer::isValidPeer (lastPeer))
|
||||
lastPeer = nullptr;
|
||||
|
||||
return lastPeer;
|
||||
}
|
||||
|
||||
static Component* findComponentAt (Point<float> screenPos, ComponentPeer* peer)
|
||||
{
|
||||
if (! ComponentPeer::isValidPeer (peer))
|
||||
return nullptr;
|
||||
|
||||
auto relativePos = SH::unscaledScreenPosToScaled (peer->getComponent(),
|
||||
peer->globalToLocal (screenPos));
|
||||
auto& comp = peer->getComponent();
|
||||
|
||||
// (the contains() call is needed to test for overlapping desktop windows)
|
||||
if (comp.contains (relativePos))
|
||||
return comp.getComponentAt (relativePos);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Point<float> getScreenPosition() const noexcept
|
||||
{
|
||||
// This needs to return the live position if possible, but it mustn't update the lastScreenPos
|
||||
// value, because that can cause continuity problems.
|
||||
return SH::unscaledScreenPosToScaled (getRawScreenPosition());
|
||||
}
|
||||
|
||||
Point<float> getRawScreenPosition() const noexcept
|
||||
{
|
||||
return unboundedMouseOffset + (inputType != MouseInputSource::InputSourceType::touch ? MouseInputSource::getCurrentRawMousePosition()
|
||||
: lastPointerState.position);
|
||||
}
|
||||
|
||||
void setScreenPosition (Point<float> p)
|
||||
{
|
||||
MouseInputSource::setRawMousePosition (SH::scaledScreenPosToUnscaled (p));
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_DUMP_MOUSE_EVENTS
|
||||
#define JUCE_MOUSE_EVENT_DBG(desc, screenPos) DBG ("Mouse " << desc << " #" << index \
|
||||
<< ": " << SH::screenPosToLocalPos (comp, screenPos).toString() \
|
||||
<< " - Comp: " << String::toHexString ((pointer_sized_int) &comp));
|
||||
#else
|
||||
#define JUCE_MOUSE_EVENT_DBG(desc, screenPos)
|
||||
#endif
|
||||
|
||||
void sendMouseEnter (Component& comp, const detail::PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("enter", pointerState.position)
|
||||
comp.internalMouseEnter (MouseInputSource (this),
|
||||
SH::screenPosToLocalPos (comp, pointerState.position),
|
||||
time);
|
||||
}
|
||||
|
||||
void sendMouseExit (Component& comp, const detail::PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("exit", pointerState.position)
|
||||
comp.internalMouseExit (MouseInputSource (this),
|
||||
SH::screenPosToLocalPos (comp, pointerState.position),
|
||||
time);
|
||||
}
|
||||
|
||||
void sendMouseMove (Component& comp, const detail::PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("move", pointerState.position)
|
||||
comp.internalMouseMove (MouseInputSource (this),
|
||||
SH::screenPosToLocalPos (comp, pointerState.position),
|
||||
time);
|
||||
}
|
||||
|
||||
void sendMouseDown (Component& comp, const detail::PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("down", pointerState.position)
|
||||
comp.internalMouseDown (MouseInputSource (this),
|
||||
pointerState.withPosition (SH::screenPosToLocalPos (comp, pointerState.position)),
|
||||
time);
|
||||
}
|
||||
|
||||
void sendMouseDrag (Component& comp, const detail::PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("drag", pointerState.position)
|
||||
comp.internalMouseDrag (MouseInputSource (this),
|
||||
pointerState.withPosition (SH::screenPosToLocalPos (comp, pointerState.position)),
|
||||
time);
|
||||
}
|
||||
|
||||
void sendMouseUp (Component& comp, const detail::PointerState& pointerState, Time time, ModifierKeys oldMods)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("up", pointerState.position)
|
||||
comp.internalMouseUp (MouseInputSource (this),
|
||||
pointerState.withPosition (SH::screenPosToLocalPos (comp, pointerState.position)),
|
||||
time,
|
||||
oldMods);
|
||||
}
|
||||
|
||||
void sendMouseWheel (Component& comp, Point<float> screenPos, Time time, const MouseWheelDetails& wheel)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("wheel", screenPos)
|
||||
comp.internalMouseWheel (MouseInputSource (this),
|
||||
SH::screenPosToLocalPos (comp, screenPos),
|
||||
time,
|
||||
wheel);
|
||||
}
|
||||
|
||||
void sendMagnifyGesture (Component& comp, Point<float> screenPos, Time time, float amount)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("magnify", screenPos)
|
||||
comp.internalMagnifyGesture (MouseInputSource (this),
|
||||
SH::screenPosToLocalPos (comp, screenPos),
|
||||
time,
|
||||
amount);
|
||||
}
|
||||
|
||||
#undef JUCE_MOUSE_EVENT_DBG
|
||||
|
||||
//==============================================================================
|
||||
// (returns true if the button change caused a modal event loop)
|
||||
bool setButtons (const detail::PointerState& pointerState, Time time, ModifierKeys newButtonState)
|
||||
{
|
||||
if (buttonState == newButtonState)
|
||||
return false;
|
||||
|
||||
// (avoid sending a spurious mouse-drag when we receive a mouse-up)
|
||||
if (! (isDragging() && ! newButtonState.isAnyMouseButtonDown()))
|
||||
setPointerState (pointerState, time, false);
|
||||
|
||||
// (ignore secondary clicks when there's already a button down)
|
||||
if (buttonState.isAnyMouseButtonDown() == newButtonState.isAnyMouseButtonDown())
|
||||
{
|
||||
buttonState = newButtonState;
|
||||
return false;
|
||||
}
|
||||
|
||||
auto lastCounter = mouseEventCounter;
|
||||
|
||||
if (buttonState.isAnyMouseButtonDown())
|
||||
{
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
{
|
||||
auto oldMods = getCurrentModifiers();
|
||||
buttonState = newButtonState; // must change this before calling sendMouseUp, in case it runs a modal loop
|
||||
|
||||
sendMouseUp (*current, pointerState.withPositionOffset (unboundedMouseOffset), time, oldMods);
|
||||
|
||||
if (lastCounter != mouseEventCounter)
|
||||
return true; // if a modal loop happened, then newButtonState is no longer valid.
|
||||
}
|
||||
|
||||
enableUnboundedMouseMovement (false, false);
|
||||
}
|
||||
|
||||
buttonState = newButtonState;
|
||||
|
||||
if (buttonState.isAnyMouseButtonDown())
|
||||
{
|
||||
Desktop::getInstance().incrementMouseClickCounter();
|
||||
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
{
|
||||
registerMouseDown (pointerState.position, time, *current, buttonState,
|
||||
inputType == MouseInputSource::InputSourceType::touch);
|
||||
sendMouseDown (*current, pointerState, time);
|
||||
}
|
||||
}
|
||||
|
||||
return lastCounter != mouseEventCounter;
|
||||
}
|
||||
|
||||
void setComponentUnderMouse (Component* newComponent, const detail::PointerState& pointerState, Time time)
|
||||
{
|
||||
auto* current = getComponentUnderMouse();
|
||||
|
||||
if (newComponent != current)
|
||||
{
|
||||
WeakReference<Component> safeNewComp (newComponent);
|
||||
auto originalButtonState = buttonState;
|
||||
|
||||
if (current != nullptr)
|
||||
{
|
||||
WeakReference<Component> safeOldComp (current);
|
||||
setButtons (pointerState, time, ModifierKeys());
|
||||
|
||||
if (auto oldComp = safeOldComp.get())
|
||||
{
|
||||
componentUnderMouse = safeNewComp;
|
||||
sendMouseExit (*oldComp, pointerState, time);
|
||||
}
|
||||
|
||||
buttonState = originalButtonState;
|
||||
}
|
||||
|
||||
componentUnderMouse = safeNewComp.get();
|
||||
current = safeNewComp.get();
|
||||
|
||||
if (current != nullptr)
|
||||
sendMouseEnter (*current, pointerState, time);
|
||||
|
||||
revealCursor (false);
|
||||
setButtons (pointerState, time, originalButtonState);
|
||||
}
|
||||
}
|
||||
|
||||
void setPeer (ComponentPeer& newPeer, const detail::PointerState& pointerState, Time time)
|
||||
{
|
||||
if (&newPeer != lastPeer && ( findComponentAt (pointerState.position, &newPeer) != nullptr
|
||||
|| findComponentAt (pointerState.position, lastPeer) == nullptr))
|
||||
{
|
||||
setComponentUnderMouse (nullptr, pointerState, time);
|
||||
lastPeer = &newPeer;
|
||||
setComponentUnderMouse (findComponentAt (pointerState.position, getPeer()), pointerState, time);
|
||||
}
|
||||
}
|
||||
|
||||
void setPointerState (const detail::PointerState& newPointerState, Time time, bool forceUpdate)
|
||||
{
|
||||
const auto& newScreenPos = newPointerState.position;
|
||||
|
||||
if (! isDragging())
|
||||
setComponentUnderMouse (findComponentAt (newScreenPos, getPeer()), newPointerState, time);
|
||||
|
||||
if ((newPointerState != lastPointerState) || forceUpdate)
|
||||
{
|
||||
cancelPendingUpdate();
|
||||
|
||||
if (newPointerState.position != MouseInputSource::offscreenMousePos)
|
||||
lastPointerState = newPointerState;
|
||||
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
{
|
||||
if (isDragging())
|
||||
{
|
||||
registerMouseDrag (newScreenPos);
|
||||
sendMouseDrag (*current, newPointerState.withPositionOffset (unboundedMouseOffset), time);
|
||||
|
||||
if (isUnboundedMouseModeOn)
|
||||
handleUnboundedDrag (*current);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendMouseMove (*current, newPointerState, time);
|
||||
}
|
||||
}
|
||||
|
||||
revealCursor (false);
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void handleEvent (ComponentPeer& newPeer, Point<float> positionWithinPeer, Time time,
|
||||
const ModifierKeys newMods, float newPressure, float newOrientation, PenDetails pen)
|
||||
{
|
||||
lastTime = time;
|
||||
++mouseEventCounter;
|
||||
const auto pointerState = detail::PointerState().withPosition (newPeer.localToGlobal (positionWithinPeer))
|
||||
.withPressure (newPressure)
|
||||
.withOrientation (newOrientation)
|
||||
.withRotation (MouseInputSource::defaultRotation)
|
||||
.withTiltX (pen.tiltX)
|
||||
.withTiltY (pen.tiltY);
|
||||
|
||||
if (isDragging() && newMods.isAnyMouseButtonDown())
|
||||
{
|
||||
setPointerState (pointerState, time, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
setPeer (newPeer, pointerState, time);
|
||||
|
||||
if (auto* peer = getPeer())
|
||||
{
|
||||
if (setButtons (pointerState, time, newMods))
|
||||
return; // some modal events have been dispatched, so the current event is now out-of-date
|
||||
|
||||
peer = getPeer();
|
||||
|
||||
if (peer != nullptr)
|
||||
setPointerState (pointerState, time, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component* getTargetForGesture (ComponentPeer& peer, Point<float> positionWithinPeer,
|
||||
Time time, Point<float>& screenPos)
|
||||
{
|
||||
lastTime = time;
|
||||
++mouseEventCounter;
|
||||
|
||||
screenPos = peer.localToGlobal (positionWithinPeer);
|
||||
const auto pointerState = lastPointerState.withPosition (screenPos);
|
||||
setPeer (peer, pointerState, time);
|
||||
setPointerState (pointerState, time, false);
|
||||
triggerFakeMove();
|
||||
|
||||
return getComponentUnderMouse();
|
||||
}
|
||||
|
||||
void handleWheel (ComponentPeer& peer, Point<float> positionWithinPeer,
|
||||
Time time, const MouseWheelDetails& wheel)
|
||||
{
|
||||
Desktop::getInstance().incrementMouseWheelCounter();
|
||||
Point<float> screenPos;
|
||||
|
||||
// This will make sure that when the wheel spins in its inertial phase, any events
|
||||
// continue to be sent to the last component that the mouse was over when it was being
|
||||
// actively controlled by the user. This avoids confusion when scrolling through nested
|
||||
// scrollable components.
|
||||
if (lastNonInertialWheelTarget == nullptr || ! wheel.isInertial)
|
||||
lastNonInertialWheelTarget = getTargetForGesture (peer, positionWithinPeer, time, screenPos);
|
||||
else
|
||||
screenPos = peer.localToGlobal (positionWithinPeer);
|
||||
|
||||
if (auto target = lastNonInertialWheelTarget.get())
|
||||
sendMouseWheel (*target, screenPos, time, wheel);
|
||||
}
|
||||
|
||||
void handleMagnifyGesture (ComponentPeer& peer, Point<float> positionWithinPeer,
|
||||
Time time, const float scaleFactor)
|
||||
{
|
||||
Point<float> screenPos;
|
||||
|
||||
if (auto* current = getTargetForGesture (peer, positionWithinPeer, time, screenPos))
|
||||
sendMagnifyGesture (*current, screenPos, time, scaleFactor);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Time getLastMouseDownTime() const noexcept
|
||||
{
|
||||
return mouseDowns[0].time;
|
||||
}
|
||||
|
||||
Point<float> getLastMouseDownPosition() const noexcept
|
||||
{
|
||||
return SH::unscaledScreenPosToScaled (mouseDowns[0].position);
|
||||
}
|
||||
|
||||
int getNumberOfMultipleClicks() const noexcept
|
||||
{
|
||||
int numClicks = 1;
|
||||
|
||||
if (! isLongPressOrDrag())
|
||||
{
|
||||
for (int i = 1; i < numElementsInArray (mouseDowns); ++i)
|
||||
{
|
||||
if (mouseDowns[0].canBePartOfMultipleClickWith (mouseDowns[i], MouseEvent::getDoubleClickTimeout() * jmin (i, 2)))
|
||||
++numClicks;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return numClicks;
|
||||
}
|
||||
|
||||
bool isLongPressOrDrag() const noexcept
|
||||
{
|
||||
return movedSignificantly ||
|
||||
lastTime > (mouseDowns[0].time + RelativeTime::milliseconds (300));
|
||||
}
|
||||
|
||||
bool hasMovedSignificantlySincePressed() const noexcept
|
||||
{
|
||||
return movedSignificantly;
|
||||
}
|
||||
|
||||
// Deprecated method
|
||||
bool hasMouseMovedSignificantlySincePressed() const noexcept
|
||||
{
|
||||
return isLongPressOrDrag();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void triggerFakeMove()
|
||||
{
|
||||
triggerAsyncUpdate();
|
||||
}
|
||||
|
||||
void handleAsyncUpdate() override
|
||||
{
|
||||
setPointerState (lastPointerState,
|
||||
jmax (lastTime, Time::getCurrentTime()), true);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void enableUnboundedMouseMovement (bool enable, bool keepCursorVisibleUntilOffscreen)
|
||||
{
|
||||
enable = enable && isDragging();
|
||||
isCursorVisibleUntilOffscreen = keepCursorVisibleUntilOffscreen;
|
||||
|
||||
if (enable != isUnboundedMouseModeOn)
|
||||
{
|
||||
if ((! enable) && ((! isCursorVisibleUntilOffscreen) || ! unboundedMouseOffset.isOrigin()))
|
||||
{
|
||||
// when released, return the mouse to within the component's bounds
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
setScreenPosition (current->getScreenBounds().toFloat()
|
||||
.getConstrainedPoint (SH::unscaledScreenPosToScaled (lastPointerState.position)));
|
||||
}
|
||||
|
||||
isUnboundedMouseModeOn = enable;
|
||||
unboundedMouseOffset = {};
|
||||
|
||||
revealCursor (true);
|
||||
}
|
||||
}
|
||||
|
||||
void handleUnboundedDrag (Component& current)
|
||||
{
|
||||
auto componentScreenBounds = SH::scaledScreenPosToUnscaled (current.getParentMonitorArea()
|
||||
.reduced (2, 2)
|
||||
.toFloat());
|
||||
|
||||
if (! componentScreenBounds.contains (lastPointerState.position))
|
||||
{
|
||||
auto componentCentre = current.getScreenBounds().toFloat().getCentre();
|
||||
unboundedMouseOffset += (lastPointerState.position - SH::scaledScreenPosToUnscaled (componentCentre));
|
||||
setScreenPosition (componentCentre);
|
||||
}
|
||||
else if (isCursorVisibleUntilOffscreen
|
||||
&& (! unboundedMouseOffset.isOrigin())
|
||||
&& componentScreenBounds.contains (lastPointerState.position + unboundedMouseOffset))
|
||||
{
|
||||
MouseInputSource::setRawMousePosition (lastPointerState.position + unboundedMouseOffset);
|
||||
unboundedMouseOffset = {};
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void showMouseCursor (MouseCursor cursor, bool forcedUpdate)
|
||||
{
|
||||
if (isUnboundedMouseModeOn && ((! unboundedMouseOffset.isOrigin()) || ! isCursorVisibleUntilOffscreen))
|
||||
{
|
||||
cursor = MouseCursor::NoCursor;
|
||||
forcedUpdate = true;
|
||||
}
|
||||
|
||||
if (forcedUpdate || cursor.getHandle() != currentCursorHandle)
|
||||
{
|
||||
currentCursorHandle = cursor.getHandle();
|
||||
cursor.showInWindow (getPeer());
|
||||
}
|
||||
}
|
||||
|
||||
void hideCursor()
|
||||
{
|
||||
showMouseCursor (MouseCursor::NoCursor, true);
|
||||
}
|
||||
|
||||
void revealCursor (bool forcedUpdate)
|
||||
{
|
||||
MouseCursor mc (MouseCursor::NormalCursor);
|
||||
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
mc = current->getLookAndFeel().getMouseCursorFor (*current);
|
||||
|
||||
showMouseCursor (mc, forcedUpdate);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
const int index;
|
||||
const MouseInputSource::InputSourceType inputType;
|
||||
Point<float> unboundedMouseOffset; // NB: these are unscaled coords
|
||||
detail::PointerState lastPointerState;
|
||||
ModifierKeys buttonState;
|
||||
|
||||
bool isUnboundedMouseModeOn = false, isCursorVisibleUntilOffscreen = false;
|
||||
|
||||
private:
|
||||
WeakReference<Component> componentUnderMouse, lastNonInertialWheelTarget;
|
||||
ComponentPeer* lastPeer = nullptr;
|
||||
|
||||
void* currentCursorHandle = nullptr;
|
||||
int mouseEventCounter = 0;
|
||||
|
||||
struct RecentMouseDown
|
||||
{
|
||||
RecentMouseDown() = default;
|
||||
|
||||
Point<float> position;
|
||||
Time time;
|
||||
ModifierKeys buttons;
|
||||
uint32 peerID = 0;
|
||||
bool isTouch = false;
|
||||
|
||||
bool canBePartOfMultipleClickWith (const RecentMouseDown& other, int maxTimeBetweenMs) const noexcept
|
||||
{
|
||||
return time - other.time < RelativeTime::milliseconds (maxTimeBetweenMs)
|
||||
&& std::abs (position.x - other.position.x) < (float) getPositionToleranceForInputType()
|
||||
&& std::abs (position.y - other.position.y) < (float) getPositionToleranceForInputType()
|
||||
&& buttons == other.buttons
|
||||
&& peerID == other.peerID;
|
||||
}
|
||||
|
||||
int getPositionToleranceForInputType() const noexcept { return isTouch ? 25 : 8; }
|
||||
};
|
||||
|
||||
RecentMouseDown mouseDowns[4];
|
||||
Time lastTime;
|
||||
bool movedSignificantly = false;
|
||||
|
||||
void registerMouseDown (Point<float> screenPos, Time time, Component& component,
|
||||
const ModifierKeys modifiers, bool isTouchSource) noexcept
|
||||
{
|
||||
for (int i = numElementsInArray (mouseDowns); --i > 0;)
|
||||
mouseDowns[i] = mouseDowns[i - 1];
|
||||
|
||||
mouseDowns[0].position = screenPos;
|
||||
mouseDowns[0].time = time;
|
||||
mouseDowns[0].buttons = modifiers.withOnlyMouseButtons();
|
||||
mouseDowns[0].isTouch = isTouchSource;
|
||||
|
||||
if (auto* peer = component.getPeer())
|
||||
mouseDowns[0].peerID = peer->getUniqueID();
|
||||
else
|
||||
mouseDowns[0].peerID = 0;
|
||||
|
||||
movedSignificantly = false;
|
||||
lastNonInertialWheelTarget = nullptr;
|
||||
}
|
||||
|
||||
void registerMouseDrag (Point<float> screenPos) noexcept
|
||||
{
|
||||
movedSignificantly = movedSignificantly || mouseDowns[0].position.getDistanceFrom (screenPos) >= 4;
|
||||
}
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MouseInputSourceImpl)
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
154
modules/juce_gui_basics/detail/juce_MouseInputSourceList.h
Normal file
154
modules/juce_gui_basics/detail/juce_MouseInputSourceList.h
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
class MouseInputSourceList : public Timer
|
||||
{
|
||||
public:
|
||||
MouseInputSourceList()
|
||||
{
|
||||
#if JUCE_ANDROID || JUCE_IOS
|
||||
auto mainMouseInputType = MouseInputSource::InputSourceType::touch;
|
||||
#else
|
||||
auto mainMouseInputType = MouseInputSource::InputSourceType::mouse;
|
||||
#endif
|
||||
|
||||
addSource (0, mainMouseInputType);
|
||||
}
|
||||
|
||||
MouseInputSource* addSource (int index, MouseInputSource::InputSourceType type)
|
||||
{
|
||||
auto* s = new MouseInputSourceImpl (index, type);
|
||||
sources.add (s);
|
||||
sourceArray.add (MouseInputSource (s));
|
||||
|
||||
return &sourceArray.getReference (sourceArray.size() - 1);
|
||||
}
|
||||
|
||||
MouseInputSource* getMouseSource (int index) noexcept
|
||||
{
|
||||
return isPositiveAndBelow (index, sourceArray.size()) ? &sourceArray.getReference (index)
|
||||
: nullptr;
|
||||
}
|
||||
|
||||
MouseInputSource* getOrCreateMouseInputSource (MouseInputSource::InputSourceType type, int touchIndex = 0)
|
||||
{
|
||||
if (type == MouseInputSource::InputSourceType::mouse
|
||||
|| type == MouseInputSource::InputSourceType::pen)
|
||||
{
|
||||
for (auto& m : sourceArray)
|
||||
if (type == m.getType())
|
||||
return &m;
|
||||
|
||||
addSource (0, type);
|
||||
}
|
||||
else if (type == MouseInputSource::InputSourceType::touch)
|
||||
{
|
||||
jassert (0 <= touchIndex && touchIndex < 100); // sanity-check on number of fingers
|
||||
|
||||
for (auto& m : sourceArray)
|
||||
if (type == m.getType() && touchIndex == m.getIndex())
|
||||
return &m;
|
||||
|
||||
if (canUseTouch())
|
||||
return addSource (touchIndex, type);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int getNumDraggingMouseSources() const noexcept
|
||||
{
|
||||
int num = 0;
|
||||
|
||||
for (auto* s : sources)
|
||||
if (s->isDragging())
|
||||
++num;
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
MouseInputSource* getDraggingMouseSource (int index) noexcept
|
||||
{
|
||||
int num = 0;
|
||||
|
||||
for (auto& s : sourceArray)
|
||||
{
|
||||
if (s.isDragging())
|
||||
{
|
||||
if (index == num)
|
||||
return &s;
|
||||
|
||||
++num;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void beginDragAutoRepeat (int interval)
|
||||
{
|
||||
if (interval > 0)
|
||||
{
|
||||
if (getTimerInterval() != interval)
|
||||
startTimer (interval);
|
||||
}
|
||||
else
|
||||
{
|
||||
stopTimer();
|
||||
}
|
||||
}
|
||||
|
||||
void timerCallback() override
|
||||
{
|
||||
bool anyDragging = false;
|
||||
|
||||
for (auto* s : sources)
|
||||
{
|
||||
// NB: when doing auto-repeat, we need to force an update of the current position and button state,
|
||||
// because on some OSes the queue can get overloaded with messages so that mouse-events don't get through..
|
||||
if (s->isDragging() && ComponentPeer::getCurrentModifiersRealtime().isAnyMouseButtonDown())
|
||||
{
|
||||
s->lastPointerState.position = s->getRawScreenPosition();
|
||||
s->triggerFakeMove();
|
||||
anyDragging = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (! anyDragging)
|
||||
stopTimer();
|
||||
}
|
||||
|
||||
OwnedArray<MouseInputSourceImpl> sources;
|
||||
Array<MouseInputSource> sourceArray;
|
||||
|
||||
private:
|
||||
bool addSource();
|
||||
bool canUseTouch() const;
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
|
|
@ -23,11 +23,9 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
#ifndef DOXYGEN
|
||||
|
||||
class PointerState
|
||||
{
|
||||
auto tie() const noexcept
|
||||
|
|
@ -103,7 +101,4 @@ inline auto makeMouseEvent (MouseInputSource source,
|
|||
mouseWasDragged);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace juce
|
||||
} // namespace juce::detail
|
||||
123
modules/juce_gui_basics/detail/juce_ScalingHelpers.h
Normal file
123
modules/juce_gui_basics/detail/juce_ScalingHelpers.h
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct ScalingHelpers
|
||||
{
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect unscaledScreenPosToScaled (float scale, PointOrRect pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? pos / scale : pos;
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect scaledScreenPosToUnscaled (float scale, PointOrRect pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? pos * scale : pos;
|
||||
}
|
||||
|
||||
// For these, we need to avoid getSmallestIntegerContainer being used, which causes
|
||||
// judder when moving windows
|
||||
static Rectangle<int> unscaledScreenPosToScaled (float scale, Rectangle<int> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<int> (roundToInt ((float) pos.getX() / scale),
|
||||
roundToInt ((float) pos.getY() / scale),
|
||||
roundToInt ((float) pos.getWidth() / scale),
|
||||
roundToInt ((float) pos.getHeight() / scale)) : pos;
|
||||
}
|
||||
|
||||
static Rectangle<int> scaledScreenPosToUnscaled (float scale, Rectangle<int> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<int> (roundToInt ((float) pos.getX() * scale),
|
||||
roundToInt ((float) pos.getY() * scale),
|
||||
roundToInt ((float) pos.getWidth() * scale),
|
||||
roundToInt ((float) pos.getHeight() * scale)) : pos;
|
||||
}
|
||||
|
||||
static Rectangle<float> unscaledScreenPosToScaled (float scale, Rectangle<float> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<float> (pos.getX() / scale,
|
||||
pos.getY() / scale,
|
||||
pos.getWidth() / scale,
|
||||
pos.getHeight() / scale) : pos;
|
||||
}
|
||||
|
||||
static Rectangle<float> scaledScreenPosToUnscaled (float scale, Rectangle<float> pos) noexcept
|
||||
{
|
||||
return scale != 1.0f ? Rectangle<float> (pos.getX() * scale,
|
||||
pos.getY() * scale,
|
||||
pos.getWidth() * scale,
|
||||
pos.getHeight() * scale) : pos;
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect unscaledScreenPosToScaled (PointOrRect pos) noexcept
|
||||
{
|
||||
return unscaledScreenPosToScaled (Desktop::getInstance().getGlobalScaleFactor(), pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect scaledScreenPosToUnscaled (PointOrRect pos) noexcept
|
||||
{
|
||||
return scaledScreenPosToUnscaled (Desktop::getInstance().getGlobalScaleFactor(), pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect unscaledScreenPosToScaled (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
return unscaledScreenPosToScaled (comp.getDesktopScaleFactor(), pos);
|
||||
}
|
||||
|
||||
template <typename PointOrRect>
|
||||
static PointOrRect scaledScreenPosToUnscaled (const Component& comp, PointOrRect pos) noexcept
|
||||
{
|
||||
return scaledScreenPosToUnscaled (comp.getDesktopScaleFactor(), pos);
|
||||
}
|
||||
|
||||
static Point<int> addPosition (Point<int> p, const Component& c) noexcept { return p + c.getPosition(); }
|
||||
static Rectangle<int> addPosition (Rectangle<int> p, const Component& c) noexcept { return p + c.getPosition(); }
|
||||
static Point<float> addPosition (Point<float> p, const Component& c) noexcept { return p + c.getPosition().toFloat(); }
|
||||
static Rectangle<float> addPosition (Rectangle<float> p, const Component& c) noexcept { return p + c.getPosition().toFloat(); }
|
||||
static Point<int> subtractPosition (Point<int> p, const Component& c) noexcept { return p - c.getPosition(); }
|
||||
static Rectangle<int> subtractPosition (Rectangle<int> p, const Component& c) noexcept { return p - c.getPosition(); }
|
||||
static Point<float> subtractPosition (Point<float> p, const Component& c) noexcept { return p - c.getPosition().toFloat(); }
|
||||
static Rectangle<float> subtractPosition (Rectangle<float> p, const Component& c) noexcept { return p - c.getPosition().toFloat(); }
|
||||
|
||||
static Point<float> screenPosToLocalPos (Component& comp, Point<float> pos)
|
||||
{
|
||||
if (auto* peer = comp.getPeer())
|
||||
{
|
||||
pos = peer->globalToLocal (pos);
|
||||
auto& peerComp = peer->getComponent();
|
||||
return comp.getLocalPoint (&peerComp, unscaledScreenPosToScaled (peerComp, pos));
|
||||
}
|
||||
|
||||
return comp.getLocalPoint (nullptr, unscaledScreenPosToScaled (comp, pos));
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
123
modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h
Normal file
123
modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
//==============================================================================
|
||||
class ScopedMessageBoxImpl : private AsyncUpdater
|
||||
{
|
||||
public:
|
||||
static ScopedMessageBox show (std::unique_ptr<ScopedMessageBoxInterface>&& native,
|
||||
std::function<void (int)> callback)
|
||||
{
|
||||
return ScopedMessageBox (runAsync (std::move (native),
|
||||
rawToUniquePtr (ModalCallbackFunction::create (std::move (callback)))));
|
||||
}
|
||||
|
||||
static int showUnmanaged (std::unique_ptr<ScopedMessageBoxInterface>&& native,
|
||||
ModalComponentManager::Callback* cb)
|
||||
{
|
||||
#if JUCE_MODAL_LOOPS_PERMITTED
|
||||
if (cb == nullptr)
|
||||
return runSync (std::move (native));
|
||||
#endif
|
||||
|
||||
runAsync (std::move (native), rawToUniquePtr (cb));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
~ScopedMessageBoxImpl() override
|
||||
{
|
||||
cancelPendingUpdate();
|
||||
}
|
||||
|
||||
void close()
|
||||
{
|
||||
cancelPendingUpdate();
|
||||
nativeImplementation->close();
|
||||
self.reset();
|
||||
}
|
||||
|
||||
private:
|
||||
static std::shared_ptr<ScopedMessageBoxImpl> runAsync (std::unique_ptr<ScopedMessageBoxInterface>&& p,
|
||||
std::unique_ptr<ModalComponentManager::Callback>&& c)
|
||||
{
|
||||
std::shared_ptr<ScopedMessageBoxImpl> result (new ScopedMessageBoxImpl (std::move (p), std::move (c)));
|
||||
result->self = result;
|
||||
result->triggerAsyncUpdate();
|
||||
return result;
|
||||
}
|
||||
|
||||
static int runSync (std::unique_ptr<ScopedMessageBoxInterface>&& p)
|
||||
{
|
||||
auto local = std::move (p);
|
||||
return local != nullptr ? local->runSync() : 0;
|
||||
}
|
||||
|
||||
explicit ScopedMessageBoxImpl (std::unique_ptr<ScopedMessageBoxInterface>&& p)
|
||||
: ScopedMessageBoxImpl (std::move (p), nullptr) {}
|
||||
|
||||
ScopedMessageBoxImpl (std::unique_ptr<ScopedMessageBoxInterface>&& p,
|
||||
std::unique_ptr<ModalComponentManager::Callback>&& c)
|
||||
: callback (std::move (c)), nativeImplementation (std::move (p)) {}
|
||||
|
||||
void handleAsyncUpdate() override
|
||||
{
|
||||
nativeImplementation->runAsync ([weakRecipient = std::weak_ptr<ScopedMessageBoxImpl> (self)] (int result)
|
||||
{
|
||||
const auto notifyRecipient = [result, weakRecipient]
|
||||
{
|
||||
if (const auto locked = weakRecipient.lock())
|
||||
{
|
||||
if (auto* cb = locked->callback.get())
|
||||
cb->modalStateFinished (result);
|
||||
|
||||
locked->self.reset();
|
||||
}
|
||||
};
|
||||
|
||||
if (MessageManager::getInstance()->isThisTheMessageThread())
|
||||
notifyRecipient();
|
||||
else
|
||||
MessageManager::callAsync (notifyRecipient);
|
||||
});
|
||||
}
|
||||
|
||||
std::unique_ptr<ModalComponentManager::Callback> callback;
|
||||
std::unique_ptr<ScopedMessageBoxInterface> nativeImplementation;
|
||||
|
||||
/* The 'old' native message box API doesn't have a concept of message box owners.
|
||||
Instead, message boxes have to clean up after themselves, once they're done displaying.
|
||||
To allow this mode of usage, the implementation keeps an owning reference to itself,
|
||||
which is cleared once the message box is closed or asked to quit. To display a native
|
||||
message box without a scoped lifetime, just create a Pimpl instance without using
|
||||
the ScopedMessageBox wrapper, and the Pimpl will destroy itself after it is dismissed.
|
||||
*/
|
||||
std::shared_ptr<ScopedMessageBoxImpl> self;
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
/*
|
||||
Instances of this type can show and dismiss a message box.
|
||||
|
||||
This is an interface rather than a concrete type so that platforms can pick an implementation at
|
||||
runtime if necessary.
|
||||
*/
|
||||
struct ScopedMessageBoxInterface
|
||||
{
|
||||
virtual ~ScopedMessageBoxInterface() = default;
|
||||
|
||||
/* Shows the message box.
|
||||
|
||||
When the message box exits normally, it should send the result to the passed-in function.
|
||||
The passed-in function is safe to call from any thread at any time.
|
||||
*/
|
||||
virtual void runAsync (std::function<void (int)>) = 0;
|
||||
|
||||
/* Shows the message box and blocks. */
|
||||
virtual int runSync() = 0;
|
||||
|
||||
/* Forcefully closes the message box.
|
||||
|
||||
This will be called when the message box handle has fallen out of scope.
|
||||
If the message box has already been closed by the user, this shouldn't do anything.
|
||||
*/
|
||||
virtual void close() = 0;
|
||||
|
||||
/* Implemented differently for each platform. */
|
||||
static std::unique_ptr<ScopedMessageBoxInterface> create (const MessageBoxOptions& options);
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
class ToolbarItemDragAndDropOverlayComponent : public Component
|
||||
{
|
||||
public:
|
||||
ToolbarItemDragAndDropOverlayComponent()
|
||||
: isDragging (false)
|
||||
{
|
||||
setAlwaysOnTop (true);
|
||||
setRepaintsOnMouseActivity (true);
|
||||
setMouseCursor (MouseCursor::DraggingHandCursor);
|
||||
}
|
||||
|
||||
void paint (Graphics& g) override
|
||||
{
|
||||
if (ToolbarItemComponent* const tc = getToolbarItemComponent())
|
||||
{
|
||||
if (isMouseOverOrDragging()
|
||||
&& tc->getEditingMode() == ToolbarItemComponent::editableOnToolbar)
|
||||
{
|
||||
g.setColour (findColour (Toolbar::editingModeOutlineColourId, true));
|
||||
g.drawRect (getLocalBounds(), jmin (2, (getWidth() - 1) / 2,
|
||||
(getHeight() - 1) / 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void mouseDown (const MouseEvent& e) override
|
||||
{
|
||||
isDragging = false;
|
||||
|
||||
if (ToolbarItemComponent* const tc = getToolbarItemComponent())
|
||||
{
|
||||
tc->dragOffsetX = e.x;
|
||||
tc->dragOffsetY = e.y;
|
||||
}
|
||||
}
|
||||
|
||||
void mouseDrag (const MouseEvent& e) override
|
||||
{
|
||||
if (e.mouseWasDraggedSinceMouseDown() && ! isDragging)
|
||||
{
|
||||
isDragging = true;
|
||||
|
||||
if (DragAndDropContainer* const dnd = DragAndDropContainer::findParentDragContainerFor (this))
|
||||
{
|
||||
dnd->startDragging (Toolbar::toolbarDragDescriptor, getParentComponent(), ScaledImage(), true, nullptr, &e.source);
|
||||
|
||||
if (ToolbarItemComponent* const tc = getToolbarItemComponent())
|
||||
{
|
||||
tc->isBeingDragged = true;
|
||||
|
||||
if (tc->getEditingMode() == ToolbarItemComponent::editableOnToolbar)
|
||||
tc->setVisible (false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void mouseUp (const MouseEvent&) override
|
||||
{
|
||||
isDragging = false;
|
||||
|
||||
if (ToolbarItemComponent* const tc = getToolbarItemComponent())
|
||||
{
|
||||
tc->isBeingDragged = false;
|
||||
|
||||
if (Toolbar* const tb = tc->getToolbar())
|
||||
tb->updateAllItemPositions (true);
|
||||
else if (tc->getEditingMode() == ToolbarItemComponent::editableOnToolbar)
|
||||
delete tc;
|
||||
}
|
||||
}
|
||||
|
||||
void parentSizeChanged() override
|
||||
{
|
||||
setBounds (0, 0, getParentWidth(), getParentHeight());
|
||||
}
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
bool isDragging;
|
||||
|
||||
ToolbarItemComponent* getToolbarItemComponent() const noexcept
|
||||
{
|
||||
return dynamic_cast<ToolbarItemComponent*> (getParentComponent());
|
||||
}
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ToolbarItemDragAndDropOverlayComponent)
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
136
modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h
Normal file
136
modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
/** Keeps track of the active top level window. */
|
||||
class TopLevelWindowManager : private Timer,
|
||||
private DeletedAtShutdown
|
||||
{
|
||||
public:
|
||||
TopLevelWindowManager() = default;
|
||||
|
||||
~TopLevelWindowManager() override
|
||||
{
|
||||
clearSingletonInstance();
|
||||
}
|
||||
|
||||
JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL (TopLevelWindowManager)
|
||||
|
||||
static void checkCurrentlyFocusedTopLevelWindow()
|
||||
{
|
||||
if (auto* wm = TopLevelWindowManager::getInstanceWithoutCreating())
|
||||
wm->checkFocusAsync();
|
||||
}
|
||||
|
||||
void checkFocusAsync()
|
||||
{
|
||||
startTimer (10);
|
||||
}
|
||||
|
||||
void checkFocus()
|
||||
{
|
||||
startTimer (jmin (1731, getTimerInterval() * 2));
|
||||
|
||||
auto* newActive = findCurrentlyActiveWindow();
|
||||
|
||||
if (newActive != currentActive)
|
||||
{
|
||||
currentActive = newActive;
|
||||
|
||||
for (int i = windows.size(); --i >= 0;)
|
||||
if (auto* tlw = windows[i])
|
||||
tlw->setWindowActive (isWindowActive (tlw));
|
||||
|
||||
Desktop::getInstance().triggerFocusCallback();
|
||||
}
|
||||
}
|
||||
|
||||
bool addWindow (TopLevelWindow* const w)
|
||||
{
|
||||
windows.add (w);
|
||||
checkFocusAsync();
|
||||
|
||||
return isWindowActive (w);
|
||||
}
|
||||
|
||||
void removeWindow (TopLevelWindow* const w)
|
||||
{
|
||||
checkFocusAsync();
|
||||
|
||||
if (currentActive == w)
|
||||
currentActive = nullptr;
|
||||
|
||||
windows.removeFirstMatchingValue (w);
|
||||
|
||||
if (windows.isEmpty())
|
||||
deleteInstance();
|
||||
}
|
||||
|
||||
Array<TopLevelWindow*> windows;
|
||||
|
||||
private:
|
||||
TopLevelWindow* currentActive = nullptr;
|
||||
|
||||
void timerCallback() override
|
||||
{
|
||||
checkFocus();
|
||||
}
|
||||
|
||||
bool isWindowActive (TopLevelWindow* const tlw) const
|
||||
{
|
||||
return (tlw == currentActive
|
||||
|| tlw->isParentOf (currentActive)
|
||||
|| tlw->hasKeyboardFocus (true))
|
||||
&& tlw->isShowing();
|
||||
}
|
||||
|
||||
TopLevelWindow* findCurrentlyActiveWindow() const
|
||||
{
|
||||
if (Process::isForegroundProcess())
|
||||
{
|
||||
auto* focusedComp = Component::getCurrentlyFocusedComponent();
|
||||
auto* w = dynamic_cast<TopLevelWindow*> (focusedComp);
|
||||
|
||||
if (w == nullptr && focusedComp != nullptr)
|
||||
w = focusedComp->findParentComponentOfClass<TopLevelWindow>();
|
||||
|
||||
if (w == nullptr)
|
||||
w = currentActive;
|
||||
|
||||
if (w != nullptr && w->isShowing())
|
||||
return w;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE (TopLevelWindowManager)
|
||||
};
|
||||
|
||||
JUCE_IMPLEMENT_SINGLETON (TopLevelWindowManager)
|
||||
|
||||
} // namespace juce::detail
|
||||
49
modules/juce_gui_basics/detail/juce_ViewportHelpers.h
Normal file
49
modules/juce_gui_basics/detail/juce_ViewportHelpers.h
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct ViewportHelpers
|
||||
{
|
||||
ViewportHelpers() = delete;
|
||||
|
||||
static bool wouldScrollOnEvent (const Viewport* vp, const MouseInputSource& src)
|
||||
{
|
||||
if (vp != nullptr)
|
||||
{
|
||||
switch (vp->getScrollOnDragMode())
|
||||
{
|
||||
case Viewport::ScrollOnDragMode::all: return true;
|
||||
case Viewport::ScrollOnDragMode::nonHover: return ! src.canHover();
|
||||
case Viewport::ScrollOnDragMode::never: return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
54
modules/juce_gui_basics/detail/juce_WindowingHelpers.h
Normal file
54
modules/juce_gui_basics/detail/juce_WindowingHelpers.h
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
struct WindowingHelpers
|
||||
{
|
||||
WindowingHelpers() = delete;
|
||||
|
||||
static Image createIconForFile (const File& file);
|
||||
|
||||
static bool areThereAnyAlwaysOnTopWindows();
|
||||
|
||||
#if JUCE_WINDOWS
|
||||
static bool isEmbeddedInForegroundProcess (Component* c);
|
||||
static bool isWindowOnCurrentVirtualDesktop (void*);
|
||||
#else
|
||||
static bool isEmbeddedInForegroundProcess (Component*) { return false; }
|
||||
static bool isWindowOnCurrentVirtualDesktop (void*) { return true; }
|
||||
#endif
|
||||
|
||||
/* Returns true if this process is in the foreground, or if the viewComponent
|
||||
is embedded into a window owned by the foreground process.
|
||||
*/
|
||||
static bool isForegroundOrEmbeddedProcess (Component* viewComponent)
|
||||
{
|
||||
return Process::isForegroundProcess() || isEmbeddedInForegroundProcess (viewComponent);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace juce::detail
|
||||
|
|
@ -605,7 +605,7 @@ void FileBrowserComponent::getRoots (StringArray& rootNames, StringArray& rootPa
|
|||
|
||||
void FileBrowserComponent::timerCallback()
|
||||
{
|
||||
const auto isProcessActive = isForegroundOrEmbeddedProcess (this);
|
||||
const auto isProcessActive = detail::WindowingHelpers::isForegroundOrEmbeddedProcess (this);
|
||||
|
||||
if (wasProcessActive != isProcessActive)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ bool FileChooser::browseForDirectory()
|
|||
|
||||
bool FileChooser::showDialog (const int flags, FilePreviewComponent* const previewComp)
|
||||
{
|
||||
FocusRestorer focusRestorer;
|
||||
detail::FocusRestorer focusRestorer;
|
||||
|
||||
pimpl = createPimpl (flags, previewComp);
|
||||
pimpl->runModally();
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ FileChooserDialogBox::FileChooserDialogBox (const String& name,
|
|||
if (parentComp != nullptr)
|
||||
parentComp->addAndMakeVisible (this);
|
||||
else
|
||||
setAlwaysOnTop (juce_areThereAnyAlwaysOnTopWindows());
|
||||
setAlwaysOnTop (detail::WindowingHelpers::areThereAnyAlwaysOnTopWindows());
|
||||
}
|
||||
|
||||
FileChooserDialogBox::~FileChooserDialogBox()
|
||||
|
|
|
|||
|
|
@ -26,9 +26,6 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
Image juce_createIconForFile (const File& file);
|
||||
|
||||
|
||||
//==============================================================================
|
||||
FileListComponent::FileListComponent (DirectoryContentsList& listToShow)
|
||||
: ListBox ({}, this),
|
||||
|
|
@ -217,7 +214,7 @@ private:
|
|||
|
||||
if (im.isNull() && ! onlyUpdateIfCached)
|
||||
{
|
||||
im = juce_createIconForFile (file);
|
||||
im = detail::WindowingHelpers::createIconForFile (file);
|
||||
|
||||
if (im.isValid())
|
||||
ImageCache::addImageToCache (im, hashCode);
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ private:
|
|||
|
||||
if (im.isNull() && ! onlyUpdateIfCached)
|
||||
{
|
||||
im = juce_createIconForFile (file);
|
||||
im = detail::WindowingHelpers::createIconForFile (file);
|
||||
|
||||
if (im.isValid())
|
||||
ImageCache::addImageToCache (im, hashCode);
|
||||
|
|
|
|||
|
|
@ -107,180 +107,26 @@
|
|||
#endif
|
||||
|
||||
//==============================================================================
|
||||
#define JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED_OR_OFFSCREEN \
|
||||
jassert ((MessageManager::getInstanceWithoutCreating() != nullptr \
|
||||
&& MessageManager::getInstanceWithoutCreating()->currentThreadHasLockedMessageManager()) \
|
||||
|| getPeer() == nullptr);
|
||||
|
||||
namespace juce
|
||||
{
|
||||
bool juce_areThereAnyAlwaysOnTopWindows();
|
||||
|
||||
bool isEmbeddedInForegroundProcess (Component* c);
|
||||
|
||||
#if ! JUCE_WINDOWS
|
||||
bool isEmbeddedInForegroundProcess (Component*) { return false; }
|
||||
#endif
|
||||
|
||||
/* Returns true if this process is in the foreground, or if the viewComponent
|
||||
is embedded into a window owned by the foreground process.
|
||||
*/
|
||||
static bool isForegroundOrEmbeddedProcess (Component* viewComponent)
|
||||
{
|
||||
return Process::isForegroundProcess() || isEmbeddedInForegroundProcess (viewComponent);
|
||||
}
|
||||
|
||||
bool isWindowOnCurrentVirtualDesktop (void*);
|
||||
|
||||
struct CustomMouseCursorInfo
|
||||
{
|
||||
ScaledImage image;
|
||||
Point<int> hotspot;
|
||||
};
|
||||
|
||||
template <typename MemberFn>
|
||||
static const AccessibilityHandler* getEnclosingHandlerWithInterface (const AccessibilityHandler* handler, MemberFn fn)
|
||||
{
|
||||
if (handler == nullptr)
|
||||
return nullptr;
|
||||
|
||||
if ((handler->*fn)() != nullptr)
|
||||
return handler;
|
||||
|
||||
return getEnclosingHandlerWithInterface (handler->getParent(), fn);
|
||||
}
|
||||
} // namespace juce
|
||||
|
||||
#include "mouse/juce_PointerState.h"
|
||||
|
||||
#include "accessibility/juce_AccessibilityHandler.cpp"
|
||||
#include "components/juce_Component.cpp"
|
||||
#include "components/juce_ComponentListener.cpp"
|
||||
#include "components/juce_FocusTraverser.cpp"
|
||||
#include "mouse/juce_MouseInputSource.cpp"
|
||||
#include "desktop/juce_Displays.cpp"
|
||||
#include "desktop/juce_Desktop.cpp"
|
||||
#include "components/juce_ModalComponentManager.cpp"
|
||||
#include "mouse/juce_ComponentDragger.cpp"
|
||||
#include "mouse/juce_DragAndDropContainer.cpp"
|
||||
#include "mouse/juce_MouseEvent.cpp"
|
||||
#include "mouse/juce_MouseInactivityDetector.cpp"
|
||||
#include "mouse/juce_MouseListener.cpp"
|
||||
#include "keyboard/juce_CaretComponent.cpp"
|
||||
#include "keyboard/juce_KeyboardFocusTraverser.cpp"
|
||||
#include "keyboard/juce_KeyListener.cpp"
|
||||
#include "keyboard/juce_KeyPress.cpp"
|
||||
#include "keyboard/juce_ModifierKeys.cpp"
|
||||
#include "buttons/juce_ArrowButton.cpp"
|
||||
#include "buttons/juce_Button.cpp"
|
||||
#include "buttons/juce_DrawableButton.cpp"
|
||||
#include "buttons/juce_HyperlinkButton.cpp"
|
||||
#include "buttons/juce_ImageButton.cpp"
|
||||
#include "buttons/juce_ShapeButton.cpp"
|
||||
#include "buttons/juce_TextButton.cpp"
|
||||
#include "buttons/juce_ToggleButton.cpp"
|
||||
#include "buttons/juce_ToolbarButton.cpp"
|
||||
#include "drawables/juce_Drawable.cpp"
|
||||
#include "drawables/juce_DrawableComposite.cpp"
|
||||
#include "drawables/juce_DrawableImage.cpp"
|
||||
#include "drawables/juce_DrawablePath.cpp"
|
||||
#include "drawables/juce_DrawableRectangle.cpp"
|
||||
#include "drawables/juce_DrawableShape.cpp"
|
||||
#include "drawables/juce_DrawableText.cpp"
|
||||
#include "drawables/juce_SVGParser.cpp"
|
||||
#include "filebrowser/juce_DirectoryContentsDisplayComponent.cpp"
|
||||
#include "filebrowser/juce_DirectoryContentsList.cpp"
|
||||
#include "filebrowser/juce_FileBrowserComponent.cpp"
|
||||
#include "filebrowser/juce_FileChooser.cpp"
|
||||
#include "filebrowser/juce_FileChooserDialogBox.cpp"
|
||||
#include "filebrowser/juce_FileListComponent.cpp"
|
||||
#include "filebrowser/juce_FilenameComponent.cpp"
|
||||
#include "filebrowser/juce_FileSearchPathListComponent.cpp"
|
||||
#include "filebrowser/juce_FileTreeComponent.cpp"
|
||||
#include "filebrowser/juce_ImagePreviewComponent.cpp"
|
||||
#include "filebrowser/juce_ContentSharer.cpp"
|
||||
#include "layout/juce_ComponentAnimator.cpp"
|
||||
#include "layout/juce_ComponentBoundsConstrainer.cpp"
|
||||
#include "layout/juce_ComponentBuilder.cpp"
|
||||
#include "layout/juce_ComponentMovementWatcher.cpp"
|
||||
#include "layout/juce_ConcertinaPanel.cpp"
|
||||
#include "layout/juce_GroupComponent.cpp"
|
||||
#include "layout/juce_MultiDocumentPanel.cpp"
|
||||
#include "layout/juce_ResizableBorderComponent.cpp"
|
||||
#include "layout/juce_ResizableCornerComponent.cpp"
|
||||
#include "layout/juce_ResizableEdgeComponent.cpp"
|
||||
#include "layout/juce_ScrollBar.cpp"
|
||||
#include "layout/juce_SidePanel.cpp"
|
||||
#include "layout/juce_StretchableLayoutManager.cpp"
|
||||
#include "layout/juce_StretchableLayoutResizerBar.cpp"
|
||||
#include "layout/juce_StretchableObjectResizer.cpp"
|
||||
#include "layout/juce_TabbedButtonBar.cpp"
|
||||
#include "layout/juce_TabbedComponent.cpp"
|
||||
#include "layout/juce_Viewport.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V2.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V1.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V3.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V4.cpp"
|
||||
#include "menus/juce_MenuBarComponent.cpp"
|
||||
#include "menus/juce_BurgerMenuComponent.cpp"
|
||||
#include "menus/juce_MenuBarModel.cpp"
|
||||
#include "menus/juce_PopupMenu.cpp"
|
||||
#include "positioning/juce_MarkerList.cpp"
|
||||
#include "positioning/juce_RelativeCoordinate.cpp"
|
||||
#include "positioning/juce_RelativeCoordinatePositioner.cpp"
|
||||
#include "positioning/juce_RelativeParallelogram.cpp"
|
||||
#include "positioning/juce_RelativePoint.cpp"
|
||||
#include "positioning/juce_RelativePointPath.cpp"
|
||||
#include "positioning/juce_RelativeRectangle.cpp"
|
||||
#include "properties/juce_BooleanPropertyComponent.cpp"
|
||||
#include "properties/juce_ButtonPropertyComponent.cpp"
|
||||
#include "properties/juce_ChoicePropertyComponent.cpp"
|
||||
#include "properties/juce_PropertyComponent.cpp"
|
||||
#include "properties/juce_PropertyPanel.cpp"
|
||||
#include "properties/juce_SliderPropertyComponent.cpp"
|
||||
#include "properties/juce_TextPropertyComponent.cpp"
|
||||
#include "properties/juce_MultiChoicePropertyComponent.cpp"
|
||||
#include "widgets/juce_ComboBox.cpp"
|
||||
#include "widgets/juce_ImageComponent.cpp"
|
||||
#include "widgets/juce_Label.cpp"
|
||||
#include "widgets/juce_ListBox.cpp"
|
||||
#include "widgets/juce_ProgressBar.cpp"
|
||||
#include "widgets/juce_Slider.cpp"
|
||||
#include "widgets/juce_TableHeaderComponent.cpp"
|
||||
#include "widgets/juce_TableListBox.cpp"
|
||||
#include "widgets/juce_TextEditor.cpp"
|
||||
#include "widgets/juce_ToolbarItemComponent.cpp"
|
||||
#include "widgets/juce_Toolbar.cpp"
|
||||
#include "widgets/juce_ToolbarItemPalette.cpp"
|
||||
#include "widgets/juce_TreeView.cpp"
|
||||
#include "windows/juce_MessageBoxOptions.cpp"
|
||||
#include "windows/juce_ScopedMessageBox.cpp"
|
||||
#include "windows/juce_AlertWindow.cpp"
|
||||
#include "windows/juce_NativeMessageBox.cpp"
|
||||
#include "windows/juce_CallOutBox.cpp"
|
||||
#include "windows/juce_ComponentPeer.cpp"
|
||||
#include "windows/juce_DialogWindow.cpp"
|
||||
#include "windows/juce_DocumentWindow.cpp"
|
||||
#include "windows/juce_ResizableWindow.cpp"
|
||||
#include "windows/juce_ThreadWithProgressWindow.cpp"
|
||||
#include "windows/juce_TooltipWindow.cpp"
|
||||
#include "windows/juce_TopLevelWindow.cpp"
|
||||
#include "windows/juce_VBlankAttachement.cpp"
|
||||
#include "commands/juce_ApplicationCommandInfo.cpp"
|
||||
#include "commands/juce_ApplicationCommandManager.cpp"
|
||||
#include "commands/juce_ApplicationCommandTarget.cpp"
|
||||
#include "commands/juce_KeyPressMappingSet.cpp"
|
||||
#include "application/juce_Application.cpp"
|
||||
#include "misc/juce_BubbleComponent.cpp"
|
||||
#include "misc/juce_DropShadower.cpp"
|
||||
#include "misc/juce_FocusOutline.cpp"
|
||||
#include "misc/juce_JUCESplashScreen.cpp"
|
||||
|
||||
#include "layout/juce_FlexBox.cpp"
|
||||
#include "layout/juce_GridItem.cpp"
|
||||
#include "layout/juce_Grid.cpp"
|
||||
#include "detail/juce_AccessibilityHelpers.h"
|
||||
#include "detail/juce_ButtonAccessibilityHandler.h"
|
||||
#include "detail/juce_ScalingHelpers.h"
|
||||
#include "detail/juce_ComponentHelpers.h"
|
||||
#include "detail/juce_FocusHelpers.h"
|
||||
#include "detail/juce_FocusRestorer.h"
|
||||
#include "detail/juce_ViewportHelpers.h"
|
||||
#include "detail/juce_LookAndFeelHelpers.h"
|
||||
#include "detail/juce_PointerState.h"
|
||||
#include "detail/juce_CustomMouseCursorInfo.h"
|
||||
#include "detail/juce_MouseInputSourceImpl.h"
|
||||
#include "detail/juce_MouseInputSourceList.h"
|
||||
#include "detail/juce_ToolbarItemDragAndDropOverlayComponent.h"
|
||||
#include "detail/juce_ScopedMessageBoxInterface.h"
|
||||
#include "detail/juce_ScopedMessageBoxImpl.h"
|
||||
#include "detail/juce_WindowingHelpers.h"
|
||||
#include "detail/juce_AlertWindowHelpers.h"
|
||||
#include "detail/juce_TopLevelWindowManager.h"
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_IOS || JUCE_WINDOWS
|
||||
#include "native/juce_MultiTouchMapper.h"
|
||||
#endif
|
||||
|
|
@ -345,27 +191,6 @@ namespace juce
|
|||
|
||||
#elif JUCE_ANDROID
|
||||
|
||||
namespace juce
|
||||
{
|
||||
static jobject makeAndroidRect (Rectangle<int> r)
|
||||
{
|
||||
return getEnv()->NewObject (AndroidRect,
|
||||
AndroidRect.constructor,
|
||||
r.getX(),
|
||||
r.getY(),
|
||||
r.getRight(),
|
||||
r.getBottom());
|
||||
}
|
||||
|
||||
static jobject makeAndroidPoint (Point<int> p)
|
||||
{
|
||||
return getEnv()->NewObject (AndroidPoint,
|
||||
AndroidPoint.create,
|
||||
p.getX(),
|
||||
p.getY());
|
||||
}
|
||||
} // namespace juce
|
||||
|
||||
#include "juce_core/files/juce_common_MimeTypes.h"
|
||||
#include "native/accessibility/juce_android_Accessibility.cpp"
|
||||
#include "native/juce_android_Windowing.cpp"
|
||||
|
|
@ -378,93 +203,141 @@ static jobject makeAndroidPoint (Point<int> p)
|
|||
|
||||
#endif
|
||||
|
||||
namespace juce
|
||||
{
|
||||
#if ! JUCE_NATIVE_ACCESSIBILITY_INCLUDED
|
||||
class AccessibilityHandler::AccessibilityNativeImpl { public: AccessibilityNativeImpl (AccessibilityHandler&) {} };
|
||||
void AccessibilityHandler::notifyAccessibilityEvent (AccessibilityEvent) const {}
|
||||
void AccessibilityHandler::postAnnouncement (const String&, AnnouncementPriority) {}
|
||||
AccessibilityNativeHandle* AccessibilityHandler::getNativeImplementation() const { return nullptr; }
|
||||
void notifyAccessibilityEventInternal (const AccessibilityHandler&, InternalAccessibilityEvent) {}
|
||||
std::unique_ptr<AccessibilityHandler::AccessibilityNativeImpl> AccessibilityHandler::createNativeImpl (AccessibilityHandler&)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
#else
|
||||
std::unique_ptr<AccessibilityHandler::AccessibilityNativeImpl> AccessibilityHandler::createNativeImpl (AccessibilityHandler& handler)
|
||||
{
|
||||
return std::make_unique<AccessibilityNativeImpl> (handler);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_WINDOWS
|
||||
namespace juce
|
||||
{
|
||||
|
||||
JUCE_COMCLASS (JuceIVirtualDesktopManager, "a5cd92ff-29be-454c-8d04-d82879fb3f1b") : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual HRESULT STDMETHODCALLTYPE IsWindowOnCurrentVirtualDesktop(
|
||||
__RPC__in HWND topLevelWindow,
|
||||
__RPC__out BOOL * onCurrentDesktop) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE GetWindowDesktopId(
|
||||
__RPC__in HWND topLevelWindow,
|
||||
__RPC__out GUID * desktopId) = 0;
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE MoveWindowToDesktop(
|
||||
__RPC__in HWND topLevelWindow,
|
||||
__RPC__in REFGUID desktopId) = 0;
|
||||
};
|
||||
|
||||
JUCE_COMCLASS (JuceVirtualDesktopManager, "aa509086-5ca9-4c25-8f95-589d3c07b48a");
|
||||
|
||||
} // namespace juce
|
||||
|
||||
#ifdef __CRT_UUID_DECL
|
||||
__CRT_UUID_DECL (juce::JuceIVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d, 0x04, 0xd8, 0x28, 0x79, 0xfb, 0x3f, 0x1b)
|
||||
__CRT_UUID_DECL (juce::JuceVirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f, 0x95, 0x58, 0x9d, 0x3c, 0x07, 0xb4, 0x8a)
|
||||
#endif
|
||||
|
||||
bool juce::isWindowOnCurrentVirtualDesktop (void* x)
|
||||
{
|
||||
if (x == nullptr)
|
||||
return false;
|
||||
|
||||
static auto* desktopManager = []
|
||||
{
|
||||
JuceIVirtualDesktopManager* result = nullptr;
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
|
||||
|
||||
if (SUCCEEDED (CoCreateInstance (__uuidof (JuceVirtualDesktopManager), nullptr, CLSCTX_ALL, IID_PPV_ARGS (&result))))
|
||||
return result;
|
||||
|
||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||
|
||||
return static_cast<JuceIVirtualDesktopManager*> (nullptr);
|
||||
}();
|
||||
|
||||
BOOL current = false;
|
||||
|
||||
if (auto* dm = desktopManager)
|
||||
if (SUCCEEDED (dm->IsWindowOnCurrentVirtualDesktop (static_cast<HWND> (x), ¤t)))
|
||||
return current != false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#else
|
||||
bool juce::isWindowOnCurrentVirtualDesktop (void*) { return true; }
|
||||
juce::ScopedDPIAwarenessDisabler::ScopedDPIAwarenessDisabler() { ignoreUnused (previousContext); }
|
||||
juce::ScopedDPIAwarenessDisabler::~ScopedDPIAwarenessDisabler() {}
|
||||
#endif
|
||||
|
||||
// Depends on types defined in platform-specific windowing files
|
||||
#include "mouse/juce_MouseCursor.cpp"
|
||||
|
||||
#if JUCE_UNIT_TESTS
|
||||
#include "native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
#include "native/accessibility/juce_AccessibilityTextHelpers_test.cpp"
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
#include "accessibility/juce_AccessibilityHandler.cpp"
|
||||
#include "application/juce_Application.cpp"
|
||||
#include "buttons/juce_ArrowButton.cpp"
|
||||
#include "buttons/juce_Button.cpp"
|
||||
#include "buttons/juce_DrawableButton.cpp"
|
||||
#include "buttons/juce_HyperlinkButton.cpp"
|
||||
#include "buttons/juce_ImageButton.cpp"
|
||||
#include "buttons/juce_ShapeButton.cpp"
|
||||
#include "buttons/juce_TextButton.cpp"
|
||||
#include "buttons/juce_ToggleButton.cpp"
|
||||
#include "buttons/juce_ToolbarButton.cpp"
|
||||
#include "commands/juce_ApplicationCommandInfo.cpp"
|
||||
#include "commands/juce_ApplicationCommandManager.cpp"
|
||||
#include "commands/juce_ApplicationCommandTarget.cpp"
|
||||
#include "commands/juce_KeyPressMappingSet.cpp"
|
||||
#include "components/juce_Component.cpp"
|
||||
#include "components/juce_ComponentListener.cpp"
|
||||
#include "components/juce_FocusTraverser.cpp"
|
||||
#include "components/juce_ModalComponentManager.cpp"
|
||||
#include "desktop/juce_Desktop.cpp"
|
||||
#include "desktop/juce_Displays.cpp"
|
||||
#include "detail/juce_AccessibilityHelpers.cpp"
|
||||
#include "drawables/juce_Drawable.cpp"
|
||||
#include "drawables/juce_DrawableComposite.cpp"
|
||||
#include "drawables/juce_DrawableImage.cpp"
|
||||
#include "drawables/juce_DrawablePath.cpp"
|
||||
#include "drawables/juce_DrawableRectangle.cpp"
|
||||
#include "drawables/juce_DrawableShape.cpp"
|
||||
#include "drawables/juce_DrawableText.cpp"
|
||||
#include "drawables/juce_SVGParser.cpp"
|
||||
#include "filebrowser/juce_ContentSharer.cpp"
|
||||
#include "filebrowser/juce_DirectoryContentsDisplayComponent.cpp"
|
||||
#include "filebrowser/juce_DirectoryContentsList.cpp"
|
||||
#include "filebrowser/juce_FileBrowserComponent.cpp"
|
||||
#include "filebrowser/juce_FileChooser.cpp"
|
||||
#include "filebrowser/juce_FileChooserDialogBox.cpp"
|
||||
#include "filebrowser/juce_FileListComponent.cpp"
|
||||
#include "filebrowser/juce_FileSearchPathListComponent.cpp"
|
||||
#include "filebrowser/juce_FileTreeComponent.cpp"
|
||||
#include "filebrowser/juce_FilenameComponent.cpp"
|
||||
#include "filebrowser/juce_ImagePreviewComponent.cpp"
|
||||
#include "keyboard/juce_CaretComponent.cpp"
|
||||
#include "keyboard/juce_KeyListener.cpp"
|
||||
#include "keyboard/juce_KeyPress.cpp"
|
||||
#include "keyboard/juce_KeyboardFocusTraverser.cpp"
|
||||
#include "keyboard/juce_ModifierKeys.cpp"
|
||||
#include "layout/juce_ComponentAnimator.cpp"
|
||||
#include "layout/juce_ComponentBoundsConstrainer.cpp"
|
||||
#include "layout/juce_ComponentBuilder.cpp"
|
||||
#include "layout/juce_ComponentMovementWatcher.cpp"
|
||||
#include "layout/juce_ConcertinaPanel.cpp"
|
||||
#include "layout/juce_FlexBox.cpp"
|
||||
#include "layout/juce_Grid.cpp"
|
||||
#include "layout/juce_GridItem.cpp"
|
||||
#include "layout/juce_GroupComponent.cpp"
|
||||
#include "layout/juce_MultiDocumentPanel.cpp"
|
||||
#include "layout/juce_ResizableBorderComponent.cpp"
|
||||
#include "layout/juce_ResizableCornerComponent.cpp"
|
||||
#include "layout/juce_ResizableEdgeComponent.cpp"
|
||||
#include "layout/juce_ScrollBar.cpp"
|
||||
#include "layout/juce_SidePanel.cpp"
|
||||
#include "layout/juce_StretchableLayoutManager.cpp"
|
||||
#include "layout/juce_StretchableLayoutResizerBar.cpp"
|
||||
#include "layout/juce_StretchableObjectResizer.cpp"
|
||||
#include "layout/juce_TabbedButtonBar.cpp"
|
||||
#include "layout/juce_TabbedComponent.cpp"
|
||||
#include "layout/juce_Viewport.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V1.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V2.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V3.cpp"
|
||||
#include "lookandfeel/juce_LookAndFeel_V4.cpp"
|
||||
#include "menus/juce_BurgerMenuComponent.cpp"
|
||||
#include "menus/juce_MenuBarComponent.cpp"
|
||||
#include "menus/juce_MenuBarModel.cpp"
|
||||
#include "menus/juce_PopupMenu.cpp"
|
||||
#include "misc/juce_BubbleComponent.cpp"
|
||||
#include "misc/juce_DropShadower.cpp"
|
||||
#include "misc/juce_FocusOutline.cpp"
|
||||
#include "misc/juce_JUCESplashScreen.cpp"
|
||||
#include "mouse/juce_ComponentDragger.cpp"
|
||||
#include "mouse/juce_DragAndDropContainer.cpp"
|
||||
#include "mouse/juce_MouseEvent.cpp"
|
||||
#include "mouse/juce_MouseInactivityDetector.cpp"
|
||||
#include "mouse/juce_MouseInputSource.cpp"
|
||||
#include "mouse/juce_MouseListener.cpp"
|
||||
#include "native/accessibility/juce_Accessibility.cpp"
|
||||
#include "native/juce_ScopedDPIAwarenessDisabler.cpp"
|
||||
#include "positioning/juce_MarkerList.cpp"
|
||||
#include "positioning/juce_RelativeCoordinate.cpp"
|
||||
#include "positioning/juce_RelativeCoordinatePositioner.cpp"
|
||||
#include "positioning/juce_RelativeParallelogram.cpp"
|
||||
#include "positioning/juce_RelativePoint.cpp"
|
||||
#include "positioning/juce_RelativePointPath.cpp"
|
||||
#include "positioning/juce_RelativeRectangle.cpp"
|
||||
#include "properties/juce_BooleanPropertyComponent.cpp"
|
||||
#include "properties/juce_ButtonPropertyComponent.cpp"
|
||||
#include "properties/juce_ChoicePropertyComponent.cpp"
|
||||
#include "properties/juce_MultiChoicePropertyComponent.cpp"
|
||||
#include "properties/juce_PropertyComponent.cpp"
|
||||
#include "properties/juce_PropertyPanel.cpp"
|
||||
#include "properties/juce_SliderPropertyComponent.cpp"
|
||||
#include "properties/juce_TextPropertyComponent.cpp"
|
||||
#include "widgets/juce_ComboBox.cpp"
|
||||
#include "widgets/juce_ImageComponent.cpp"
|
||||
#include "widgets/juce_Label.cpp"
|
||||
#include "widgets/juce_ListBox.cpp"
|
||||
#include "widgets/juce_ProgressBar.cpp"
|
||||
#include "widgets/juce_Slider.cpp"
|
||||
#include "widgets/juce_TableHeaderComponent.cpp"
|
||||
#include "widgets/juce_TableListBox.cpp"
|
||||
#include "widgets/juce_TextEditor.cpp"
|
||||
#include "widgets/juce_Toolbar.cpp"
|
||||
#include "widgets/juce_ToolbarItemComponent.cpp"
|
||||
#include "widgets/juce_ToolbarItemPalette.cpp"
|
||||
#include "widgets/juce_TreeView.cpp"
|
||||
#include "windows/juce_AlertWindow.cpp"
|
||||
#include "windows/juce_CallOutBox.cpp"
|
||||
#include "windows/juce_ComponentPeer.cpp"
|
||||
#include "windows/juce_DialogWindow.cpp"
|
||||
#include "windows/juce_DocumentWindow.cpp"
|
||||
#include "windows/juce_MessageBoxOptions.cpp"
|
||||
#include "windows/juce_NativeMessageBox.cpp"
|
||||
#include "windows/juce_ResizableWindow.cpp"
|
||||
#include "windows/juce_ScopedMessageBox.cpp"
|
||||
#include "windows/juce_ThreadWithProgressWindow.cpp"
|
||||
#include "windows/juce_TooltipWindow.cpp"
|
||||
#include "windows/juce_TopLevelWindow.cpp"
|
||||
#include "windows/juce_VBlankAttachement.cpp"
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@ namespace juce
|
|||
class Component;
|
||||
class LookAndFeel;
|
||||
class MouseInputSource;
|
||||
class MouseInputSourceInternal;
|
||||
class ComponentPeer;
|
||||
class MouseEvent;
|
||||
struct MouseWheelDetails;
|
||||
|
|
@ -161,7 +160,6 @@ namespace juce
|
|||
class Displays;
|
||||
class AccessibilityHandler;
|
||||
class KeyboardFocusTraverser;
|
||||
class PointerState;
|
||||
|
||||
class FlexBox;
|
||||
class Grid;
|
||||
|
|
@ -170,7 +168,19 @@ namespace juce
|
|||
#if JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD
|
||||
Image createSnapshotOfNativeWindow (void* nativeWindowHandle);
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace detail
|
||||
{
|
||||
struct ComponentHelpers;
|
||||
class MouseInputSourceImpl;
|
||||
class MouseInputSourceList;
|
||||
class PointerState;
|
||||
class ScopedMessageBoxImpl;
|
||||
class ToolbarItemDragAndDropOverlayComponent;
|
||||
class TopLevelWindowManager;
|
||||
} // namespace detail
|
||||
|
||||
} // namespace juce
|
||||
|
||||
#include "mouse/juce_MouseCursor.h"
|
||||
#include "mouse/juce_MouseListener.h"
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@ namespace KeyboardFocusTraverserHelpers
|
|||
}
|
||||
|
||||
static Component* traverse (Component* current, Component* container,
|
||||
FocusHelpers::NavigationDirection direction)
|
||||
detail::FocusHelpers::NavigationDirection direction)
|
||||
{
|
||||
if (auto* comp = FocusHelpers::navigateFocus (current, container, direction,
|
||||
if (auto* comp = detail::FocusHelpers::navigateFocus (current, container, direction,
|
||||
&Component::isKeyboardFocusContainer))
|
||||
{
|
||||
if (isKeyboardFocusable (comp, container))
|
||||
|
|
@ -53,13 +53,13 @@ namespace KeyboardFocusTraverserHelpers
|
|||
Component* KeyboardFocusTraverser::getNextComponent (Component* current)
|
||||
{
|
||||
return KeyboardFocusTraverserHelpers::traverse (current, current->findKeyboardFocusContainer(),
|
||||
FocusHelpers::NavigationDirection::forwards);
|
||||
detail::FocusHelpers::NavigationDirection::forwards);
|
||||
}
|
||||
|
||||
Component* KeyboardFocusTraverser::getPreviousComponent (Component* current)
|
||||
{
|
||||
return KeyboardFocusTraverserHelpers::traverse (current, current->findKeyboardFocusContainer(),
|
||||
FocusHelpers::NavigationDirection::backwards);
|
||||
detail::FocusHelpers::NavigationDirection::backwards);
|
||||
}
|
||||
|
||||
Component* KeyboardFocusTraverser::getDefaultComponent (Component* parentComponent)
|
||||
|
|
@ -74,7 +74,7 @@ Component* KeyboardFocusTraverser::getDefaultComponent (Component* parentCompone
|
|||
std::vector<Component*> KeyboardFocusTraverser::getAllComponents (Component* parentComponent)
|
||||
{
|
||||
std::vector<Component*> components;
|
||||
FocusHelpers::findAllComponents (parentComponent,
|
||||
detail::FocusHelpers::findAllComponents (parentComponent,
|
||||
components,
|
||||
&Component::isKeyboardFocusContainer);
|
||||
|
||||
|
|
|
|||
|
|
@ -26,21 +26,6 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
static bool viewportWouldScrollOnEvent (const Viewport* vp, const MouseInputSource& src) noexcept
|
||||
{
|
||||
if (vp != nullptr)
|
||||
{
|
||||
switch (vp->getScrollOnDragMode())
|
||||
{
|
||||
case Viewport::ScrollOnDragMode::all: return true;
|
||||
case Viewport::ScrollOnDragMode::nonHover: return ! src.canHover();
|
||||
case Viewport::ScrollOnDragMode::never: return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
using ViewportDragPosition = AnimatedPosition<AnimatedPositionBehaviours::ContinuousWithMomentum>;
|
||||
|
||||
struct Viewport::DragToScrollListener : private MouseListener,
|
||||
|
|
@ -75,7 +60,7 @@ struct Viewport::DragToScrollListener : private MouseListener,
|
|||
|
||||
void mouseDown (const MouseEvent& e) override
|
||||
{
|
||||
if (! isGlobalMouseListener && viewportWouldScrollOnEvent (&viewport, e.source))
|
||||
if (! isGlobalMouseListener && detail::ViewportHelpers::wouldScrollOnEvent (&viewport, e.source))
|
||||
{
|
||||
offsetX.setPosition (offsetX.getPosition());
|
||||
offsetY.setPosition (offsetY.getPosition());
|
||||
|
|
@ -98,7 +83,7 @@ struct Viewport::DragToScrollListener : private MouseListener,
|
|||
{
|
||||
auto totalOffset = e.getEventRelativeTo (&viewport).getOffsetFromDragStart().toFloat();
|
||||
|
||||
if (! isDragging && totalOffset.getDistanceFromOrigin() > 8.0f && viewportWouldScrollOnEvent (&viewport, e.source))
|
||||
if (! isDragging && totalOffset.getDistanceFromOrigin() > 8.0f && detail::ViewportHelpers::wouldScrollOnEvent (&viewport, e.source))
|
||||
{
|
||||
isDragging = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,37 +26,6 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
namespace LookAndFeelHelpers
|
||||
{
|
||||
static Colour createBaseColour (Colour buttonColour,
|
||||
bool hasKeyboardFocus,
|
||||
bool shouldDrawButtonAsHighlighted,
|
||||
bool shouldDrawButtonAsDown) noexcept
|
||||
{
|
||||
const float sat = hasKeyboardFocus ? 1.3f : 0.9f;
|
||||
const Colour baseColour (buttonColour.withMultipliedSaturation (sat));
|
||||
|
||||
if (shouldDrawButtonAsDown) return baseColour.contrasting (0.2f);
|
||||
if (shouldDrawButtonAsHighlighted) return baseColour.contrasting (0.1f);
|
||||
|
||||
return baseColour;
|
||||
}
|
||||
|
||||
static TextLayout layoutTooltipText (const String& text, Colour colour) noexcept
|
||||
{
|
||||
const float tooltipFontSize = 13.0f;
|
||||
const int maxToolTipWidth = 400;
|
||||
|
||||
AttributedString s;
|
||||
s.setJustification (Justification::centred);
|
||||
s.append (text, Font (tooltipFontSize, Font::bold), colour);
|
||||
|
||||
TextLayout tl;
|
||||
tl.createLayoutWithBalancedLineLengths (s, (float) maxToolTipWidth);
|
||||
return tl;
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
LookAndFeel_V2::LookAndFeel_V2()
|
||||
{
|
||||
|
|
@ -259,7 +228,7 @@ void LookAndFeel_V2::drawButtonBackground (Graphics& g,
|
|||
const float indentT = button.isConnectedOnTop() ? 0.1f : halfThickness;
|
||||
const float indentB = button.isConnectedOnBottom() ? 0.1f : halfThickness;
|
||||
|
||||
const Colour baseColour (LookAndFeelHelpers::createBaseColour (backgroundColour,
|
||||
const Colour baseColour (detail::LookAndFeelHelpers::createBaseColour (backgroundColour,
|
||||
button.hasKeyboardFocus (true),
|
||||
shouldDrawButtonAsHighlighted,
|
||||
shouldDrawButtonAsDown)
|
||||
|
|
@ -320,7 +289,7 @@ void LookAndFeel_V2::drawTickBox (Graphics& g, Component& component,
|
|||
const float boxSize = w * 0.7f;
|
||||
|
||||
drawGlassSphere (g, x, y + (h - boxSize) * 0.5f, boxSize,
|
||||
LookAndFeelHelpers::createBaseColour (component.findColour (TextButton::buttonColourId)
|
||||
detail::LookAndFeelHelpers::createBaseColour (component.findColour (TextButton::buttonColourId)
|
||||
.withMultipliedAlpha (isEnabled ? 1.0f : 0.5f),
|
||||
true, shouldDrawButtonAsHighlighted, shouldDrawButtonAsDown),
|
||||
isEnabled ? ((shouldDrawButtonAsDown || shouldDrawButtonAsHighlighted) ? 1.1f : 0.5f) : 0.3f);
|
||||
|
|
@ -1110,7 +1079,7 @@ int LookAndFeel_V2::getMenuWindowFlags()
|
|||
|
||||
void LookAndFeel_V2::drawMenuBarBackground (Graphics& g, int width, int height, bool, MenuBarComponent& menuBar)
|
||||
{
|
||||
auto baseColour = LookAndFeelHelpers::createBaseColour (menuBar.findColour (PopupMenu::backgroundColourId),
|
||||
auto baseColour = detail::LookAndFeelHelpers::createBaseColour (menuBar.findColour (PopupMenu::backgroundColourId),
|
||||
false, false, false);
|
||||
|
||||
if (menuBar.isEnabled())
|
||||
|
|
@ -1237,7 +1206,7 @@ void LookAndFeel_V2::drawComboBox (Graphics& g, int width, int height, const boo
|
|||
|
||||
auto outlineThickness = box.isEnabled() ? (isMouseButtonDown ? 1.2f : 0.5f) : 0.3f;
|
||||
|
||||
auto baseColour = LookAndFeelHelpers::createBaseColour (box.findColour (ComboBox::buttonColourId),
|
||||
auto baseColour = detail::LookAndFeelHelpers::createBaseColour (box.findColour (ComboBox::buttonColourId),
|
||||
box.hasKeyboardFocus (true),
|
||||
false, isMouseButtonDown)
|
||||
.withMultipliedAlpha (box.isEnabled() ? 1.0f : 0.5f);
|
||||
|
|
@ -1404,7 +1373,7 @@ void LookAndFeel_V2::drawLinearSliderThumb (Graphics& g, int x, int y, int width
|
|||
{
|
||||
auto sliderRadius = (float) (getSliderThumbRadius (slider) - 2);
|
||||
|
||||
auto knobColour = LookAndFeelHelpers::createBaseColour (slider.findColour (Slider::thumbColourId),
|
||||
auto knobColour = detail::LookAndFeelHelpers::createBaseColour (slider.findColour (Slider::thumbColourId),
|
||||
slider.hasKeyboardFocus (false) && slider.isEnabled(),
|
||||
slider.isMouseOverOrDragging() && slider.isEnabled(),
|
||||
slider.isMouseButtonDown() && slider.isEnabled());
|
||||
|
|
@ -1496,7 +1465,7 @@ void LookAndFeel_V2::drawLinearSlider (Graphics& g, int x, int y, int width, int
|
|||
{
|
||||
const bool isMouseOver = slider.isMouseOverOrDragging() && slider.isEnabled();
|
||||
|
||||
auto baseColour = LookAndFeelHelpers::createBaseColour (slider.findColour (Slider::thumbColourId)
|
||||
auto baseColour = detail::LookAndFeelHelpers::createBaseColour (slider.findColour (Slider::thumbColourId)
|
||||
.withMultipliedSaturation (slider.isEnabled() ? 1.0f : 0.5f),
|
||||
false, isMouseOver,
|
||||
isMouseOver || slider.isMouseButtonDown());
|
||||
|
|
@ -1726,7 +1695,7 @@ Slider::SliderLayout LookAndFeel_V2::getSliderLayout (Slider& slider)
|
|||
//==============================================================================
|
||||
Rectangle<int> LookAndFeel_V2::getTooltipBounds (const String& tipText, Point<int> screenPos, Rectangle<int> parentArea)
|
||||
{
|
||||
const TextLayout tl (LookAndFeelHelpers::layoutTooltipText (tipText, Colours::black));
|
||||
const TextLayout tl (detail::LookAndFeelHelpers::layoutTooltipText (tipText, Colours::black));
|
||||
|
||||
auto w = (int) (tl.getWidth() + 14.0f);
|
||||
auto h = (int) (tl.getHeight() + 6.0f);
|
||||
|
|
@ -1746,7 +1715,7 @@ void LookAndFeel_V2::drawTooltip (Graphics& g, const String& text, int width, in
|
|||
g.drawRect (0, 0, width, height, 1);
|
||||
#endif
|
||||
|
||||
LookAndFeelHelpers::layoutTooltipText (text, findColour (TooltipWindow::textColourId))
|
||||
detail::LookAndFeelHelpers::layoutTooltipText (text, findColour (TooltipWindow::textColourId))
|
||||
.draw (g, Rectangle<float> ((float) width, (float) height));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1133,7 +1133,7 @@ void LookAndFeel_V4::drawTooltip (Graphics& g, const String& text, int width, in
|
|||
g.setColour (findColour (TooltipWindow::outlineColourId));
|
||||
g.drawRoundedRectangle (bounds.toFloat().reduced (0.5f, 0.5f), cornerSize, 1.0f);
|
||||
|
||||
LookAndFeelHelpers::layoutTooltipText (text, findColour (TooltipWindow::textColourId))
|
||||
detail::LookAndFeelHelpers::layoutTooltipText (text, findColour (TooltipWindow::textColourId))
|
||||
.draw (g, { static_cast<float> (width), static_cast<float> (height) });
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -797,7 +797,7 @@ struct MenuWindow : public Component
|
|||
|
||||
bool doesAnyJuceCompHaveFocus()
|
||||
{
|
||||
if (! isForegroundOrEmbeddedProcess (componentAttachedTo))
|
||||
if (! detail::WindowingHelpers::isForegroundOrEmbeddedProcess (componentAttachedTo))
|
||||
return false;
|
||||
|
||||
if (Component::getCurrentlyFocusedComponent() != nullptr)
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ private:
|
|||
if (! component.wasObjectDeleted() && isWindows && component->isOnDesktop())
|
||||
{
|
||||
startTimerHz (5);
|
||||
return ! isWindowOnCurrentVirtualDesktop (component->getWindowHandle());
|
||||
return ! detail::WindowingHelpers::isWindowOnCurrentVirtualDesktop (component->getWindowHandle());
|
||||
}
|
||||
|
||||
stopTimer();
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ public:
|
|||
MouseCursor::StandardCursorType getType() const noexcept { return standardType; }
|
||||
|
||||
private:
|
||||
CustomMouseCursorInfo info;
|
||||
detail::CustomMouseCursorInfo info;
|
||||
PlatformSpecificHandle handle;
|
||||
const MouseCursor::StandardCursorType standardType;
|
||||
const bool standard;
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ private:
|
|||
|
||||
class PlatformSpecificHandle;
|
||||
|
||||
friend class MouseInputSourceInternal;
|
||||
friend class detail::MouseInputSourceImpl;
|
||||
void showInWindow (ComponentPeer*) const;
|
||||
PlatformSpecificHandle* getHandle() const noexcept;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,538 +26,8 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
class MouseInputSourceInternal : private AsyncUpdater
|
||||
{
|
||||
public:
|
||||
MouseInputSourceInternal (int i, MouseInputSource::InputSourceType type) : index (i), inputType (type)
|
||||
{
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
bool isDragging() const noexcept
|
||||
{
|
||||
return buttonState.isAnyMouseButtonDown();
|
||||
}
|
||||
|
||||
Component* getComponentUnderMouse() const noexcept
|
||||
{
|
||||
return componentUnderMouse.get();
|
||||
}
|
||||
|
||||
ModifierKeys getCurrentModifiers() const noexcept
|
||||
{
|
||||
return ModifierKeys::currentModifiers.withoutMouseButtons().withFlags (buttonState.getRawFlags());
|
||||
}
|
||||
|
||||
ComponentPeer* getPeer() noexcept
|
||||
{
|
||||
if (! ComponentPeer::isValidPeer (lastPeer))
|
||||
lastPeer = nullptr;
|
||||
|
||||
return lastPeer;
|
||||
}
|
||||
|
||||
static Component* findComponentAt (Point<float> screenPos, ComponentPeer* peer)
|
||||
{
|
||||
if (! ComponentPeer::isValidPeer (peer))
|
||||
return nullptr;
|
||||
|
||||
auto relativePos = ScalingHelpers::unscaledScreenPosToScaled (peer->getComponent(),
|
||||
peer->globalToLocal (screenPos));
|
||||
auto& comp = peer->getComponent();
|
||||
|
||||
// (the contains() call is needed to test for overlapping desktop windows)
|
||||
if (comp.contains (relativePos))
|
||||
return comp.getComponentAt (relativePos);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Point<float> getScreenPosition() const noexcept
|
||||
{
|
||||
// This needs to return the live position if possible, but it mustn't update the lastScreenPos
|
||||
// value, because that can cause continuity problems.
|
||||
return ScalingHelpers::unscaledScreenPosToScaled (getRawScreenPosition());
|
||||
}
|
||||
|
||||
Point<float> getRawScreenPosition() const noexcept
|
||||
{
|
||||
return unboundedMouseOffset + (inputType != MouseInputSource::InputSourceType::touch ? MouseInputSource::getCurrentRawMousePosition()
|
||||
: lastPointerState.position);
|
||||
}
|
||||
|
||||
void setScreenPosition (Point<float> p)
|
||||
{
|
||||
MouseInputSource::setRawMousePosition (ScalingHelpers::scaledScreenPosToUnscaled (p));
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_DUMP_MOUSE_EVENTS
|
||||
#define JUCE_MOUSE_EVENT_DBG(desc, screenPos) DBG ("Mouse " << desc << " #" << index \
|
||||
<< ": " << ScalingHelpers::screenPosToLocalPos (comp, screenPos).toString() \
|
||||
<< " - Comp: " << String::toHexString ((pointer_sized_int) &comp));
|
||||
#else
|
||||
#define JUCE_MOUSE_EVENT_DBG(desc, screenPos)
|
||||
#endif
|
||||
|
||||
void sendMouseEnter (Component& comp, const PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("enter", pointerState.position)
|
||||
comp.internalMouseEnter (MouseInputSource (this), ScalingHelpers::screenPosToLocalPos (comp, pointerState.position), time);
|
||||
}
|
||||
|
||||
void sendMouseExit (Component& comp, const PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("exit", pointerState.position)
|
||||
comp.internalMouseExit (MouseInputSource (this), ScalingHelpers::screenPosToLocalPos (comp, pointerState.position), time);
|
||||
}
|
||||
|
||||
void sendMouseMove (Component& comp, const PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("move", pointerState.position)
|
||||
comp.internalMouseMove (MouseInputSource (this), ScalingHelpers::screenPosToLocalPos (comp, pointerState.position), time);
|
||||
}
|
||||
|
||||
void sendMouseDown (Component& comp, const PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("down", pointerState.position)
|
||||
comp.internalMouseDown (MouseInputSource (this),
|
||||
pointerState.withPosition (ScalingHelpers::screenPosToLocalPos (comp, pointerState.position)),
|
||||
time);
|
||||
}
|
||||
|
||||
void sendMouseDrag (Component& comp, const PointerState& pointerState, Time time)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("drag", pointerState.position)
|
||||
comp.internalMouseDrag (MouseInputSource (this),
|
||||
pointerState.withPosition (ScalingHelpers::screenPosToLocalPos (comp, pointerState.position)),
|
||||
time);
|
||||
}
|
||||
|
||||
void sendMouseUp (Component& comp, const PointerState& pointerState, Time time, ModifierKeys oldMods)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("up", pointerState.position)
|
||||
comp.internalMouseUp (MouseInputSource (this),
|
||||
pointerState.withPosition (ScalingHelpers::screenPosToLocalPos (comp, pointerState.position)),
|
||||
time,
|
||||
oldMods);
|
||||
}
|
||||
|
||||
void sendMouseWheel (Component& comp, Point<float> screenPos, Time time, const MouseWheelDetails& wheel)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("wheel", screenPos)
|
||||
comp.internalMouseWheel (MouseInputSource (this), ScalingHelpers::screenPosToLocalPos (comp, screenPos), time, wheel);
|
||||
}
|
||||
|
||||
void sendMagnifyGesture (Component& comp, Point<float> screenPos, Time time, float amount)
|
||||
{
|
||||
JUCE_MOUSE_EVENT_DBG ("magnify", screenPos)
|
||||
comp.internalMagnifyGesture (MouseInputSource (this), ScalingHelpers::screenPosToLocalPos (comp, screenPos), time, amount);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
// (returns true if the button change caused a modal event loop)
|
||||
bool setButtons (const PointerState& pointerState, Time time, ModifierKeys newButtonState)
|
||||
{
|
||||
if (buttonState == newButtonState)
|
||||
return false;
|
||||
|
||||
// (avoid sending a spurious mouse-drag when we receive a mouse-up)
|
||||
if (! (isDragging() && ! newButtonState.isAnyMouseButtonDown()))
|
||||
setPointerState (pointerState, time, false);
|
||||
|
||||
// (ignore secondary clicks when there's already a button down)
|
||||
if (buttonState.isAnyMouseButtonDown() == newButtonState.isAnyMouseButtonDown())
|
||||
{
|
||||
buttonState = newButtonState;
|
||||
return false;
|
||||
}
|
||||
|
||||
auto lastCounter = mouseEventCounter;
|
||||
|
||||
if (buttonState.isAnyMouseButtonDown())
|
||||
{
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
{
|
||||
auto oldMods = getCurrentModifiers();
|
||||
buttonState = newButtonState; // must change this before calling sendMouseUp, in case it runs a modal loop
|
||||
|
||||
sendMouseUp (*current, pointerState.withPositionOffset (unboundedMouseOffset), time, oldMods);
|
||||
|
||||
if (lastCounter != mouseEventCounter)
|
||||
return true; // if a modal loop happened, then newButtonState is no longer valid.
|
||||
}
|
||||
|
||||
enableUnboundedMouseMovement (false, false);
|
||||
}
|
||||
|
||||
buttonState = newButtonState;
|
||||
|
||||
if (buttonState.isAnyMouseButtonDown())
|
||||
{
|
||||
Desktop::getInstance().incrementMouseClickCounter();
|
||||
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
{
|
||||
registerMouseDown (pointerState.position, time, *current, buttonState,
|
||||
inputType == MouseInputSource::InputSourceType::touch);
|
||||
sendMouseDown (*current, pointerState, time);
|
||||
}
|
||||
}
|
||||
|
||||
return lastCounter != mouseEventCounter;
|
||||
}
|
||||
|
||||
void setComponentUnderMouse (Component* newComponent, const PointerState& pointerState, Time time)
|
||||
{
|
||||
auto* current = getComponentUnderMouse();
|
||||
|
||||
if (newComponent != current)
|
||||
{
|
||||
WeakReference<Component> safeNewComp (newComponent);
|
||||
auto originalButtonState = buttonState;
|
||||
|
||||
if (current != nullptr)
|
||||
{
|
||||
WeakReference<Component> safeOldComp (current);
|
||||
setButtons (pointerState, time, ModifierKeys());
|
||||
|
||||
if (auto oldComp = safeOldComp.get())
|
||||
{
|
||||
componentUnderMouse = safeNewComp;
|
||||
sendMouseExit (*oldComp, pointerState, time);
|
||||
}
|
||||
|
||||
buttonState = originalButtonState;
|
||||
}
|
||||
|
||||
componentUnderMouse = safeNewComp.get();
|
||||
current = safeNewComp.get();
|
||||
|
||||
if (current != nullptr)
|
||||
sendMouseEnter (*current, pointerState, time);
|
||||
|
||||
revealCursor (false);
|
||||
setButtons (pointerState, time, originalButtonState);
|
||||
}
|
||||
}
|
||||
|
||||
void setPeer (ComponentPeer& newPeer, const PointerState& pointerState, Time time)
|
||||
{
|
||||
if (&newPeer != lastPeer && ( findComponentAt (pointerState.position, &newPeer) != nullptr
|
||||
|| findComponentAt (pointerState.position, lastPeer) == nullptr))
|
||||
{
|
||||
setComponentUnderMouse (nullptr, pointerState, time);
|
||||
lastPeer = &newPeer;
|
||||
setComponentUnderMouse (findComponentAt (pointerState.position, getPeer()), pointerState, time);
|
||||
}
|
||||
}
|
||||
|
||||
void setPointerState (const PointerState& newPointerState, Time time, bool forceUpdate)
|
||||
{
|
||||
const auto& newScreenPos = newPointerState.position;
|
||||
|
||||
if (! isDragging())
|
||||
setComponentUnderMouse (findComponentAt (newScreenPos, getPeer()), newPointerState, time);
|
||||
|
||||
if ((newPointerState != lastPointerState) || forceUpdate)
|
||||
{
|
||||
cancelPendingUpdate();
|
||||
|
||||
if (newPointerState.position != MouseInputSource::offscreenMousePos)
|
||||
lastPointerState = newPointerState;
|
||||
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
{
|
||||
if (isDragging())
|
||||
{
|
||||
registerMouseDrag (newScreenPos);
|
||||
sendMouseDrag (*current, newPointerState.withPositionOffset (unboundedMouseOffset), time);
|
||||
|
||||
if (isUnboundedMouseModeOn)
|
||||
handleUnboundedDrag (*current);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendMouseMove (*current, newPointerState, time);
|
||||
}
|
||||
}
|
||||
|
||||
revealCursor (false);
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void handleEvent (ComponentPeer& newPeer, Point<float> positionWithinPeer, Time time,
|
||||
const ModifierKeys newMods, float newPressure, float newOrientation, PenDetails pen)
|
||||
{
|
||||
lastTime = time;
|
||||
++mouseEventCounter;
|
||||
const auto pointerState = PointerState().withPosition (newPeer.localToGlobal (positionWithinPeer))
|
||||
.withPressure (newPressure)
|
||||
.withOrientation (newOrientation)
|
||||
.withRotation (MouseInputSource::defaultRotation)
|
||||
.withTiltX (pen.tiltX)
|
||||
.withTiltY (pen.tiltY);
|
||||
|
||||
if (isDragging() && newMods.isAnyMouseButtonDown())
|
||||
{
|
||||
setPointerState (pointerState, time, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
setPeer (newPeer, pointerState, time);
|
||||
|
||||
if (auto* peer = getPeer())
|
||||
{
|
||||
if (setButtons (pointerState, time, newMods))
|
||||
return; // some modal events have been dispatched, so the current event is now out-of-date
|
||||
|
||||
peer = getPeer();
|
||||
|
||||
if (peer != nullptr)
|
||||
setPointerState (pointerState, time, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component* getTargetForGesture (ComponentPeer& peer, Point<float> positionWithinPeer,
|
||||
Time time, Point<float>& screenPos)
|
||||
{
|
||||
lastTime = time;
|
||||
++mouseEventCounter;
|
||||
|
||||
screenPos = peer.localToGlobal (positionWithinPeer);
|
||||
const auto pointerState = lastPointerState.withPosition (screenPos);
|
||||
setPeer (peer, pointerState, time);
|
||||
setPointerState (pointerState, time, false);
|
||||
triggerFakeMove();
|
||||
|
||||
return getComponentUnderMouse();
|
||||
}
|
||||
|
||||
void handleWheel (ComponentPeer& peer, Point<float> positionWithinPeer,
|
||||
Time time, const MouseWheelDetails& wheel)
|
||||
{
|
||||
Desktop::getInstance().incrementMouseWheelCounter();
|
||||
Point<float> screenPos;
|
||||
|
||||
// This will make sure that when the wheel spins in its inertial phase, any events
|
||||
// continue to be sent to the last component that the mouse was over when it was being
|
||||
// actively controlled by the user. This avoids confusion when scrolling through nested
|
||||
// scrollable components.
|
||||
if (lastNonInertialWheelTarget == nullptr || ! wheel.isInertial)
|
||||
lastNonInertialWheelTarget = getTargetForGesture (peer, positionWithinPeer, time, screenPos);
|
||||
else
|
||||
screenPos = peer.localToGlobal (positionWithinPeer);
|
||||
|
||||
if (auto target = lastNonInertialWheelTarget.get())
|
||||
sendMouseWheel (*target, screenPos, time, wheel);
|
||||
}
|
||||
|
||||
void handleMagnifyGesture (ComponentPeer& peer, Point<float> positionWithinPeer,
|
||||
Time time, const float scaleFactor)
|
||||
{
|
||||
Point<float> screenPos;
|
||||
|
||||
if (auto* current = getTargetForGesture (peer, positionWithinPeer, time, screenPos))
|
||||
sendMagnifyGesture (*current, screenPos, time, scaleFactor);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Time getLastMouseDownTime() const noexcept { return mouseDowns[0].time; }
|
||||
Point<float> getLastMouseDownPosition() const noexcept { return ScalingHelpers::unscaledScreenPosToScaled (mouseDowns[0].position); }
|
||||
|
||||
int getNumberOfMultipleClicks() const noexcept
|
||||
{
|
||||
int numClicks = 1;
|
||||
|
||||
if (! isLongPressOrDrag())
|
||||
{
|
||||
for (int i = 1; i < numElementsInArray (mouseDowns); ++i)
|
||||
{
|
||||
if (mouseDowns[0].canBePartOfMultipleClickWith (mouseDowns[i], MouseEvent::getDoubleClickTimeout() * jmin (i, 2)))
|
||||
++numClicks;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return numClicks;
|
||||
}
|
||||
|
||||
bool isLongPressOrDrag() const noexcept
|
||||
{
|
||||
return movedSignificantly || lastTime > mouseDowns[0].time + RelativeTime::milliseconds (300);
|
||||
}
|
||||
|
||||
bool hasMovedSignificantlySincePressed() const noexcept
|
||||
{
|
||||
return movedSignificantly;
|
||||
}
|
||||
|
||||
// Deprecated method
|
||||
bool hasMouseMovedSignificantlySincePressed() const noexcept
|
||||
{
|
||||
return isLongPressOrDrag();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void triggerFakeMove()
|
||||
{
|
||||
triggerAsyncUpdate();
|
||||
}
|
||||
|
||||
void handleAsyncUpdate() override
|
||||
{
|
||||
setPointerState (lastPointerState, jmax (lastTime, Time::getCurrentTime()), true);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void enableUnboundedMouseMovement (bool enable, bool keepCursorVisibleUntilOffscreen)
|
||||
{
|
||||
enable = enable && isDragging();
|
||||
isCursorVisibleUntilOffscreen = keepCursorVisibleUntilOffscreen;
|
||||
|
||||
if (enable != isUnboundedMouseModeOn)
|
||||
{
|
||||
if ((! enable) && ((! isCursorVisibleUntilOffscreen) || ! unboundedMouseOffset.isOrigin()))
|
||||
{
|
||||
// when released, return the mouse to within the component's bounds
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
setScreenPosition (current->getScreenBounds().toFloat()
|
||||
.getConstrainedPoint (ScalingHelpers::unscaledScreenPosToScaled (lastPointerState.position)));
|
||||
}
|
||||
|
||||
isUnboundedMouseModeOn = enable;
|
||||
unboundedMouseOffset = {};
|
||||
|
||||
revealCursor (true);
|
||||
}
|
||||
}
|
||||
|
||||
void handleUnboundedDrag (Component& current)
|
||||
{
|
||||
auto componentScreenBounds = ScalingHelpers::scaledScreenPosToUnscaled (current.getParentMonitorArea().reduced (2, 2).toFloat());
|
||||
|
||||
if (! componentScreenBounds.contains (lastPointerState.position))
|
||||
{
|
||||
auto componentCentre = current.getScreenBounds().toFloat().getCentre();
|
||||
unboundedMouseOffset += (lastPointerState.position - ScalingHelpers::scaledScreenPosToUnscaled (componentCentre));
|
||||
setScreenPosition (componentCentre);
|
||||
}
|
||||
else if (isCursorVisibleUntilOffscreen
|
||||
&& (! unboundedMouseOffset.isOrigin())
|
||||
&& componentScreenBounds.contains (lastPointerState.position + unboundedMouseOffset))
|
||||
{
|
||||
MouseInputSource::setRawMousePosition (lastPointerState.position + unboundedMouseOffset);
|
||||
unboundedMouseOffset = {};
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
void showMouseCursor (MouseCursor cursor, bool forcedUpdate)
|
||||
{
|
||||
if (isUnboundedMouseModeOn && ((! unboundedMouseOffset.isOrigin()) || ! isCursorVisibleUntilOffscreen))
|
||||
{
|
||||
cursor = MouseCursor::NoCursor;
|
||||
forcedUpdate = true;
|
||||
}
|
||||
|
||||
if (forcedUpdate || cursor.getHandle() != currentCursorHandle)
|
||||
{
|
||||
currentCursorHandle = cursor.getHandle();
|
||||
cursor.showInWindow (getPeer());
|
||||
}
|
||||
}
|
||||
|
||||
void hideCursor()
|
||||
{
|
||||
showMouseCursor (MouseCursor::NoCursor, true);
|
||||
}
|
||||
|
||||
void revealCursor (bool forcedUpdate)
|
||||
{
|
||||
MouseCursor mc (MouseCursor::NormalCursor);
|
||||
|
||||
if (auto* current = getComponentUnderMouse())
|
||||
mc = current->getLookAndFeel().getMouseCursorFor (*current);
|
||||
|
||||
showMouseCursor (mc, forcedUpdate);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
const int index;
|
||||
const MouseInputSource::InputSourceType inputType;
|
||||
Point<float> unboundedMouseOffset; // NB: these are unscaled coords
|
||||
PointerState lastPointerState;
|
||||
ModifierKeys buttonState;
|
||||
|
||||
bool isUnboundedMouseModeOn = false, isCursorVisibleUntilOffscreen = false;
|
||||
|
||||
private:
|
||||
WeakReference<Component> componentUnderMouse, lastNonInertialWheelTarget;
|
||||
ComponentPeer* lastPeer = nullptr;
|
||||
|
||||
void* currentCursorHandle = nullptr;
|
||||
int mouseEventCounter = 0;
|
||||
|
||||
struct RecentMouseDown
|
||||
{
|
||||
RecentMouseDown() = default;
|
||||
|
||||
Point<float> position;
|
||||
Time time;
|
||||
ModifierKeys buttons;
|
||||
uint32 peerID = 0;
|
||||
bool isTouch = false;
|
||||
|
||||
bool canBePartOfMultipleClickWith (const RecentMouseDown& other, int maxTimeBetweenMs) const noexcept
|
||||
{
|
||||
return time - other.time < RelativeTime::milliseconds (maxTimeBetweenMs)
|
||||
&& std::abs (position.x - other.position.x) < (float) getPositionToleranceForInputType()
|
||||
&& std::abs (position.y - other.position.y) < (float) getPositionToleranceForInputType()
|
||||
&& buttons == other.buttons
|
||||
&& peerID == other.peerID;
|
||||
}
|
||||
|
||||
int getPositionToleranceForInputType() const noexcept { return isTouch ? 25 : 8; }
|
||||
};
|
||||
|
||||
RecentMouseDown mouseDowns[4];
|
||||
Time lastTime;
|
||||
bool movedSignificantly = false;
|
||||
|
||||
void registerMouseDown (Point<float> screenPos, Time time, Component& component,
|
||||
const ModifierKeys modifiers, bool isTouchSource) noexcept
|
||||
{
|
||||
for (int i = numElementsInArray (mouseDowns); --i > 0;)
|
||||
mouseDowns[i] = mouseDowns[i - 1];
|
||||
|
||||
mouseDowns[0].position = screenPos;
|
||||
mouseDowns[0].time = time;
|
||||
mouseDowns[0].buttons = modifiers.withOnlyMouseButtons();
|
||||
mouseDowns[0].isTouch = isTouchSource;
|
||||
|
||||
if (auto* peer = component.getPeer())
|
||||
mouseDowns[0].peerID = peer->getUniqueID();
|
||||
else
|
||||
mouseDowns[0].peerID = 0;
|
||||
|
||||
movedSignificantly = false;
|
||||
lastNonInertialWheelTarget = nullptr;
|
||||
}
|
||||
|
||||
void registerMouseDrag (Point<float> screenPos) noexcept
|
||||
{
|
||||
movedSignificantly = movedSignificantly || mouseDowns[0].position.getDistanceFrom (screenPos) >= 4;
|
||||
}
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MouseInputSourceInternal)
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
MouseInputSource::MouseInputSource (MouseInputSourceInternal* s) noexcept : pimpl (s) {}
|
||||
MouseInputSource::MouseInputSource (detail::MouseInputSourceImpl* s) noexcept : pimpl (s) {}
|
||||
MouseInputSource::MouseInputSource (const MouseInputSource& other) noexcept : pimpl (other.pimpl) {}
|
||||
MouseInputSource::~MouseInputSource() noexcept {}
|
||||
|
||||
|
|
@ -632,127 +102,4 @@ const Point<float> MouseInputSource::offscreenMousePos { -10.0f, -10.0f };
|
|||
// Deprecated method
|
||||
bool MouseInputSource::hasMouseMovedSignificantlySincePressed() const noexcept { return pimpl->hasMouseMovedSignificantlySincePressed(); }
|
||||
|
||||
//==============================================================================
|
||||
struct MouseInputSource::SourceList : public Timer
|
||||
{
|
||||
SourceList()
|
||||
{
|
||||
#if JUCE_ANDROID || JUCE_IOS
|
||||
auto mainMouseInputType = MouseInputSource::InputSourceType::touch;
|
||||
#else
|
||||
auto mainMouseInputType = MouseInputSource::InputSourceType::mouse;
|
||||
#endif
|
||||
|
||||
addSource (0, mainMouseInputType);
|
||||
}
|
||||
|
||||
bool addSource();
|
||||
bool canUseTouch();
|
||||
|
||||
MouseInputSource* addSource (int index, MouseInputSource::InputSourceType type)
|
||||
{
|
||||
auto* s = new MouseInputSourceInternal (index, type);
|
||||
sources.add (s);
|
||||
sourceArray.add (MouseInputSource (s));
|
||||
|
||||
return &sourceArray.getReference (sourceArray.size() - 1);
|
||||
}
|
||||
|
||||
MouseInputSource* getMouseSource (int index) noexcept
|
||||
{
|
||||
return isPositiveAndBelow (index, sourceArray.size()) ? &sourceArray.getReference (index)
|
||||
: nullptr;
|
||||
}
|
||||
|
||||
MouseInputSource* getOrCreateMouseInputSource (MouseInputSource::InputSourceType type, int touchIndex = 0)
|
||||
{
|
||||
if (type == MouseInputSource::InputSourceType::mouse || type == MouseInputSource::InputSourceType::pen)
|
||||
{
|
||||
for (auto& m : sourceArray)
|
||||
if (type == m.getType())
|
||||
return &m;
|
||||
|
||||
addSource (0, type);
|
||||
}
|
||||
else if (type == MouseInputSource::InputSourceType::touch)
|
||||
{
|
||||
jassert (0 <= touchIndex && touchIndex < 100); // sanity-check on number of fingers
|
||||
|
||||
for (auto& m : sourceArray)
|
||||
if (type == m.getType() && touchIndex == m.getIndex())
|
||||
return &m;
|
||||
|
||||
if (canUseTouch())
|
||||
return addSource (touchIndex, type);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int getNumDraggingMouseSources() const noexcept
|
||||
{
|
||||
int num = 0;
|
||||
|
||||
for (auto* s : sources)
|
||||
if (s->isDragging())
|
||||
++num;
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
MouseInputSource* getDraggingMouseSource (int index) noexcept
|
||||
{
|
||||
int num = 0;
|
||||
|
||||
for (auto& s : sourceArray)
|
||||
{
|
||||
if (s.isDragging())
|
||||
{
|
||||
if (index == num)
|
||||
return &s;
|
||||
|
||||
++num;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void beginDragAutoRepeat (int interval)
|
||||
{
|
||||
if (interval > 0)
|
||||
{
|
||||
if (getTimerInterval() != interval)
|
||||
startTimer (interval);
|
||||
}
|
||||
else
|
||||
{
|
||||
stopTimer();
|
||||
}
|
||||
}
|
||||
|
||||
void timerCallback() override
|
||||
{
|
||||
bool anyDragging = false;
|
||||
|
||||
for (auto* s : sources)
|
||||
{
|
||||
// NB: when doing auto-repeat, we need to force an update of the current position and button state,
|
||||
// because on some OSes the queue can get overloaded with messages so that mouse-events don't get through..
|
||||
if (s->isDragging() && ComponentPeer::getCurrentModifiersRealtime().isAnyMouseButtonDown())
|
||||
{
|
||||
s->lastPointerState.position = s->getRawScreenPosition();
|
||||
s->triggerFakeMove();
|
||||
anyDragging = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (! anyDragging)
|
||||
stopTimer();
|
||||
}
|
||||
|
||||
OwnedArray<MouseInputSourceInternal> sources;
|
||||
Array<MouseInputSource> sourceArray;
|
||||
};
|
||||
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -288,12 +288,11 @@ private:
|
|||
//==============================================================================
|
||||
friend class ComponentPeer;
|
||||
friend class Desktop;
|
||||
friend class MouseInputSourceInternal;
|
||||
MouseInputSourceInternal* pimpl;
|
||||
friend class detail::MouseInputSourceList;
|
||||
friend class detail::MouseInputSourceImpl;
|
||||
detail::MouseInputSourceImpl* pimpl;
|
||||
|
||||
struct SourceList;
|
||||
|
||||
explicit MouseInputSource (MouseInputSourceInternal*) noexcept;
|
||||
explicit MouseInputSource (detail::MouseInputSourceImpl*) noexcept;
|
||||
void handleEvent (ComponentPeer&, Point<float>, int64 time, ModifierKeys, float, float, const PenDetails&);
|
||||
void handleWheel (ComponentPeer&, Point<float>, int64 time, const MouseWheelDetails&);
|
||||
void handleMagnifyGesture (ComponentPeer&, Point<float>, int64 time, float scaleFactor);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
#if ! JUCE_NATIVE_ACCESSIBILITY_INCLUDED
|
||||
class AccessibilityHandler::AccessibilityNativeImpl { public: AccessibilityNativeImpl (AccessibilityHandler&) {} };
|
||||
#endif
|
||||
|
||||
} // namespace juce
|
||||
|
|
@ -142,18 +142,6 @@ static jmethodID nodeInfoSetTextSelection = nullptr;
|
|||
static jmethodID nodeInfoSetLiveRegion = nullptr;
|
||||
static jmethodID accessibilityEventSetContentChangeTypes = nullptr;
|
||||
|
||||
template <typename MemberFn>
|
||||
static AccessibilityHandler* getEnclosingHandlerWithInterface (AccessibilityHandler* handler, MemberFn fn)
|
||||
{
|
||||
if (handler == nullptr)
|
||||
return nullptr;
|
||||
|
||||
if ((handler->*fn)() != nullptr)
|
||||
return handler;
|
||||
|
||||
return getEnclosingHandlerWithInterface (handler->getParent(), fn);
|
||||
}
|
||||
|
||||
static void loadSDKDependentMethods()
|
||||
{
|
||||
static bool hasChecked = false;
|
||||
|
|
@ -235,6 +223,24 @@ static jobject getSourceView (const AccessibilityHandler& handler)
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
static jobject makeAndroidRect (Rectangle<int> r)
|
||||
{
|
||||
return getEnv()->NewObject (AndroidRect,
|
||||
AndroidRect.constructor,
|
||||
r.getX(),
|
||||
r.getY(),
|
||||
r.getRight(),
|
||||
r.getBottom());
|
||||
}
|
||||
|
||||
static jobject makeAndroidPoint (Point<int> p)
|
||||
{
|
||||
return getEnv()->NewObject (AndroidPoint,
|
||||
AndroidPoint.create,
|
||||
p.getX(),
|
||||
p.getY());
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
class AccessibilityNativeHandle
|
||||
{
|
||||
|
|
@ -477,7 +483,7 @@ public:
|
|||
env->CallVoidMethod (info, AndroidAccessibilityNodeInfo19.setCollectionInfo, collectionInfo.get());
|
||||
}
|
||||
|
||||
if (auto* enclosingTableHandler = getEnclosingHandlerWithInterface (&accessibilityHandler, &AccessibilityHandler::getTableInterface))
|
||||
if (auto* enclosingTableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (&accessibilityHandler, &AccessibilityHandler::getTableInterface))
|
||||
{
|
||||
auto* interface = enclosingTableHandler->getTableInterface();
|
||||
jassert (interface != nullptr);
|
||||
|
|
@ -926,12 +932,12 @@ AccessibilityNativeHandle* AccessibilityHandler::getNativeImplementation() const
|
|||
return nativeImpl.get();
|
||||
}
|
||||
|
||||
void notifyAccessibilityEventInternal (const AccessibilityHandler& handler,
|
||||
InternalAccessibilityEvent eventType)
|
||||
void detail::AccessibilityHelpers::notifyAccessibilityEvent (const AccessibilityHandler& handler,
|
||||
Event eventType)
|
||||
{
|
||||
if (eventType == InternalAccessibilityEvent::elementCreated
|
||||
|| eventType == InternalAccessibilityEvent::elementDestroyed
|
||||
|| eventType == InternalAccessibilityEvent::elementMovedOrResized)
|
||||
if (eventType == Event::elementCreated
|
||||
|| eventType == Event::elementDestroyed
|
||||
|| eventType == Event::elementMovedOrResized)
|
||||
{
|
||||
if (auto* parent = handler.getParent())
|
||||
AccessibilityNativeHandle::sendAccessibilityEventImpl (*parent, TYPE_WINDOW_CONTENT_CHANGED, CONTENT_CHANGE_TYPE_SUBTREE);
|
||||
|
|
@ -943,15 +949,15 @@ void notifyAccessibilityEventInternal (const AccessibilityHandler& handler,
|
|||
{
|
||||
switch (eventType)
|
||||
{
|
||||
case InternalAccessibilityEvent::focusChanged:
|
||||
case Event::focusChanged:
|
||||
return handler.hasFocus (false) ? TYPE_VIEW_ACCESSIBILITY_FOCUSED
|
||||
: TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED;
|
||||
|
||||
case InternalAccessibilityEvent::elementCreated:
|
||||
case InternalAccessibilityEvent::elementDestroyed:
|
||||
case InternalAccessibilityEvent::elementMovedOrResized:
|
||||
case InternalAccessibilityEvent::windowOpened:
|
||||
case InternalAccessibilityEvent::windowClosed:
|
||||
case Event::elementCreated:
|
||||
case Event::elementDestroyed:
|
||||
case Event::elementMovedOrResized:
|
||||
case Event::windowOpened:
|
||||
case Event::windowClosed:
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ private:
|
|||
{
|
||||
addMethod (@selector (accessibilityDataTableCellElementForRow:column:), [] (id self, SEL, NSUInteger row, NSUInteger column) -> id
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
if (auto* cellHandler = tableInterface->getCellHandler ((int) row, (int) column))
|
||||
if (auto* parent = getAccessibleParent (cellHandler))
|
||||
|
|
@ -137,7 +137,7 @@ private:
|
|||
|
||||
addMethod (@selector (accessibilityHeaderElementsForColumn:), [] (id self, SEL, NSUInteger column) -> NSArray*
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
{
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
{
|
||||
|
|
@ -245,7 +245,7 @@ private:
|
|||
{
|
||||
const auto isTableCell = [&]
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (&handlerRef, &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (&handlerRef, &AccessibilityHandler::getTableInterface))
|
||||
{
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
{
|
||||
|
|
@ -619,19 +619,19 @@ static void sendAccessibilityEvent (UIAccessibilityNotifications notification, i
|
|||
UIAccessibilityPostNotification (notification, argument);
|
||||
}
|
||||
|
||||
void notifyAccessibilityEventInternal (const AccessibilityHandler& handler, InternalAccessibilityEvent eventType)
|
||||
void detail::AccessibilityHelpers::notifyAccessibilityEvent (const AccessibilityHandler& handler, Event eventType)
|
||||
{
|
||||
auto notification = [eventType]
|
||||
{
|
||||
switch (eventType)
|
||||
{
|
||||
case InternalAccessibilityEvent::elementCreated:
|
||||
case InternalAccessibilityEvent::elementDestroyed:
|
||||
case InternalAccessibilityEvent::elementMovedOrResized:
|
||||
case InternalAccessibilityEvent::focusChanged: return UIAccessibilityLayoutChangedNotification;
|
||||
case Event::elementCreated:
|
||||
case Event::elementDestroyed:
|
||||
case Event::elementMovedOrResized:
|
||||
case Event::focusChanged: return UIAccessibilityLayoutChangedNotification;
|
||||
|
||||
case InternalAccessibilityEvent::windowOpened:
|
||||
case InternalAccessibilityEvent::windowClosed: return UIAccessibilityScreenChangedNotification;
|
||||
case Event::windowOpened:
|
||||
case Event::windowClosed: return UIAccessibilityScreenChangedNotification;
|
||||
}
|
||||
|
||||
return UIAccessibilityNotifications{};
|
||||
|
|
@ -639,7 +639,7 @@ void notifyAccessibilityEventInternal (const AccessibilityHandler& handler, Inte
|
|||
|
||||
if (notification != UIAccessibilityNotifications{})
|
||||
{
|
||||
const bool moveToHandler = (eventType == InternalAccessibilityEvent::focusChanged && handler.hasFocus (false));
|
||||
const bool moveToHandler = (eventType == Event::focusChanged && handler.hasFocus (false));
|
||||
|
||||
sendAccessibilityEvent (notification,
|
||||
moveToHandler ? static_cast<id> (handler.getNativeImplementation()) : nil);
|
||||
|
|
|
|||
|
|
@ -499,7 +499,7 @@ private:
|
|||
{
|
||||
if (auto* handler = getHandler (self))
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (handler, &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (handler, &AccessibilityHandler::getTableInterface))
|
||||
{
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
{
|
||||
|
|
@ -863,18 +863,18 @@ static NSAccessibilityNotificationName layoutChangedNotification()
|
|||
return layoutChangedString;
|
||||
}
|
||||
|
||||
void notifyAccessibilityEventInternal (const AccessibilityHandler& handler, InternalAccessibilityEvent eventType)
|
||||
void detail::AccessibilityHelpers::notifyAccessibilityEvent (const AccessibilityHandler& handler, Event eventType)
|
||||
{
|
||||
auto notification = [eventType]
|
||||
{
|
||||
switch (eventType)
|
||||
{
|
||||
case InternalAccessibilityEvent::elementCreated: return NSAccessibilityCreatedNotification;
|
||||
case InternalAccessibilityEvent::elementDestroyed: return NSAccessibilityUIElementDestroyedNotification;
|
||||
case InternalAccessibilityEvent::elementMovedOrResized: return layoutChangedNotification();
|
||||
case InternalAccessibilityEvent::focusChanged: return NSAccessibilityFocusedUIElementChangedNotification;
|
||||
case InternalAccessibilityEvent::windowOpened: return NSAccessibilityWindowCreatedNotification;
|
||||
case InternalAccessibilityEvent::windowClosed: break;
|
||||
case Event::elementCreated: return NSAccessibilityCreatedNotification;
|
||||
case Event::elementDestroyed: return NSAccessibilityUIElementDestroyedNotification;
|
||||
case Event::elementMovedOrResized: return layoutChangedNotification();
|
||||
case Event::focusChanged: return NSAccessibilityFocusedUIElementChangedNotification;
|
||||
case Event::windowOpened: return NSAccessibilityWindowCreatedNotification;
|
||||
case Event::windowClosed: break;
|
||||
}
|
||||
|
||||
return NSAccessibilityNotificationName{};
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ protected:
|
|||
auto title = handler->getTitle();
|
||||
|
||||
if (title.isEmpty() && handler->getComponent().isOnDesktop())
|
||||
title = getAccessibleApplicationOrPluginName();
|
||||
title = detail::AccessibilityHelpers::getApplicationOrPluginName();
|
||||
|
||||
NSString* nsString = juceStringToNS (title);
|
||||
|
||||
|
|
@ -214,7 +214,7 @@ protected:
|
|||
|
||||
static NSInteger getAccessibilityRowCount (id self, SEL)
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
return tableInterface->getNumRows();
|
||||
|
||||
|
|
@ -223,7 +223,7 @@ protected:
|
|||
|
||||
static NSInteger getAccessibilityColumnCount (id self, SEL)
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
return tableInterface->getNumColumns();
|
||||
|
||||
|
|
@ -240,7 +240,7 @@ protected:
|
|||
if (handler == nullptr)
|
||||
return notFound;
|
||||
|
||||
auto* tableHandler = getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface);
|
||||
auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (getHandler (self), &AccessibilityHandler::getTableInterface);
|
||||
|
||||
if (tableHandler == nullptr)
|
||||
return notFound;
|
||||
|
|
@ -271,4 +271,4 @@ protected:
|
|||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AccessibleObjCClass)
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace juce
|
||||
|
|
|
|||
|
|
@ -153,12 +153,12 @@ void sendAccessibilityPropertyChangedEvent (const AccessibilityHandler& handler,
|
|||
});
|
||||
}
|
||||
|
||||
void notifyAccessibilityEventInternal (const AccessibilityHandler& handler, InternalAccessibilityEvent eventType)
|
||||
void detail::AccessibilityHelpers::notifyAccessibilityEvent (const AccessibilityHandler& handler, Event eventType)
|
||||
{
|
||||
using namespace ComTypes::Constants;
|
||||
|
||||
if (eventType == InternalAccessibilityEvent::elementCreated
|
||||
|| eventType == InternalAccessibilityEvent::elementDestroyed)
|
||||
if (eventType == Event::elementCreated
|
||||
|| eventType == Event::elementDestroyed)
|
||||
{
|
||||
if (auto* parent = handler.getParent())
|
||||
sendAccessibilityAutomationEvent (*parent, UIA_LayoutInvalidatedEventId);
|
||||
|
|
@ -166,8 +166,8 @@ void notifyAccessibilityEventInternal (const AccessibilityHandler& handler, Inte
|
|||
return;
|
||||
}
|
||||
|
||||
if (eventType == InternalAccessibilityEvent::windowOpened
|
||||
|| eventType == InternalAccessibilityEvent::windowClosed)
|
||||
if (eventType == Event::windowOpened
|
||||
|| eventType == Event::windowClosed)
|
||||
{
|
||||
if (auto* peer = handler.getComponent().getPeer())
|
||||
if ((peer->getStyleFlags() & ComponentPeer::windowHasTitleBar) == 0)
|
||||
|
|
@ -178,12 +178,12 @@ void notifyAccessibilityEventInternal (const AccessibilityHandler& handler, Inte
|
|||
{
|
||||
switch (eventType)
|
||||
{
|
||||
case InternalAccessibilityEvent::focusChanged: return UIA_AutomationFocusChangedEventId;
|
||||
case InternalAccessibilityEvent::windowOpened: return UIA_Window_WindowOpenedEventId;
|
||||
case InternalAccessibilityEvent::windowClosed: return UIA_Window_WindowClosedEventId;
|
||||
case InternalAccessibilityEvent::elementCreated:
|
||||
case InternalAccessibilityEvent::elementDestroyed:
|
||||
case InternalAccessibilityEvent::elementMovedOrResized: break;
|
||||
case Event::focusChanged: return UIA_AutomationFocusChangedEventId;
|
||||
case Event::windowOpened: return UIA_Window_WindowOpenedEventId;
|
||||
case Event::windowClosed: return UIA_Window_WindowClosedEventId;
|
||||
case Event::elementCreated:
|
||||
case Event::elementDestroyed:
|
||||
case Event::elementMovedOrResized: break;
|
||||
}
|
||||
|
||||
return {};
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public:
|
|||
|
||||
JUCE_COMCALL ScrollIntoView() override
|
||||
{
|
||||
if (auto* handler = getEnclosingHandlerWithInterface (&getHandler(), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* handler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (&getHandler(), &AccessibilityHandler::getTableInterface))
|
||||
{
|
||||
if (auto* tableInterface = handler->getTableInterface())
|
||||
{
|
||||
|
|
@ -194,7 +194,7 @@ JUCE_COMRESULT AccessibilityNativeHandle::GetPatternProvider (PATTERNID pId, IUn
|
|||
|
||||
const auto isListOrTableCell = [] (auto& handler)
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (&handler, &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (&handler, &AccessibilityHandler::getTableInterface))
|
||||
{
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
{
|
||||
|
|
@ -627,7 +627,7 @@ String AccessibilityNativeHandle::getElementName() const
|
|||
auto name = accessibilityHandler.getTitle();
|
||||
|
||||
if (name.isEmpty() && isFragmentRoot())
|
||||
return getAccessibleApplicationOrPluginName();
|
||||
return detail::AccessibilityHelpers::getApplicationOrPluginName();
|
||||
|
||||
return name;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ private:
|
|||
{
|
||||
return withCheckedComArgs (pRetVal, *this, [&]() -> HRESULT
|
||||
{
|
||||
if (auto* handler = getEnclosingHandlerWithInterface (&getHandler(), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* handler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (&getHandler(), &AccessibilityHandler::getTableInterface))
|
||||
if (handler->getTableInterface() != nullptr && callback (*handler))
|
||||
return S_OK;
|
||||
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ private:
|
|||
{
|
||||
return withCheckedComArgs (pRetVal, *this, [&]() -> HRESULT
|
||||
{
|
||||
if (auto* tableHandler = getEnclosingHandlerWithInterface (&getHandler(), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableHandler = detail::AccessibilityHelpers::getEnclosingHandlerWithInterface (&getHandler(), &AccessibilityHandler::getTableInterface))
|
||||
if (auto* tableInterface = tableHandler->getTableInterface())
|
||||
return callback (*tableInterface);
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace juce
|
|||
{
|
||||
void sendAccessibilityAutomationEvent (const AccessibilityHandler&, EVENTID);
|
||||
void sendAccessibilityPropertyChangedEvent (const AccessibilityHandler&, PROPERTYID, VARIANT);
|
||||
}
|
||||
} // namespace juce
|
||||
|
||||
#include "juce_win32_UIAProviderBase.h"
|
||||
#include "juce_win32_UIAExpandCollapseProvider.h"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2022 - Raw Material Software Limited
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
|
||||
Agreement and JUCE Privacy Policy.
|
||||
|
||||
End User License Agreement: www.juce.com/juce-7-licence
|
||||
Privacy Policy: www.juce.com/juce-privacy-policy
|
||||
|
||||
Or: You may also use this code under the terms of the GPL v3 (see
|
||||
www.gnu.org/licenses).
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
#if ! JUCE_WINDOWS
|
||||
ScopedDPIAwarenessDisabler::ScopedDPIAwarenessDisabler() { ignoreUnused (previousContext); }
|
||||
ScopedDPIAwarenessDisabler::~ScopedDPIAwarenessDisabler() {}
|
||||
#endif
|
||||
|
||||
} // namespace juce
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
std::unique_ptr<ScopedMessageBoxInterface> ScopedMessageBoxInterface::create (const MessageBoxOptions& options)
|
||||
|
|
@ -112,4 +112,4 @@ std::unique_ptr<ScopedMessageBoxInterface> ScopedMessageBoxInterface::create (co
|
|||
return std::make_unique<AndroidMessageBox> (options);
|
||||
}
|
||||
|
||||
} // namespace juce
|
||||
} // namespace juce::detail
|
||||
|
|
|
|||
|
|
@ -2264,13 +2264,13 @@ Desktop::DisplayOrientation Desktop::getCurrentOrientation() const
|
|||
return upright;
|
||||
}
|
||||
|
||||
bool MouseInputSource::SourceList::addSource()
|
||||
bool detail::MouseInputSourceList::addSource()
|
||||
{
|
||||
addSource (sources.size(), MouseInputSource::InputSourceType::touch);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MouseInputSource::SourceList::canUseTouch()
|
||||
bool detail::MouseInputSourceList::canUseTouch() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
@ -2446,7 +2446,7 @@ void Desktop::allowedOrientationsChanged()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
bool juce_areThereAnyAlwaysOnTopWindows()
|
||||
bool detail::WindowingHelpers::areThereAnyAlwaysOnTopWindows()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -2621,9 +2621,9 @@ void Displays::findDisplays (float masterScale)
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
Image juce_createIconForFile (const File& /*file*/)
|
||||
Image detail::WindowingHelpers::createIconForFile (const File& /*file*/)
|
||||
{
|
||||
return Image();
|
||||
return {};
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -2631,7 +2631,7 @@ class MouseCursor::PlatformSpecificHandle
|
|||
{
|
||||
public:
|
||||
PlatformSpecificHandle (const MouseCursor::StandardCursorType) {}
|
||||
PlatformSpecificHandle (const CustomMouseCursorInfo&) {}
|
||||
PlatformSpecificHandle (const detail::CustomMouseCursorInfo&) {}
|
||||
|
||||
static void showInWindow (PlatformSpecificHandle*, ComponentPeer*) {}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
namespace juce
|
||||
namespace juce::detail
|
||||
{
|
||||
|
||||
std::unique_ptr<ScopedMessageBoxInterface> ScopedMessageBoxInterface::create (const MessageBoxOptions& options)
|
||||
|
|
@ -107,4 +107,4 @@ std::unique_ptr<ScopedMessageBoxInterface> ScopedMessageBoxInterface::create (co
|
|||
return std::make_unique<MessageBox> (options);
|
||||
}
|
||||
|
||||
} // namespace juce
|
||||
} // namespace juce::detail
|
||||
|
|
|
|||
|
|
@ -1317,7 +1317,7 @@ static bool doKeysUp (UIViewComponentPeer* owner, NSSet<UIPress*>* presses, UIPr
|
|||
if (auto* comp = dynamic_cast<Component*> (target))
|
||||
{
|
||||
const auto areaOnDesktop = comp->localAreaToGlobal (target->getCaretRectangle());
|
||||
return convertToCGRect (ScalingHelpers::scaledScreenPosToUnscaled (areaOnDesktop));
|
||||
return convertToCGRect (detail::ScalingHelpers::scaledScreenPosToUnscaled (areaOnDesktop));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1337,7 +1337,7 @@ static bool doKeysUp (UIViewComponentPeer* owner, NSSet<UIPress*>* presses, UIPr
|
|||
{
|
||||
if (auto* comp = dynamic_cast<Component*> (target))
|
||||
{
|
||||
const auto pointOnDesktop = ScalingHelpers::unscaledScreenPosToScaled (convertToPointFloat (point));
|
||||
const auto pointOnDesktop = detail::ScalingHelpers::unscaledScreenPosToScaled (convertToPointFloat (point));
|
||||
return target->getCharIndexForPoint (comp->getLocalPoint (nullptr, pointOnDesktop).roundToInt());
|
||||
}
|
||||
}
|
||||
|
|
@ -1464,7 +1464,7 @@ static bool doKeysUp (UIViewComponentPeer* owner, NSSet<UIPress*>* presses, UIPr
|
|||
if (! list.isEmpty())
|
||||
{
|
||||
const auto areaOnDesktop = comp->localAreaToGlobal (list.getRectangle (0));
|
||||
return convertToCGRect (ScalingHelpers::scaledScreenPosToUnscaled (areaOnDesktop));
|
||||
return convertToCGRect (detail::ScalingHelpers::scaledScreenPosToUnscaled (areaOnDesktop));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1485,7 +1485,7 @@ static bool doKeysUp (UIViewComponentPeer* owner, NSSet<UIPress*>* presses, UIPr
|
|||
for (const auto& rect : list)
|
||||
{
|
||||
const auto areaOnDesktop = comp->localAreaToGlobal (rect);
|
||||
const auto nativeArea = convertToCGRect (ScalingHelpers::scaledScreenPosToUnscaled (areaOnDesktop));
|
||||
const auto nativeArea = convertToCGRect (detail::ScalingHelpers::scaledScreenPosToUnscaled (areaOnDesktop));
|
||||
|
||||
[result addObject: [JuceUITextSelectionRect withRect: nativeArea]];
|
||||
}
|
||||
|
|
@ -1812,7 +1812,7 @@ void UIViewComponentPeer::setFullScreen (bool shouldBeFullScreen)
|
|||
|
||||
// (can't call the component's setBounds method because that'll reset our fullscreen flag)
|
||||
if (! r.isEmpty())
|
||||
setBounds (ScalingHelpers::scaledScreenPosToUnscaled (component, r), shouldBeFullScreen);
|
||||
setBounds (detail::ScalingHelpers::scaledScreenPosToUnscaled (component, r), shouldBeFullScreen);
|
||||
|
||||
component.repaint();
|
||||
}
|
||||
|
|
@ -1855,7 +1855,7 @@ void UIViewComponentPeer::updateScreenBounds()
|
|||
|
||||
bool UIViewComponentPeer::contains (Point<int> localPos, bool trueIfInAChildWindow) const
|
||||
{
|
||||
if (! ScalingHelpers::scaledScreenPosToUnscaled (component, component.getLocalBounds()).contains (localPos))
|
||||
if (! detail::ScalingHelpers::scaledScreenPosToUnscaled (component, component.getLocalBounds()).contains (localPos))
|
||||
return false;
|
||||
|
||||
UIView* v = [view hitTest: convertToCGPoint (localPos)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ namespace juce
|
|||
|
||||
// This is an internal list of callbacks (but currently used between modules)
|
||||
Array<AppInactivityCallback*> appBecomingInactiveCallbacks;
|
||||
}
|
||||
} // namespace juce
|
||||
|
||||
#if JUCE_PUSH_NOTIFICATIONS
|
||||
@interface JuceAppStartupDelegate : NSObject <UIApplicationDelegate, UNUserNotificationCenterDelegate>
|
||||
|
|
@ -499,15 +499,15 @@ bool Desktop::isScreenSaverEnabled()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
bool juce_areThereAnyAlwaysOnTopWindows()
|
||||
bool detail::WindowingHelpers::areThereAnyAlwaysOnTopWindows()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Image juce_createIconForFile (const File&)
|
||||
Image detail::WindowingHelpers::createIconForFile (const File&)
|
||||
{
|
||||
return Image();
|
||||
return {};
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -523,13 +523,13 @@ String SystemClipboard::getTextFromClipboard()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
bool MouseInputSource::SourceList::addSource()
|
||||
bool detail::MouseInputSourceList::addSource()
|
||||
{
|
||||
addSource (sources.size(), MouseInputSource::InputSourceType::touch);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MouseInputSource::SourceList::canUseTouch()
|
||||
bool detail::MouseInputSourceList::canUseTouch() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue