36 parent->addChildComponent (
this);
62 callout.enterModalState (
true,
this);
113 content.setTopLeftPosition (borderSpace, borderSpace);
129 return outline.contains ((
float)
x, (
float)
y);
147 if (elapsed.inMilliseconds() > 200)
198 content.getHeight() + borderSpace * 2));
200 auto hw = newBounds.getWidth() / 2;
201 auto hh = newBounds.getHeight() / 2;
202 auto hwReduced = (float) (hw - borderSpace * 2);
203 auto hhReduced = (float) (
hh - borderSpace * 2);
204 auto arrowIndent = (float) borderSpace -
arrowSize;
212 { targets[1].
translated (hw - arrowIndent, -hhReduced), targets[1].
translated (hw - arrowIndent, hhReduced) },
213 { targets[2].
translated (-(hw - arrowIndent), -hhReduced), targets[2].
translated (-(hw - arrowIndent), hhReduced) },
214 { targets[3].
translated (-hwReduced, -(
hh - arrowIndent)), targets[3].
translated (hwReduced, -(
hh - arrowIndent)) } };
217 auto targetCentre =
targetArea.getCentre().toFloat();
219 float nearest = 1.0e9f;
221 for (
int i = 0;
i < 4; ++
i)
224 centrePointArea.getConstrainedPoint (lines[
i].
getEnd()));
227 auto distanceFromCentre = centre.getDistanceFrom (targets[
i]);
229 if (! centrePointArea.intersects (lines[
i]))
230 distanceFromCentre += 1000.0f;
232 if (distanceFromCentre < nearest)
234 nearest = distanceFromCentre;
237 newBounds.setPosition ((
int) (centre.x - (
float) hw),
238 (
int) (centre.y - (
float)
hh));
251 const float gap = 4.5f;
Type jmax(const Type a, const Type b)
Definition MathsFunctions.h:48
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_CallOutBox.cpp:55
void timerCallback() override
Definition juce_CallOutBox.cpp:68
CallOutBoxCallback(std::unique_ptr< Component > c, const Rectangle< int > &area, Component *parent)
Definition juce_CallOutBox.cpp:57
void modalStateFinished(int) override
Definition juce_CallOutBox.cpp:66
std::unique_ptr< Component > content
Definition juce_CallOutBox.cpp:74
CallOutBox callout
Definition juce_CallOutBox.cpp:75
Definition juce_CallOutBox.h:61
void inputAttemptWhenModal() override
Definition juce_CallOutBox.cpp:132
bool keyPressed(const KeyPress &) override
Definition juce_CallOutBox.cpp:180
void handleCommandMessage(int) override
Definition juce_CallOutBox.cpp:164
void dismiss()
Definition juce_CallOutBox.cpp:175
bool dismissalMouseClicksAreAlwaysConsumed
Definition juce_CallOutBox.h:176
Time creationTime
Definition juce_CallOutBox.h:178
int getBorderSize() const noexcept
Definition juce_CallOutBox.cpp:94
Path outline
Definition juce_CallOutBox.h:171
void updatePosition(const Rectangle< int > &newAreaToPointTo, const Rectangle< int > &newAreaToFitIn)
Definition juce_CallOutBox.cpp:191
void childBoundsChanged(Component *) override
Definition juce_CallOutBox.cpp:122
Point< float > targetPoint
Definition juce_CallOutBox.h:172
void refreshPath()
Definition juce_CallOutBox.cpp:245
float arrowSize
Definition juce_CallOutBox.h:175
Image background
Definition juce_CallOutBox.h:174
void setDismissalMouseClicksAreAlwaysConsumed(bool shouldAlwaysBeConsumed) noexcept
Definition juce_CallOutBox.cpp:157
Component & content
Definition juce_CallOutBox.h:170
void timerCallback() override
Definition juce_CallOutBox.cpp:259
void setArrowSize(float newSize)
Definition juce_CallOutBox.cpp:88
static CallOutBox & launchAsynchronously(std::unique_ptr< Component > contentComponent, Rectangle< int > areaToPointTo, Component *parentComponent)
Definition juce_CallOutBox.cpp:80
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_CallOutBox.cpp:266
CallOutBox(Component &contentComponent, Rectangle< int > areaToPointTo, Component *parentComponent)
Definition juce_CallOutBox.cpp:29
bool hitTest(int x, int y) override
Definition juce_CallOutBox.cpp:127
void paint(Graphics &) override
Definition juce_CallOutBox.cpp:105
void lookAndFeelChanged() override
Definition juce_CallOutBox.cpp:99
Rectangle< int > targetArea
Definition juce_CallOutBox.h:173
Rectangle< int > availableArea
Definition juce_CallOutBox.h:173
void resized() override
Definition juce_CallOutBox.cpp:110
void moved() override
Definition juce_CallOutBox.cpp:117
Definition juce_Component.h:36
Point< int > getPosition() const noexcept
Definition juce_Component.h:286
Rectangle< int > getLocalArea(const Component *sourceComponent, Rectangle< int > areaRelativeToSourceComponent) const
Definition juce_Component.cpp:1138
void toFront(bool shouldAlsoGainKeyboardFocus)
Definition juce_Component.cpp:954
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
void setAlwaysOnTop(bool shouldStayOnTop)
Definition juce_Component.cpp:1074
void postCommandMessage(int commandId)
Definition juce_Component.cpp:2361
Rectangle< int > getBounds() const noexcept
Definition juce_Component.h:304
void repaint()
Definition juce_Component.cpp:1917
Component() noexcept
Definition juce_Component.cpp:517
Point< int > getMouseXYRelative() const
Definition juce_Component.cpp:3210
void exitModalState(int returnValue)
Definition juce_Component.cpp:1795
virtual void addToDesktop(int windowStyleFlags, void *nativeWindowToAttachTo=nullptr)
Definition juce_Component.cpp:658
void setBounds(int x, int y, int width, int height)
Definition juce_Component.cpp:1147
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
virtual void setVisible(bool shouldBeVisible)
Definition juce_Component.cpp:575
virtual void handleCommandMessage(int commandId)
Definition juce_Component.cpp:2370
@ windowIsTemporary
Definition juce_ComponentPeer.h:52
static Desktop &JUCE_CALLTYPE getInstance()
Definition juce_Desktop.cpp:50
Definition juce_GraphicsContext.h:45
Definition juce_KeyPress.h:40
static const int escapeKey
Definition juce_KeyPress.h:190
Definition juce_Line.h:47
Point< ValueType > findNearestPointTo(Point< ValueType > point) const noexcept
Definition juce_Line.h:315
Point< ValueType > getEnd() const noexcept
Definition juce_Line.h:91
Point< ValueType > getStart() const noexcept
Definition juce_Line.h:88
Definition juce_ModalComponentManager.h:56
Definition juce_Point.h:42
constexpr Point translated(ValueType deltaX, ValueType deltaY) const noexcept
Definition juce_Point.h:92
Definition juce_Rectangle.h:67
Rectangle< float > toFloat() const noexcept
Definition juce_Rectangle.h:873
Rectangle reduced(ValueType deltaX, ValueType deltaY) const noexcept
Definition juce_Rectangle.h:485
static Time JUCE_CALLTYPE getCurrentTime() noexcept
Definition juce_Time.cpp:233
void stopTimer() noexcept
Definition juce_Timer.cpp:357
Timer() noexcept
Definition juce_Timer.cpp:316
void startTimer(int intervalInMilliseconds) noexcept
Definition juce_Timer.cpp:332
int y
Definition inflate.c:1588
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
unsigned x[BMAX+1]
Definition inflate.c:1586
static uintptr_t parent
Definition pugl.h:1644
Definition carla_juce.cpp:31
static constexpr int callOutBoxDismissCommandId
Definition juce_CallOutBox.cpp:162
bool juce_areThereAnyAlwaysOnTopWindows()
Definition juce_linux_Windowing.cpp:31
@ dialogWindow
Definition juce_AccessibilityRole.h:62
static bool isForegroundOrEmbeddedProcess(Component *viewComponent)
Definition juce_gui_basics.cpp:120
Definition juce_Uuid.h:141
return c
Definition crypt.c:175
ZCONST char * key
Definition crypt.c:587
uch hh[RAND_HEAD_LEN]
Definition crypt.c:595
#define const
Definition zconf.h:137