| // Copyright 2014 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 "ui/ozone/platform/headless/headless_window.h" |
| |
| #include <string> |
| |
| #include "base/files/file_path.h" |
| #include "base/strings/string_number_conversions.h" |
| #include "ui/events/platform/platform_event_source.h" |
| #include "ui/ozone/platform/headless/headless_window_manager.h" |
| #include "ui/platform_window/platform_window_delegate.h" |
| |
| namespace ui { |
| |
| HeadlessWindow::HeadlessWindow(PlatformWindowDelegate* delegate, |
| HeadlessWindowManager* manager, |
| const gfx::Rect& bounds) |
| : delegate_(delegate), manager_(manager), bounds_(bounds) { |
| widget_ = manager_->AddWindow(this); |
| delegate_->OnAcceleratedWidgetAvailable(widget_, 1.f); |
| } |
| |
| HeadlessWindow::~HeadlessWindow() { |
| manager_->RemoveWindow(widget_, this); |
| } |
| |
| base::FilePath HeadlessWindow::path() { |
| base::FilePath base_path = manager_->base_path(); |
| if (base_path.empty() || base_path == base::FilePath("/dev/null")) |
| return base_path; |
| |
| // Disambiguate multiple window output files with the window id. |
| return base_path.Append(base::IntToString(widget_)); |
| } |
| |
| gfx::Rect HeadlessWindow::GetBounds() { |
| return bounds_; |
| } |
| |
| void HeadlessWindow::SetBounds(const gfx::Rect& bounds) { |
| bounds_ = bounds; |
| delegate_->OnBoundsChanged(bounds); |
| } |
| |
| void HeadlessWindow::SetTitle(const base::string16& title) {} |
| |
| void HeadlessWindow::Show() {} |
| |
| void HeadlessWindow::Hide() {} |
| |
| void HeadlessWindow::Close() {} |
| |
| void HeadlessWindow::SetCapture() {} |
| |
| void HeadlessWindow::ReleaseCapture() {} |
| |
| void HeadlessWindow::ToggleFullscreen() {} |
| |
| void HeadlessWindow::Maximize() {} |
| |
| void HeadlessWindow::Minimize() {} |
| |
| void HeadlessWindow::Restore() {} |
| |
| void HeadlessWindow::SetCursor(PlatformCursor cursor) {} |
| |
| void HeadlessWindow::MoveCursorTo(const gfx::Point& location) {} |
| |
| void HeadlessWindow::ConfineCursorToBounds(const gfx::Rect& bounds) {} |
| |
| PlatformImeController* HeadlessWindow::GetPlatformImeController() { |
| return nullptr; |
| } |
| |
| } // namespace ui |