| Index: src/pdf/SkPDFImage.h
|
| diff --git a/src/pdf/SkPDFImage.h b/src/pdf/SkPDFImage.h
|
| index 31f894086ee3949e20e952d205ed818ac3b01f7d..52d323d0eedd8e969a1c66f2b2b3e231b141d10c 100644
|
| --- a/src/pdf/SkPDFImage.h
|
| +++ b/src/pdf/SkPDFImage.h
|
| @@ -11,7 +11,7 @@
|
| #define SkPDFImage_DEFINED
|
|
|
| #include "SkPDFDevice.h"
|
| -#include "SkPDFImageStream.h"
|
| +#include "SkPDFStream.h"
|
| #include "SkPDFTypes.h"
|
| #include "SkRefCnt.h"
|
|
|
| @@ -27,7 +27,7 @@ struct SkIRect;
|
| // We could play the same trick here as is done in SkPDFGraphicState, storing
|
| // a copy of the Bitmap object (not the pixels), the pixel generation number,
|
| // and settings used from the paint to canonicalize image objects.
|
| -class SkPDFImage : public SkPDFImageStream {
|
| +class SkPDFImage : public SkPDFStream {
|
| public:
|
| /** Create a new Image XObject to represent the passed bitmap.
|
| * @param bitmap The image to encode.
|
| @@ -48,24 +48,50 @@ public:
|
| */
|
| SkPDFImage* addSMask(SkPDFImage* mask);
|
|
|
| + bool isEmpty() {
|
| + return fSrcRect.isEmpty();
|
| + }
|
| +
|
| // The SkPDFObject interface.
|
| virtual void getResources(const SkTSet<SkPDFObject*>& knownResourceObjects,
|
| SkTSet<SkPDFObject*>* newResourceObjects);
|
|
|
| private:
|
| + SkBitmap fBitmap;
|
| + bool fIsAlpha;
|
| + SkIRect fSrcRect;
|
| + EncodeToDCTStream fEncoder;
|
| + bool fStreamValid;
|
| +
|
| SkTDArray<SkPDFObject*> fResources;
|
|
|
| /** Create a PDF image XObject. Entries for the image properties are
|
| * automatically added to the stream dictionary.
|
| - * @param imageData The final raw bits representing the image.
|
| - * @param bitmap The image parameters to use (Config, etc).
|
| + * @param stream The image stream. May be NULL. Otherwise, this
|
| + * (instead of the input bitmap) will be used as the
|
| + * PDF's content stream, possibly with lossless encoding.
|
| + * @param bitmap The image. If a stream is not given, its color data
|
| + * will be used as the image. If a stream is given, this
|
| + * is used for configuration only.
|
| + * @param isAlpha Whether or not this is the alpha of an image.
|
| * @param srcRect The clipping applied to bitmap before generating
|
| * imageData.
|
| - * @param alpha Is this the alpha channel of the bitmap.
|
| - * @param paint Used to calculate alpha, masks, etc.
|
| + * @param encoder A function used to encode the bitmap for compression.
|
| + * May be NULL.
|
| + */
|
| + SkPDFImage(SkStream* stream, const SkBitmap& bitmap, bool isAlpha,
|
| + const SkIRect& srcRect, EncodeToDCTStream encoder);
|
| +
|
| + /** Copy constructor, used to generate substitutes.
|
| + * @param image The SkPDFImage to copy.
|
| */
|
| - SkPDFImage(SkStream* imageData, const SkBitmap& bitmap,
|
| - const SkIRect& srcRect, bool alpha, EncodeToDCTStream encoder);
|
| + SkPDFImage(SkPDFImage& pdfImage);
|
| +
|
| + // Populate the stream dictionary. This method returns false if
|
| + // fSubstitute should be used.
|
| + virtual bool populate(SkPDFCatalog* catalog);
|
| +
|
| + typedef SkPDFStream INHERITED;
|
| };
|
|
|
| #endif
|
|
|