2015-05-24 07:55:12 +03:00
|
|
|
// Copyright 2008 Dolphin Emulator Project
|
2015-05-18 02:08:10 +03:00
|
|
|
// Licensed under GPLv2+
|
2013-04-18 05:43:11 +03:00
|
|
|
// Refer to the license.txt file included.
|
2008-12-08 06:46:09 +02:00
|
|
|
|
2014-02-10 20:54:46 +02:00
|
|
|
#pragma once
|
2008-12-08 06:46:09 +02:00
|
|
|
|
2014-03-12 21:33:41 +02:00
|
|
|
#include <string>
|
2008-12-08 06:46:09 +02:00
|
|
|
|
|
|
|
// Host - defines an interface for the emulator core to communicate back to the
|
|
|
|
// OS-specific layer
|
|
|
|
|
|
|
|
// The emulator core is abstracted from the OS using 2 interfaces:
|
|
|
|
// Common and Host.
|
|
|
|
|
|
|
|
// Common simply provides OS-neutral implementations of things like threads, mutexes,
|
2013-10-29 07:23:17 +02:00
|
|
|
// INI file manipulation, memory mapping, etc.
|
2008-12-08 06:46:09 +02:00
|
|
|
|
|
|
|
// Host is an abstract interface for communicating things back to the host. The emulator
|
|
|
|
// core is treated as a library, not as a main program, because it is far easier to
|
|
|
|
// write GUI interfaces that control things than to squash GUI into some model that wasn't
|
|
|
|
// designed for it.
|
|
|
|
|
|
|
|
// The host can be just a command line app that opens a window, or a full blown debugger
|
|
|
|
// interface.
|
|
|
|
|
2017-07-12 10:11:29 +03:00
|
|
|
bool Host_UINeedsControllerState();
|
2011-01-30 18:40:38 +02:00
|
|
|
bool Host_RendererHasFocus();
|
2015-01-04 18:09:56 +02:00
|
|
|
bool Host_RendererIsFullscreen();
|
2009-09-07 15:40:43 +03:00
|
|
|
void Host_Message(int Id);
|
2008-12-08 06:46:09 +02:00
|
|
|
void Host_NotifyMapLoaded();
|
2011-01-31 16:25:50 +02:00
|
|
|
void Host_RefreshDSPDebuggerWindow();
|
2011-01-25 05:30:12 +02:00
|
|
|
void Host_RequestRenderWindowSize(int width, int height);
|
2011-01-30 18:40:38 +02:00
|
|
|
void Host_UpdateDisasmDialog();
|
|
|
|
void Host_UpdateMainFrame();
|
2014-03-12 21:33:41 +02:00
|
|
|
void Host_UpdateTitle(const std::string& title);
|
2016-06-26 09:06:23 +03:00
|
|
|
void Host_ShowVideoConfig(void* parent, const std::string& backend_name);
|
2016-11-10 18:55:21 +02:00
|
|
|
void Host_YieldToUI();
|
2017-06-25 18:35:24 +03:00
|
|
|
void Host_UpdateProgressDialog(const char* caption, int position, int total);
|
2008-12-08 06:46:09 +02:00
|
|
|
|
2014-08-04 06:44:37 +03:00
|
|
|
// TODO (neobrain): Remove this from host!
|
2011-02-12 23:25:49 +02:00
|
|
|
void* Host_GetRenderHandle();
|