added const to the interface
[fp-git.git] / FP / src / include / output.h
1 /*  Princed V3 - Prince of Persia Level Editor for PC Version
2     Copyright (C) 2003 Princed Development Team
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18     The authors of this program may be contacted at http://forum.princed.com.ar
19 */
20
21 /*
22 resources.h: Free Prince : Output Devices Handler
23 ¯¯¯¯¯¯¯¯¯¯¯
24
25  Description: 
26         Platform and device independent functions for handling output
27         (text, graphics, sound, music...).
28
29  Copyright 2004 Princed Development Team
30   Created: 23 Mar 2004
31
32   Author: vhgh <fhdht.cod@princed.com.ar>
33
34  Note:
35   DO NOT remove this copyright notice
36 */
37
38 #ifndef _OUTPUT_H_
39 #define _OUTPUT_H_
40
41 /* Text Primitives*/
42 void outputDrawText(const char* text, int x, int y);
43 void outputDrawMessage(const char* text); 
44
45 /* Sound */
46 void outputPlayWav(tMemory sound); /* Starts the reproduction of the sample and returns */
47 void outputPlayMid(tMemory music); /* Starts the music reproduction and returns */
48
49 /* Graph */
50
51  /* Graph: Primitives for resources module */
52 void* outputLoadBitmap(const unsigned char* data, int size, const unsigned char* palette, int h,int w,int invert, int firstColorTransparent);
53         /* Returns an abstract object allocated in memory using the data information ti build it
54         * invert is 0 when no invertion is needed and non-zero when an inversion is performed
55         */
56
57 void outputFreeBitmap(void* image);
58  /* Frees the abstract object created by the loadBitmap function
59         */
60
61  /* Graph: Primitives for the kernel */
62 void outputDrawBitmap(void* image,int x, int y);
63  /* Draws an abstract image
64         */
65
66 void outputClearScreen();
67  /* Crears the screen
68         */
69
70 /* Initialization */
71 void outputInit();
72 /* This function must be called before starting using the output functions
73  * it will initialize the screen and the output module
74  */
75
76 void outputStop();
77 /* Finish all output modes, including the screen mode
78  */
79
80 #endif