Leaked source code of windows server 2003
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.
 
 
 
 
 
 

283 lines
4.9 KiB

/*++
Copyright (c) 1985 - 1999, Microsoft Corporation
Module Name:
conv.h
Abstract:
This module contains the internal structures and definitions used
by the conversion area.
Author:
KazuM Mar.8,1993
Revision History:
--*/
#ifndef _CONV_H_
#define _CONV_H_
#if defined(FE_IME)
//
// Externs
//
//
// Attributes flags:
//
#define COMMON_LVB_GRID_SINGLEFLAG 0x2000 // DBCS: Grid attribute: use for ime cursor.
/*
* Exported function
*/
/*
* Internal function
*/
DWORD
NtUserCheckImeHotKey(
UINT uVKey,
LPARAM lParam
);
BOOL
NtUserGetImeHotKey(
IN DWORD dwID,
OUT PUINT puModifiers,
OUT PUINT puVKey,
OUT HKL *phkl);
/*
* Prototype definition
*/
VOID
LinkConversionArea(
IN PCONSOLE_INFORMATION Console,
IN PCONVERSIONAREA_INFORMATION ConvAreaInfo
);
NTSTATUS
FreeConvAreaScreenBuffer(
IN PSCREEN_INFORMATION ScreenInfo
);
NTSTATUS
AllocateConversionArea(
IN PCONSOLE_INFORMATION Console,
IN COORD dwScreenBufferSize,
OUT PCONVERSIONAREA_INFORMATION *ConvAreaInfo
);
NTSTATUS
SetUpConversionArea(
IN PCONSOLE_INFORMATION Console,
IN COORD coordCaBuffer,
IN SMALL_RECT rcViewCaWindow,
IN COORD coordConView,
IN DWORD dwOption,
OUT PCONVERSIONAREA_INFORMATION *ConvAreaInfo
);
VOID
WriteConvRegionToScreen(
IN PSCREEN_INFORMATION ScreenInfo,
IN PCONVERSIONAREA_INFORMATION ConvAreaInfo,
IN PSMALL_RECT ClippedRegion
);
BOOL
ConsoleImeBottomLineUse(
IN PSCREEN_INFORMATION ScreenInfo,
IN SHORT ScrollOffset
);
VOID
ConsoleImeBottomLineInUse(
IN PSCREEN_INFORMATION ScreenInfo
);
NTSTATUS
CreateConvAreaUndetermine(
PCONSOLE_INFORMATION Console
);
NTSTATUS
CreateConvAreaModeSystem(
PCONSOLE_INFORMATION Console
);
NTSTATUS
WriteUndetermineChars(
PCONSOLE_INFORMATION Console,
LPWSTR lpString,
PBYTE lpAtr,
PWORD lpAtrIdx,
DWORD NumChars
);
NTSTATUS
FillUndetermineChars(
PCONSOLE_INFORMATION Console,
PCONVERSIONAREA_INFORMATION ConvAreaInfo
);
NTSTATUS
ConsoleImeCompStr(
IN PCONSOLE_INFORMATION Console,
IN LPCONIME_UICOMPMESSAGE CompStr
);
NTSTATUS
ConsoleImeResizeModeSystemView(
PCONSOLE_INFORMATION Console,
SMALL_RECT WindowRect
);
NTSTATUS
ConsoleImeResizeCompStrView(
PCONSOLE_INFORMATION Console,
SMALL_RECT WindowRect
);
NTSTATUS
ConsoleImeResizeModeSystemScreenBuffer(
PCONSOLE_INFORMATION Console,
COORD NewScreenSize
);
NTSTATUS
ConsoleImeResizeCompStrScreenBuffer(
PCONSOLE_INFORMATION Console,
COORD NewScreenSize
);
SHORT
CalcWideCharToColumn(
IN PCONSOLE_INFORMATION Console,
IN PCHAR_INFO Buffer,
IN DWORD NumberOfChars
);
LONG
ConsoleImePaint(
IN PCONSOLE_INFORMATION Console,
IN PCONVERSIONAREA_INFORMATION ConvAreaInfo
);
VOID
ConsoleImeViewInfo(
IN PCONSOLE_INFORMATION Console,
IN PCONVERSIONAREA_INFORMATION ConvAreaInfo,
IN COORD coordConView
);
VOID
ConsoleImeWindowInfo(
IN PCONSOLE_INFORMATION Console,
IN PCONVERSIONAREA_INFORMATION ConvAreaInfo,
IN SMALL_RECT rcViewCaWindow
);
NTSTATUS
ConsoleImeResizeScreenBuffer(
IN PSCREEN_INFORMATION ScreenInfo,
IN COORD NewScreenSize,
PCONVERSIONAREA_INFORMATION ConvAreaInfo
);
NTSTATUS
ConsoleImeWriteOutput(
IN PCONSOLE_INFORMATION Console,
IN PCONVERSIONAREA_INFORMATION ConvAreaInfo,
IN PCHAR_INFO Buffer,
IN SMALL_RECT CharRegion,
IN BOOL fUnicode
);
NTSTATUS
ImeControl(
IN PCONSOLE_INFORMATION Console,
IN HWND hWndConsoleIME,
IN PCOPYDATASTRUCT lParam
) ;
BOOL
InsertConverTedString(
IN PCONSOLE_INFORMATION Console,
LPWSTR lpStr
) ;
VOID
SetUndetermineAttribute(
IN PCONSOLE_INFORMATION Console
) ;
VOID
StreamWriteToScreenBufferIME(
IN PWCHAR String,
IN SHORT StringLength,
IN PSCREEN_INFORMATION ScreenInfo,
IN PCHAR StringA
) ;
//
// windows\imm\server\hotkey.c
//
DWORD
CheckImeHotKey(
UINT uVKey, // virtual key
LPARAM lParam // lparam of WM_KEYxxx message
) ;
//
// output.c (for use convarea.c\StreamWriteToScreenBufferIME() )
//
NTSTATUS
MergeAttrStrings(
IN PATTR_PAIR Source,
IN WORD SourceLength,
IN PATTR_PAIR Merge,
IN WORD MergeLength,
OUT PATTR_PAIR *Target,
OUT LPWORD TargetLength,
IN SHORT StartIndex,
IN SHORT EndIndex,
IN PROW Row,
IN PSCREEN_INFORMATION ScreenInfo
) ;
VOID
ResetTextFlags(
IN PSCREEN_INFORMATION ScreenInfo,
IN SHORT StartX,
IN SHORT StartY,
IN SHORT EndX,
IN SHORT EndY
) ;
#endif // FE_IME
#endif // _CONV_H_