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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/api/tabs/app_base_window.h"
#include "extensions/browser/app_window/app_window.h"
#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/browser/app_window/size_constraints.h"
#include "ui/base/mojom/window_show_state.mojom.h"
#include "ui/gfx/geometry/rounded_corners_f.h"
namespace extensions {
AppBaseWindow::AppBaseWindow(AppWindow* app_window) : app_window_(app_window) {}
AppBaseWindow::~AppBaseWindow() = default;
bool AppBaseWindow::IsActive() const {
return GetBaseWindow()->IsActive();
}
bool AppBaseWindow::IsMaximized() const {
return GetBaseWindow()->IsMaximized();
}
bool AppBaseWindow::IsMinimized() const {
return GetBaseWindow()->IsMinimized();
}
bool AppBaseWindow::IsFullscreen() const {
return GetBaseWindow()->IsFullscreen();
}
gfx::NativeWindow AppBaseWindow::GetNativeWindow() const {
return GetBaseWindow()->GetNativeWindow();
}
gfx::Rect AppBaseWindow::GetRestoredBounds() const {
return GetBaseWindow()->GetRestoredBounds();
}
ui::mojom::WindowShowState AppBaseWindow::GetRestoredState() const {
return GetBaseWindow()->GetRestoredState();
}
gfx::Rect AppBaseWindow::GetBounds() const {
return GetBaseWindow()->GetBounds();
}
void AppBaseWindow::Show() {
GetBaseWindow()->Show();
}
void AppBaseWindow::Hide() {
GetBaseWindow()->Hide();
}
bool AppBaseWindow::IsVisible() const {
return GetBaseWindow()->IsVisible();
}
void AppBaseWindow::ShowInactive() {
GetBaseWindow()->ShowInactive();
}
void AppBaseWindow::Close() {
GetBaseWindow()->Close();
}
void AppBaseWindow::Activate() {
GetBaseWindow()->Activate();
}
void AppBaseWindow::Deactivate() {
GetBaseWindow()->Deactivate();
}
void AppBaseWindow::Maximize() {
GetBaseWindow()->Maximize();
}
void AppBaseWindow::Minimize() {
GetBaseWindow()->Minimize();
}
void AppBaseWindow::Restore() {
GetBaseWindow()->Restore();
}
void AppBaseWindow::SetBounds(const gfx::Rect& bounds) {
// We constrain the given size to the min/max sizes of the
// application window.
gfx::Insets frame_insets = GetBaseWindow()->GetFrameInsets();
gfx::RoundedCornersF window_radii = GetBaseWindow()->GetWindowRadii();
SizeConstraints constraints(
SizeConstraints::AddWindowToConstraints(
GetBaseWindow()->GetContentMinimumSize(), frame_insets, window_radii),
SizeConstraints::AddWindowToConstraints(
GetBaseWindow()->GetContentMaximumSize(), frame_insets,
window_radii));
gfx::Rect new_bounds = bounds;
new_bounds.set_size(constraints.ClampSize(bounds.size()));
GetBaseWindow()->SetBounds(new_bounds);
}
void AppBaseWindow::FlashFrame(bool flash) {
GetBaseWindow()->FlashFrame(flash);
}
ui::ZOrderLevel AppBaseWindow::GetZOrderLevel() const {
return GetBaseWindow()->GetZOrderLevel();
}
void AppBaseWindow::SetZOrderLevel(ui::ZOrderLevel level) {
GetBaseWindow()->SetZOrderLevel(level);
}
NativeAppWindow* AppBaseWindow::GetBaseWindow() const {
return app_window_->GetBaseWindow();
}
} // namespace extensions
|