10573d397SFrançois Revol /* 20573d397SFrançois Revol * Copyright 2009, Haiku Inc. 30573d397SFrançois Revol * All rights reserved. Distributed under the terms of the MIT License. 40573d397SFrançois Revol */ 50573d397SFrançois Revol #ifndef GENERIC_VIDEO_H 60573d397SFrançois Revol #define GENERIC_VIDEO_H 70573d397SFrançois Revol 80573d397SFrançois Revol 90573d397SFrançois Revol #include <SupportDefs.h> 100573d397SFrançois Revol 110573d397SFrançois Revol #ifdef __cplusplus 120573d397SFrançois Revol extern "C" { 130573d397SFrançois Revol #endif 140573d397SFrançois Revol 150573d397SFrançois Revol /* blit helpers */ 160573d397SFrançois Revol 170573d397SFrançois Revol /* platform code is responsible for setting the palette correctly */ 187db9fbfeSFrançois Revol void video_blit_image(addr_t frameBuffer, const uint8 *data, 197db9fbfeSFrançois Revol uint16 width, uint16 height, uint16 imageWidth, 200573d397SFrançois Revol uint16 left, uint16 top); 210573d397SFrançois Revol 220573d397SFrançois Revol /* platform code must implement 4bit on its own */ 237db9fbfeSFrançois Revol void platform_blit4(addr_t frameBuffer, const uint8 *data, 247db9fbfeSFrançois Revol uint16 width, uint16 height, uint16 imageWidth, 257db9fbfeSFrançois Revol uint16 left, uint16 top); 267db9fbfeSFrançois Revol void platform_set_palette(const uint8 *palette); 270573d397SFrançois Revol 280573d397SFrançois Revol 290573d397SFrançois Revol /* Run Length Encoding splash decompression */ 300573d397SFrançois Revol 310573d397SFrançois Revol void uncompress_24bit_RLE(const uint8 compressed[], uint8 *uncompressed); 320573d397SFrançois Revol void uncompress_8bit_RLE(const uint8 compressed[], uint8 *uncompressed); 330573d397SFrançois Revol 347db9fbfeSFrançois Revol /* default splash display */ 3504cbc258SFredrik Holmqvist status_t video_display_splash(addr_t frameBuffer); 367db9fbfeSFrançois Revol 370d66d8d4SAugustin Cavalier /* video text console */ 38*e8ab10abSAugustin Cavalier class ConsoleNode* video_text_console_init(addr_t frameBuffer); 390d66d8d4SAugustin Cavalier 400573d397SFrançois Revol #ifdef __cplusplus 410573d397SFrançois Revol } 420573d397SFrançois Revol #endif 430573d397SFrançois Revol 440573d397SFrançois Revol #endif /* GENERIC_VIDEO_H */ 45