AUI Framework  master
Cross-platform module-based framework for developing C++20 desktop applications
AOverlappingSurface.h
1/*
2 * AUI Framework - Declarative UI toolkit for modern C++20
3 * Copyright (C) 2020-2024 Alex2772 and Contributors
4 *
5 * SPDX-License-Identifier: MPL-2.0
6 *
7 * This Source Code Form is subject to the terms of the Mozilla Public
8 * License, v. 2.0. If a copy of the MPL was not distributed with this
9 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 */
11
12#pragma once
13
14
15#include <AUI/View/AViewContainer.h>
16
17class AWindowBase;
18
19class API_AUI_VIEWS AOverlappingSurface: public AViewContainer {
20 friend class AWindowBase;
21private:
22 AWindowBase* mParentWindow;
23 bool mCloseOnClick;
24
25public:
26 AOverlappingSurface() = default;
27
28 virtual ~AOverlappingSurface() = default;
29 void close();
30
31 bool isCloseOnClick() const {
32 return mCloseOnClick;
33 }
34
35 void setCloseOnClick(bool closeOnClick) {
36 mCloseOnClick = closeOnClick;
37 }
38
39 AWindowBase* getParentWindow() const {
40 return mParentWindow;
41 }
42
43 virtual void setOverlappingSurfacePosition(glm::ivec2 position) = 0;
44 virtual void setOverlappingSurfaceSize(glm::ivec2 size) = 0;
45};
Definition: AOverlappingSurface.h:19
A trivial modifiable view that represents a set of views.
Definition: AViewContainer.h:33
Definition: AWindowBase.h:33