Commit Graph

12774 Commits

Author SHA1 Message Date
Kamil Jarosz 70c6a1d629 tests: Add avm2/movieclip_goto_scene_last_frame_label test 2024-07-31 11:32:15 +02:00
Kamil Jarosz a0dbbae96f tests: Add avm2/movieclip_goto_scene_last_frame_int test 2024-07-31 11:32:15 +02:00
sleepycatcoding 5806e6577e debug_ui: Add a tab for AVM2 array contents 2024-07-31 00:47:11 +02:00
Kamil Jarosz c54b1b5b4a desktop: Add View menu 2024-07-30 23:42:39 +02:00
Kamil Jarosz d9d644122b desktop: Add tooltips for scale modes 2024-07-30 23:42:39 +02:00
Kamil Jarosz fae55cd702 desktop: Update translations for scale modes 2024-07-30 23:42:39 +02:00
Kamil Jarosz 3ea4af481d core: Add respect_forced parameter to set_scale_mode 2024-07-30 23:42:39 +02:00
Daniel Jacobs f199a8f740 web: Fix height of Ruffle panic details 2024-07-30 19:37:49 +02:00
Kamil Jarosz ee5dce4c86 core: Use layout lines in screen_position_to_index
This refactor makes it possible for layout boxes in the same line to
have different extents, and it does not change the method's behavior.
2024-07-30 19:28:24 +02:00
Kamil Jarosz 0c1c16671b desktop: Add theme option to preferences 2024-07-30 19:09:51 +02:00
Kamil Jarosz 4ad371da95 desktop: Add watcher for ThemePreference change 2024-07-30 19:09:51 +02:00
Kamil Jarosz 52067658f8 desktop: Add ThemePreference to preferences 2024-07-30 19:09:51 +02:00
Kamil Jarosz 54cc5fe107 desktop: Add ThemePreference enum
ThemePreference represents the user's preference over Ruffle's theme.
2024-07-30 19:09:51 +02:00
Kamil Jarosz 23c27420bd desktop: Remove RuffleEvent::ThemeChanged
This event is no longer needed as theme is now changed synchronously.
2024-07-30 19:09:51 +02:00
Kamil Jarosz 9163de61b8 desktop: Add ThemeController
ThemeController is responsible for managing Ruffle's theme.
It takes into account the user preference, integrates with D-Bus and
handles platform-specific differences.
2024-07-30 19:09:51 +02:00
Kamil Jarosz 21d7746aec desktop: Use Arc for Window
This allows sending Windows between threads.
2024-07-30 19:09:51 +02:00
Adrian Wielgosik 6f56016079 avm2: Support recursive Vector<Vector<T>> lookups 2024-07-30 18:45:45 +02:00
dependabot[bot] 6f4a9aeafb build(deps-dev): bump stylelint in /web in the npm-minor group
Bumps the npm-minor group in /web with 1 update: [stylelint](https://github.com/stylelint/stylelint).


Updates `stylelint` from 16.7.0 to 16.8.0
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.7.0...16.8.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 23:43:52 +02:00
dependabot[bot] e4c88c6b10 build(deps-dev): bump typescript-eslint in /web
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.0.0-alpha.57 to 8.0.0-alpha.58.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/HEAD/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 23:31:28 +02:00
dependabot[bot] fef1cba495 build(deps): bump the cargo-minor group with 9 updates
Bumps the cargo-minor group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.9` | `4.5.11` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.38.1` | `1.39.2` |
| [quick-xml](https://github.com/tafia/quick-xml) | `0.36.0` | `0.36.1` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.120` | `1.0.121` |
| [enumset](https://github.com/Lymia/enumset) | `1.1.4` | `1.1.5` |
| [toml_edit](https://github.com/toml-rs/toml) | `0.22.16` | `0.22.17` |
| [gilrs](https://gitlab.com/gilrs-project/gilrs) | `0.10.8` | `0.10.9` |
| [env_logger](https://github.com/rust-cli/env_logger) | `0.11.3` | `0.11.5` |
| [toml](https://github.com/toml-rs/toml) | `0.8.15` | `0.8.16` |


Updates `clap` from 4.5.9 to 4.5.11
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.9...clap_complete-v4.5.11)

Updates `tokio` from 1.38.1 to 1.39.2
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.38.1...tokio-1.39.2)

Updates `quick-xml` from 0.36.0 to 0.36.1
- [Release notes](https://github.com/tafia/quick-xml/releases)
- [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md)
- [Commits](https://github.com/tafia/quick-xml/compare/v0.36.0...v0.36.1)

Updates `serde_json` from 1.0.120 to 1.0.121
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.120...v1.0.121)

Updates `enumset` from 1.1.4 to 1.1.5
- [Changelog](https://github.com/Lymia/enumset/blob/main/RELEASES.md)
- [Commits](https://github.com/Lymia/enumset/compare/v1.1.4...v1.1.5)

Updates `toml_edit` from 0.22.16 to 0.22.17
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.16...v0.22.17)

Updates `gilrs` from 0.10.8 to 0.10.9
- [Commits](https://gitlab.com/gilrs-project/gilrs/compare/v0.10.8...v0.10.9)

Updates `env_logger` from 0.11.3 to 0.11.5
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.3...v0.11.5)

Updates `toml` from 0.8.15 to 0.8.16
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.15...toml-v0.8.16)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: quick-xml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: enumset
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: toml_edit
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: gilrs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 16:39:55 +02:00
dependabot[bot] 09dfc753f2 build(deps-dev): bump typescript-eslint in /web
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.0.0-alpha.54 to 8.0.0-alpha.57.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/HEAD/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 16:05:47 +02:00
dependabot[bot] 3e21740403 build(deps-dev): bump the npm-minor group in /web with 5 updates
Bumps the npm-minor group in /web with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.7.0` | `9.8.0` |
| [eslint](https://github.com/eslint/eslint) | `9.7.0` | `9.8.0` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.8.3` | `48.9.2` |
| [postcss](https://github.com/postcss/postcss) | `8.4.39` | `8.4.40` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.3.4` | `5.3.5` |


Updates `@eslint/js` from 9.7.0 to 9.8.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.8.0/packages/js)

Updates `eslint` from 9.7.0 to 9.8.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.7.0...v9.8.0)

Updates `eslint-plugin-jsdoc` from 48.8.3 to 48.9.2
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.8.3...v48.9.2)

Updates `postcss` from 8.4.39 to 8.4.40
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.39...8.4.40)

Updates `vite` from 5.3.4 to 5.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.5/packages/vite)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 15:54:45 +02:00
Nathan Adams 3de0279149 avm2: ByteArray should implement IDataInput2 and IDataOutput2. For some reason. 2024-07-29 10:32:45 +02:00
Nathan Adams 892c39f24d avm2: TouchEvent.getSamples and isToolButtonDown are AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams de8e9b60f6 avm2: IME _private fields should be private 2024-07-29 10:32:45 +02:00
Nathan Adams bcba6250b9 avm2: NetStream.preloadEmbeddedData and setDRMAuthenticationCredentials are AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams f804cf4689 avm2: FocusEvent.direction is AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams dade26e93f avm2: Event.SUSPEND is AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams ce9b2337f2 avm2: TextRenderer _private fields should be private 2024-07-29 10:32:45 +02:00
Nathan Adams 0f91196ad0 avm2: FileReference requestPermission and uploadUnencoded are AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams b7e78f4ca6 avm2: MouseCursorData _private fields should be private 2024-07-29 10:32:45 +02:00
Nathan Adams cc1185182d avm2: FrameLabel should extend EventDispatcher 2024-07-29 10:32:45 +02:00
Nathan Adams c2084dfd7a avm2: Worker should extend EventDispatcher 2024-07-29 10:32:45 +02:00
Nathan Adams 2dec2029e0 avm2: GameInputControl should extend EventDispatcher 2024-07-29 10:32:45 +02:00
Nathan Adams 2e2b7deaa7 avm2: HTTPStatusEvent has AIR-only fields 2024-07-29 10:32:45 +02:00
Nathan Adams 3810ae6a53 avm2: Stage.loaderInfo should not have a setter 2024-07-29 10:32:45 +02:00
Nathan Adams a5096890e0 avm2: LoaderContext.allowLoadBytesCodeExecution is actually an AIR-only wrapper around allowCodeImport 2024-07-29 10:32:45 +02:00
Nathan Adams 4bcff2655e avm2: Security.APPLICATION is AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams c152605cad avm2: TextLine.hasTabs should be a getter, not a function 2024-07-29 10:32:45 +02:00
Nathan Adams 9b01d51b72 avm2: A bunch of Keyboard constants are AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams dcd3949093 avm2: URLRequestDefaults is AIR only 2024-07-29 10:32:45 +02:00
Nathan Adams f6ca9bcdac avm2: Also exclude interface based virtual properties from describeTypeJSON 2024-07-28 23:18:52 +02:00
Nathan Adams 4ae2a73b54 avm2: Check API version in describeTypeJSON 2024-07-28 23:18:52 +02:00
Nathan Adams db0fd879d2 avm2: Don't include interface methods in describeTypeJSON 2024-07-28 23:18:52 +02:00
Crowdin Bot 2ac4e7e62d chore: Update translations from Crowdin 2024-07-28 01:00:18 +02:00
Kamil Jarosz c7e8d3d9d5 desktop: Detect light theme on Linux
The function `start_dbus_theme_watcher` detects system theme on
freedesktop-compliant systems and starts a watcher which
listens for changes.
2024-07-27 22:56:18 +02:00
Kamil Jarosz 496a966c64 desktop: Add D-Bus support
This patch adds D-Bus support, implements the interface
`org.freedesktop.portal.Settings`, and provides `FreedesktopSettings`,
which facilitates access to freedesktop settings and its color-scheme.
2024-07-27 22:56:18 +02:00
Kamil Jarosz 52192fa9ca desktop: Add RuffleEvent::ThemeChanged 2024-07-27 22:56:18 +02:00
Kamil Jarosz 14d5b3ace3 desktop: Make GuiController::new async 2024-07-27 22:56:18 +02:00
Kamil Jarosz 96173b0501 web: Improve virtual keyboard support
This patch integrates the virtual keyboard with the newly added focus
management and removes Android-specific code, instead using generic
logic which takes advantage of improved focus support in SWFs.
2024-07-27 21:32:35 +02:00