mirror of
https://github.com/microsoft/terminal.git
synced 2026-04-05 21:59:47 +00:00
These do not notionally belong to TermControl; as we prepare to move automatic scrolling down into the Interactivity layer (for WpfTerminalControl to depend on,) we're going to need to track these in Interactivity too. This also converts the arguments from the winrt-specific Foundation::Point to Core::Point, and simplifies some of the signatures to no longer pass things we do not need to pass. Right now, this should result in no functional change. Some of the tests are sensitive to the fact that we never loaded `SPI_GETWHEELSCROLLLINES` and instead defaulted to `1`. They've been hammered back into shape.
82 lines
3.3 KiB
Plaintext
82 lines
3.3 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "ICoreState.idl";
|
|
import "IControlSettings.idl";
|
|
import "ControlCore.idl";
|
|
import "EventArgs.idl";
|
|
import "InteractivityAutomationPeer.idl";
|
|
|
|
|
|
namespace Microsoft.Terminal.Control
|
|
{
|
|
|
|
[default_interface] runtimeclass ControlInteractivity
|
|
{
|
|
ControlInteractivity(IControlSettings settings,
|
|
IControlAppearance unfocusedAppearance,
|
|
Microsoft.Terminal.TerminalConnection.ITerminalConnection connection);
|
|
|
|
ControlCore Core { get; };
|
|
void UpdateSettings();
|
|
void Initialize();
|
|
void GotFocus();
|
|
void LostFocus();
|
|
|
|
UInt64 Id { get; };
|
|
|
|
void AttachToNewControl();
|
|
void Detach();
|
|
|
|
void Close();
|
|
|
|
InteractivityAutomationPeer OnCreateAutomationPeer();
|
|
|
|
Boolean CopySelectionToClipboard(Boolean singleLine, Boolean withControlSequences, CopyFormat formats);
|
|
void RequestPasteTextFromClipboard();
|
|
void SetEndSelectionPoint(Microsoft.Terminal.Core.Point point);
|
|
|
|
void PointerPressed(UInt32 pointerId,
|
|
MouseButtonState buttonState,
|
|
UInt32 pointerUpdateKind,
|
|
UInt64 timestamp,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Microsoft.Terminal.Core.Point pixelPosition);
|
|
void TouchPressed(Microsoft.Terminal.Core.Point contactPoint);
|
|
|
|
Boolean PointerMoved(UInt32 pointerId,
|
|
MouseButtonState buttonState,
|
|
UInt32 pointerUpdateKind,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Microsoft.Terminal.Core.Point pixelPosition);
|
|
|
|
void TouchMoved(Microsoft.Terminal.Core.Point newTouchPoint);
|
|
|
|
void PointerReleased(UInt32 pointerId,
|
|
MouseButtonState buttonState,
|
|
UInt32 pointerUpdateKind,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Microsoft.Terminal.Core.Point pixelPosition);
|
|
void TouchReleased();
|
|
|
|
Boolean MouseWheel(Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Microsoft.Terminal.Core.Point delta,
|
|
Microsoft.Terminal.Core.Point pixelPosition,
|
|
MouseButtonState state);
|
|
|
|
void UpdateScrollbar(Single newValue);
|
|
|
|
event Windows.Foundation.TypedEventHandler<Object, OpenHyperlinkEventArgs> OpenHyperlink;
|
|
event Windows.Foundation.TypedEventHandler<Object, ScrollPositionChangedArgs> ScrollPositionChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, PasteFromClipboardEventArgs> PasteFromClipboard;
|
|
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> Closed;
|
|
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> Attached;
|
|
|
|
// Used to communicate to the TermControl, but not necessarily higher up in the stack
|
|
event Windows.Foundation.TypedEventHandler<Object, ContextMenuRequestedEventArgs> ContextMenuRequested;
|
|
|
|
};
|
|
}
|