break;\r
\r
case EFI_HII_IIBT_IMAGE_JPEG:\r
- Length = ReadUnaligned32 ((VOID *) &((EFI_HII_IIBT_JPEG_BLOCK *) CurrentImageBlock)->Size);\r
+ Length = OFFSET_OF (EFI_HII_IIBT_JPEG_BLOCK, Data) + ReadUnaligned32 ((VOID *) &((EFI_HII_IIBT_JPEG_BLOCK *) CurrentImageBlock)->Size);\r
+ ImageIdCurrent++;\r
+ break;\r
+\r
+ case EFI_HII_IIBT_IMAGE_PNG:\r
+ Length = OFFSET_OF (EFI_HII_IIBT_PNG_BLOCK, Data) + ReadUnaligned32 ((VOID *) &((EFI_HII_IIBT_PNG_BLOCK *) CurrentImageBlock)->Size);\r
ImageIdCurrent++;\r
break;\r
\r
\r
switch (CurrentImageBlock->BlockType) {\r
case EFI_HII_IIBT_IMAGE_JPEG:\r
+ case EFI_HII_IIBT_IMAGE_PNG:\r
//\r
- // BUGBUG: need to be supported as soon as image tool is designed.\r
+ // HiiImage protocol doesn't support return JPEG/PNG.\r
+ // Use HiiImageEx instead.\r
//\r
return EFI_UNSUPPORTED;\r
\r
//\r
switch (CurrentImageBlock->BlockType) {\r
case EFI_HII_IIBT_IMAGE_JPEG:\r
- //\r
- // BUGBUG: need to be supported as soon as image tool is designed.\r
- //\r
- return EFI_UNSUPPORTED;\r
-\r
+ OldBlockSize = OFFSET_OF (EFI_HII_IIBT_JPEG_BLOCK, Data) + ReadUnaligned32 ((VOID *) &((EFI_HII_IIBT_JPEG_BLOCK *) CurrentImageBlock)->Size);\r
+ break;\r
+ case EFI_HII_IIBT_IMAGE_PNG:\r
+ OldBlockSize = OFFSET_OF (EFI_HII_IIBT_PNG_BLOCK, Data) + ReadUnaligned32 ((VOID *) &((EFI_HII_IIBT_PNG_BLOCK *) CurrentImageBlock)->Size);\r
+ break;\r
case EFI_HII_IIBT_IMAGE_1BIT:\r
case EFI_HII_IIBT_IMAGE_1BIT_TRANS:\r
OldBlockSize = sizeof (EFI_HII_IIBT_IMAGE_1BIT_BLOCK) - sizeof (UINT8) +\r