diff options
Diffstat (limited to 'chromium/cc/resources/resource_update.cc')
-rw-r--r-- | chromium/cc/resources/resource_update.cc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/chromium/cc/resources/resource_update.cc b/chromium/cc/resources/resource_update.cc new file mode 100644 index 00000000000..5760ddf4a0d --- /dev/null +++ b/chromium/cc/resources/resource_update.cc @@ -0,0 +1,51 @@ +// 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. + +#include "cc/resources/resource_update.h" + +#include "base/logging.h" +#include "third_party/skia/include/core/SkCanvas.h" +#include "third_party/skia/include/core/SkDevice.h" + +namespace cc { + +ResourceUpdate ResourceUpdate::Create(PrioritizedResource* texture, + const SkBitmap* bitmap, + gfx::Rect content_rect, + gfx::Rect source_rect, + gfx::Vector2d dest_offset) { + CHECK(content_rect.Contains(source_rect)); + ResourceUpdate update; + update.texture = texture; + update.bitmap = bitmap; + update.content_rect = content_rect; + update.source_rect = source_rect; + update.dest_offset = dest_offset; + return update; +} + +ResourceUpdate ResourceUpdate::CreateFromCanvas( + PrioritizedResource* resource, + const skia::RefPtr<SkCanvas>& canvas, + gfx::Rect content_rect, + gfx::Rect source_rect, + gfx::Vector2d dest_offset) { + CHECK(content_rect.Contains(source_rect)); + ResourceUpdate update; + update.texture = resource; + update.canvas = canvas; + update.bitmap = &canvas->getDevice()->accessBitmap(false); + update.content_rect = content_rect; + update.source_rect = source_rect; + update.dest_offset = dest_offset; + return update; +} + +ResourceUpdate::ResourceUpdate() + : texture(NULL), + bitmap(NULL) {} + +ResourceUpdate::~ResourceUpdate() {} + +} // namespace cc |