Add Big Picture mode and multi-target build
Introduce a Big Picture mode and support building two app targets. CMakeLists was refactored to add a helper (add_nebula_app_target) and now registers NebulaBrowser and NebulaBigPicture executables, moving UI/assets post-build copying into the helper. A new app/main_bigpicture.cpp entry was added and RunNebula now accepts LaunchOptions (AppMode) with a new LaunchOptions struct. NebulaController was extended heavily to manage a BigPicture browser role: creation, enter/exit mode, layout logic, cursor injection/removal, remote input handlers (mouse move/click/wheel/text), and state syncing. Cef/browser_client updated for the new BigPicture role and message filtering. Platform API gained MoveCursorToBrowserPoint with platform stubs/Win implementation. Big-picture UI files (CSS/JS/HTML) were also updated to support the new mode.
This commit is contained in:
+2
-2
@@ -9,7 +9,7 @@
|
||||
|
||||
namespace nebula::app {
|
||||
|
||||
int RunNebula(const nebula::platform::AppStartup& startup) {
|
||||
int RunNebula(const nebula::platform::AppStartup& startup, LaunchOptions options) {
|
||||
nebula::platform::PrepareApp();
|
||||
|
||||
const CefMainArgs main_args = nebula::platform::MakeMainArgs(startup);
|
||||
@@ -41,7 +41,7 @@ int RunNebula(const nebula::platform::AppStartup& startup) {
|
||||
initial_url = nebula::ui::GetHomeUrl();
|
||||
}
|
||||
|
||||
NebulaController controller(startup, std::move(initial_url));
|
||||
NebulaController controller(startup, std::move(initial_url), options);
|
||||
const bool created = controller.Create();
|
||||
if (created) {
|
||||
CefRunMessageLoop();
|
||||
|
||||
Reference in New Issue
Block a user