]> code.delx.au - refind/blobdiff - libeg/libeg.h
Properly initialise variable to fix detection of non-Arch kernel versions
[refind] / libeg / libeg.h
index 7e2c99045c6f26ffd83bd6b7821e0973160ef613..5f554220e4ee997894aea0ce38792ee9fd7a5665 100644 (file)
@@ -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,17 +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 * egDecodeImage(IN UINT8 *FileData, IN UINTN FileDataLength, IN CHAR16 *Format, IN BOOLEAN WantAlpha);
+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);
 
@@ -119,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);
@@ -132,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 */