X-Git-Url: https://code.delx.au/refind/blobdiff_plain/99a75c0d391580161f651db61bb43afb46f4e5cd..75afe82dbf9803baa447499a1e7942a4ca342535:/libeg/libeg.h diff --git a/libeg/libeg.h b/libeg/libeg.h index 15e561a..93333ee 100644 --- a/libeg/libeg.h +++ b/libeg/libeg.h @@ -43,6 +43,11 @@ /* types */ +typedef enum ColorTypes { + white, + black +} Colors; + /* This should be compatible with EFI_UGA_PIXEL */ typedef struct { UINT8 b, g, r, a; @@ -66,6 +71,8 @@ typedef struct { #define EG_EICOMPMODE_RLE (1) #define EG_EICOMPMODE_EFICOMPRESS (2) +#define ICON_EXTENSIONS L"icns,png" + typedef struct { UINTN Width; UINTN Height; @@ -92,11 +99,12 @@ VOID egSetGraphicsModeEnabled(IN BOOLEAN Enable); EG_IMAGE * egCreateImage(IN UINTN Width, IN UINTN Height, IN BOOLEAN HasAlpha); EG_IMAGE * egCreateFilledImage(IN UINTN Width, IN UINTN Height, IN BOOLEAN HasAlpha, IN EG_PIXEL *Color); EG_IMAGE * egCopyImage(IN EG_IMAGE *Image); +EG_IMAGE * egCropImage(IN EG_IMAGE *Image, IN UINTN StartX, IN UINTN StartY, IN UINTN Width, IN UINTN Height); VOID egFreeImage(IN EG_IMAGE *Image); EG_IMAGE * egLoadImage(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, IN BOOLEAN WantAlpha); EG_IMAGE * egLoadIcon(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, IN UINTN IconSize); -EG_IMAGE * egDecodeImage(IN UINT8 *FileData, IN UINTN FileDataLength, IN CHAR16 *Format, IN BOOLEAN WantAlpha); +EG_IMAGE * egFindIcon(IN CHAR16 *BaseName, IN UINTN IconSize); EG_IMAGE * egPrepareEmbeddedImage(IN EG_EMBEDDED_IMAGE *EmbeddedImage, IN BOOLEAN WantAlpha); EG_IMAGE * egEnsureImageSize(IN EG_IMAGE *Image, IN UINTN Width, IN UINTN Height, IN EG_PIXEL *Color); @@ -113,18 +121,23 @@ VOID egFillImageArea(IN OUT EG_IMAGE *CompImage, IN EG_PIXEL *Color); VOID egComposeImage(IN OUT EG_IMAGE *CompImage, IN EG_IMAGE *TopImage, IN UINTN PosX, IN UINTN PosY); +UINTN egGetFontHeight(VOID); +UINTN egGetFontCellWidth(VOID); +UINTN egComputeTextWidth(IN CHAR16 *Text); VOID egMeasureText(IN CHAR16 *Text, OUT UINTN *Width, OUT UINTN *Height); -VOID egRenderText(IN CHAR16 *Text, IN OUT EG_IMAGE *CompImage, IN UINTN PosX, IN UINTN PosY); +VOID egRenderText(IN CHAR16 *Text, IN OUT EG_IMAGE *CompImage, IN UINTN PosX, IN UINTN PosY, IN UINT8 BGBrightness); +VOID egLoadFont(IN CHAR16 *Filename); VOID egClearScreen(IN EG_PIXEL *Color); VOID egDrawImage(IN EG_IMAGE *Image, IN UINTN ScreenPosX, IN UINTN ScreenPosY); +VOID egDrawImageWithTransparency(EG_IMAGE *Image, EG_IMAGE *BadgeImage, UINTN XPos, UINTN YPos, UINTN Width, UINTN Height); VOID egDrawImageArea(IN EG_IMAGE *Image, IN UINTN AreaPosX, IN UINTN AreaPosY, IN UINTN AreaWidth, IN UINTN AreaHeight, IN UINTN ScreenPosX, IN UINTN ScreenPosY); VOID egDisplayMessage(IN CHAR16 *Text, EG_PIXEL *BGColor); +EG_IMAGE * egCopyScreen(VOID); VOID egScreenShot(VOID); -//UINT32 egGetGraphicsMode(VOID); BOOLEAN egSetTextMode(UINT32 RequestedMode); #endif /* __LIBEG_LIBEG_H__ */