blob: 71682902fb19cefa3728af8f9348f846eb4ad09d [file] [log] [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ASH_ARC_INPUT_OVERLAY_TEST_ARC_TEST_WINDOW_H_
#define CHROME_BROWSER_ASH_ARC_INPUT_OVERLAY_TEST_ARC_TEST_WINDOW_H_
#include "components/exo/shell_surface_util.h"
#include "components/exo/surface.h"
#include "components/exo/test/exo_test_helper.h"
namespace arc::input_overlay {
namespace test {
// ArcTestWindow creates window with exo/surface.
class ArcTestWindow {
public:
ArcTestWindow(exo::test::ExoTestHelper* helper,
aura::Window* root,
const std::string& package_name,
const gfx::Rect bounds=gfx::Rect(10, 10, 100, 100));
ArcTestWindow(const ArcTestWindow&) = delete;
ArcTestWindow& operator=(const ArcTestWindow&) = delete;
~ArcTestWindow();
aura::Window* GetWindow();
void SetMinimized();
// Set bounds in |display|. |bounds| is the local bounds in the display.
void SetBounds(display::Display& display, gfx::Rect bounds);
private:
exo::Surface* surface_;
std::unique_ptr<exo::ClientControlledShellSurface> shell_surface_;
};
} // namespace test
} // namespace arc::input_overlay
#endif // CHROME_BROWSER_ASH_ARC_INPUT_OVERLAY_TEST_ARC_TEST_WINDOW_H_