1/* 2 * Copyright 2021, Haiku, Inc. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 7#ifndef _GRAPHICS_H_ 8#define _GRAPHICS_H_ 9 10 11#include <SupportDefs.h> 12 13 14template <typename Color> 15struct RasBuf { 16 Color* colors; 17 int32 stride, width, height; 18 19 RasBuf<Color> Clip(int x, int y, int w, int h) const; 20}; 21 22typedef RasBuf<uint8> RasBuf8; 23typedef RasBuf<uint32> RasBuf32; 24 25 26struct Font { 27 uint8 charWidth; 28 uint8 charHeight; 29 uint8 firstChar, charCnt; 30 uint8 data[0]; 31 32 RasBuf8 ThisGlyph(uint32 ch); 33}; 34 35 36extern RasBuf32 gFramebuf; 37extern Font gFixedFont; 38 39 40void Clear(RasBuf32 vb, uint32_t c); 41 42void BlitMaskRgb(RasBuf32 dst, RasBuf8 src, int32 x, int32 y, uint32_t c); 43 44 45#endif // _GRAPHICS_H_ 46