coreboot-kgpe-d16/payloads/libpayload/include
Daisuke Nojiri a11e3ff160 cbgfx: add pivot option to draw_bitmap
This change adds 'pivot' option to draw_bitmap. It controls the point of the
image based on which the image is positioned. For example, if a pivot is set
to the center of the image horizontally and vertically, the image is
positioned using pos_rel as the center of the image.

This feature is necessary, for example, to place a text image in the center
of the screen because each image has a different width depending on the
language.

This change also makes draw_bitmap accept both horizontal and vertical size.
If either of them is zero, the other non-zero value is used to derive the
size to keep the aspect ratio.

Specifying the height is necessary to keep font sizes the same when drawing
text images of different lengths.

draw_bitmap_direct is a variant of draw_bitmap and it draws an image using
a native coordinate and the original size (as opposed to the location and
the size relative to the canvas).

CL:303074 has real use cases.

BUG=none
BRANCH=tot
TEST=Tested on Samus

Change-Id: I5fde69fcb5cc9dc53e827dd9fcf001a0a32748d4
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: 82a0a8b60808410652552ed3a888937724111584
Original-Change-Id: I0b0d9113ebecf14e8c70de7a3562b215f69f2d4c
Original-Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/302855
Reviewed-on: http://review.coreboot.org/11927
Tested-by: build bot (Jenkins)
2015-10-27 15:22:24 +01:00
..
arm/arch libpayload: arm(64): add read8/16/32 and write8/16/32 2015-07-06 09:39:48 +02:00
arm64/arch arm64: mmu: Prevent CPU prefetch instructions from device memory 2015-09-28 09:36:32 +00:00
arpa Refactor the endianness conversion functions and header files. 2012-11-08 19:49:51 +01:00
mips/arch Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
pci libpayload: Add a few more PCI constants 2013-08-26 00:24:53 +02:00
storage libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
sys libpayload: Start using only internal and compiler headers. 2013-03-13 22:04:44 +01:00
udc license headers: Drop FSF addresses again 2015-08-09 17:49:13 +02:00
usb license headers: Drop FSF addresses again 2015-08-09 17:49:13 +02:00
x86/arch libpayload: x86: Add read/write{8,16,32} variants that match coreboot 2015-08-28 06:46:28 +00:00
assert.h libpayload: Fix the format string of the assert macro. 2012-11-07 18:36:05 +01:00
cbfs.h libpayload: allow compression at file header level 2015-09-17 18:52:56 +00:00
cbfs_core.h libpayload: Add data structures for hashes in file attributes 2015-10-11 12:36:24 +00:00
cbfs_ram.h Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
cbgfx.h cbgfx: add pivot option to draw_bitmap 2015-10-27 15:22:24 +01:00
coreboot_tables.h libpayload: store boot media information in sysinfo 2015-07-14 22:37:10 +02:00
ctype.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
die.h libpayload: Add a new "die" function to fatally signal programming errors. 2014-09-15 17:37:13 +02:00
endian.h libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
errno.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
exception.h libpayload: Rework exception hook interface 2015-01-09 07:05:15 +01:00
fmap_serialized.h libpayload: Add support for handling fmaps 2015-07-14 18:12:06 +02:00
gdb.h Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
getopt.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
inttypes.h libpayload: Start using only internal and compiler headers. 2013-03-13 22:04:44 +01:00
ipchksum.h libpayload: Add a new "die" function to fatally signal programming errors. 2014-09-15 17:37:13 +02:00
kconfig.h libpayload: Change CONFIG_* to CONFIG_LP_* in the kconfig. 2014-08-05 18:44:08 +02:00
keycodes.h libpayload: Make keycode constants available outside of curses.h. 2013-03-18 20:45:48 +01:00
libpayload.h cbgfx: coreboot graphics library 2015-10-27 15:21:31 +01:00
limits.h libpayload: Improve compatibility 2011-07-16 11:09:28 +02:00
lz4.h libpayload: Add LZ4 decompression algorithm 2015-07-09 00:10:16 +02:00
lzma.h LZMA: Add a version of ulzma which takes the input and output buffer sizes. 2014-08-10 22:29:51 +02:00
malloc.h libpayload: Provide atol(), malloc.h 2011-07-07 22:29:53 +02:00
multiboot_tables.h [PATCH] libpayload: Add multiboot support 2008-10-20 16:51:43 +00:00
panel.h libpayload: Add PDCurses and ncurses' libform/libmenu 2011-08-04 08:10:41 +02:00
pci.h libpayload: Add definitions for more config space registers. 2012-11-07 18:36:27 +01:00
queue.h libpayload: Add OpenBSD queue implementation 2015-03-19 23:23:36 +01:00
stdarg.h libpayload: Don't sneak in compiler includes 2013-04-18 02:50:28 +02:00
stddef.h update common base header files 2015-07-06 09:41:38 +02:00
stdint.h libpayload: Add ptrdiff_t typedef 2015-10-20 16:50:25 +02:00
stdio.h libpayload: Add the format attribute to functions in stdio.h. 2012-11-07 18:36:14 +01:00
stdlib.h libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
string.h libpayload: UTF-16LE to ASCII conversion 2015-03-20 09:59:48 +01:00
strings.h libpayload: Revive ffs() 2015-09-10 20:11:33 +00:00
swab.h libpayload: arch/mips: Add basic MIPS architecture support 2015-03-21 11:07:50 +01:00
sysinfo.h libpayload: store boot media information in sysinfo 2015-07-14 22:37:10 +02:00
term.h libpayload: remove trailing whitespace and run dos2unix 2011-11-01 19:08:23 +01:00
unistd.h libpayload: Don't sneak in compiler includes 2013-04-18 02:50:28 +02:00
video_console.h Add coreboot framebuffer support to libpayload 2010-03-25 18:56:26 +00:00