LMMS
Loading...
Searching...
No Matches
juce_LowLevelGraphicsContext.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//==============================================================================
46{
47protected:
48 //==============================================================================
50
51public:
52 virtual ~LowLevelGraphicsContext() = default;
53
55 virtual bool isVectorDevice() const = 0;
56
57 //==============================================================================
63 virtual void setOrigin (Point<int>) = 0;
64 virtual void addTransform (const AffineTransform&) = 0;
65 virtual float getPhysicalPixelScaleFactor() = 0;
66
67 virtual bool clipToRectangle (const Rectangle<int>&) = 0;
68 virtual bool clipToRectangleList (const RectangleList<int>&) = 0;
69 virtual void excludeClipRectangle (const Rectangle<int>&) = 0;
70 virtual void clipToPath (const Path&, const AffineTransform&) = 0;
71 virtual void clipToImageAlpha (const Image&, const AffineTransform&) = 0;
72
73 virtual bool clipRegionIntersects (const Rectangle<int>&) = 0;
74 virtual Rectangle<int> getClipBounds() const = 0;
75 virtual bool isClipEmpty() const = 0;
76
77 virtual void saveState() = 0;
78 virtual void restoreState() = 0;
79
80 virtual void beginTransparencyLayer (float opacity) = 0;
81 virtual void endTransparencyLayer() = 0;
82
83 //==============================================================================
84 virtual void setFill (const FillType&) = 0;
85 virtual void setOpacity (float) = 0;
87
88 //==============================================================================
89 virtual void fillRect (const Rectangle<int>&, bool replaceExistingContents) = 0;
90 virtual void fillRect (const Rectangle<float>&) = 0;
91 virtual void fillRectList (const RectangleList<float>&) = 0;
92 virtual void fillPath (const Path&, const AffineTransform&) = 0;
93 virtual void drawImage (const Image&, const AffineTransform&) = 0;
94 virtual void drawLine (const Line<float>&) = 0;
95
96 virtual void setFont (const Font&) = 0;
97 virtual const Font& getFont() = 0;
98 virtual void drawGlyph (int glyphNumber, const AffineTransform&) = 0;
99 virtual bool drawTextLayout (const AttributedString&, const Rectangle<float>&) { return false; }
100};
101
102} // namespace juce
Definition juce_AffineTransform.h:43
Definition juce_AttributedString.h:47
Definition juce_FillType.h:41
Definition juce_Font.h:42
ResamplingQuality
Definition juce_GraphicsContext.h:462
Definition juce_Image.h:58
Definition juce_Line.h:47
virtual bool isVectorDevice() const =0
virtual bool clipToRectangleList(const RectangleList< int > &)=0
virtual const Font & getFont()=0
virtual void fillRectList(const RectangleList< float > &)=0
virtual void setOrigin(Point< int >)=0
virtual bool isClipEmpty() const =0
virtual bool clipRegionIntersects(const Rectangle< int > &)=0
virtual void fillRect(const Rectangle< float > &)=0
virtual ~LowLevelGraphicsContext()=default
virtual void endTransparencyLayer()=0
virtual void drawLine(const Line< float > &)=0
virtual void drawImage(const Image &, const AffineTransform &)=0
virtual void setFill(const FillType &)=0
virtual void clipToImageAlpha(const Image &, const AffineTransform &)=0
virtual bool drawTextLayout(const AttributedString &, const Rectangle< float > &)
Definition juce_LowLevelGraphicsContext.h:99
virtual bool clipToRectangle(const Rectangle< int > &)=0
virtual void fillPath(const Path &, const AffineTransform &)=0
virtual void setOpacity(float)=0
virtual float getPhysicalPixelScaleFactor()=0
virtual void fillRect(const Rectangle< int > &, bool replaceExistingContents)=0
virtual void excludeClipRectangle(const Rectangle< int > &)=0
virtual Rectangle< int > getClipBounds() const =0
virtual void drawGlyph(int glyphNumber, const AffineTransform &)=0
virtual void beginTransparencyLayer(float opacity)=0
virtual void restoreState()=0
virtual void clipToPath(const Path &, const AffineTransform &)=0
virtual void setInterpolationQuality(Graphics::ResamplingQuality)=0
virtual void setFont(const Font &)=0
virtual void addTransform(const AffineTransform &)=0
Definition juce_Path.h:65
Definition juce_Point.h:42
Definition juce_Rectangle.h:67
Definition juce_RectangleList.h:43
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31