copy_output_result.cc revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
17d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
27d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
37d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// found in the LICENSE file.
47d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
57d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "cc/output/copy_output_result.h"
67d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
77d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "base/logging.h"
87d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "cc/resources/texture_mailbox.h"
97d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "third_party/skia/include/core/SkBitmap.h"
107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)namespace cc {
127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)CopyOutputResult::CopyOutputResult() {}
147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
157d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)CopyOutputResult::CopyOutputResult(scoped_ptr<SkBitmap> bitmap)
167d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    : size_(bitmap->width(), bitmap->height()),
177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      bitmap_(bitmap.Pass()) {
187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  DCHECK(bitmap_);
197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)CopyOutputResult::CopyOutputResult(gfx::Size size,
227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)                                   scoped_ptr<TextureMailbox> texture_mailbox)
237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    : size_(size),
247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      texture_mailbox_(texture_mailbox.Pass()) {
257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  DCHECK(texture_mailbox_);
267d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  DCHECK(texture_mailbox_->IsTexture());
277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)CopyOutputResult::~CopyOutputResult() {}
307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)scoped_ptr<SkBitmap> CopyOutputResult::TakeBitmap() {
327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  return bitmap_.Pass();
337d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
347d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)scoped_ptr<TextureMailbox> CopyOutputResult::TakeTexture() {
367d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  return texture_mailbox_.Pass();
377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}  // namespace cc
40