diff options
Diffstat (limited to 'src/iso/simsys.h')
-rw-r--r-- | src/iso/simsys.h | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/src/iso/simsys.h b/src/iso/simsys.h new file mode 100644 index 00000000..c4b7dd6c --- /dev/null +++ b/src/iso/simsys.h @@ -0,0 +1,197 @@ +/* simsys.h + * + * Copyright (c) 2001 Hansjörg Malthaner + * hansjoerg.malthaner@gmx.de + * + * This file is part of the Simugraph graphics engine. + * + * + * This file may be copied and modified freely so long as the above credits, + * this paragraph, and the below disclaimer of warranty are retained; no + * financial profit is derived from said modification or copying; and all + * licensing rights to any modifications are granted to the original author, + * Hansjörg Malthaner. + * + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef simsys_h +#define simsys_h + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef TRUE +#define TRUE 1 +#define FALSE 0 +#endif + + +/* Variablen zur Messageverarbeitung */ + +/* Klassen */ + +#define SIM_NOEVENT 0 +#define SIM_MOUSE_BUTTONS 1 +#define SIM_KEYBOARD 2 +#define SIM_MOUSE_MOVE 3 +#define SIM_IGNORE_EVENT 255 + +/* Aktionen */ /* added RIGHTUP and MIDUP */ +#define SIM_MOUSE_LEFTUP 1 +#define SIM_MOUSE_RIGHTUP 2 +#define SIM_MOUSE_MIDUP 3 +#define SIM_MOUSE_LEFTBUTTON 4 +#define SIM_MOUSE_RIGHTBUTTON 5 +#define SIM_MOUSE_MIDBUTTON 6 +#define SIM_MOUSE_MOVED 7 + + +/** + * inits operating system stuff + * @author Hj. Malthaner + */ +int dr_os_init(int n, int *parameter); + + +/** + * opens graphics device/context/window of size w*h + * @param w width + * @param h height + * @author Hj. Malthaner + */ +int dr_os_open(int w, int h); + + +/** + * closes operating system stuff + * @author Hj. Malthaner + */ +int dr_os_close(); + + +/** + * retrieve display width + * @author Hj. Malthaner (hansjoerg.malthaner@gmx.de) + */ +int dr_get_width(); + + +/** + * retrieve display height + * @author Hj. Malthaner (hansjoerg.malthaner@gmx.de) + */ +int dr_get_height(); + + +/** + * creates a (maybe virtual) array of graphics data + * @author Hj. Malthaner + */ +unsigned short * dr_textur_init(); + + +/** + * displays the array of graphics data + * @author Hj. Malthaner + */ +void dr_textur(int xp, int yp, int w, int h); + + +/** + * use this method to flush graphics pipeline (undrawn stuff) onscreen. + * @author Hj. Malthaner + */ +void dr_flush(); + + +/** + * set colormap entries + * @author Hj. Malthaner + */ +void dr_setRGB8multi(int first, int count, unsigned char * data); + + +/** + * display/hide mouse pointer + * @author Hj. Malthaner (hansjoerg.malthaner@gmx.de) + */ +void show_pointer(int yesno); + + +/** + * move mouse pointer + * @author Hj. Malthaner (hansjoerg.malthaner@gmx.de) + */ +void move_pointer(int x, int y); + + +/** + * update softpointer position + * @author Hj. Malthaner (hansjoerg.malthaner@gmx.de) + */ +void ex_ord_update_mx_my(); + + +/** + * get events from the system + * @author Hj. Malthaner (hansjoerg.malthaner@gmx.de) + */ +void GetEvents(); + + +/** + * get events from the system without waiting + * @author Hj. Malthaner (hansjoerg.malthaner@gmx.de) + */ +void GetEventsNoWait(); + + +/** + * @returns time since progrma start in milliseconds + * @author Hj. Malthaner + */ +long long dr_time(void); + + +/** + * sleeps some microseconds + * @author Hj. Malthaner + */ +void dr_sleep(unsigned long usec); + + +/** + * loads a sample + * @return a handle for that sample or -1 on failure + * @author Hj. Malthaner + */ +int dr_load_sample(const char *filename); + + +/** + * plays a sample + * @param key the key for the sample to be played + * @author Hj. Malthaner + */ +void dr_play_sample(int key, int volume); + +#ifdef __cplusplus +} +#endif + +#endif + |