LMMS
Loading...
Searching...
No Matches
juce_LowLevelGraphicsPostScriptRenderer.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//==============================================================================
37{
38public:
39 //==============================================================================
41 const String& documentTitle,
42 int totalWidth,
43 int totalHeight);
44
45 //==============================================================================
46 bool isVectorDevice() const override;
47 void setOrigin (Point<int>) override;
48 void addTransform (const AffineTransform&) override;
49 float getPhysicalPixelScaleFactor() override;
50
51 bool clipToRectangle (const Rectangle<int>&) override;
52 bool clipToRectangleList (const RectangleList<int>&) override;
53 void excludeClipRectangle (const Rectangle<int>&) override;
54 void clipToPath (const Path&, const AffineTransform&) override;
55 void clipToImageAlpha (const Image&, const AffineTransform&) override;
56
57 void saveState() override;
58 void restoreState() override;
59
60 void beginTransparencyLayer (float) override;
61 void endTransparencyLayer() override;
62
63 bool clipRegionIntersects (const Rectangle<int>&) override;
64 Rectangle<int> getClipBounds() const override;
65 bool isClipEmpty() const override;
66
67 //==============================================================================
68 void setFill (const FillType&) override;
69 void setOpacity (float) override;
71
72 //==============================================================================
73 void fillRect (const Rectangle<int>&, bool replaceExistingContents) override;
74 void fillRect (const Rectangle<float>&) override;
75 void fillRectList (const RectangleList<float>&) override;
76 void fillPath (const Path&, const AffineTransform&) override;
77 void drawImage (const Image&, const AffineTransform&) override;
78 void drawLine (const Line <float>&) override;
79
80 //==============================================================================
81 const Font& getFont() override;
82 void setFont (const Font&) override;
83 void drawGlyph (int glyphNumber, const AffineTransform&) override;
84
85protected:
86 //==============================================================================
91
94 {
95 SavedState();
96 SavedState (const SavedState&) = default;
97 SavedState& operator= (const SavedState&) = delete;
98
103 };
104
106
107 void writeClip();
108 void writeColour (Colour colour);
109 void writePath (const Path&) const;
110 void writeXY (float x, float y) const;
111 void writeTransform (const AffineTransform&) const;
112 void writeImage (const Image&, int sx, int sy, int maxW, int maxH) const;
113
115};
116
117} // namespace juce
static void drawLine(const Point< T > &posStart, const Point< T > &posEnd)
Definition OpenGL.cpp:79
Definition juce_AffineTransform.h:43
Definition juce_Colour.h:38
Definition juce_FillType.h:41
Definition juce_Font.h:42
ResamplingQuality
Definition juce_GraphicsContext.h:462
Definition juce_Image.h:58
void writeClip()
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:189
void fillRect(const Rectangle< int > &, bool replaceExistingContents) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:333
void setInterpolationQuality(Graphics::ResamplingQuality) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:328
bool needToClip
Definition juce_LowLevelGraphicsPostScriptRenderer.h:89
bool isVectorDevice() const override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:87
bool clipToRectangle(const Rectangle< int > &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:110
void setFont(const Font &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:513
void restoreState() override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:172
Colour lastColour
Definition juce_LowLevelGraphicsPostScriptRenderer.h:90
void writeXY(float x, float y) const
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:229
void writeImage(const Image &, int sx, int sy, int maxW, int maxH) const
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:407
void drawGlyph(int glyphNumber, const AffineTransform &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:523
void setOrigin(Point< int >) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:92
void beginTransparencyLayer(float) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:180
void saveState() override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:167
int totalHeight
Definition juce_LowLevelGraphicsPostScriptRenderer.h:88
void writePath(const Path &) const
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:235
Rectangle< int > getClipBounds() const override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:149
void clipToPath(const Path &, const AffineTransform &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:128
bool clipRegionIntersects(const Rectangle< int > &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:144
void drawImage(const Image &, const AffineTransform &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:464
void clipToImageAlpha(const Image &, const AffineTransform &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:138
OwnedArray< SavedState > stateStack
Definition juce_LowLevelGraphicsPostScriptRenderer.h:105
bool clipToRectangleList(const RectangleList< int > &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:116
const Font & getFont() override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:518
int totalWidth
Definition juce_LowLevelGraphicsPostScriptRenderer.h:88
void setFill(const FillType &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:319
LowLevelGraphicsPostScriptRenderer(OutputStream &resultingPostScript, const String &documentTitle, int totalWidth, int totalHeight)
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:41
void endTransparencyLayer() override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:184
bool isClipEmpty() const override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:155
void writeColour(Colour colour)
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:215
void fillRectList(const RectangleList< float > &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:358
void writeTransform(const AffineTransform &) const
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:307
OutputStream & out
Definition juce_LowLevelGraphicsPostScriptRenderer.h:87
void addTransform(const AffineTransform &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:102
void setOpacity(float) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:324
float getPhysicalPixelScaleFactor() override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:108
void excludeClipRectangle(const Rectangle< int > &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:122
void fillPath(const Path &, const AffineTransform &) override
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:364
Definition juce_OutputStream.h:38
Definition juce_OwnedArray.h:51
Definition juce_Path.h:65
Definition juce_Point.h:42
Definition juce_Rectangle.h:67
Definition juce_RectangleList.h:43
Definition juce_String.h:53
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
SavedState()
Definition juce_LowLevelGraphicsPostScriptRenderer.cpp:161
int yOffset
Definition juce_LowLevelGraphicsPostScriptRenderer.h:100
FillType fillType
Definition juce_LowLevelGraphicsPostScriptRenderer.h:101
Font font
Definition juce_LowLevelGraphicsPostScriptRenderer.h:102
RectangleList< int > clip
Definition juce_LowLevelGraphicsPostScriptRenderer.h:99
SavedState(const SavedState &)=default
int xOffset
Definition juce_LowLevelGraphicsPostScriptRenderer.h:100