Я работаю над коллекцией игр для индивидуальной настольной цифровой установки (аналогично таблицам Microsoft Surface). Каждая игра будет отдельным исполняемым файлом, который работает в полноэкранном режиме. Кроме того, одновременно должна быть запущена программа наложения меню / оболочки. Меню / оболочка позволит пользователям приостанавливать игры, переключаться на другие игры, проверять их историю игр и т. Д.
Некоторые ключевые требования оболочки:
он перехватывает весь пользовательский ввод (в основном мультитач) перед передачей его текущей запущенной игре (так что он может знать, например, всплывающую команду «пауза»);
может отображаться на произвольных участках экрана, при этом текущая (но, по-видимому, приостановленная) игра по-прежнему отображается снизу, в идеале с динамической формой / размером, что позволяет создать анимированный эффект выдвижного ящика в игре.
В настоящее время я изучаю различные архитектурные подходы к этой проблеме, включая наложения Fraps и DirectX, но я уверен, что мне не хватает некоторых способов обдумать это. Какие основные подходы я должен рассмотреть?
(Обратите внимание, что таблица в настоящее время работает на ПК с Windows, но потенциально она может представлять собой Linux-систему. Под этим я не подразумеваю, что мне нужно решение, не зависящее от ОС. Я был бы доволен решением для Windows. Я хотел бы рассмотреть вопрос о переходе на Linux и использовании решения, ориентированного на Linux, если это будет намного проще сделать в Linux.)