alder_lake_bios/Insyde/InsydeModulePkg/Universal/Console/SnapScreenDxe/SnapWin.h

129 lines
2.1 KiB
C

/** @file
SnapScree driver for capature screen image to BMP file.
;******************************************************************************
;* Copyright (c) 2012 - 2018, Insyde Software Corp. All Rights Reserved.
;*
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;* transmit, broadcast, present, recite, release, license or otherwise exploit
;* any part of this publication in any form, by any means, without the prior
;* written permission of Insyde Software Corporation.
;*
;******************************************************************************
*/
#ifndef _SNAP_WIN_H_
#define _SNAP_WIN_H_
#define WIN_MAX_WIDTH 128
#define WIN_MAX_HEIGHT 40
#define WIN_SCR_CENTER -1
#define WIN_BORDER 1
#define TEXTOUT_CENTER 0x7FFF
typedef struct {
INT16 X;
INT16 Y;
UINT16 Width;
UINT16 Height;
} RECT;
typedef struct {
RECT Area;
RECT ClientArea;
BOOLEAN Border;
BOOLEAN IsShow;
UINT16 CursorX;
UINT16 CursorY;
CHAR16 *Title;
VOID *TextBuffer;
VOID *GraphicBuffer;
} TWINDOW;
VOID
TWinGetCursor (
TWINDOW *Win,
UINT16 *CursorX,
UINT16 *CursorY
);
VOID
TWinSetCursor (
TWINDOW *Win,
UINT16 CursorX,
UINT16 CursorY
);
VOID
TWinSetAttribue (
TWINDOW *Win,
UINTN Attribute
);
EFI_STATUS
TWinCreate (
INT16 X,
INT16 Y,
UINT16 Width,
UINT16 Height,
BOOLEAN Border,
CHAR16 *Title,
TWINDOW **AWin
);
EFI_STATUS
TWinDestroy (
TWINDOW *Win
);
VOID
TWinClearArea (
IN TWINDOW *Win,
IN RECT *Rect,
IN UINTN Attrib
);
VOID
TWinPrintChar (
TWINDOW *Win,
CHAR16 Ch
);
EFI_STATUS
TWinPrint (
TWINDOW *Win,
CHAR16 *Format,
...
);
EFI_STATUS
TWinPrintAt (
TWINDOW *Win,
UINT16 X,
UINT16 Y,
CHAR16 *Format,
...
);
EFI_STATUS
TWinShow (
TWINDOW *Win
);
VOID
TWinClearLine (
TWINDOW *Win,
UINT16 LineNumber
);
VOID
TWinTextOut (
TWINDOW *Win,
INT16 X,
INT16 Y,
CHAR16 *Str
);
#endif // _SNAP_WIN_H_