| 
							- /*
 -   ==============================================================================
 - 
 -    This file is part of the JUCE library - "Jules' Utility Class Extensions"
 -    Copyright 2004-11 by Raw Material Software Ltd.
 - 
 -   ------------------------------------------------------------------------------
 - 
 -    JUCE can be redistributed and/or modified under the terms of the GNU General
 -    Public License (Version 2), as published by the Free Software Foundation.
 -    A copy of the license is included in the JUCE distribution, or can be found
 -    online 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.rawmaterialsoftware.com/juce for more information.
 - 
 -   ==============================================================================
 - */
 - 
 - #ifndef __JUCE_LOWLEVELGRAPHICSPOSTSCRIPTRENDERER_JUCEHEADER__
 - #define __JUCE_LOWLEVELGRAPHICSPOSTSCRIPTRENDERER_JUCEHEADER__
 - 
 - #include "juce_LowLevelGraphicsContext.h"
 - 
 - 
 - //==============================================================================
 - /**
 -     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;
 -     void setOrigin (int x, int y);
 -     void addTransform (const AffineTransform& transform);
 -     float getScaleFactor();
 - 
 -     bool clipToRectangle (const Rectangle<int>& r);
 -     bool clipToRectangleList (const RectangleList& clipRegion);
 -     void excludeClipRectangle (const Rectangle<int>& r);
 -     void clipToPath (const Path& path, const AffineTransform& transform);
 -     void clipToImageAlpha (const Image& sourceImage, const AffineTransform& transform);
 - 
 -     void saveState();
 -     void restoreState();
 - 
 -     void beginTransparencyLayer (float opacity);
 -     void endTransparencyLayer();
 - 
 -     bool clipRegionIntersects (const Rectangle<int>& r);
 -     Rectangle<int> getClipBounds() const;
 -     bool isClipEmpty() const;
 - 
 -     //==============================================================================
 -     void setFill (const FillType& fillType);
 -     void setOpacity (float opacity);
 -     void setInterpolationQuality (Graphics::ResamplingQuality quality);
 - 
 -     //==============================================================================
 -     void fillRect (const Rectangle<int>& r, bool replaceExistingContents);
 -     void fillPath (const Path& path, const AffineTransform& transform);
 - 
 -     void drawImage (const Image& sourceImage, const AffineTransform& transform);
 - 
 -     void drawLine (const Line <float>& line);
 - 
 -     void drawVerticalLine (int x, float top, float bottom);
 -     void drawHorizontalLine (int x, float top, float bottom);
 - 
 -     //==============================================================================
 -     const Font& getFont();
 -     void setFont (const Font& newFont);
 -     void drawGlyph (int glyphNumber, const AffineTransform& transform);
 - 
 - protected:
 -     //==============================================================================
 -     OutputStream& out;
 -     int totalWidth, totalHeight;
 -     bool needToClip;
 -     Colour lastColour;
 - 
 -     struct SavedState
 -     {
 -         SavedState();
 -         ~SavedState();
 - 
 -         RectangleList clip;
 -         int xOffset, yOffset;
 -         FillType fillType;
 -         Font font;
 - 
 -     private:
 -         SavedState& operator= (const SavedState&);
 -     };
 - 
 -     OwnedArray <SavedState> stateStack;
 - 
 -     void writeClip();
 -     void writeColour (const Colour& colour);
 -     void writePath (const Path& path) const;
 -     void writeXY (float x, float y) const;
 -     void writeTransform (const AffineTransform& trans) const;
 -     void writeImage (const Image& im, int sx, int sy, int maxW, int maxH) const;
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LowLevelGraphicsPostScriptRenderer)
 - };
 - 
 - 
 - 
 - #endif   // __JUCE_LOWLEVELGRAPHICSPOSTSCRIPTRENDERER_JUCEHEADER__
 
 
  |