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
12extern "C" {
13#endif
14
15/* blit helpers */
16
17/* platform code is responsible for setting the palette correctly */
18void 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 */
23void platform_blit4(addr_t frameBuffer, const uint8 *data,
24	uint16 width, uint16 height, uint16 imageWidth,
25	uint16 left, uint16 top);
26void platform_set_palette(const uint8 *palette);
27
28
29/* Run Length Encoding splash decompression */
30
31void uncompress_24bit_RLE(const uint8 compressed[], uint8 *uncompressed);
32void uncompress_8bit_RLE(const uint8 compressed[], uint8 *uncompressed);
33
34/* default splash display */
35status_t video_display_splash(addr_t frameBuffer);
36
37/* video text console */
38class ConsoleNode* video_text_console_init(addr_t frameBuffer);
39
40#ifdef __cplusplus
41}
42#endif
43
44#endif	/* GENERIC_VIDEO_H */
45