d3e474e20c
Chrome will need -DSK_SUPPORT_LEGACY_PICTURE_CLONE. This removes the modes from our tools that use clone(). No bots run these. DM used clone() in a way that we can just share the picture now. I plan to bring back the ability to test multithreaded picture rendering soon. BUG=skia:2378 R=robertphillips@google.com, mtklein@google.com, bsalomon@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/338633011
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#ifndef DMPDFTask_DEFINED
|
|
#define DMPDFTask_DEFINED
|
|
|
|
#include "DMExpectations.h"
|
|
#include "DMPDFRasterizeTask.h"
|
|
#include "DMTask.h"
|
|
#include "SkBitmap.h"
|
|
#include "SkPicture.h"
|
|
#include "SkString.h"
|
|
#include "SkTemplates.h"
|
|
#include "gm.h"
|
|
|
|
namespace DM {
|
|
|
|
// This task renders a GM or SKP using Skia's PDF backend.
|
|
// If rasterizePdfProc is non-NULL, it will spawn a PDFRasterizeTask.
|
|
class PDFTask : public CpuTask {
|
|
public:
|
|
PDFTask(const char*,
|
|
Reporter*,
|
|
TaskRunner*,
|
|
skiagm::GMRegistry::Factory,
|
|
RasterizePdfProc);
|
|
|
|
PDFTask(Reporter*,
|
|
TaskRunner*,
|
|
const SkPicture*,
|
|
SkString name,
|
|
RasterizePdfProc);
|
|
|
|
virtual void draw() SK_OVERRIDE;
|
|
|
|
virtual bool shouldSkip() const SK_OVERRIDE;
|
|
|
|
virtual SkString name() const SK_OVERRIDE { return fName; }
|
|
|
|
private:
|
|
// One of these two will be set.
|
|
SkAutoTDelete<skiagm::GM> fGM;
|
|
SkAutoTUnref<const SkPicture> fPicture;
|
|
|
|
const SkString fName;
|
|
RasterizePdfProc fRasterize;
|
|
};
|
|
|
|
} // namespace DM
|
|
|
|
#endif // DMPDFTask_DEFINED
|