NAME

TUI::Drivers::HardwareInfo::Win32 - Win32 hardware backend for THardwareInfo

DESCRIPTION

TUI::Drivers::HardwareInfo::Win32 provides the Windows-specific implementation of the THardwareInfo hardware interface used by the Turbo Vision driver layer.

The module encapsulates access to the Win32 console, keyboard, mouse, timer, and screen facilities. It maintains global process-level state and interfaces directly with the Windows Console API.

This module is not instantiated. All interaction is performed through class-level method calls.

Initialization of console resources is performed automatically when the module is loaded. Console state is restored automatically when the program terminates.

VARIABLES

The following variables are internal to the Win32 backend implementation and are not part of the portable THardwareInfo interface.

$insertState

Tracks the current insert mode state.

$platform

Contains the platform identifier string. For this backend, the value is Windows.

@consoleHandle

Holds the Win32 console handle objects used for input, output, and startup state.

$ownsConsole

Indicates whether the console was allocated by this module.

$consoleMode

Stores the console input mode.

$pendingEvent

Indicates whether a pending input event is buffered.

@irBuffer

Internal buffer for Win32 input records.

@crInfo

Stores console cursor information.

@sbInfo

Stores console screen buffer information.

IMPLEMENTATION

This module contains the Windows-specific implementation behind TUI::Drivers::HardwareInfo (THardwareInfo). Public API semantics and usage are documented in TUI::Drivers::HardwareInfo.

In this backend, those methods are mapped to Win32 console facilities for keyboard/mouse input, screen and caret control, timing, and control/error handling.

The exact implementation details here are platform-specific and may differ from other backends.

SEE ALSO

TUI::Drivers::HardwareInfo, TUI::Drivers::Screen, TUI::Drivers::HWMouse, TUI::Drivers::SystemError

AUTHORS

  • Borland International (original Turbo Vision design)

  • J. Schneider <brickpool@cpan.org> (Perl implementation and maintenance)

CONTRIBUTORS

  • magiblot <magiblot@hotmail.com>

COPYRIGHT AND LICENSE

Copyright (c) 1990-1994, 1997 by Borland International

Copyright (c) 2019-2026 the "AUTHORS" and "CONTRIBUTORS" as listed above.

This software is licensed under the MIT license (see the LICENSE file, which is part of the distribution).