1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 * Low level graphics interface. 22 */ 23 24 #ifndef TINSEL_GRAPHICS_H // prevent multiple includes 25 #define TINSEL_GRAPHICS_H 26 27 #include "tinsel/dw.h" 28 29 #include "common/rect.h" 30 #include "common/system.h" 31 #include "graphics/surface.h" 32 33 namespace Tinsel { 34 35 struct PALQ; 36 37 /** draw object structure - only used when drawing objects */ 38 struct DRAWOBJECT { 39 char *charBase; // character set base address 40 int transOffset; // transparent character offset 41 int flags; // object flags - see above for list 42 PALQ *pPal; // objects palette Q position 43 int constant; // which color in palette for monochrome objects 44 int width; // width of object 45 int height; // height of object 46 SCNHANDLE hBits; // image bitmap handle 47 int lineoffset; // offset to next line 48 int leftClip; // amount to clip off object left 49 int rightClip; // amount to clip off object right 50 int topClip; // amount to clip off object top 51 int botClip; // amount to clip off object bottom 52 short xPos; // x position of object 53 short yPos; // y position of object 54 uint32 baseCol; // For 4-bit stuff 55 }; 56 57 58 /*----------------------------------------------------------------------*\ 59 |* Function Prototypes *| 60 \*----------------------------------------------------------------------*/ 61 62 void ClearScreen(); 63 void DrawObject(DRAWOBJECT *pObj); 64 65 // called to update a rectangle on the video screen from a video page 66 void UpdateScreenRect(const Common::Rect &pClip); 67 68 } // End of namespace Tinsel 69 70 #endif 71