38 desktop.peers.add (
this);
39 desktop.addFocusChangeListener (
this);
45 desktop.removeFocusChangeListener (
this);
46 desktop.peers.removeFirstMatchingValue (
this);
47 desktop.triggerFocusCallback();
87 float newPressure,
float newOrientation,
int64 time,
PenDetails pen,
int touchIndex)
114 auto componentBounds =
component.getLocalBounds();
117 componentBounds = componentBounds.transformedBy (
component.getTransform());
119 if (peerBounds.getWidth() != componentBounds.getWidth() || peerBounds.getHeight() != componentBounds.getHeight())
122 (
float) peerBounds.getHeight() / (
float) componentBounds.getHeight()));
124 #if JUCE_ENABLE_REPAINT_DEBUGGING
125 #ifdef JUCE_IS_REPAINT_DEBUGGING_ACTIVE
126 if (JUCE_IS_REPAINT_DEBUGGING_ACTIVE)
139 #if JUCE_ENABLE_REPAINT_DEBUGGING
140 #ifdef JUCE_IS_REPAINT_DEBUGGING_ACTIVE
141 if (JUCE_IS_REPAINT_DEBUGGING_ACTIVE)
171 if (
c->isCurrentlyBlockedByAnotherModalComponent())
173 c = currentModalComp;
188 bool keyWasUsed =
false;
190 for (
auto* target =
getTargetForKeyPress(); target !=
nullptr; target = target->getParentComponent())
194 if (
auto* keyListeners = target->keyListeners.get())
196 for (
int i = keyListeners->size(); --
i >= 0;)
198 keyWasUsed = keyListeners->getUnchecked (
i)->keyPressed (keyInfo, target);
200 if (keyWasUsed || deletionChecker ==
nullptr)
203 i =
jmin (
i, keyListeners->size());
207 keyWasUsed = target->keyPressed (keyInfo);
209 if (keyWasUsed || deletionChecker ==
nullptr)
227 bool keyWasUsed =
false;
229 for (
auto* target =
getTargetForKeyPress(); target !=
nullptr; target = target->getParentComponent())
233 keyWasUsed = target->keyStateChanged (isKeyDown);
235 if (keyWasUsed || deletionChecker ==
nullptr)
238 if (
auto* keyListeners = target->keyListeners.get())
240 for (
int i = keyListeners->size(); --
i >= 0;)
242 keyWasUsed = keyListeners->getUnchecked (
i)->keyStateChanged (isKeyDown, target);
244 if (keyWasUsed || deletionChecker ==
nullptr)
247 i =
jmin (
i, keyListeners->size());
259 if (target ==
nullptr)
262 if (target ==
nullptr)
265 target->internalModifierKeysChanged();
287 if (ti->isTextInputActive())
315 if (
component.flags.hasHeavyweightPeerFlag && ! nowMinimised)
322 const bool wasMoved = (oldBounds.getPosition() != newBounds.getPosition());
323 const bool wasResized = (oldBounds.getWidth() != newBounds.getWidth() || oldBounds.getHeight() != newBounds.getHeight());
325 if (wasMoved || wasResized)
327 component.boundsRelativeToParent = newBounds;
332 component.sendMovedResizedMessages (wasMoved, wasResized);
334 if (deletionChecker ==
nullptr)
342 component.minimisationStateChanged (nowMinimised);
348 if (! windowInSpecialState)
364 if (!
component.isCurrentlyBlockedByAnotherModalComponent())
367 ModalComponentManager::getInstance()->bringModalComponentsToFront();
443 return !
info.files.isEmpty();
460 for (;
c !=
nullptr;
c =
c->getParentComponent())
470 auto* compUnderMouse =
component.getComponentAt (
info.position);
479 if (newTarget != lastTarget)
481 if (lastTarget !=
nullptr)
505 newTarget = lastTarget;
543 if (targetComp->isCurrentlyBlockedByAnotherModalComponent())
545 targetComp->internalModalInputAttempt();
547 if (targetComp->isCurrentlyBlockedByAnotherModalComponent())
558 if (
auto*
c = targetComp.get())
Type jmin(const Type a, const Type b)
Definition MathsFunctions.h:60
#define noexcept
Definition DistrhoDefines.h:72
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
Definition juce_Colour.h:38
Definition juce_ComponentBoundsConstrainer.h:44
Definition juce_Component.h:36
static Component *JUCE_CALLTYPE getCurrentlyModalComponent(int index=0) noexcept
Definition juce_Component.cpp:1842
Point< int > getLocalPoint(const Component *sourceComponent, Point< int > pointRelativeToSourceComponent) const
Definition juce_Component.cpp:1136
static Component *JUCE_CALLTYPE getCurrentlyFocusedComponent() noexcept
Definition juce_Component.cpp:3092
@ focusChangedDirectly
Definition juce_Component.h:1893
@ focusChangedByMouseClick
Definition juce_Component.h:1891
static Component * currentlyFocusedComponent
Definition juce_Component.h:2531
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
TextInputTarget * textInputTarget
Definition juce_ComponentPeer.h:556
virtual bool setDocumentEditedStatus(bool edited)
Definition juce_ComponentPeer.cpp:580
static ModifierKeys getCurrentModifiersRealtime() noexcept
Definition juce_ComponentPeer.cpp:596
void handleMouseEvent(MouseInputSource::InputSourceType type, Point< float > positionWithinPeer, ModifierKeys newMods, float pressure, float orientation, int64 time, PenDetails pen={}, int touchIndex=0)
Definition juce_ComponentPeer.cpp:86
const int styleFlags
Definition juce_ComponentPeer.h:522
virtual int getCurrentRenderingEngine() const
Definition juce_ComponentPeer.cpp:590
Component & component
Definition juce_ComponentPeer.h:521
void handleModifierKeysChange()
Definition juce_ComponentPeer.cpp:255
~ComponentPeer() override
Definition juce_ComponentPeer.cpp:42
bool handleDragMove(const DragInfo &)
Definition juce_ComponentPeer.cpp:468
virtual void handleScreenSizeChange()
Definition juce_ComponentPeer.cpp:393
Rectangle< int > lastNonFullscreenBounds
Definition juce_ComponentPeer.h:523
virtual bool isKioskMode() const
Definition juce_ComponentPeer.cpp:80
void handleFocusGain()
Definition juce_ComponentPeer.cpp:352
bool handleKeyPress(int keyCode, juce_wchar textCharacter)
Definition juce_ComponentPeer.cpp:178
virtual void closeInputMethodContext()
Definition juce_ComponentPeer.cpp:293
bool handleDragDrop(const DragInfo &)
Definition juce_ComponentPeer.cpp:532
const uint32 uniqueID
Definition juce_ComponentPeer.h:557
virtual Rectangle< int > getBounds() const =0
bool handleDragExit(const DragInfo &)
Definition juce_ComponentPeer.cpp:521
virtual void setCurrentRenderingEngine(int index)
Definition juce_ComponentPeer.cpp:591
ComponentPeer(Component &component, int styleFlags)
Definition juce_ComponentPeer.cpp:32
void handleMovedOrResized()
Definition juce_ComponentPeer.cpp:311
WeakReference< Component > lastFocusedComponent
Definition juce_ComponentPeer.h:554
static int getNumPeers() noexcept
Definition juce_ComponentPeer.cpp:51
void handleUserClosingWindow()
Definition juce_ComponentPeer.cpp:575
virtual void setBounds(const Rectangle< int > &newBounds, bool isNowFullScreen)=0
void handlePaint(LowLevelGraphicsContext &contextToPaintTo)
Definition juce_ComponentPeer.cpp:106
void globalFocusChanged(Component *) override
Definition juce_ComponentPeer.cpp:610
void setNonFullScreenBounds(const Rectangle< int > &newBounds) noexcept
Definition juce_ComponentPeer.cpp:399
TextInputTarget * findCurrentTextInputTarget()
Definition juce_ComponentPeer.cpp:281
virtual void dismissPendingTextInput()
Definition juce_ComponentPeer.cpp:295
bool handleKeyUpOrDown(bool isKeyDown)
Definition juce_ComponentPeer.cpp:225
const Rectangle< int > & getNonFullScreenBounds() const noexcept
Definition juce_ComponentPeer.cpp:404
virtual Point< float > localToGlobal(Point< float > relativePosition)=0
virtual void textInputRequired(Point< int >, TextInputTarget &)=0
Component * getTargetForKeyPress()
Definition juce_ComponentPeer.cpp:164
static ComponentPeer * getPeerFor(const Component *) noexcept
Definition juce_ComponentPeer.cpp:61
void handleBroughtToFront()
Definition juce_ComponentPeer.cpp:301
static void forceDisplayUpdate()
Definition juce_ComponentPeer.cpp:605
void handleFocusLoss()
Definition juce_ComponentPeer.cpp:371
static bool isValidPeer(const ComponentPeer *peer) noexcept
Definition juce_ComponentPeer.cpp:70
void setConstrainer(ComponentBoundsConstrainer *newConstrainer) noexcept
Definition juce_ComponentPeer.cpp:306
ComponentBoundsConstrainer * constrainer
Definition juce_ComponentPeer.h:524
virtual void setRepresentedFile(const File &)
Definition juce_ComponentPeer.cpp:585
void updateBounds()
Definition juce_ComponentPeer.cpp:75
bool isWindowMinimised
Definition juce_ComponentPeer.h:558
void handleMouseWheel(MouseInputSource::InputSourceType type, Point< float > positionWithinPeer, int64 time, const MouseWheelDetails &, int touchIndex=0)
Definition juce_ComponentPeer.cpp:93
Rectangle< int > getAreaCoveredBy(const Component &subComponent) const
Definition juce_ComponentPeer.cpp:432
virtual bool isFullScreen() const =0
static ComponentPeer * getPeer(int index) noexcept
Definition juce_ComponentPeer.cpp:56
Component * lastDragAndDropCompUnderMouse
Definition juce_ComponentPeer.h:555
void refreshTextInputTarget()
Definition juce_ComponentPeer.cpp:268
static std::function< ModifierKeys()> getNativeRealtimeModifiers
Definition juce_ComponentPeer.h:525
void handleMagnifyGesture(MouseInputSource::InputSourceType type, Point< float > positionWithinPeer, int64 time, float scaleFactor, int touchIndex=0)
Definition juce_ComponentPeer.cpp:99
WeakReference< Component > dragAndDropTargetComponent
Definition juce_ComponentPeer.h:554
Component * getLastFocusedSubcomponent() const noexcept
Definition juce_ComponentPeer.cpp:386
virtual Point< float > globalToLocal(Point< float > screenPosition)=0
virtual bool isMinimised() const =0
static Desktop &JUCE_CALLTYPE getInstance()
Definition juce_Desktop.cpp:50
Definition juce_FileDragAndDropTarget.h:37
Definition juce_File.h:45
Definition juce_GraphicsContext.h:45
Definition juce_KeyPress.h:40
static const int tabKey
Definition juce_KeyPress.h:192
bool isKeyCode(int keyCodeToCompare) const noexcept
Definition juce_KeyPress.h:132
ModifierKeys getModifiers() const noexcept
Definition juce_KeyPress.h:115
Definition juce_LowLevelGraphicsContext.h:46
static bool callAsync(std::function< void()> functionToCall)
Definition juce_MessageManager.cpp:192
Definition juce_ModifierKeys.h:41
static ModifierKeys currentModifiers
Definition juce_ModifierKeys.h:189
bool isShiftDown() const noexcept
Definition juce_ModifierKeys.h:99
Definition juce_Point.h:42
void setXY(ValueType newX, ValueType newY) noexcept
Definition juce_Point.h:85
ValueType y
Definition juce_Point.h:247
ValueType x
Definition juce_Point.h:246
Definition juce_Random.h:35
int nextInt() noexcept
Definition juce_Random.cpp:74
Definition juce_Rectangle.h:67
Point< ValueType > getPosition() const noexcept
Definition juce_Rectangle.h:161
JUCE_NODISCARD Rectangle withPosition(ValueType newX, ValueType newY) const noexcept
Definition juce_Rectangle.h:232
Definition juce_TextDragAndDropTarget.h:38
Definition juce_TextInputTarget.h:41
Definition juce_WeakReference.h:78
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
struct backing_store_struct * info
Definition jmemsys.h:183
#define JUCE_TRY
Definition juce_ApplicationBase.h:329
#define JUCE_CATCH_EXCEPTION
Definition juce_ApplicationBase.h:330
static int JUCE_CDECL comp(const void *a, const void *b)
Definition lsp.c:298
Definition juce_ComponentPeer.cpp:440
static bool isFileDrag(const ComponentPeer::DragInfo &info)
Definition juce_ComponentPeer.cpp:441
static Component * findDragAndDropTarget(Component *c, const ComponentPeer::DragInfo &info, Component *lastOne)
Definition juce_ComponentPeer.cpp:458
static bool isInterested(const ComponentPeer::DragInfo &info, Component *target)
Definition juce_ComponentPeer.cpp:452
static bool isSuitableTarget(const ComponentPeer::DragInfo &info, Component *target)
Definition juce_ComponentPeer.cpp:446
Definition carla_juce.cpp:31
static uint32 lastUniquePeerID
Definition juce_ComponentPeer.cpp:29
unsigned int uint32
Definition juce_MathsFunctions.h:45
long long int64
Definition juce_MathsFunctions.h:54
wchar_t juce_wchar
Definition juce_CharacterFunctions.h:42
void ignoreUnused(Types &&...) noexcept
Definition juce_MathsFunctions.h:333
unsigned char uint8
Definition juce_MathsFunctions.h:37
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback void arg jack_client_t jack_port_t port void func jack_client_t const char const char unsigned long flags
Definition juce_linux_JackAudio.cpp:69
static PointOrRect rawPeerPositionToLocal(const Component &comp, PointOrRect pos) noexcept
Definition juce_Component.cpp:336
Definition juce_ComponentPeer.h:404
Point< int > position
Definition juce_ComponentPeer.h:407
StringArray files
Definition juce_ComponentPeer.h:405
String text
Definition juce_ComponentPeer.h:406
Definition juce_MouseEvent.h:392
Definition juce_MouseEvent.h:434
static PointOrRect scaledScreenPosToUnscaled(float scale, PointOrRect pos) noexcept
Definition juce_Component.cpp:207
uch * p
Definition crypt.c:594
return c
Definition crypt.c:175
#define const
Definition zconf.h:137