d4d59fa339
This commit introduces all of the Windows Terminal and Console Host source, under the MIT license.
47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
/*++
|
|
Copyright (c) Microsoft Corporation
|
|
Licensed under the MIT license.
|
|
|
|
Module Name:
|
|
- scrolling.hpp
|
|
|
|
Abstract:
|
|
- This module is used for managing the scrolling state and process
|
|
|
|
Author(s):
|
|
- Michael Niksa (MiNiksa) 4-Jun-2014
|
|
- Paul Campbell (PaulCam) 4-Jun-2014
|
|
|
|
Revision History:
|
|
- From components of clipbrd.h/.c and input.h/.c
|
|
--*/
|
|
|
|
#pragma once
|
|
|
|
#include "input.h"
|
|
|
|
// TODO: Static methods generally mean they're getting their state globally and not from this object _yet_
|
|
class Scrolling
|
|
{
|
|
public:
|
|
static void s_UpdateSystemMetrics();
|
|
|
|
// legacy methods (not refactored yet)
|
|
static bool s_IsInScrollMode();
|
|
static void s_DoScroll();
|
|
static void s_ClearScroll();
|
|
static void s_ScrollIfNecessary(const SCREEN_INFORMATION& ScreenInfo);
|
|
static void s_HandleMouseWheel(_In_ bool isMouseWheel,
|
|
_In_ bool isMouseHWheel,
|
|
_In_ short wheelDelta,
|
|
_In_ bool hasShift,
|
|
SCREEN_INFORMATION& ScreenInfo);
|
|
static bool s_HandleKeyScrollingEvent(const INPUT_KEY_INFO* const pKeyInfo);
|
|
|
|
private:
|
|
static BOOL s_IsPointInRectangle(const RECT* const prc, const POINT pt);
|
|
|
|
static ULONG s_ucWheelScrollLines;
|
|
static ULONG s_ucWheelScrollChars;
|
|
};
|