diff options
Diffstat (limited to 'chromium/cc/playback/picture.h')
-rw-r--r-- | chromium/cc/playback/picture.h | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/chromium/cc/playback/picture.h b/chromium/cc/playback/picture.h deleted file mode 100644 index b19504b4270..00000000000 --- a/chromium/cc/playback/picture.h +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CC_PLAYBACK_PICTURE_H_ -#define CC_PLAYBACK_PICTURE_H_ - -#include "base/basictypes.h" -#include "base/containers/hash_tables.h" -#include "base/lazy_instance.h" -#include "base/logging.h" -#include "base/memory/ref_counted.h" -#include "base/memory/scoped_ptr.h" -#include "base/trace_event/trace_event.h" -#include "cc/base/cc_export.h" -#include "cc/base/region.h" -#include "cc/playback/pixel_ref_map.h" -#include "cc/playback/recording_source.h" -#include "skia/ext/refptr.h" -#include "third_party/skia/include/core/SkPicture.h" -#include "ui/gfx/geometry/rect.h" - -class SkPixelRef; - -namespace base { -class Value; -} - -namespace skia { -class AnalysisCanvas; -} - -namespace cc { - -class ContentLayerClient; - -class CC_EXPORT Picture - : public base::RefCountedThreadSafe<Picture> { - public: - static scoped_refptr<Picture> Create( - const gfx::Rect& layer_rect, - ContentLayerClient* client, - const gfx::Size& tile_grid_size, - bool gather_pixels_refs, - RecordingSource::RecordingMode recording_mode); - static scoped_refptr<Picture> CreateFromValue(const base::Value* value); - static scoped_refptr<Picture> CreateFromSkpValue(const base::Value* value); - - gfx::Rect LayerRect() const { return layer_rect_; } - - // Has Record() been called yet? - bool HasRecording() const { return picture_.get() != NULL; } - - bool IsSuitableForGpuRasterization(const char** reason) const; - int ApproximateOpCount() const; - size_t ApproximateMemoryUsage() const; - - bool HasText() const; - - // Apply this scale and raster the negated region into the canvas. - // |negated_content_region| specifies the region to be clipped out of the - // raster operation, i.e., the parts of the canvas which will not get drawn - // to. - int Raster(SkCanvas* canvas, - SkPicture::AbortCallback* callback, - const Region& negated_content_region, - float contents_scale) const; - - // Draw the picture directly into the given canvas, without applying any - // clip/scale/layer transformations. - void Replay(SkCanvas* canvas, SkPicture::AbortCallback* callback = NULL); - - scoped_ptr<base::Value> AsValue() const; - - void EmitTraceSnapshot() const; - void EmitTraceSnapshotAlias(Picture* original) const; - - bool WillPlayBackBitmaps() const { return picture_->willPlayBackBitmaps(); } - - PixelRefMap::Iterator GetPixelRefMapIterator( - const gfx::Rect& layer_rect) const; - - private: - Picture(const gfx::Rect& layer_rect, const gfx::Size& tile_grid_size); - // This constructor assumes SkPicture is already ref'd and transfers - // ownership to this picture. - Picture(const skia::RefPtr<SkPicture>&, - const gfx::Rect& layer_rect, - const PixelRefMap& pixel_refs); - // This constructor will call AdoptRef on the SkPicture. - Picture(SkPicture*, const gfx::Rect& layer_rect); - ~Picture(); - - // Record a paint operation. To be able to safely use this SkPicture for - // playback on a different thread this can only be called once. - void Record(ContentLayerClient* client, - RecordingSource::RecordingMode recording_mode); - - // Gather pixel refs from recording. - void GatherPixelRefs(); - - gfx::Rect layer_rect_; - skia::RefPtr<SkPicture> picture_; - - PixelRefMap pixel_refs_; - - scoped_refptr<base::trace_event::ConvertableToTraceFormat> - AsTraceableRasterData(float scale) const; - scoped_refptr<base::trace_event::ConvertableToTraceFormat> - AsTraceableRecordData() const; - - friend class base::RefCountedThreadSafe<Picture>; - friend class PixelRefMap::Iterator; - DISALLOW_COPY_AND_ASSIGN(Picture); -}; - -} // namespace cc - -#endif // CC_PLAYBACK_PICTURE_H_ |