You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
284 lines
7.1 KiB
284 lines
7.1 KiB
/*++
|
|
|
|
Copyright (c) 1993 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
spvideo.h
|
|
|
|
Abstract:
|
|
|
|
Public header file for text setup display utilitiy functions.
|
|
|
|
Author:
|
|
|
|
Ted Miller (tedm) 29-July-1993
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _SPDSPUTL_DEFN_
|
|
#define _SPDSPUTL_DEFN_
|
|
|
|
|
|
#define HEADER_HEIGHT 3
|
|
#define STATUS_HEIGHT 1
|
|
#define CLIENT_HEIGHT (VideoVars.ScreenHeight - (HEADER_HEIGHT+STATUS_HEIGHT))
|
|
#define CLIENT_TOP HEADER_HEIGHT
|
|
|
|
|
|
#define CLEAR_ENTIRE_SCREEN() \
|
|
\
|
|
SpvidClearScreenRegion( \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
DEFAULT_BACKGROUND \
|
|
)
|
|
|
|
#define CLEAR_CLIENT_SCREEN() \
|
|
\
|
|
SpvidClearScreenRegion( \
|
|
0, \
|
|
HEADER_HEIGHT, \
|
|
VideoVars.ScreenWidth, \
|
|
VideoVars.ScreenHeight-(HEADER_HEIGHT+STATUS_HEIGHT), \
|
|
DEFAULT_BACKGROUND \
|
|
)
|
|
|
|
#define CLEAR_HEADER_SCREEN() \
|
|
\
|
|
SpvidClearScreenRegion( \
|
|
0, \
|
|
0, \
|
|
VideoVars.ScreenWidth, \
|
|
HEADER_HEIGHT, \
|
|
DEFAULT_BACKGROUND \
|
|
)
|
|
|
|
|
|
|
|
ULONG
|
|
SpDisplayText(
|
|
IN PWCHAR Message,
|
|
IN ULONG MsgLen,
|
|
IN BOOLEAN CenterHorizontally,
|
|
IN BOOLEAN CenterVertically,
|
|
IN UCHAR Attribute,
|
|
IN ULONG X,
|
|
IN ULONG Y
|
|
);
|
|
|
|
|
|
ULONG
|
|
vSpDisplayFormattedMessage(
|
|
IN ULONG MessageId,
|
|
IN BOOLEAN CenterHorizontally,
|
|
IN BOOLEAN CenterVertically,
|
|
IN UCHAR Attribute,
|
|
IN ULONG X,
|
|
IN ULONG Y,
|
|
IN va_list arglist
|
|
);
|
|
|
|
|
|
ULONG
|
|
SpDisplayFormattedMessage(
|
|
IN ULONG MessageId,
|
|
IN BOOLEAN CenterHorizontally,
|
|
IN BOOLEAN CenterVertically,
|
|
IN UCHAR Attribute,
|
|
IN ULONG X,
|
|
IN ULONG Y,
|
|
...
|
|
);
|
|
|
|
|
|
VOID
|
|
SpStartScreen(
|
|
IN ULONG MessageId,
|
|
IN ULONG LeftMargin,
|
|
IN ULONG TopLine,
|
|
IN BOOLEAN CenterHorizontally,
|
|
IN BOOLEAN CenterVertically,
|
|
IN UCHAR Attribute,
|
|
...
|
|
);
|
|
|
|
|
|
VOID
|
|
SpContinueScreen(
|
|
IN ULONG MessageId,
|
|
IN ULONG LeftMargin,
|
|
IN ULONG SpacingLines,
|
|
IN BOOLEAN CenterHorizontally,
|
|
IN UCHAR Attribute,
|
|
...
|
|
);
|
|
|
|
|
|
VOID
|
|
SpBugCheck(
|
|
IN ULONG BugCode,
|
|
IN ULONG Param1,
|
|
IN ULONG Param2,
|
|
IN ULONG Param3
|
|
);
|
|
|
|
|
|
VOID
|
|
SpDisplayRawMessage(
|
|
IN ULONG MessageId,
|
|
IN ULONG SpacingLines,
|
|
...
|
|
);
|
|
|
|
|
|
#define SpDisplayScreen(MessageId,LeftMargin,TopLine) \
|
|
\
|
|
SpStartScreen( \
|
|
MessageId, \
|
|
LeftMargin, \
|
|
TopLine, \
|
|
FALSE, \
|
|
FALSE, \
|
|
DEFAULT_ATTRIBUTE \
|
|
)
|
|
|
|
|
|
//
|
|
// As messages are built on on-screen, with SpStartScreen and
|
|
// SpContinueScreen, this value remembers where
|
|
// the next message in the screen should be placed.
|
|
//
|
|
extern ULONG NextMessageTopLine;
|
|
|
|
|
|
VOID
|
|
SpDisplayHeaderText(
|
|
IN ULONG MessageId,
|
|
IN UCHAR Attribute
|
|
);
|
|
|
|
|
|
VOID
|
|
SpDisplayStatusText(
|
|
IN ULONG MessageId,
|
|
IN UCHAR Attribute,
|
|
...
|
|
);
|
|
|
|
VOID
|
|
SpCmdConsEnableStatusText(
|
|
IN BOOLEAN EnableStatusText
|
|
);
|
|
|
|
|
|
VOID
|
|
SpDisplayStatusOptions(
|
|
IN UCHAR Attribute,
|
|
...
|
|
);
|
|
|
|
VOID
|
|
SpDisplayStatusActionLabel(
|
|
IN ULONG ActionMessageId, OPTIONAL
|
|
IN ULONG FieldWidth
|
|
);
|
|
|
|
VOID
|
|
SpDisplayStatusActionObject(
|
|
IN PWSTR ObjectText
|
|
);
|
|
|
|
VOID
|
|
SpDrawFrame(
|
|
IN ULONG LeftX,
|
|
IN ULONG Width,
|
|
IN ULONG TopY,
|
|
IN ULONG Height,
|
|
IN UCHAR Attribute,
|
|
IN BOOLEAN DoubleLines
|
|
);
|
|
|
|
//
|
|
// There are places where the user has to press C for custom setup, etc.
|
|
// These keystrokes are referred to as the nmemonic keys, and they must be
|
|
// localizable. To accomplish this, the enum below indexes the SP_MNEMONICS
|
|
// message.
|
|
//
|
|
typedef enum {
|
|
MnemonicUnused = 0,
|
|
MnemonicCustom, // as in "C=Custom Setup"
|
|
MnemonicCreatePartition, // as in "C=Create Partition"
|
|
MnemonicDeletePartition, // as in "D=Delete Partition"
|
|
MnemonicContinueSetup, // as in "C=Continue Setup"
|
|
MnemonicFormat, // as in "F=Format"
|
|
MnemonicConvert, // as in "C=Convert"
|
|
MnemonicRemoveFiles, // as in "R=Remove Files"
|
|
MnemonicNewPath, // as in "N=Different Directory"
|
|
MnemonicSkipDetection, // as in "S=Skip Detection"
|
|
MnemonicScsiAdapters, // as in "S=Specify Additional SCSI Adapter"
|
|
MnemonicDeletePartition2, // as in "L=Delete"
|
|
MnemonicOverwrite, // as in "O=Overwrite"
|
|
MnemonicRepair, // as in "R=Repair"
|
|
MnemonicRepairAll, // as in "A=Repair All"
|
|
MnemonicUpgrade, // as in "U=Upgrade"
|
|
MnemonicAutomatedSystemRecovery, // as in "A=ASR"
|
|
MnemonicInitializeDisk, // as in "I=Initialize Disk"
|
|
MnemonicLocate, // as in "L=Locate"
|
|
MnemonicFastRepair, // as in "F=Fast Repair"
|
|
MnemonicManualRepair, // as in "M=Manual Repair"
|
|
MnemonicConsole, // as in "C=Console"
|
|
MnemonicChangeDiskStyle, // as in "S=Change Disk Style"
|
|
MnemonicMakeSystemPartition,// as in "M=Make System Partition"
|
|
MnemonicMax
|
|
} MNEMONIC_KEYS;
|
|
|
|
#define KEY_MNEMONIC 0x80000000
|
|
|
|
extern PWCHAR MnemonicValues;
|
|
|
|
ULONG
|
|
SpWaitValidKey(
|
|
IN const ULONG *ValidKeys1,
|
|
IN const ULONG *ValidKeys2, OPTIONAL
|
|
IN const ULONG *MnemonicKeys OPTIONAL
|
|
);
|
|
|
|
//
|
|
// Enum for values that can be retuned by a KEYRESS_CALLBACK routine.
|
|
//
|
|
typedef enum {
|
|
ValidateAccept,
|
|
ValidateReject,
|
|
ValidateIgnore,
|
|
ValidateTerminate,
|
|
ValidateRepaint
|
|
} ValidationValue;
|
|
|
|
//
|
|
// Type for routine to be passed as ValidateKey parameter to SpGetInput().
|
|
//
|
|
typedef
|
|
ValidationValue
|
|
(*PKEYPRESS_CALLBACK) (
|
|
IN ULONG Key
|
|
);
|
|
|
|
BOOLEAN
|
|
SpGetInput(
|
|
IN PKEYPRESS_CALLBACK ValidateKey,
|
|
IN ULONG X,
|
|
IN ULONG Y,
|
|
IN ULONG MaxLength,
|
|
IN OUT PWCHAR Buffer,
|
|
IN BOOLEAN ValidateEscape,
|
|
IN WCHAR CoverCharacter
|
|
);
|
|
|
|
#endif // ndef _SPDSPUTL_DEFN_
|
|
|