Previous: Example usage of Video API, Up: Video Subsystem [Contents][Index]

### 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.

Previous: Example usage of Video API, Up: Video Subsystem [Contents][Index]