9dc922fc37
This commit cleans up and deduplicates all of the common build preamble/postamble across exe, dll, lib and c++/winrt projects. The following specific changes have been made: * All projects now define their ConfigurationType * All projects now set all their properties *before* including a common build file (or any other build files) * cppwinrt.pre and cppwinrt.post now delegate most of their configuration to common.pre and common.post * (becuase of the above,) all build options are conserved between console and c++/winrt components, including specific warnings and preprocessor definitions. * More properties that are configurable per-project are now conditioned so the common props don't override them. * The exe, dll, exe.or.dll, and lib postincludes have been merged into pre or post and switched based on condition as required * Shared items (-shared, -common) are now explicitly vcxitems instead of vcxproj files. * The link line is now manipulated after Microsoft.Cpp sets it, so the libraries we specify "win". All console things link first against onecore_apiset.lib. * Fix all compilation errors caused by build unification * Move CascadiaPackage's resources into a separate item file Fixes #922.
61 lines
2.3 KiB
C++
61 lines
2.3 KiB
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
//
|
|
// MinMaxCloseControl.xaml.cpp
|
|
// Implementation of the MinMaxCloseControl class
|
|
//
|
|
|
|
#include "pch.h"
|
|
|
|
#include "MinMaxCloseControl.h"
|
|
|
|
#include "MinMaxCloseControl.g.cpp"
|
|
using namespace winrt::Windows::UI::Xaml;
|
|
|
|
namespace winrt::TerminalApp::implementation
|
|
{
|
|
MinMaxCloseControl::MinMaxCloseControl()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
// These event handlers simply forward each buttons click events up to the
|
|
// events we've exposed.
|
|
void MinMaxCloseControl::_MinimizeClick(winrt::Windows::Foundation::IInspectable const& /*sender*/,
|
|
RoutedEventArgs const& e)
|
|
{
|
|
_minimizeClickHandlers(*this, e);
|
|
}
|
|
|
|
void MinMaxCloseControl::_MaximizeClick(winrt::Windows::Foundation::IInspectable const& /*sender*/,
|
|
RoutedEventArgs const& e)
|
|
{
|
|
_maximizeClickHandlers(*this, e);
|
|
}
|
|
void MinMaxCloseControl::_CloseClick(winrt::Windows::Foundation::IInspectable const& /*sender*/,
|
|
RoutedEventArgs const& e)
|
|
{
|
|
_closeClickHandlers(*this, e);
|
|
}
|
|
|
|
void MinMaxCloseControl::SetWindowVisualState(WindowVisualState visualState)
|
|
{
|
|
switch (visualState)
|
|
{
|
|
case WindowVisualState::WindowVisualStateMaximized:
|
|
winrt::Windows::UI::Xaml::VisualStateManager::GoToState(MaximizeButton(), L"WindowStateMaximized", false);
|
|
break;
|
|
case WindowVisualState::WindowVisualStateNormal:
|
|
case WindowVisualState::WindowVisualStateIconified:
|
|
default:
|
|
winrt::Windows::UI::Xaml::VisualStateManager::GoToState(MaximizeButton(), L"WindowStateNormal", false);
|
|
break;
|
|
}
|
|
}
|
|
|
|
DEFINE_EVENT_WITH_TYPED_EVENT_HANDLER(MinMaxCloseControl, MinimizeClick, _minimizeClickHandlers, TerminalApp::MinMaxCloseControl, RoutedEventArgs);
|
|
DEFINE_EVENT_WITH_TYPED_EVENT_HANDLER(MinMaxCloseControl, MaximizeClick, _maximizeClickHandlers, TerminalApp::MinMaxCloseControl, RoutedEventArgs);
|
|
DEFINE_EVENT_WITH_TYPED_EVENT_HANDLER(MinMaxCloseControl, CloseClick, _closeClickHandlers, TerminalApp::MinMaxCloseControl, RoutedEventArgs);
|
|
|
|
}
|