mirror of
https://github.com/holub/mame
synced 2025-04-26 02:07:14 +03:00
104 lines
3.4 KiB
C++
104 lines
3.4 KiB
C++
/***************************************************************************
|
|
|
|
osdepend.h
|
|
|
|
OS-dependent code interface.
|
|
|
|
****************************************************************************
|
|
|
|
Copyright Aaron Giles
|
|
All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions are
|
|
met:
|
|
|
|
* Redistributions of source code must retain the above copyright
|
|
notice, this list of conditions and the following disclaimer.
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
notice, this list of conditions and the following disclaimer in
|
|
the documentation and/or other materials provided with the
|
|
distribution.
|
|
* Neither the name 'MAME' nor the names of its contributors may be
|
|
used to endorse or promote products derived from this software
|
|
without specific prior written permission.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY AARON GILES ''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 AARON GILES 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.
|
|
|
|
*******************************************************************c********/
|
|
|
|
#pragma once
|
|
|
|
#ifndef __OSDEPEND_H__
|
|
#define __OSDEPEND_H__
|
|
|
|
#include "emucore.h"
|
|
#include "emutempl.h"
|
|
#include "osdcore.h"
|
|
#include "unicode.h"
|
|
|
|
|
|
//**************************************************************************
|
|
// TYPE DEFINITIONS
|
|
//**************************************************************************
|
|
|
|
// forward references
|
|
class input_type_entry;
|
|
class device_t;
|
|
typedef void *osd_font;
|
|
|
|
|
|
// ======================> osd_interface
|
|
|
|
// description of the currently-running machine
|
|
class osd_interface
|
|
{
|
|
public:
|
|
// construction/destruction
|
|
osd_interface();
|
|
virtual ~osd_interface();
|
|
|
|
// getters
|
|
running_machine &machine() const { assert(m_machine != NULL); return *m_machine; }
|
|
|
|
// general overridables
|
|
virtual void init(running_machine &machine);
|
|
virtual void update(bool skip_redraw);
|
|
|
|
// debugger overridables
|
|
virtual void init_debugger();
|
|
virtual void wait_for_debugger(device_t &device, bool firststop);
|
|
|
|
// audio overridables
|
|
virtual void update_audio_stream(const INT16 *buffer, int samples_this_frame);
|
|
virtual void set_mastervolume(int attenuation);
|
|
|
|
// input overridables
|
|
virtual void customize_input_type_list(simple_list<input_type_entry> &typelist);
|
|
|
|
// font overridables
|
|
virtual osd_font font_open(const char *name, int &height);
|
|
virtual void font_close(osd_font font);
|
|
virtual bool font_get_bitmap(osd_font font, unicode_char chnum, bitmap_argb32 &bitmap, INT32 &width, INT32 &xoffs, INT32 &yoffs);
|
|
|
|
// video overridables
|
|
virtual void *get_slider_list();
|
|
|
|
private:
|
|
// internal state
|
|
running_machine * m_machine;
|
|
};
|
|
|
|
|
|
#endif /* __OSDEPEND_H__ */
|