1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/logging.h"
6 #include "remoting/host/chromeos/skia_bitmap_desktop_frame.h"
11 SkiaBitmapDesktopFrame
* SkiaBitmapDesktopFrame::Create(
12 scoped_ptr
<SkBitmap
> bitmap
) {
14 webrtc::DesktopSize
size(bitmap
->width(), bitmap
->height());
15 DCHECK_EQ(kBGRA_8888_SkColorType
, bitmap
->info().colorType())
16 << "DesktopFrame objects always hold RGBA data.";
19 uint8_t* bitmap_data
= reinterpret_cast<uint8_t*>(bitmap
->getPixels());
20 bitmap
->unlockPixels();
22 const size_t row_bytes
= bitmap
->rowBytes();
23 SkiaBitmapDesktopFrame
* result
= new SkiaBitmapDesktopFrame(
24 size
, row_bytes
, bitmap_data
, bitmap
.Pass());
29 SkiaBitmapDesktopFrame::SkiaBitmapDesktopFrame(webrtc::DesktopSize size
,
32 scoped_ptr
<SkBitmap
> bitmap
)
33 : DesktopFrame(size
, stride
, data
, nullptr), bitmap_(bitmap
.Pass()) {
36 SkiaBitmapDesktopFrame::~SkiaBitmapDesktopFrame() {
39 } // namespace remoting