Index: include/device/xps/SkXPSDevice.h |
diff --git a/include/device/xps/SkXPSDevice.h b/include/device/xps/SkXPSDevice.h |
deleted file mode 100644 |
index 57f314851e5c08a582ff6a8df1b6b3c840161b48..0000000000000000000000000000000000000000 |
--- a/include/device/xps/SkXPSDevice.h |
+++ /dev/null |
@@ -1,324 +0,0 @@ |
-/* |
- * Copyright 2011 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef SkXPSDevice_DEFINED |
-#define SkXPSDevice_DEFINED |
- |
-#include "SkTypes.h" |
- |
-#ifdef SK_BUILD_FOR_WIN |
- |
-#include <ObjBase.h> |
-#include <XpsObjectModel.h> |
- |
-#include "SkAutoCoInitialize.h" |
-#include "SkBitmapDevice.h" |
-#include "SkBitSet.h" |
-#include "SkCanvas.h" |
-#include "SkColor.h" |
-#include "SkPaint.h" |
-#include "SkPath.h" |
-#include "SkPoint.h" |
-#include "SkShader.h" |
-#include "SkSize.h" |
-#include "SkTArray.h" |
-#include "SkTScopedComPtr.h" |
-#include "SkTypeface.h" |
- |
-//#define SK_XPS_USE_DETERMINISTIC_IDS |
- |
-/** \class SkXPSDevice |
- |
- The drawing context for the XPS backend. |
-*/ |
-class SkXPSDevice : public SkBitmapDevice { |
-public: |
- SK_API SkXPSDevice(); |
- SK_API virtual ~SkXPSDevice(); |
- |
- virtual bool beginPortfolio(SkWStream* outputStream); |
- /** |
- @param unitsPerMeter converts geometry units into physical units. |
- @param pixelsPerMeter resolution to use when geometry must be rasterized. |
- @param trimSize final page size in physical units. |
- The top left of the trim is the origin of physical space. |
- @param mediaBox The size of the physical media in physical units. |
- The top and left must be less than zero. |
- The bottom and right must be greater than the trimSize. |
- The default is to coincide with the trimSize. |
- @param bleedBox The size of the bleed box in physical units. |
- Must be contained within the mediaBox. |
- The default is to coincide with the mediaBox. |
- @param artBox The size of the content box in physical units. |
- Must be contained within the trimSize. |
- The default is to coincide with the trimSize. |
- @param cropBox The size of the recommended view port in physical units. |
- Must be contained within the mediaBox. |
- The default is to coincide with the mediaBox. |
- */ |
- virtual bool beginSheet( |
- const SkVector& unitsPerMeter, |
- const SkVector& pixelsPerMeter, |
- const SkSize& trimSize, |
- const SkRect* mediaBox = NULL, |
- const SkRect* bleedBox = NULL, |
- const SkRect* artBox = NULL, |
- const SkRect* cropBox = NULL); |
- |
- virtual bool endSheet(); |
- virtual bool endPortfolio(); |
- |
-protected: |
- void drawPaint(const SkDraw&, const SkPaint& paint) override; |
- |
- virtual void drawPoints( |
- const SkDraw&, |
- SkCanvas::PointMode mode, |
- size_t count, const SkPoint[], |
- const SkPaint& paint) override; |
- |
- virtual void drawRect( |
- const SkDraw&, |
- const SkRect& r, |
- const SkPaint& paint) override; |
- |
- virtual void drawRRect( |
- const SkDraw&, |
- const SkRRect&, |
- const SkPaint& paint) override; |
- |
- virtual void drawPath( |
- const SkDraw&, |
- const SkPath& platonicPath, |
- const SkPaint& paint, |
- const SkMatrix* prePathMatrix, |
- bool pathIsMutable) override; |
- |
- virtual void drawBitmap( |
- const SkDraw&, |
- const SkBitmap& bitmap, |
- const SkMatrix& matrix, |
- const SkPaint& paint) override; |
- |
- virtual void drawSprite( |
- const SkDraw&, |
- const SkBitmap& bitmap, |
- int x, int y, |
- const SkPaint& paint) override; |
- |
- virtual void drawText( |
- const SkDraw&, |
- const void* text, size_t len, |
- SkScalar x, SkScalar y, |
- const SkPaint& paint) override; |
- |
- virtual void drawPosText( |
- const SkDraw&, |
- const void* text, size_t len, |
- const SkScalar pos[], int scalarsPerPos, |
- const SkPoint& offset, const SkPaint& paint) override; |
- |
- virtual void drawVertices( |
- const SkDraw&, |
- SkCanvas::VertexMode, |
- int vertexCount, const SkPoint verts[], |
- const SkPoint texs[], const SkColor colors[], |
- SkXfermode* xmode, |
- const uint16_t indices[], int indexCount, |
- const SkPaint& paint) override; |
- |
- virtual void drawDevice( |
- const SkDraw&, |
- SkBaseDevice* device, |
- int x, int y, |
- const SkPaint& paint) override; |
- |
-private: |
- class TypefaceUse : ::SkNoncopyable { |
- public: |
- SkFontID typefaceId; |
- int ttcIndex; |
- SkStream* fontData; |
- IXpsOMFontResource* xpsFont; |
- SkBitSet* glyphsUsed; |
- |
- explicit TypefaceUse(); |
- ~TypefaceUse(); |
- }; |
- friend static HRESULT subset_typeface(TypefaceUse* current); |
- |
- SkXPSDevice(IXpsOMObjectFactory* xpsFactory); |
- |
- SkAutoCoInitialize fAutoCo; |
- SkTScopedComPtr<IXpsOMObjectFactory> fXpsFactory; |
- SkTScopedComPtr<IStream> fOutputStream; |
- SkTScopedComPtr<IXpsOMPackageWriter> fPackageWriter; |
- |
- unsigned int fCurrentPage; |
- SkTScopedComPtr<IXpsOMCanvas> fCurrentXpsCanvas; |
- SkSize fCurrentCanvasSize; |
- SkVector fCurrentUnitsPerMeter; |
- SkVector fCurrentPixelsPerMeter; |
- |
- SkTArray<TypefaceUse, true> fTypefaces; |
- |
- /** Creates a GUID based id and places it into buffer. |
- buffer should have space for at least GUID_ID_LEN wide characters. |
- The string will always be wchar null terminated. |
- XXXXXXXXsXXXXsXXXXsXXXXsXXXXXXXXXXXX0 |
- The string may begin with a digit, |
- and so may not be suitable as a bare resource key. |
- */ |
- HRESULT createId(wchar_t* buffer, size_t bufferSize, wchar_t sep = '-'); |
-#ifdef SK_XPS_USE_DETERMINISTIC_IDS |
- decltype(GUID::Data1) fNextId = 0; |
-#endif |
- |
- HRESULT initXpsDocumentWriter(IXpsOMImageResource* image); |
- |
- HRESULT createXpsPage( |
- const XPS_SIZE& pageSize, |
- IXpsOMPage** page); |
- |
- HRESULT createXpsThumbnail( |
- IXpsOMPage* page, const unsigned int pageNumber, |
- IXpsOMImageResource** image); |
- |
- void internalDrawRect( |
- const SkDraw&, |
- const SkRect& r, |
- bool transformRect, |
- const SkPaint& paint); |
- |
- HRESULT createXpsBrush( |
- const SkPaint& skPaint, |
- IXpsOMBrush** xpsBrush, |
- const SkMatrix* parentTransform = NULL); |
- |
- HRESULT createXpsSolidColorBrush( |
- const SkColor skColor, const SkAlpha alpha, |
- IXpsOMBrush** xpsBrush); |
- |
- HRESULT createXpsImageBrush( |
- const SkBitmap& bitmap, |
- const SkMatrix& localMatrix, |
- const SkShader::TileMode (&xy)[2], |
- const SkAlpha alpha, |
- IXpsOMTileBrush** xpsBrush); |
- |
- HRESULT createXpsLinearGradient( |
- SkShader::GradientInfo info, |
- const SkAlpha alpha, |
- const SkMatrix& localMatrix, |
- IXpsOMMatrixTransform* xpsMatrixToUse, |
- IXpsOMBrush** xpsBrush); |
- |
- HRESULT createXpsRadialGradient( |
- SkShader::GradientInfo info, |
- const SkAlpha alpha, |
- const SkMatrix& localMatrix, |
- IXpsOMMatrixTransform* xpsMatrixToUse, |
- IXpsOMBrush** xpsBrush); |
- |
- HRESULT createXpsGradientStop( |
- const SkColor skColor, |
- const SkScalar offset, |
- IXpsOMGradientStop** xpsGradStop); |
- |
- HRESULT createXpsTransform( |
- const SkMatrix& matrix, |
- IXpsOMMatrixTransform ** xpsTransform); |
- |
- HRESULT createXpsRect( |
- const SkRect& rect, |
- BOOL stroke, BOOL fill, |
- IXpsOMGeometryFigure** xpsRect); |
- |
- HRESULT createXpsQuad( |
- const SkPoint (&points)[4], |
- BOOL stroke, BOOL fill, |
- IXpsOMGeometryFigure** xpsQuad); |
- |
- HRESULT CreateTypefaceUse( |
- const SkPaint& paint, |
- TypefaceUse** fontResource); |
- |
- HRESULT AddGlyphs( |
- const SkDraw& d, |
- IXpsOMObjectFactory* xpsFactory, |
- IXpsOMCanvas* canvas, |
- TypefaceUse* font, |
- LPCWSTR text, |
- XPS_GLYPH_INDEX* xpsGlyphs, |
- UINT32 xpsGlyphsLen, |
- XPS_POINT *origin, |
- FLOAT fontSize, |
- XPS_STYLE_SIMULATION sims, |
- const SkMatrix& transform, |
- const SkPaint& paint); |
- |
- HRESULT addXpsPathGeometry( |
- IXpsOMGeometryFigureCollection* figures, |
- BOOL stroke, BOOL fill, const SkPath& path); |
- |
- HRESULT createPath( |
- IXpsOMGeometryFigure* figure, |
- IXpsOMVisualCollection* visuals, |
- IXpsOMPath** path); |
- |
- HRESULT sideOfClamp( |
- const SkRect& leftPoints, const XPS_RECT& left, |
- IXpsOMImageResource* imageResource, |
- IXpsOMVisualCollection* visuals); |
- |
- HRESULT cornerOfClamp( |
- const SkRect& tlPoints, |
- const SkColor color, |
- IXpsOMVisualCollection* visuals); |
- |
- HRESULT clip( |
- IXpsOMVisual* xpsVisual, |
- const SkDraw& d); |
- HRESULT clipToPath( |
- IXpsOMVisual* xpsVisual, |
- const SkPath& clipPath, |
- XPS_FILL_RULE fillRule); |
- |
- HRESULT drawInverseWindingPath( |
- const SkDraw& d, |
- const SkPath& devicePath, |
- IXpsOMPath* xpsPath); |
- |
- HRESULT shadePath( |
- IXpsOMPath* shadedPath, |
- const SkPaint& shaderPaint, |
- const SkMatrix& matrix, |
- BOOL* fill, BOOL* stroke); |
- |
- void convertToPpm( |
- const SkMaskFilter* filter, |
- SkMatrix* matrix, |
- SkVector* ppuScale, |
- const SkIRect& clip, SkIRect* clipIRect); |
- |
- HRESULT applyMask( |
- const SkDraw& d, |
- const SkMask& mask, |
- const SkVector& ppuScale, |
- IXpsOMPath* shadedPath); |
- |
- SkBaseDevice* onCreateDevice(const CreateInfo&, const SkPaint*) override; |
- |
- // Disable the default copy and assign implementation. |
- SkXPSDevice(const SkXPSDevice&); |
- void operator=(const SkXPSDevice&); |
- |
- typedef SkBitmapDevice INHERITED; |
-}; |
- |
-#endif // SK_BUILD_FOR_WIN |
-#endif // SkXPSDevice_DEFINED |