| 
							- /*
 -   ==============================================================================
 - 
 -    This file is part of the JUCE library.
 -    Copyright (c) 2015 - ROLI Ltd.
 - 
 -    Permission is granted to use this software under the terms of either:
 -    a) the GPL v2 (or any later version)
 -    b) the Affero GPL v3
 - 
 -    Details of these licenses can be found at: www.gnu.org/licenses
 - 
 -    JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
 -    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 -    A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 - 
 -    ------------------------------------------------------------------------------
 - 
 -    To release a closed-source product which uses JUCE, commercial licenses are
 -    available: visit www.juce.com for more information.
 - 
 -   ==============================================================================
 - */
 - 
 - #ifndef JUCE_LOWLEVELGRAPHICSPOSTSCRIPTRENDERER_H_INCLUDED
 - #define JUCE_LOWLEVELGRAPHICSPOSTSCRIPTRENDERER_H_INCLUDED
 - 
 - 
 - //==============================================================================
 - /**
 -     An implementation of LowLevelGraphicsContext that turns the drawing operations
 -     into a PostScript document.
 - 
 - */
 - class JUCE_API  LowLevelGraphicsPostScriptRenderer    : public LowLevelGraphicsContext
 - {
 - public:
 -     //==============================================================================
 -     LowLevelGraphicsPostScriptRenderer (OutputStream& resultingPostScript,
 -                                         const String& documentTitle,
 -                                         int totalWidth,
 -                                         int totalHeight);
 - 
 -     ~LowLevelGraphicsPostScriptRenderer();
 - 
 -     //==============================================================================
 -     bool isVectorDevice() const override;
 -     void setOrigin (Point<int>) override;
 -     void addTransform (const AffineTransform&) override;
 -     float getPhysicalPixelScaleFactor() override;
 - 
 -     bool clipToRectangle (const Rectangle<int>&) override;
 -     bool clipToRectangleList (const RectangleList<int>&) override;
 -     void excludeClipRectangle (const Rectangle<int>&) override;
 -     void clipToPath (const Path&, const AffineTransform&) override;
 -     void clipToImageAlpha (const Image&, const AffineTransform&) override;
 - 
 -     void saveState() override;
 -     void restoreState() override;
 - 
 -     void beginTransparencyLayer (float) override;
 -     void endTransparencyLayer() override;
 - 
 -     bool clipRegionIntersects (const Rectangle<int>&) override;
 -     Rectangle<int> getClipBounds() const override;
 -     bool isClipEmpty() const override;
 - 
 -     //==============================================================================
 -     void setFill (const FillType&) override;
 -     void setOpacity (float) override;
 -     void setInterpolationQuality (Graphics::ResamplingQuality) override;
 - 
 -     //==============================================================================
 -     void fillRect (const Rectangle<int>&, bool replaceExistingContents) override;
 -     void fillRect (const Rectangle<float>&) override;
 -     void fillRectList (const RectangleList<float>&) override;
 -     void fillPath (const Path&, const AffineTransform&) override;
 -     void drawImage (const Image&, const AffineTransform&) override;
 -     void drawLine (const Line <float>&) override;
 - 
 -     //==============================================================================
 -     const Font& getFont() override;
 -     void setFont (const Font&) override;
 -     void drawGlyph (int glyphNumber, const AffineTransform&) override;
 - 
 - protected:
 -     //==============================================================================
 -     OutputStream& out;
 -     int totalWidth, totalHeight;
 -     bool needToClip;
 -     Colour lastColour;
 - 
 -     struct SavedState
 -     {
 -         SavedState();
 -         ~SavedState();
 - 
 -         RectangleList<int> clip;
 -         int xOffset, yOffset;
 -         FillType fillType;
 -         Font font;
 - 
 -     private:
 -         SavedState& operator= (const SavedState&);
 -     };
 - 
 -     OwnedArray <SavedState> stateStack;
 - 
 -     void writeClip();
 -     void writeColour (Colour colour);
 -     void writePath (const Path&) const;
 -     void writeXY (float x, float y) const;
 -     void writeTransform (const AffineTransform&) const;
 -     void writeImage (const Image&, int sx, int sy, int maxW, int maxH) const;
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LowLevelGraphicsPostScriptRenderer)
 - };
 - 
 - 
 - 
 - #endif   // JUCE_LOWLEVELGRAPHICSPOSTSCRIPTRENDERER_H_INCLUDED
 
 
  |