mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Add ff_draw_pc_font()
Originally committed as revision 24296 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ddf9dc453f
commit
9e5f3dfe25
@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include "cga_data.h"
|
||||||
|
|
||||||
const uint8_t ff_cga_font[2048] = {
|
const uint8_t ff_cga_font[2048] = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e,
|
||||||
@ -425,3 +426,14 @@ const uint32_t ff_ega_palette[64] = {
|
|||||||
0x555500, 0x5555AA, 0x55FF00, 0x55FFAA, 0xFF5500, 0xFF55AA, 0xFFFF00, 0xFFFFAA,
|
0x555500, 0x5555AA, 0x55FF00, 0x55FFAA, 0xFF5500, 0xFF55AA, 0xFFFF00, 0xFFFFAA,
|
||||||
0x555555, 0x5555FF, 0x55FF55, 0x55FFFF, 0xFF5555, 0xFF55FF, 0xFFFF55, 0xFFFFFF
|
0x555555, 0x5555FF, 0x55FF55, 0x55FFFF, 0xFF5555, 0xFF55FF, 0xFFFF55, 0xFFFFFF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void ff_draw_pc_font(uint8_t *dst, int linesize, const uint8_t *font, int font_height, int ch, int fg, int bg)
|
||||||
|
{
|
||||||
|
int char_y, mask;
|
||||||
|
for (char_y = 0; char_y < font_height; char_y++) {
|
||||||
|
for (mask = 0x80; mask; mask >>= 1) {
|
||||||
|
*dst++ = font[ch * font_height + char_y] & mask ? fg : bg;
|
||||||
|
}
|
||||||
|
dst += linesize - 8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -28,4 +28,16 @@ extern const uint8_t ff_vga16_font[4096];
|
|||||||
extern const uint32_t ff_cga_palette[16];
|
extern const uint32_t ff_cga_palette[16];
|
||||||
extern const uint32_t ff_ega_palette[64];
|
extern const uint32_t ff_ega_palette[64];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw CGA/EGA/VGA font to 8-bit pixel buffer
|
||||||
|
*
|
||||||
|
* @param dst Destination pixel buffer
|
||||||
|
* @param linesize Linesize (pixels)
|
||||||
|
* @param font Font table. We assume font width is always 8 pixels wide.
|
||||||
|
* @param font_height Font height (pixels)
|
||||||
|
* @param fg,bg Foreground and background palette index
|
||||||
|
* @param ch Character to draw
|
||||||
|
*/
|
||||||
|
void ff_draw_pc_font(uint8_t *dst, int linesize, const uint8_t *font, int font_height, int ch, int fg, int bg);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user