X-Git-Url: https://code.delx.au/refind/blobdiff_plain/05d641020fe8cea57fa41b9e19459727a463d0c0..HEAD:/libeg/libeg.h diff --git a/libeg/libeg.h b/libeg/libeg.h index c81aaea..5f55422 100644 --- a/libeg/libeg.h +++ b/libeg/libeg.h @@ -71,6 +71,8 @@ typedef struct { #define EG_EICOMPMODE_RLE (1) #define EG_EICOMPMODE_EFICOMPRESS (2) +#define ICON_EXTENSIONS L"png,icns" + typedef struct { UINTN Width; UINTN Height; @@ -98,16 +100,20 @@ 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); +EG_IMAGE * egScaleImage(EG_IMAGE *Image, UINTN NewWidth, UINTN NewHeight); 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 * egLoadIconAnyType(IN EFI_FILE *BaseDir, IN CHAR16 *SubdirName, IN CHAR16 *BaseName, IN UINTN IconSize); +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); EFI_STATUS egLoadFile(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, OUT UINT8 **FileData, OUT UINTN *FileDataLength); +EFI_STATUS egFindESP(OUT EFI_FILE_HANDLE *RootDir); EFI_STATUS egSaveFile(IN EFI_FILE* BaseDir OPTIONAL, IN CHAR16 *FileName, IN UINT8 *FileData, IN UINTN FileDataLength); @@ -118,8 +124,12 @@ 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, 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); @@ -131,9 +141,10 @@ VOID egDrawImageArea(IN EG_IMAGE *Image, VOID egDisplayMessage(IN CHAR16 *Text, EG_PIXEL *BGColor); EG_IMAGE * egCopyScreen(VOID); VOID egScreenShot(VOID); -//UINT32 egGetGraphicsMode(VOID); BOOLEAN egSetTextMode(UINT32 RequestedMode); +EG_IMAGE * egDecodePNG(IN UINT8 *FileData, IN UINTN FileDataLength, IN UINTN IconSize, IN BOOLEAN WantAlpha); + #endif /* __LIBEG_LIBEG_H__ */ /* EOF */