From 9b61d249c5e7ef1e9de9bbf332cf2b2ed3439573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marti=CC=81n=20Lucas=20Golini?= Date: Wed, 12 Jul 2023 00:04:30 -0300 Subject: [PATCH] eepp: Improve macOS trackpad events. ecode: Remove --use-dirty-headers in clangd default configuration since it's not available in older versions. --- bin/assets/plugins/lspclient.json | 2 +- src/eepp/scene/eventdispatcher.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/bin/assets/plugins/lspclient.json b/bin/assets/plugins/lspclient.json index e655cb0cf..d05876a53 100644 --- a/bin/assets/plugins/lspclient.json +++ b/bin/assets/plugins/lspclient.json @@ -67,7 +67,7 @@ "language": "c", "name": "clangd", "url": "https://clangd.llvm.org/", - "command": "clangd -log=error --background-index --header-insertion=never --limit-results=0 --limit-references=0 --clang-tidy=0 --use-dirty-headers --completion-style=bundled -j $NPROC", + "command": "clangd -log=error --background-index --header-insertion=never --limit-results=0 --limit-references=0 --clang-tidy=0 --completion-style=bundled -j $NPROC", "share_process": true, "file_patterns": ["%.c$", "%.h$", "%.C$", "%.H$", "%.objc$"] }, diff --git a/src/eepp/scene/eventdispatcher.cpp b/src/eepp/scene/eventdispatcher.cpp index 4b7a4936b..e861ac2dd 100644 --- a/src/eepp/scene/eventdispatcher.cpp +++ b/src/eepp/scene/eventdispatcher.cpp @@ -110,6 +110,19 @@ void EventDispatcher::update( const Time& time ) { sendMsg( mOverNode, NodeMessage::MouseDown, mInput->getPressTrigger() ); } } +#if EE_PLATFORM == EE_PLATFORM_MACOSX + else if ( NULL != mOverNode && mInput->getReleaseTrigger() && + !( mInput->getPressTrigger() & mInput->getReleaseTrigger() ) && + !( mInput->getLastPressTrigger() & mInput->getReleaseTrigger() ) ) { + if ( !mFirstPress ) { + mDownNode = mOverNode; + mMouseDownPos = mMousePosi; + mFirstPress = true; + } + mOverNode->onMouseDown( mMousePosi, mInput->getReleaseTrigger() ); + sendMsg( mOverNode, NodeMessage::MouseDown, mInput->getReleaseTrigger() ); + } +#endif if ( mInput->getReleaseTrigger() ) { if ( NULL != mFocusNode ) { @@ -131,6 +144,7 @@ void EventDispatcher::update( const Time& time ) { sendMsg( mOverNode, NodeMessage::MouseDown, mInput->getReleaseTrigger() & EE_BUTTONS_WUWD ); } + mOverNode->onMouseUp( mMousePosi, mInput->getReleaseTrigger() ); if ( NULL != mOverNode ) sendMsg( mOverNode, NodeMessage::MouseUp, mInput->getReleaseTrigger() );