122 lines
4.9 KiB
Plaintext
122 lines
4.9 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "ICoreState.idl";
|
|
import "IControlSettings.idl";
|
|
import "EventArgs.idl";
|
|
|
|
namespace Microsoft.Terminal.Control
|
|
{
|
|
|
|
// This is a mirror of
|
|
// ::Microsoft::Console::VirtualTerminal::TerminalInput::MouseButtonState,
|
|
// but projectable.
|
|
// !! LOAD BEARING !! If you make this a struct with Booleans (like they
|
|
// make the most sense as), then the app will crash trying to toss one of
|
|
// these across the process boundary. I haven't the damndest idea why.
|
|
[flags]
|
|
enum MouseButtonState
|
|
{
|
|
IsLeftButtonDown = 0x1,
|
|
IsMiddleButtonDown = 0x2,
|
|
IsRightButtonDown = 0x4
|
|
};
|
|
|
|
|
|
enum ClearBufferType
|
|
{
|
|
Screen,
|
|
Scrollback,
|
|
All
|
|
};
|
|
|
|
[default_interface] runtimeclass ControlCore : ICoreState
|
|
{
|
|
ControlCore(IControlSettings settings,
|
|
IControlAppearance unfocusedAppearance,
|
|
Microsoft.Terminal.TerminalConnection.ITerminalConnection connection);
|
|
|
|
Boolean Initialize(Double actualWidth,
|
|
Double actualHeight,
|
|
Double compositionScale);
|
|
|
|
void UpdateSettings(IControlSettings settings, IControlAppearance appearance);
|
|
void ApplyAppearance(Boolean focused);
|
|
|
|
IControlSettings Settings { get; };
|
|
IControlAppearance FocusedAppearance { get; };
|
|
IControlAppearance UnfocusedAppearance { get; };
|
|
Boolean HasUnfocusedAppearance();
|
|
|
|
UInt64 SwapChainHandle { get; };
|
|
|
|
Windows.Foundation.Size FontSize { get; };
|
|
String FontFaceName { get; };
|
|
UInt16 FontWeight { get; };
|
|
Double Opacity { get; };
|
|
|
|
Boolean TrySendKeyEvent(Int16 vkey,
|
|
Int16 scanCode,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Boolean keyDown);
|
|
Boolean SendCharEvent(Char ch,
|
|
Int16 scanCode,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers);
|
|
void SendInput(String text);
|
|
void PasteText(String text);
|
|
void ClearBuffer(ClearBufferType clearType);
|
|
|
|
void SetHoveredCell(Microsoft.Terminal.Core.Point terminalPosition);
|
|
void ClearHoveredCell();
|
|
|
|
void ResetFontSize();
|
|
void AdjustFontSize(Int32 fontSizeDelta);
|
|
void SizeChanged(Double width, Double height);
|
|
void ScaleChanged(Double scale);
|
|
|
|
void ToggleShaderEffects();
|
|
void ToggleReadOnlyMode();
|
|
|
|
Microsoft.Terminal.Core.Point CursorPosition { get; };
|
|
void ResumeRendering();
|
|
void BlinkAttributeTick();
|
|
void UpdatePatternLocations();
|
|
void Search(String text, Boolean goForward, Boolean caseSensitive);
|
|
Microsoft.Terminal.Core.Color BackgroundColor { get; };
|
|
|
|
Boolean HasSelection { get; };
|
|
IVector<String> SelectedText(Boolean trimTrailingWhitespace);
|
|
|
|
String HoveredUriText { get; };
|
|
Windows.Foundation.IReference<Microsoft.Terminal.Core.Point> HoveredCell { get; };
|
|
|
|
void Close();
|
|
void BlinkCursor();
|
|
Boolean IsInReadOnlyMode { get; };
|
|
Boolean CursorOn;
|
|
void EnablePainting();
|
|
|
|
String ReadEntireBuffer();
|
|
|
|
event FontSizeChangedEventArgs FontSizeChanged;
|
|
|
|
event Windows.Foundation.TypedEventHandler<Object, CopyToClipboardEventArgs> CopyToClipboard;
|
|
event Windows.Foundation.TypedEventHandler<Object, TitleChangedEventArgs> TitleChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> WarningBell;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> TabColorChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> BackgroundColorChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, ScrollPositionChangedArgs> ScrollPositionChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> CursorPositionChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> TaskbarProgressChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> ConnectionStateChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> HoveredHyperlinkChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> RendererEnteredErrorState;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> SwapChainChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, RendererWarningArgs> RendererWarning;
|
|
event Windows.Foundation.TypedEventHandler<Object, NoticeEventArgs> RaiseNotice;
|
|
event Windows.Foundation.TypedEventHandler<Object, TransparencyChangedEventArgs> TransparencyChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> ReceivedOutput;
|
|
|
|
};
|
|
}
|