diff options
author | 2013-08-14 12:24:21 +0000 | |
---|---|---|
committer | 2013-08-14 12:24:21 +0000 | |
commit | 912a7fde30e1daa22b64f72d0cac3e92a0f2c9c8 (patch) | |
tree | 1a5d8b7fd756badfa00318ec1364ef19235b56bf /src/emu/webengine.c | |
parent | 15cc532d493c4936d25f535bf8ef89236b03ec28 (diff) |
added screenshot option and serving it from webserver (nw)
Diffstat (limited to 'src/emu/webengine.c')
-rw-r--r-- | src/emu/webengine.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/emu/webengine.c b/src/emu/webengine.c index 55c474bbc51..602144ea577 100644 --- a/src/emu/webengine.c +++ b/src/emu/webengine.c @@ -102,6 +102,32 @@ int web_engine::begin_request_handler(struct mg_connection *conn) return 1; } } + if (!strncmp(request_info->uri, "/screenshot.png",15)) + { + screen_device_iterator iter(m_machine->root_device()); + screen_device *screen = iter.first(); + + if (screen == NULL) + { + return 0; + } + + astring fname("screenshot.png"); + emu_file file(m_machine->options().snapshot_directory(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS); + file_error filerr = file.open(fname); + + if (filerr != FILERR_NONE) + { + return 0; + } + + m_machine->video().save_snapshot(screen, file); + astring fullpath(file.fullpath()); + file.close(); + + mg_send_file(conn,fullpath); + return 1; + } return 0; } |