/* Copyright 2012 Guillaume Duhamel This file is part of Yabause. Yabause 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. Yabause 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 Yabause; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef OSDCORE_H #define OSDCORE_H #include "core.h" #define OSDCORE_DUMMY 0 #define OSDCORE_GLUT 1 #define OSDCORE_SOFT 2 #ifdef HAVE_LIBGLUT #define OSDCORE_DEFAULT OSDCORE_GLUT #else #define OSDCORE_DEFAULT OSDCORE_SOFT #endif #define OSDMSG_FPS 0 #define OSDMSG_STATUS 1 #define OSDMSG_DEBUG 2 #define OSDMSG_COUNT 3 typedef struct { int type; char * message; int timetolive; int timeleft; int hidden; } OSDMessage_struct; typedef struct { int id; const char *Name; int (*Init)(void); void (*DeInit)(void); void (*Reset)(void); void (*DisplayMessage)(OSDMessage_struct * message, u32 * buffer, int w, int h); int (*UseBuffer)(void); } OSD_struct; int OSDInit(int coreid); int OSDChangeCore(int coreid); void OSDPushMessage(int msgtype, int ttl, const char * message, ...); int OSDDisplayMessages(u32 * buffer, int w, int h); void OSDToggle(int what); int OSDIsVisible(int what); void OSDSetVisible(int what, int visible); int OSDUseBuffer(void); extern OSD_struct OSDDummy; #ifdef HAVE_LIBGLUT extern OSD_struct OSDGlut; #endif extern OSD_struct OSDSoft; /* defined for backward compatibility (used to be in vdp2.h) */ void ToggleFPS(void); int GetOSDToggle(void); void SetOSDToggle(int toggle); void DisplayMessage(const char* str); #endif