mirror of
https://github.com/ipxe/ipxe
synced 2025-12-20 20:10:18 +03:00
[image] Add image_pixbuf() to create pixel buffer from image
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -456,3 +456,29 @@ int image_set_trust ( int require_trusted, int permanent ) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create pixel buffer from image
|
||||
*
|
||||
* @v image Image
|
||||
* @v pixbuf Pixel buffer to fill in
|
||||
* @ret rc Return status code
|
||||
*/
|
||||
int image_pixbuf ( struct image *image, struct pixel_buffer **pixbuf ) {
|
||||
int rc;
|
||||
|
||||
/* Check that this image can be used to create a pixel buffer */
|
||||
if ( ( rc = image_probe ( image ) ) != 0 )
|
||||
return rc;
|
||||
if ( ! image->type->pixbuf )
|
||||
return -ENOTSUP;
|
||||
|
||||
/* Try creating pixel buffer */
|
||||
if ( ( rc = image->type->pixbuf ( image, pixbuf ) ) != 0 ) {
|
||||
DBGC ( image, "IMAGE %s could not create pixel buffer: %s\n",
|
||||
image->name, strerror ( rc ) );
|
||||
return rc;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user