summaryrefslogtreecommitdiff
path: root/chromium/ui/ozone/platform/headless/headless_window.cc
blob: 5bf6e7c965334a9ff9bbf5f17c40e822ad9a0543 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// 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 "build/build_config.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) {
#if defined(OS_WIN)
  widget_ = reinterpret_cast<gfx::AcceleratedWidget>(manager_->AddWindow(this));
#else
  widget_ = manager_->AddWindow(this);
#endif
  delegate_->OnAcceleratedWidgetAvailable(widget_, 1.f);
}

HeadlessWindow::~HeadlessWindow() {
#if defined(OS_WIN)
  manager_->RemoveWindow(reinterpret_cast<uint64_t>(widget_), this);
#else
  manager_->RemoveWindow(widget_, this);
#endif
}

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::PrepareForShutdown() {}

void HeadlessWindow::SetCapture() {}

void HeadlessWindow::ReleaseCapture() {}

bool HeadlessWindow::HasCapture() const {
  return false;
}

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