| Index: media/video/capture/screen/x11/x_server_pixel_buffer.cc
|
| diff --git a/media/video/capture/screen/x11/x_server_pixel_buffer.cc b/media/video/capture/screen/x11/x_server_pixel_buffer.cc
|
| index 980f1ca060c5ad5e591c6ce2a8fdea5d8c767ce0..4941666a4daf31268a0f7be674327096468f04c9 100644
|
| --- a/media/video/capture/screen/x11/x_server_pixel_buffer.cc
|
| +++ b/media/video/capture/screen/x11/x_server_pixel_buffer.cc
|
| @@ -60,7 +60,7 @@ namespace media {
|
|
|
| XServerPixelBuffer::XServerPixelBuffer()
|
| : display_(NULL), root_window_(0),
|
| - root_window_size_(SkISize::Make(0, 0)), x_image_(NULL),
|
| + x_image_(NULL),
|
| shm_segment_info_(NULL), shm_pixmap_(0), shm_gc_(NULL) {
|
| }
|
|
|
| @@ -92,7 +92,7 @@ void XServerPixelBuffer::Release() {
|
| }
|
|
|
| void XServerPixelBuffer::Init(Display* display,
|
| - const SkISize& screen_size) {
|
| + const webrtc::DesktopSize& screen_size) {
|
| Release();
|
| display_ = display;
|
| root_window_size_ = screen_size;
|
| @@ -102,10 +102,10 @@ void XServerPixelBuffer::Init(Display* display,
|
| }
|
|
|
| // static
|
| -SkISize XServerPixelBuffer::GetRootWindowSize(Display* display) {
|
| +webrtc::DesktopSize XServerPixelBuffer::GetRootWindowSize(Display* display) {
|
| XWindowAttributes root_attr;
|
| XGetWindowAttributes(display, DefaultRootWindow(display), &root_attr);
|
| - return SkISize::Make(root_attr.width, root_attr.height);
|
| + return webrtc::DesktopSize(root_attr.width, root_attr.height);
|
| }
|
|
|
| void XServerPixelBuffer::InitShm(int screen) {
|
| @@ -211,22 +211,24 @@ void XServerPixelBuffer::Synchronize() {
|
| }
|
| }
|
|
|
| -uint8* XServerPixelBuffer::CaptureRect(const SkIRect& rect) {
|
| - DCHECK(SkIRect::MakeSize(root_window_size_).contains(rect));
|
| +uint8* XServerPixelBuffer::CaptureRect(const webrtc::DesktopRect& rect) {
|
| + DCHECK_LE(rect.right(), root_window_size_.width());
|
| + DCHECK_LE(rect.bottom(), root_window_size_.height());
|
| +
|
| if (shm_segment_info_) {
|
| if (shm_pixmap_) {
|
| XCopyArea(display_, root_window_, shm_pixmap_, shm_gc_,
|
| - rect.fLeft, rect.fTop, rect.width(), rect.height(),
|
| - rect.fLeft, rect.fTop);
|
| + rect.left(), rect.top(), rect.width(), rect.height(),
|
| + rect.left(), rect.top());
|
| XSync(display_, False);
|
| }
|
| return reinterpret_cast<uint8*>(x_image_->data) +
|
| - rect.fTop * x_image_->bytes_per_line +
|
| - rect.fLeft * x_image_->bits_per_pixel / 8;
|
| + rect.top() * x_image_->bytes_per_line +
|
| + rect.left() * x_image_->bits_per_pixel / 8;
|
| } else {
|
| if (x_image_)
|
| XDestroyImage(x_image_);
|
| - x_image_ = XGetImage(display_, root_window_, rect.fLeft, rect.fTop,
|
| + x_image_ = XGetImage(display_, root_window_, rect.left(), rect.top(),
|
| rect.width(), rect.height(), AllPlanes, ZPixmap);
|
| return reinterpret_cast<uint8*>(x_image_->data);
|
| }
|
|
|