| 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
|
|
|