cbgfx: add load_bitmap
This change adds load_bitmap API, which loads a bitmap file from cbfs and returns a pointer to the image data. BUG=none BRANCH=tot TEST=Tested on Samus Change-Id: I7d7874f6f68c414dc877a012ad96c393e42dc35e Signed-off-by: Patrick Georgi <pgeorgi@google.com> Original-Commit-Id: 9d33e713a0cf6bd1365418dad989e47e86db01e4 Original-Change-Id: Idbf9682c2fa9df3f0bd296ca47edd02cd09cfd01 Original-Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/302194 Original-Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: http://review.coreboot.org/11925 Tested-by: build bot (Jenkins)
This commit is contained in:
		
				
					committed by
					
						
						Patrick Georgi
					
				
			
			
				
	
			
			
			
						parent
						
							fed269b1c4
						
					
				
				
					commit
					bed16d9706
				
			@@ -5,6 +5,7 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <libpayload.h>
 | 
					#include <libpayload.h>
 | 
				
			||||||
 | 
					#include <cbfs.h>
 | 
				
			||||||
#include <sysinfo.h>
 | 
					#include <sysinfo.h>
 | 
				
			||||||
#include "bitmap.h"
 | 
					#include "bitmap.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -145,6 +146,20 @@ static int cbgfx_init(void)
 | 
				
			|||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void *load_bitmap(const char *name, size_t *size)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						static struct cbfs_media media;
 | 
				
			||||||
 | 
						static int cbfs_media_initialized = 0;
 | 
				
			||||||
 | 
						if (!cbfs_media_initialized) {
 | 
				
			||||||
 | 
							if (init_default_cbfs_media(&media)) {
 | 
				
			||||||
 | 
								printf("Failed to initialize default media\n");
 | 
				
			||||||
 | 
								return NULL;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						cbfs_media_initialized = 1;
 | 
				
			||||||
 | 
						return cbfs_get_file_content(&media, name, CBFS_TYPE_RAW, size);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int draw_box(const struct rect *box, const struct rgb_color *rgb)
 | 
					int draw_box(const struct rect *box, const struct rgb_color *rgb)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct vector top_left;
 | 
						struct vector top_left;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,6 +73,18 @@ struct rgb_color {
 | 
				
			|||||||
 * y values increasing towards bottom of screen.
 | 
					 * y values increasing towards bottom of screen.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Load a bitmap file from cbfs
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Memory is allocated automatically and it's caller's responsibility to free it
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * name: name of the bitmap file
 | 
				
			||||||
 | 
					 * size: (OUT) size of the image
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * return: pointer to the image data in memory or NULL on error
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void *load_bitmap(const char *name, size_t *size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * draw a box filled with a color on screen
 | 
					 * draw a box filled with a color on screen
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user