LMMS
Loading...
Searching...
No Matches
juce_TooltipWindow.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
54 private Timer
55{
56public:
57 //==============================================================================
75 explicit TooltipWindow (Component* parentComponent = nullptr,
77
79 ~TooltipWindow() override;
80
81 //==============================================================================
85 void setMillisecondsBeforeTipAppears (int newTimeMs = 700) noexcept;
86
94 void displayTip (Point<int> screenPosition, const String& text);
95
97 void hideTip();
98
102 virtual String getTipFor (Component&);
103
104 //==============================================================================
113 {
114 backgroundColourId = 0x1001b00,
115 textColourId = 0x1001c00,
116 outlineColourId = 0x1001c10
117 };
118
119 //==============================================================================
124 {
125 virtual ~LookAndFeelMethods() = default;
126
128 virtual Rectangle<int> getTooltipBounds (const String& tipText, Point<int> screenPos, Rectangle<int> parentArea) = 0;
129 virtual void drawTooltip (Graphics&, const String& text, int width, int height) = 0;
130 };
131
132 //==============================================================================
134 float getDesktopScaleFactor() const override;
135
136private:
137 //==============================================================================
142 unsigned int lastCompChangeTime = 0, lastHideTime = 0;
144
146 void displayTipInternal (Point<int>, const String&, ShownManually);
147
148 std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override;
149 void paint (Graphics&) override;
150 void mouseEnter (const MouseEvent&) override;
151 void mouseDown (const MouseEvent&) override;
152 void mouseWheelMove (const MouseEvent&, const MouseWheelDetails&) override;
153 void timerCallback() override;
154 void updatePosition (const String&, Point<int>, Rectangle<int>);
155
157};
158
159} // namespace juce
Definition juce_Component.h:2287
Component * parentComponent
Definition juce_Component.h:2535
Component() noexcept
Definition juce_Component.cpp:517
Definition juce_GraphicsContext.h:45
Definition juce_MouseEvent.h:39
Definition juce_Point.h:42
Definition juce_Rectangle.h:67
Definition juce_String.h:53
Timer() noexcept
Definition juce_Timer.cpp:316
Definition juce_TooltipWindow.h:55
bool reentrant
Definition juce_TooltipWindow.h:143
String manuallyShownTip
Definition juce_TooltipWindow.h:140
Point< float > lastMousePos
Definition juce_TooltipWindow.h:138
TooltipWindow(Component *parentComponent=nullptr, int millisecondsBeforeTipAppears=700)
Definition juce_TooltipWindow.cpp:29
void displayTip(Point< int > screenPosition, const String &text)
Definition juce_TooltipWindow.cpp:93
bool dismissalMouseEventOccurred
Definition juce_TooltipWindow.h:143
int millisecondsBeforeTipAppears
Definition juce_TooltipWindow.h:141
float getDesktopScaleFactor() const override
Definition juce_TooltipWindow.cpp:184
String tipShowing
Definition juce_TooltipWindow.h:140
void hideTip()
Definition juce_TooltipWindow.cpp:165
void setMillisecondsBeforeTipAppears(int newTimeMs=700) noexcept
Definition juce_TooltipWindow.cpp:55
unsigned int lastHideTime
Definition juce_TooltipWindow.h:142
ShownManually
Definition juce_TooltipWindow.h:145
@ yes
Definition juce_TooltipWindow.h:145
@ no
Definition juce_TooltipWindow.h:145
virtual String getTipFor(Component &)
Definition juce_TooltipWindow.cpp:152
ColourIds
Definition juce_TooltipWindow.h:113
@ textColourId
Definition juce_TooltipWindow.h:115
@ outlineColourId
Definition juce_TooltipWindow.h:116
@ backgroundColourId
Definition juce_TooltipWindow.h:114
SafePointer< Component > lastComponentUnderMouse
Definition juce_TooltipWindow.h:139
String lastTipUnderMouse
Definition juce_TooltipWindow.h:140
unsigned int lastCompChangeTime
Definition juce_TooltipWindow.h:142
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_MouseEvent.h:392
Definition juce_TooltipWindow.h:124
virtual void drawTooltip(Graphics &, const String &text, int width, int height)=0
virtual Rectangle< int > getTooltipBounds(const String &tipText, Point< int > screenPos, Rectangle< int > parentArea)=0
const char * text
Definition swell-functions.h:167