mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-11 23:54:18 +00:00
Added a workaround to not call Android's bringToFront method for every touch
This commit is contained in:
parent
6d356423e2
commit
fa6929cb3c
1 changed files with 10 additions and 1 deletions
|
|
@ -138,6 +138,7 @@ public:
|
|||
{
|
||||
if (MessageManager::getInstance()->isThisTheMessageThread())
|
||||
{
|
||||
frontWindow = nullptr;
|
||||
android.activity.callVoidMethod (JuceAppActivity.deleteView, view.get());
|
||||
}
|
||||
else
|
||||
|
|
@ -365,7 +366,13 @@ public:
|
|||
|
||||
void toFront (bool makeActive) override
|
||||
{
|
||||
view.callVoidMethod (ComponentPeerView.bringToFront);
|
||||
// Avoid calling bringToFront excessively: it's very slow
|
||||
if (frontWindow != this)
|
||||
{
|
||||
view.callVoidMethod (ComponentPeerView.bringToFront);
|
||||
|
||||
frontWindow = this;
|
||||
}
|
||||
|
||||
if (makeActive)
|
||||
grabFocus();
|
||||
|
|
@ -571,6 +578,7 @@ private:
|
|||
bool usingAndroidGraphics, fullScreen;
|
||||
int sizeAllocated;
|
||||
float scale;
|
||||
static AndroidComponentPeer* frontWindow;
|
||||
|
||||
struct PreallocatedImage : public ImagePixelData
|
||||
{
|
||||
|
|
@ -629,6 +637,7 @@ private:
|
|||
ModifierKeys AndroidComponentPeer::currentModifiers = 0;
|
||||
Point<float> AndroidComponentPeer::lastMousePos;
|
||||
int64 AndroidComponentPeer::touchesDown = 0;
|
||||
AndroidComponentPeer* AndroidComponentPeer::frontWindow = nullptr;
|
||||
|
||||
//==============================================================================
|
||||
#define JUCE_VIEW_CALLBACK(returnType, javaMethodName, params, juceMethodInvocation) \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue