#ifndef __SCREEN_H_
#define __SCREEN_H_
+#ifdef __MAKEWITH_GNUEFI
#include "efi.h"
#include "efilib.h"
+#else
+#include "../include/tiano_includes.h"
+#endif
#include "libeg.h"
// screen module
//
+#define DONT_CHANGE_TEXT_MODE 1024 /* textmode # that's a code to not change the text mode */
+
#define ATTR_BASIC (EFI_LIGHTGRAY | EFI_BACKGROUND_BLACK)
#define ATTR_ERROR (EFI_YELLOW | EFI_BACKGROUND_BLACK)
#define ATTR_BANNER (EFI_WHITE | EFI_BACKGROUND_BLUE)
#define ATTR_SCROLLARROW (EFI_LIGHTGREEN | EFI_BACKGROUND_BLACK)
//#define LAYOUT_TEXT_WIDTH (512)
-#define LAYOUT_TEXT_WIDTH (425)
-#define LAYOUT_TOTAL_HEIGHT (368)
-#define LAYOUT_BANNER_HEIGHT (32)
-#define LAYOUT_BANNER_YOFFSET (LAYOUT_BANNER_HEIGHT + 32)
+//#define LAYOUT_TEXT_WIDTH (425)
+#define LAYOUT_BANNER_YGAP 32
-#define FONT_CELL_WIDTH (7)
-#define FONT_CELL_HEIGHT (12)
+//#define FONT_CELL_WIDTH (7)
+//#define FONT_CELL_HEIGHT (12)
extern UINTN ConWidth;
extern UINTN ConHeight;
#define DebugPause()
#endif
VOID EndlessIdleLoop(VOID);
+BOOLEAN ReadAllKeyStrokes(VOID);
VOID PauseForKey(VOID);
BOOLEAN CheckFatalError(IN EFI_STATUS Status, IN CHAR16 *where);
BOOLEAN CheckError(IN EFI_STATUS Status, IN CHAR16 *where);
+VOID SwitchToText(IN BOOLEAN CursorEnabled);
+VOID SwitchToGraphics(VOID);
+
VOID SwitchToGraphicsAndClear(VOID);
VOID BltClearScreen(IN BOOLEAN ShowBanner);
VOID BltImage(IN EG_IMAGE *Image, IN UINTN XPos, IN UINTN YPos);
//VOID BltImageComposite(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN UINTN XPos, IN UINTN YPos);
VOID BltImageCompositeBadge(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN EG_IMAGE *BadgeImage, IN UINTN XPos, IN UINTN YPos);
+BOOLEAN line_edit(CHAR16 *line_in, CHAR16 **line_out, UINTN x_max);
+
#endif