129 lines
2.1 KiB
C
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_
|