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