terminal/src/types/IUiaData.h

44 lines
1 KiB
C++

/*++
Copyright (c) Microsoft Corporation
Licensed under the MIT license.
Module Name:
- IUiaData.hpp
Abstract:
- This serves as the interface defining all information needed for the UI Automation Tree
Author(s):
- Carlos Zamora (CaZamor) Aug-2019
--*/
#pragma once
#include "IBaseData.h"
struct ITextRangeProvider;
namespace Microsoft::Console::Types
{
class IUiaData : public IBaseData
{
public:
~IUiaData() = 0;
protected:
IUiaData() = default;
IUiaData(const IUiaData&) = default;
IUiaData(IUiaData&&) = default;
IUiaData& operator=(const IUiaData&) = default;
IUiaData& operator=(IUiaData&&) = default;
public:
virtual const bool IsSelectionActive() const = 0;
virtual void ClearSelection() = 0;
virtual void SelectNewRegion(const COORD coordStart, const COORD coordEnd) = 0;
};
// See docs/virtual-dtors.md for an explanation of why this is weird.
inline IUiaData::~IUiaData() {}
}