xref: /haiku/headers/private/kernel/boot/platform/generic/video.h (revision 0573d397e1c87762473770183413613e0039797e)
1*0573d397SFrançois Revol /*
2*0573d397SFrançois Revol  * Copyright 2009, Haiku Inc.
3*0573d397SFrançois Revol  * All rights reserved. Distributed under the terms of the MIT License.
4*0573d397SFrançois Revol  */
5*0573d397SFrançois Revol #ifndef GENERIC_VIDEO_H
6*0573d397SFrançois Revol #define GENERIC_VIDEO_H
7*0573d397SFrançois Revol 
8*0573d397SFrançois Revol 
9*0573d397SFrançois Revol #include <SupportDefs.h>
10*0573d397SFrançois Revol 
11*0573d397SFrançois Revol #ifdef __cplusplus
12*0573d397SFrançois Revol extern "C" {
13*0573d397SFrançois Revol #endif
14*0573d397SFrançois Revol 
15*0573d397SFrançois Revol /* blit helpers */
16*0573d397SFrançois Revol 
17*0573d397SFrançois Revol /* platform code is responsible for setting the palette correctly */
18*0573d397SFrançois Revol void video_blit_image(addr_t frameBuffer, uint32 bytesPerRow,
19*0573d397SFrançois Revol 	const uint8 *data, uint16 width, uint16 height, uint16 imageWidth,
20*0573d397SFrançois Revol 	uint16 left, uint16 top);
21*0573d397SFrançois Revol 
22*0573d397SFrançois Revol /* platform code must implement 4bit on its own */
23*0573d397SFrançois Revol void platform_blit4(addr_t frameBuffer, uint32 bytesPerRow, const uint8 *data,
24*0573d397SFrançois Revol 	uint16 width, uint16 height, uint16 imageWidth, uint16 left, uint16 top);
25*0573d397SFrançois Revol 
26*0573d397SFrançois Revol 
27*0573d397SFrançois Revol /* Run Length Encoding splash decompression */
28*0573d397SFrançois Revol 
29*0573d397SFrançois Revol void uncompress_24bit_RLE(const uint8 compressed[], uint8 *uncompressed);
30*0573d397SFrançois Revol void uncompress_8bit_RLE(const uint8 compressed[], uint8 *uncompressed);
31*0573d397SFrançois Revol 
32*0573d397SFrançois Revol #ifdef __cplusplus
33*0573d397SFrançois Revol }
34*0573d397SFrançois Revol #endif
35*0573d397SFrançois Revol 
36*0573d397SFrançois Revol #endif	/* GENERIC_VIDEO_H */
37