Staged removal of SkPicture-derived classes
This CL removes the SkPicture-derived classes (with a flag to keeps clients working). In the process it also lightens the recording factory function so it is no longer ref counted).
The only interesting bits are in SkPicture* and Sk*Picture.*
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/238273012
git-svn-id: http://skia.googlecode.com/svn/trunk@14251 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/dm/DMReplayTask.cpp b/dm/DMReplayTask.cpp
index 736cd5c..791370d 100644
--- a/dm/DMReplayTask.cpp
+++ b/dm/DMReplayTask.cpp
@@ -23,11 +23,11 @@
{}
void ReplayTask::draw() {
- SkAutoTUnref<SkPictureFactory> factory;
+ SkAutoTDelete<SkBBHFactory> factory;
if (fUseRTree) {
- factory.reset(SkNEW(SkRTreePictureFactory));
+ factory.reset(SkNEW(SkRTreeFactory));
}
- SkAutoTUnref<SkPicture> recorded(RecordPicture(fGM.get(), 0, factory));
+ SkAutoTUnref<SkPicture> recorded(RecordPicture(fGM.get(), 0, factory.get()));
SkBitmap bitmap;
SetupBitmap(fReference.colorType(), fGM.get(), &bitmap);
diff --git a/dm/DMTileGridTask.cpp b/dm/DMTileGridTask.cpp
index e34ac74..9a036bf 100644
--- a/dm/DMTileGridTask.cpp
+++ b/dm/DMTileGridTask.cpp
@@ -24,15 +24,15 @@
}
void TileGridTask::draw() {
- const SkTileGridPicture::TileGridInfo info = {
+ const SkTileGridFactory::TileGridInfo info = {
fTileSize,
- SkISize::Make(0,0), // Overlap between adjacent tiles.
- SkIPoint::Make(0,0), // Offset.
+ SkISize::Make(0,0), // Overlap between adjacent tiles.
+ SkIPoint::Make(0,0), // Offset.
};
- SkAutoTUnref<SkPictureFactory> factory(SkNEW_ARGS(SkTileGridPictureFactory, (info)));
+ SkTileGridFactory factory(info);
SkAutoTUnref<SkPicture> recorded(RecordPicture(fGM.get(),
SkPicture::kUsePathBoundsForClip_RecordingFlag,
- factory));
+ &factory));
SkBitmap full;
SetupBitmap(fReference.colorType(), fGM.get(), &full);
diff --git a/dm/DMUtil.cpp b/dm/DMUtil.cpp
index 638f0d9..bf7fbf9 100644
--- a/dm/DMUtil.cpp
+++ b/dm/DMUtil.cpp
@@ -10,10 +10,10 @@
return s;
}
-SkPicture* RecordPicture(skiagm::GM* gm, uint32_t recordFlags, SkPictureFactory* factory) {
+SkPicture* RecordPicture(skiagm::GM* gm, uint32_t recordFlags, SkBBHFactory* factory) {
const SkISize size = gm->getISize();
- SkPictureRecorder recorder(factory);
- SkCanvas* canvas = recorder.beginRecording(size.width(), size.height(), recordFlags);
+ SkPictureRecorder recorder;
+ SkCanvas* canvas = recorder.beginRecording(size.width(), size.height(), factory, recordFlags);
canvas->concat(gm->getInitialTransform());
gm->draw(canvas);
canvas->flush();
diff --git a/dm/DMUtil.h b/dm/DMUtil.h
index 7c112b3..1145f28 100644
--- a/dm/DMUtil.h
+++ b/dm/DMUtil.h
@@ -6,7 +6,7 @@
#include "SkString.h"
#include "gm_expectations.h"
-class SkPictureFactory;
+class SkBBHFactory;
// Small free functions used in more than one place in DM.
@@ -18,7 +18,7 @@
// Draw gm to picture. Passes recordFlags to SkPictureRecorder::beginRecording().
SkPicture* RecordPicture(skiagm::GM* gm,
uint32_t recordFlags = 0,
- SkPictureFactory* factory = NULL);
+ SkBBHFactory* factory = NULL);
// Prepare bitmap to have gm or bench draw into it with this config.
// TODO(mtklein): make SkBenchmark::getSize()/GM::getISize() const.