diff options
Diffstat (limited to 'engines/tucker/graphics.h')
-rw-r--r-- | engines/tucker/graphics.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/engines/tucker/graphics.h b/engines/tucker/graphics.h new file mode 100644 index 0000000000..c04ddc8b67 --- /dev/null +++ b/engines/tucker/graphics.h @@ -0,0 +1,64 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +#ifndef TUCKER_GRAPHICS_H__ +#define TUCKER_GRAPHICS_H__ + +#include "common/util.h" + +namespace Tucker { + +enum { + kCharSet1CharW = 10, + kCharSet1CharH = 10, + kCharSet1CharSize = kCharSet1CharW * kCharSet1CharH, + kCharSet1CharsCount = 32 * 7, + kCharSet2CharW = 19, + kCharSet2CharH = 10, + kCharSet2CharSize = kCharSet2CharW * kCharSet2CharH, + kCharSet2CharsCount = 16 * 6 +}; + +class Graphics { +public: + + static int encodeRLE(const uint8 *src, uint8 *dst, int w, int h); + static int encodeRAW(const uint8 *src, uint8 *dst, int w, int h); + + static void decodeRLE(uint8 *dst, const uint8 *src, int w, int h); + static void decodeRLE_224(uint8 *dst, const uint8 *src, int w, int h); + static void decodeRLE_248(uint8 *dst, const uint8 *src, int w, int h, int y1, int y2, bool xflip); + static void decodeRLE_320(uint8 *dst, const uint8 *src, int w, int h); + + static void copyFrom640(const uint8 *src, uint8 *dst, int w, int h); + static void copyTo640(uint8 *dst, const uint8 *src, int w, int srcPitch, int h); + + static void drawStringChar(uint8 *dst, uint8 chr, int pitch, uint8 chrColor, const uint8 *src); + static void drawStringChar2(uint8 *dst, uint8 chr, int pitch, uint8 chrColor, const uint8 *src); +}; + +} // namespace Tucker + +#endif |