grub-dev: Bitmap API
10.3 Bitmap API
===============
10.3.1 grub_video_bitmap_create
-------------------------------
* Prototype:
grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format)
* Description:
Creates a new bitmap with given dimensions and blitting format.
Allocated bitmap data can then be modified freely and finally
blitted with 'grub_video_blit_bitmap' to rendering target.
10.3.2 grub_video_bitmap_destroy
--------------------------------
* Prototype:
grub_err_t grub_video_bitmap_destroy (struct grub_video_bitmap *bitmap);
* Description:
When bitmap is no longer needed, it can be freed from memory using
this command. 'bitmap' is previously allocated bitmap with
'grub_video_bitmap_create' or loaded with 'grub_video_bitmap_load'.
10.3.3 grub_video_bitmap_load
-----------------------------
* Prototype:
grub_err_t grub_video_bitmap_load (struct grub_video_bitmap **bitmap, const char *filename);
* Description:
Tries to load given bitmap ('filename') using registered bitmap
loaders. In case bitmap format is not recognized or supported
error 'GRUB_ERR_BAD_FILE_TYPE' is returned.
10.3.4 grub_video_bitmap_get_width
----------------------------------
* Prototype:
unsigned int grub_video_bitmap_get_width (struct grub_video_bitmap *bitmap);
* Description:
Returns bitmap width.
10.3.5 grub_video_bitmap_get_height
-----------------------------------
* Prototype:
unsigned int grub_video_bitmap_get_height (struct grub_video_bitmap *bitmap);
* Description:
Return bitmap height.
10.3.6 grub_video_bitmap_get_mode_info
--------------------------------------
* Prototype:
void grub_video_bitmap_get_mode_info (struct grub_video_bitmap *bitmap, struct grub_video_mode_info *mode_info);
* Description:
Returns bitmap format details in form of 'grub_video_mode_info'.
10.3.7 grub_video_bitmap_get_data
---------------------------------
* Prototype:
void *grub_video_bitmap_get_data (struct grub_video_bitmap *bitmap);
* Description:
Return pointer to bitmap data. Contents of the pointed data can be
freely modified. There is no extra protection against going off
the bounds so you have to be carefull how to access the data.