| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/views/widget/desktop_aura/desktop_root_window_host_x11.h" | 5 #include "ui/views/widget/desktop_aura/desktop_root_window_host_x11.h" |
| 6 | 6 |
| 7 #include <X11/extensions/shape.h> | 7 #include <X11/extensions/shape.h> |
| 8 #include <X11/extensions/XInput2.h> | 8 #include <X11/extensions/XInput2.h> |
| 9 #include <X11/Xatom.h> | 9 #include <X11/Xatom.h> |
| 10 #include <X11/Xregion.h> | 10 #include <X11/Xregion.h> |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 if (!XGetGeometry(xdisplay_, x_root_window_, &root, &x, &y, | 423 if (!XGetGeometry(xdisplay_, x_root_window_, &root, &x, &y, |
| 424 &width, &height, &border_width, &depth)) { | 424 &width, &height, &border_width, &depth)) { |
| 425 NOTIMPLEMENTED(); | 425 NOTIMPLEMENTED(); |
| 426 return gfx::Rect(0, 0, 10, 10); | 426 return gfx::Rect(0, 0, 10, 10); |
| 427 } | 427 } |
| 428 | 428 |
| 429 return gfx::Rect(x, y, width, height); | 429 return gfx::Rect(x, y, width, height); |
| 430 } | 430 } |
| 431 | 431 |
| 432 void DesktopRootWindowHostX11::SetShape(gfx::NativeRegion native_region) { | 432 void DesktopRootWindowHostX11::SetShape(gfx::NativeRegion native_region) { |
| 433 SkPath path; | 433 if (native_region) { |
| 434 native_region->getBoundaryPath(&path); | 434 SkPath path; |
| 435 Region region = gfx::CreateRegionFromSkPath(path); | 435 native_region->getBoundaryPath(&path); |
| 436 XShapeCombineRegion(xdisplay_, xwindow_, ShapeBounding, 0, 0, region, false); | 436 Region region = gfx::CreateRegionFromSkPath(path); |
| 437 XDestroyRegion(region); | 437 XShapeCombineRegion( |
| 438 xdisplay_, xwindow_, ShapeBounding, 0, 0, region, false); |
| 439 XDestroyRegion(region); |
| 440 } else { |
| 441 ResetWindowRegion(); |
| 442 } |
| 443 |
| 444 delete native_region; |
| 438 } | 445 } |
| 439 | 446 |
| 440 void DesktopRootWindowHostX11::Activate() { | 447 void DesktopRootWindowHostX11::Activate() { |
| 441 X11DesktopHandler::get()->ActivateWindow(xwindow_); | 448 X11DesktopHandler::get()->ActivateWindow(xwindow_); |
| 442 } | 449 } |
| 443 | 450 |
| 444 void DesktopRootWindowHostX11::Deactivate() { | 451 void DesktopRootWindowHostX11::Deactivate() { |
| 445 // Deactivating a window means activating nothing. | 452 // Deactivating a window means activating nothing. |
| 446 X11DesktopHandler::get()->ActivateWindow(None); | 453 X11DesktopHandler::get()->ActivateWindow(None); |
| 447 } | 454 } |
| (...skipping 969 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1417 if (linux_ui) { | 1424 if (linux_ui) { |
| 1418 ui::NativeTheme* native_theme = linux_ui->GetNativeTheme(); | 1425 ui::NativeTheme* native_theme = linux_ui->GetNativeTheme(); |
| 1419 if (native_theme) | 1426 if (native_theme) |
| 1420 return native_theme; | 1427 return native_theme; |
| 1421 } | 1428 } |
| 1422 | 1429 |
| 1423 return ui::NativeTheme::instance(); | 1430 return ui::NativeTheme::instance(); |
| 1424 } | 1431 } |
| 1425 | 1432 |
| 1426 } // namespace views | 1433 } // namespace views |
| OLD | NEW |