LMMS
Loading...
Searching...
No Matches
juce_ImageComponent.cpp
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
34
38
39void ImageComponent::setImage (const Image& newImage)
40{
41 if (image != newImage)
42 {
43 image = newImage;
44 repaint();
45 }
46}
47
48void ImageComponent::setImage (const Image& newImage, RectanglePlacement placementToUse)
49{
50 if (image != newImage || placement != placementToUse)
51 {
52 image = newImage;
53 placement = placementToUse;
54 repaint();
55 }
56}
57
59{
60 if (placement != newPlacement)
61 {
62 placement = newPlacement;
63 repaint();
64 }
65}
66
68{
69 return image;
70}
71
76
78{
79 g.setOpacity (1.0f);
80 g.drawImage (image, getLocalBounds().toFloat(), placement);
81}
82
83//==============================================================================
84std::unique_ptr<AccessibilityHandler> ImageComponent::createAccessibilityHandler()
85{
86 class ImageComponentAccessibilityHandler : public AccessibilityHandler
87 {
88 public:
89 explicit ImageComponentAccessibilityHandler (ImageComponent& imageComponentToWrap)
90 : AccessibilityHandler (imageComponentToWrap, AccessibilityRole::image),
91 imageComponent (imageComponentToWrap)
92 {
93 }
94
95 String getHelp() const override { return imageComponent.getTooltip(); }
96
97 private:
98 ImageComponent& imageComponent;
99
100 //==============================================================================
101 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ImageComponentAccessibilityHandler)
102 };
103
104 return std::make_unique<ImageComponentAccessibilityHandler> (*this);
105}
106
107} // namespace juce
Definition juce_AccessibilityHandler.h:41
void repaint()
Definition juce_Component.cpp:1917
Component() noexcept
Definition juce_Component.cpp:517
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
Definition juce_GraphicsContext.h:45
const Image & getImage() const
Definition juce_ImageComponent.cpp:67
Image image
Definition juce_ImageComponent.h:75
ImageComponent(const String &componentName=String())
Definition juce_ImageComponent.cpp:29
~ImageComponent() override
Definition juce_ImageComponent.cpp:35
void setImage(const Image &newImage)
Definition juce_ImageComponent.cpp:39
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_ImageComponent.cpp:84
void paint(Graphics &) override
Definition juce_ImageComponent.cpp:77
void setImagePlacement(RectanglePlacement newPlacement)
Definition juce_ImageComponent.cpp:58
RectanglePlacement getImagePlacement() const
Definition juce_ImageComponent.cpp:72
RectanglePlacement placement
Definition juce_ImageComponent.h:76
Definition juce_Image.h:58
Definition juce_RectanglePlacement.h:40
Definition juce_String.h:53
int g
Definition inflate.c:1573
static const char * name
Definition pugl.h:1582
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition carla_juce.cpp:31
@ image
Definition juce_AccessibilityRole.h:42