Commit Graph

570 Commits

Author SHA1 Message Date
Nathan Adams e97d32dbc7 desktop: Recreate Player for each movie, and don't start with a Player unless a movie has been specified 2023-05-24 23:50:48 +02:00
Nathan Adams df51531de6 desktop: Move Player creation into PlayerController::new 2023-05-24 23:50:48 +02:00
Nathan Adams 6257c1218f desktop: Make PlayerController.get() return an Option, and handle that 2023-05-24 23:50:48 +02:00
Nathan Adams 2de0b5e7e0 desktop: Wrap Player in a new PlayerController 2023-05-24 23:50:48 +02:00
Nathan Adams 419330ecd5 desktop: Import utils nicer in app.rs 2023-05-24 23:50:48 +02:00
Nathan Adams 73b8f80f57 desktop: Move parse_url and pick_file to util.rs 2023-05-24 23:50:48 +02:00
Nathan Adams 34b1c671a8 desktop: Move --timedemo stuff to time_demo.rs 2023-05-24 23:50:48 +02:00
Nathan Adams 91db9b1f55 desktop: Moved winit_to_ruffle_text_control, winit_to_ruffle_key_code, winit_key_to_char and get_screen_size to util.rs 2023-05-24 23:50:48 +02:00
Nathan Adams d69ffd3a46 desktop: Moved App struct to app.rs 2023-05-24 23:50:48 +02:00
Nathan Adams ff5377a8a9 desktop: Moved trace_path and parameters to Opt 2023-05-24 23:50:48 +02:00
Nathan Adams f54685d656 desktop: Move Opt into cli.rs 2023-05-24 23:50:48 +02:00
Nathan Adams 998302aa77 desktop: Made movie optional when rendering 2023-05-24 23:50:48 +02:00
Nathan Adams a3d3230baf desktop: Turn MovieView into a custom render target 2023-05-24 23:50:48 +02:00
Nathan Adams 67fed1159c desktop: Refactor gui controller into its own file 2023-05-24 23:50:48 +02:00
Nathan Adams 9e17acdb2a desktop: Refactor movie blitting into its own file 2023-05-24 23:50:48 +02:00
Nathan Adams b9322ba93a desktop: Render game separately to UI, blit both onto surface 2023-05-24 23:50:48 +02:00
Mike Welsh 5bf43f9025 desktop: Add Open URL option 2023-05-24 23:50:48 +02:00
Mike Welsh e5a874065e desktop: Switch to loaded state immediately when no SWF running 2023-05-24 23:50:48 +02:00
Mike Welsh cac83320e4 desktop: Check if egui requests a redraw 2023-05-24 23:50:48 +02:00
Mike Welsh 83c3970003 desktop: Add About screen 2023-05-24 23:50:48 +02:00
Mike Welsh 3e150360a2 desktop: Don't show file dialog on startup 2023-05-24 23:50:48 +02:00
Mike Welsh 5efcb90293 desktop: Show menubar by holding Esc 2023-05-24 23:50:48 +02:00
Mike Welsh cb8b8d264c desktop: Implement Open menu option 2023-05-24 23:50:48 +02:00
Mike Welsh 3f878cc869 desktop: Take ownership of `EventLoop` on `App::run`
Change `App::event_loop` to an `Option` that will be taken on
`App::run` so that `App::run` can continue to call methods on
`self` later.

This is a little awkward, and better might be to remove `App::new`
and make `App:run` return `Result<!, Error>,` but `!` types are
experimental.
2023-05-24 23:50:48 +02:00
Mike Welsh c00b4bf55c desktop: Initial GUI work 2023-05-24 23:50:48 +02:00
Mike Welsh ef1125f456 desktop: Add egui crates 2023-05-24 23:50:48 +02:00
nosamu 91330d4a9f desktop: Fire both KeyDown and TextControl events
Fixup for #11059, which broke left/right arrows on desktop
2023-05-22 21:24:35 +02:00
renovate[bot] 5d2477fe98 chore(deps): lock file maintenance rust dependencies 2023-05-22 19:12:08 +03:00
nosamu 7dfc36c6fc web: Support pasting from clipboard 2023-05-21 15:26:42 +02:00
nosamu ee956927b7 core: Fix TextField.maxChars handling and address other reviews 2023-05-21 15:26:42 +02:00
nosamu 4e579b7e68 core: Move left/right arrow handling to `text_control_input` 2023-05-21 15:26:42 +02:00
nosamu 0dbb4c46e4 core: Move `Delete` and `Backspace` handling to `text_control_input()`
Co-authored-by: jmckiern <jmckiern@tcd.ie>
2023-05-21 15:26:42 +02:00
nosamu fab72ac01c core: Implement handling of text control input
Co-authored-by: jmckiern <jmckiern@tcd.ie>
2023-05-21 15:26:42 +02:00
jmckiern 67d74047a9 core: Add clipboard_content getter 2023-05-21 15:26:42 +02:00
Rasmus M d15d64e86e
desktop: Add volume option to CLI 2023-05-09 06:29:46 +00:00
Nathan Adams 9c2e77c88f desktop: Use system preferred language 2023-05-09 00:06:49 +02:00
Nathan Adams 229c301e18 core: Add i18n module using Fluent 2023-05-09 00:06:49 +02:00
Kornelius Rohrschneider fe56f8d212 core: Implement suggested changes in PR to documentation & code
- Documentation has been added, improved and clarified.
- The code of a string concatenation has been improved.
2023-05-02 17:13:42 +02:00
Kornelius Rohrschneider 27738a492e web: Implement suggested changes in PR to navigate_to_url handling
The suggested changes to the navigate_to_url handling in the feedback to
the pull request have been implemented.
Therefore, this commit consists of multiple smaller changes:

