+ if (*Blt == NULL) {\r
+ //\r
+ // Create a new bitmap and draw the string onto this image.\r
+ //\r
+ Image = AllocateZeroPool (sizeof (EFI_IMAGE_OUTPUT));\r
+ if (Image == NULL) {\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+ Image->Width = 800;\r
+ Image->Height = 600;\r
+ Image->Image.Bitmap = AllocateZeroPool (Image->Width * Image->Height *sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));\r
+ if (Image->Image.Bitmap == NULL) {\r
+ FreePool (Image);\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+\r
+ //\r
+ // Other flags are not permitted when Blt is NULL.\r
+ //\r
+ Flags &= EFI_HII_OUT_FLAG_WRAP | EFI_HII_IGNORE_IF_NO_GLYPH | EFI_HII_IGNORE_LINE_BREAK;\r
+ *Blt = Image;\r
+ }\r
+\r
+ StrLength = StrLen(String);\r
+ GlyphBuf = (UINT8 **) AllocateZeroPool (StrLength * sizeof (UINT8 *));\r