Kamil Jarosz
01ad20f8a3
core: Hide focus highlight on invalid and empty bounds
2024-07-12 14:44:49 +02:00
Aaron Hill
c852990346
swf: Remove 'libflate' feature
...
The 'flate2' crate already supports both C and pure Rust
backends, so we don't gain anything by supporting libflate
2024-07-12 09:09:49 +02:00
dependabot[bot]
69abfa4528
build(deps): bump the cargo-minor group with 3 updates
...
Bumps the cargo-minor group with 3 updates: [bitstream-io](https://github.com/tuffy/bitstream-io ), [syn](https://github.com/dtolnay/syn ) and [toml_edit](https://github.com/toml-rs/toml ).
Updates `bitstream-io` from 2.4.2 to 2.5.0
- [Commits](https://github.com/tuffy/bitstream-io/compare/v2.4.2...v2.5.0 )
Updates `syn` from 2.0.69 to 2.0.70
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.69...2.0.70 )
Updates `toml_edit` from 0.22.14 to 0.22.15
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.14...v0.22.15 )
---
updated-dependencies:
- dependency-name: bitstream-io
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: syn
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
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 00:42:31 +02:00
Kamil Jarosz
78b2d84fa7
swf: Add ColorTransform::multiply_from
...
This method is used to instantiate ColorTransform with its
multiplicative component equal to the given color.
2024-07-02 23:40:50 +02:00
Kamil Jarosz
2d6eefd622
swf: Add rounding methods to Twips
2024-07-02 23:40:50 +02:00
Kamil Jarosz
4302fe2e70
swf: Add Twips::HALF
...
Twips::HALF represents 10 twips, i.e. 0.5 pixels.
This constant is useful when calculating exact positions of lines
to be drawn, as they are often drawn on whole pixels.
2024-07-02 23:40:50 +02:00
Marco Bartoli
fe08638d26
Implement ImportAssets/ImportAssets2 ( #16420 )
2024-07-02 11:41:48 +00:00
TÖRÖK Attila
e75299702b
chore: Bump bitstream-io to 2.4.2
2024-06-27 21:19:36 +02:00
David Wendt
404081876c
swf: Bump version to 0.2.1 in preparation for new package publication
2024-06-15 07:49:59 +02:00
Kamil Jarosz
88a9c74ee0
swf: Fix blur scaling in filters
...
The blur of 1.0 is invariant, so that it should be preserved when scaling.
Using `blur * scale` also scales the invariant, which is wrong.
Tests show that `(blur - 1) * scale + 1` matches FP's behavior.
2024-06-10 18:50:43 +02:00
TÖRÖK Attila
c462c7b1d4
swf: Add VideoCodec value for H.264 (AVC)
2024-05-30 20:22:33 +02:00
dependabot[bot]
819abe8420
build(deps): bump the cargo-minor group with 14 updates
...
Bumps the cargo-minor group with 14 updates:
| Package | From | To |
| --- | --- | --- |
| [async-channel](https://github.com/smol-rs/async-channel ) | `2.2.1` | `2.3.0` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.200` | `1.0.201` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.59` | `1.0.60` |
| [linkme](https://github.com/dtolnay/linkme ) | `0.3.25` | `0.3.26` |
| [bitstream-io](https://github.com/tuffy/bitstream-io ) | `2.2.0` | `2.3.0` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.116` | `1.0.117` |
| [ttf-parser](https://github.com/RazrFalcon/ttf-parser ) | `0.20.0` | `0.21.1` |
| [num-bigint](https://github.com/rust-num/num-bigint ) | `0.4.4` | `0.4.5` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.60` | `2.0.63` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.81` | `1.0.82` |
| [fontdb](https://github.com/RazrFalcon/fontdb ) | `0.16.2` | `0.17.0` |
| [unic-langid](https://github.com/zbraniecki/unic-locale ) | `0.9.4` | `0.9.5` |
| [zip](https://github.com/zip-rs/zip2 ) | `1.2.0` | `1.2.3` |
| [libtest-mimic](https://github.com/LukasKalbertodt/libtest-mimic ) | `0.7.2` | `0.7.3` |
Updates `async-channel` from 2.2.1 to 2.3.0
- [Release notes](https://github.com/smol-rs/async-channel/releases )
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.2.1...v2.3.0 )
Updates `serde` from 1.0.200 to 1.0.201
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.200...v1.0.201 )
Updates `thiserror` from 1.0.59 to 1.0.60
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.60 )
Updates `linkme` from 0.3.25 to 0.3.26
- [Release notes](https://github.com/dtolnay/linkme/releases )
- [Commits](https://github.com/dtolnay/linkme/compare/0.3.25...0.3.26 )
Updates `bitstream-io` from 2.2.0 to 2.3.0
- [Commits](https://github.com/tuffy/bitstream-io/compare/v2.2.0...v2.3.0 )
Updates `serde_json` from 1.0.116 to 1.0.117
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117 )
Updates `ttf-parser` from 0.20.0 to 0.21.1
- [Changelog](https://github.com/RazrFalcon/ttf-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/ttf-parser/compare/v0.20.0...v0.21.1 )
Updates `num-bigint` from 0.4.4 to 0.4.5
- [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md )
- [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.4.4...num-bigint-0.4.5 )
Updates `syn` from 2.0.60 to 2.0.63
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.60...2.0.63 )
Updates `proc-macro2` from 1.0.81 to 1.0.82
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.81...1.0.82 )
Updates `fontdb` from 0.16.2 to 0.17.0
- [Changelog](https://github.com/RazrFalcon/fontdb/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/fontdb/compare/v0.16.2...v0.17.0 )
Updates `unic-langid` from 0.9.4 to 0.9.5
- [Release notes](https://github.com/zbraniecki/unic-locale/releases )
- [Commits](https://github.com/zbraniecki/unic-locale/commits )
Updates `zip` from 1.2.0 to 1.2.3
- [Release notes](https://github.com/zip-rs/zip2/releases )
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/zip-rs/zip2/compare/v1.2.0...v1.2.3 )
Updates `libtest-mimic` from 0.7.2 to 0.7.3
- [Release notes](https://github.com/LukasKalbertodt/libtest-mimic/releases )
- [Changelog](https://github.com/LukasKalbertodt/libtest-mimic/blob/master/CHANGELOG.md )
- [Commits](https://github.com/LukasKalbertodt/libtest-mimic/compare/v0.7.2...v0.7.3 )
---
updated-dependencies:
- dependency-name: async-channel
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: linkme
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: bitstream-io
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: ttf-parser
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: num-bigint
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: proc-macro2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: fontdb
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: unic-langid
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: zip
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: libtest-mimic
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 15:49:29 +02:00
Kamil Jarosz
b1b7ccfbd2
avm1: Highlight buttons using their hit bounds
...
Buttons are always highlighted using their hit bounds.
I guess it does have some sense to it, because their bounds
usually change on hover (children are swapped out),
which would cause the automatic tab order to change during tabbing.
That could potentially create a loop in the tab ordering
(soft locking the tab).
2024-05-10 23:52:01 +02:00
dependabot[bot]
cca6c13710
build(deps): bump libflate from 2.0.0 to 2.1.0 in the cargo-minor group
...
Bumps the cargo-minor group with 1 update: [libflate](https://github.com/sile/libflate ).
Updates `libflate` from 2.0.0 to 2.1.0
- [Release notes](https://github.com/sile/libflate/releases )
- [Commits](https://github.com/sile/libflate/compare/2.0.0...2.1.0 )
---
updated-dependencies:
- dependency-name: libflate
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-30 15:03:17 +02:00
dependabot[bot]
d3cc9d5fa5
build(deps): bump the cargo-minor group with 11 updates
...
Bumps the cargo-minor group with 11 updates:
| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.81` | `1.0.82` |
| [async-channel](https://github.com/smol-rs/async-channel ) | `2.2.0` | `2.2.1` |
| [chrono](https://github.com/chronotope/chrono ) | `0.4.37` | `0.4.38` |
| [encoding_rs](https://github.com/hsivonen/encoding_rs ) | `0.8.33` | `0.8.34` |
| [fluent-templates](https://github.com/XAMPPRocky/fluent-templates ) | `0.9.1` | `0.9.2` |
| [either](https://github.com/rayon-rs/either ) | `1.10.0` | `1.11.0` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.35` | `1.0.36` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.58` | `2.0.59` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.79` | `1.0.80` |
| [webbrowser](https://github.com/amodm/webbrowser-rs ) | `0.8.14` | `0.8.15` |
| [libtest-mimic](https://github.com/LukasKalbertodt/libtest-mimic ) | `0.7.0` | `0.7.2` |
Updates `anyhow` from 1.0.81 to 1.0.82
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.81...1.0.82 )
Updates `async-channel` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/smol-rs/async-channel/releases )
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.2.0...v2.2.1 )
Updates `chrono` from 0.4.37 to 0.4.38
- [Release notes](https://github.com/chronotope/chrono/releases )
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md )
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.37...v0.4.38 )
Updates `encoding_rs` from 0.8.33 to 0.8.34
- [Commits](https://github.com/hsivonen/encoding_rs/compare/v0.8.33...v0.8.34 )
Updates `fluent-templates` from 0.9.1 to 0.9.2
- [Release notes](https://github.com/XAMPPRocky/fluent-templates/releases )
- [Changelog](https://github.com/XAMPPRocky/fluent-templates/blob/master/CHANGELOG.md )
- [Commits](https://github.com/XAMPPRocky/fluent-templates/compare/fluent-templates-v0.9.1...fluent-templates-v0.9.2 )
Updates `either` from 1.10.0 to 1.11.0
- [Commits](https://github.com/rayon-rs/either/compare/1.10.0...1.11.0 )
Updates `quote` from 1.0.35 to 1.0.36
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.35...1.0.36 )
Updates `syn` from 2.0.58 to 2.0.59
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.58...2.0.59 )
Updates `proc-macro2` from 1.0.79 to 1.0.80
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.79...1.0.80 )
Updates `webbrowser` from 0.8.14 to 0.8.15
- [Release notes](https://github.com/amodm/webbrowser-rs/releases )
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v0.8.14...v0.8.15 )
Updates `libtest-mimic` from 0.7.0 to 0.7.2
- [Release notes](https://github.com/LukasKalbertodt/libtest-mimic/releases )
- [Changelog](https://github.com/LukasKalbertodt/libtest-mimic/blob/master/CHANGELOG.md )
- [Commits](https://github.com/LukasKalbertodt/libtest-mimic/commits )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: async-channel
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: chrono
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: encoding_rs
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: fluent-templates
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: either
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: quote
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: proc-macro2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: webbrowser
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: libtest-mimic
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 23:34:51 +02:00
Nathan Adams
80758cbaeb
chore: Use workspace version for num-traits
2024-04-04 17:29:00 +02:00
Nathan Adams
a7404e7506
chore: Use workspace version for num-derive
2024-04-04 17:29:00 +02:00
Nathan Adams
2b2be8a992
chore: Use workspace version for log
2024-04-04 17:29:00 +02:00
Nathan Adams
2bd1ef47b7
chore: Use workspace version for flate2
2024-04-04 17:29:00 +02:00
Nathan Adams
c3711e3953
chore: Use workspace version for enum-map
2024-04-04 17:29:00 +02:00
Nathan Adams
4e3cd75c30
chore: Use workspace version for bitflags
2024-04-04 17:29:00 +02:00
Kamil Jarosz
95983bf4f3
core: Render yellow highlight on keyboard focus
...
This patch implements rendering of the yellow rectangle around
a focused element after pressing Tab. Focus tracker which is responsible
for keeping track of the current focus is now also responsible
for keeping track of the highlight and rendering thereof.
2024-04-01 23:38:59 +02:00
Kamil Jarosz
068363a87c
swf: Add Rectangle::grow method
2024-04-01 23:38:59 +02:00
Adrian Wielgosik
08157a056e
build: Fix redundant import warnings
2024-03-23 19:23:18 +01:00
renovate[bot]
d70560cb82
fix(deps): update rust dependencies
2024-03-22 11:10:59 +01:00
soonsouth
abf7d3fa20
chore: remove repetitive words
...
Signed-off-by: soonsouth <cuibuwei@163.com>
2024-03-15 21:10:53 +01:00
Lord-McSweeney
b5f7fa0cd0
swf: `CallMethod` takes a `disp_id`, not any sort of `Index`
2024-03-10 09:49:24 -07:00
Aaron Hill
900a8407d6
core: Implement lazy decoding of bitmaps
...
We hit a pathological case in House
(https://github.com/ruffle-rs/ruffle/issues/15154 ),
where eagerly decoding bitmaps during preloading results in
over 10GB of ram being used.
With this PR, we store the compressed bitmap, and only decode it
each time we instantiate it. In order to support bitmap fills,
we store the decoded width/height and a lazily-initialized GPU handle
in `Character::Bitmap`
2024-02-27 21:18:18 -05:00
Lord-McSweeney
2d3b23c719
swf: Remove `PushConstant` AVM2 opcode
2024-01-29 22:48:00 -08:00
Lord-McSweeney
2022321a03
avm2: Add an `Op` enum to AVM2; pre-pool double/uint/ints for `pushX` opcodes
2024-01-29 22:48:00 -08:00
Aaron Hill
1cf669c75e
avm2: Convert invalid rectangle to zero rectangle in getBounds
2024-01-29 13:25:16 -05:00
Nathan Adams
6dac4958fb
swf: Derive Hash for Gradient and associated types
2024-01-27 21:37:22 +01:00
Moulins
ac7086528f
avm1: Implement proper behavior for Gradient***Filter array setters
...
Among other things:
- resizing `colors` should also resize `alphas` and `ratios`
- shrinking `ratios` should also shrink `colors` and `alphas`, but
growing it doesn't change the size
2024-01-26 18:40:06 +01:00
Moulins
bd2165bd0f
swf: Properly read/write ConvolutionFilters; these contain f32s, not Fixed16s
2024-01-26 18:40:06 +01:00
Aaron Hill
c1fce1106f
swf: Parse string as Vec<u8> instead of String in SWF
...
Some obfuscated SWFs may have invalid strings in their constant
pool - trying to immediately parse them as a utf-8 String throws
away information. Instead, we now store a `Vec<u8>`, which we
then use to construct an `AvmString` (or with `String::from_utf8_lossy`
for debug printing).
2024-01-22 21:50:45 -05:00
renovate[bot]
262dff83a4
fix(deps): update rust dependencies
2024-01-22 03:09:33 +01:00
Moulins
233478a273
swf: Show scaled value in `swf::FixedN`'s `Debug` implementations
2024-01-20 12:21:13 +01:00
TÖRÖK Attila
d153290fd6
nits: Fix a whole bunch of typos all over the place
2024-01-17 23:59:19 +01:00
TÖRÖK Attila
217585daa8
chore: Delegate `[lints]` in `Cargo.toml` of all packages to the workspace
2024-01-05 11:28:19 +01:00
Tom Schuster
dd53b4e06b
avm2: Reduce the size of Op on 64bit
2024-01-04 21:15:09 +01:00
renovate[bot]
0e5ef32654
fix(deps): update rust dependencies
2023-12-18 08:16:28 +01:00
friedkeenan
834e745652
swf: Make avm2 Writer::write_op public
2023-12-17 15:41:44 +01:00
friedkeenan
c7966cea77
swf: Add test for avm2 Writer::write_op
2023-12-17 15:41:44 +01:00
renovate[bot]
e196a544dd
fix(deps): update rust crate bitstream-io to v2
2023-12-11 11:25:12 +01:00
renovate[bot]
40b92e69f7
fix(deps): update rust dependencies
2023-12-05 21:08:16 +01:00
renovate[bot]
6da223a875
fix(deps): update rust dependencies
2023-11-27 09:44:47 +01:00
renovate[bot]
2a83274c7f
fix(deps): update rust dependencies
2023-11-19 21:09:42 -05:00
renovate[bot]
32c65e6460
fix(deps): update rust dependencies
2023-11-13 09:10:26 +01:00
Nathan Adams
1ff23cdd77
swf: Fixed writing DefineFontInfo tags with wide chars
2023-10-29 14:31:45 +01:00
Nathan Adams
11e1d2f6be
swf: Fixed writing out DefineText2 (we previously wrote it as DefineText 1)
2023-10-29 14:31:45 +01:00