1. The allow_javascript_calls variable has been removed (as a CLI
argument and in the navigator). Javascript calls are now always denied
on desktop. This is because setting the argument was useless; no
javascript was executed in any case, at most, just a browser tab opened.
Therefore, it makes no sense to include this option.
2. The NavigateWebsiteHandlingMode default value has been provisionally
changed from Confirm to Allow. In the future (after a GUI toolkit has
been added), the default confirmation windows should include a "Save
this preference" checkbox.
3. The NetworkingRestrictionMode enum has been renamed to
NetworkingAccessMode since the previous naming was counter-intuitive.
4. The NavigateWebsiteHandlingMode enum (and variables related to it)
have been renamed to OpenURLMode to simplify the name.
5. The documentation has been improved.
2023-05-02 17:13:42 +02:00
Kornelius Rohrschneider 44ef22f646 core: Add navigate_to_url call configuration options
New configuration options (changing the navigate_to_url call handling)
have been added. The default behaviour has been changed as well.

A NavigateWebsiteHandlingMode enum has been added to Ruffle (in Rust and
Typescript). It contains the values "Allow", "Confirm" and "Deny" and
describes how navigate_to_url website calls should be handled. Allow
means that all website calls are allowed, Confirm means that a
confirmation window opens with each website call and Deny means that all
website calls are denied.
A respective navigate_website_handling_mode variable has been added to
the desktop CLI and to the JS config. The default value is "Confirm" in
each. The variable is given to the navigator (ExternalNavigatorBackend
or WebNavigatorBackend, depending on the platform) and is saved in it.
On each navigate_to_url website call, the respective navigator is now
checking navigate_website_handling_mode and acts correspondingly (allows
it, opens a confirmation window or denies it).
This changes the default behaviour of Ruffle from allowing all website
calls to opening a confirmation window with each website call.
On Safari, the confirm window can cause the background music to stop,
but this seems to be an issue with Safari.
Closes #838.

Additionally, an allow_javascript_calls variable (which defaults to
false) has been added to the desktop CLI. The variable is given to the
desktop navigator and is saved in it.
If a navigate_to_url javascript call is executed on desktop, the
navigator is now checking allow_javascript_calls and acts
correspondingly (allows it or denies it).
This changes the default behaviour of Ruffle on desktop to not allowing
javascript calls.
Closes #9316.
2023-05-02 17:13:42 +02:00
Toad06 45795c9d24 desktop/web: Add a mouse enter event 2023-04-25 18:01:49 +02:00
relrelb ff7c458739 core: Accept borrowed strings in `NavigatorBackend::navigate_to_url`
This avoids some unnecessary clones.
2023-04-24 22:06:47 +03:00
nosamu 3cde3482f4 core: Add frame rate config option 2023-04-24 14:01:37 +02:00
renovate[bot] 3b3c08a354 chore(deps): lock file maintenance rust dependencies 2023-04-24 01:22:07 +02:00
nosamu 6e8929e6d0 desktop: Handle relative URLs in navigate_to_url
Fixes #10773
2023-04-22 13:57:27 +02:00
nosamu 8a15eb3c38 desktop: Fix loading relative URLs when movie URL ends in empty path segment 2023-04-05 11:42:43 -07:00
nosamu 460f0811b7 desktop: Add base URL option 2023-04-05 11:25:49 -07:00
nosamu da41f4a966 desktop: Add max execution duration option 2023-04-05 11:25:49 -07:00
renovate[bot] cd3ad90d61 chore(deps): lock file maintenance rust dependencies 2023-04-02 22:00:49 -07:00
renovate[bot] 4eaf1b21e7 chore(deps): update rust crate embed-resource to v2
Co-authored-by: Mike Welsh <mwelsh@gmail.com>
2023-04-02 21:02:33 -07:00