AUI Framework  master
Cross-platform module-based framework for developing C++20 desktop applications
CustomCaptionWindowImplWin32.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//
13// Created by alex2 on 05.12.2020.
14//
15
16#pragma once
17
18#include <AUI/View/AViewContainer.h>
19#include <AUI/View/AButton.h>
20
21class API_AUI_VIEWS CustomCaptionWindowImplWin32 {
22protected:
23 _<AViewContainer> mCaptionContainer;
24 _<AViewContainer> mContentContainer;
25 _<AButton> mMinimizeButton; // _
26 _<AButton> mMiddleButton; // []
27 _<AButton> mCloseButton; // X
28
29 void updateMiddleButtonIcon();
30 void initCustomCaption(const AString& name, bool stacked, AViewContainer* to);
31
32 virtual bool isCustomCaptionMaximized() = 0;
33
34public:
36
37 virtual ~CustomCaptionWindowImplWin32() = default;
38
39};
40
41
Represents a Unicode character string.
Definition: AString.h:37
A trivial modifiable view that represents a set of views.
Definition: AViewContainer.h:33
Definition: CustomCaptionWindowImplWin32.h:21
An std::weak_ptr with AUI extensions.
Definition: SharedPtrTypes.h:177