relrelb
b93a32af0f
swf: Use `Point<Twips>` in `StyleChangeData::move_to`
...
No functionality change.
2023-05-11 08:55:44 +03:00
relrelb
182ae6c9a9
swf: Introduce `ShapeRecordFlag`
...
No functionality change.
2023-05-02 20:24:38 +03:00
relrelb
3046d68da1
swf: Introduce `PointDelta`
...
Generally, when transforming a difference between two points, `p1`
and `p2`, with a matrix `m`, we would like the following property
to hold:
```
m * (p1 - p2) == m * p1 - m * p2
```
Unfortunately, it wasn't like this before, because matrices have a
translation component, which is non-linear. In `m * p1 - m * p2`,
the translations of `m * p1` and `m * p2` are the same and therefore
cancel out each other. However, in `m * (p1 - p2)` the translation
stays.
In order to preserve this property, introduce a new `PointDelta`
type which is not subject to translation when transformed by a matrix.
For now, the following operations are supported:
* `Point - Point -> PointDelta`
* `Point + PointDelta -> Point`
* `Point += PointDelta`
* `Point - PointDelta -> Point`
* `Point -= PointDelta`
As a consequence, the expression `position + global_to_local_matrix * mouse_delta`
in `update_drag()` now ignores translation, which fixes #817 .
2023-04-29 22:29:37 +03:00
relrelb
60ffe07ae7
chore: Use `swf::Point` in many places
...
Convert nearly all instances of `(Twips, Twips)` (maybe besides in
`shape_utils.rs`) to `swf::Point<Twips>`.
2023-04-27 22:14:03 +03:00
renovate[bot]
3b3c08a354
chore(deps): lock file maintenance rust dependencies
2023-04-24 01:22:07 +02:00
relrelb
814cb00821
avm1: Migrate `GlowFilter` to `NativeObject`
2023-04-08 13:40:32 +03:00
relrelb
236a97bf31
render: Replace `ColorTransform` with `swf::ColorTransform`
2023-03-29 23:27:20 -07:00
Mike Welsh
74b2ff6997
swf: Inline `Color` methods
2023-03-26 18:20:15 -07:00
Mike Welsh
df5f5451f4
swf: Inline `Point` methods
2023-03-26 18:20:15 -07:00
Mike Welsh
49ea1b0f36
swf: Inline `Twips` methods
2023-03-26 18:20:15 -07:00
renovate[bot]
f6f646a756
chore(deps): lock file maintenance rust dependencies
2023-03-19 19:45:30 -07:00
Toad06
e2415be734
core: Store correct data for loaded images
2023-03-20 01:36:04 +01:00
Nathan Adams
bc9e1d7c14
swf: Rename HAS_FILL_WINDING_RULE to NON_ZERO_WINDING_RULE
2023-03-18 19:14:08 -07:00
TÖRÖK Attila
96d1f19e6c
chore: Port to bitflags 2.0.0
...
* Bump bitflags to 2.0.0
* Sprinkle Clone, Copy, Eq, PartialEq, and Debug derives where needed
* Call `bits` on bitflags, as it is now a method
* Switch from `from_bits_truncate` to `from_bits_retain` on bitflags where needed
* Bump h263-rs for the bitflags 2.0.0 dependency
As part of porting to bitflags 2.0.0, see:
https://kodraus.github.io/rust/2022/10/07/bitflags2.html#upgrading-to-2x
2023-03-15 20:06:10 -07:00
relrelb
83c15b8033
render: Replace `BoundingBox` with `swf::Rectangle`
2023-03-04 21:54:23 +02:00
relrelb
5756c847cd
swf: Make `Twips::new` a `const fn`
2023-03-04 21:54:23 +02:00
Nathan Adams
545193b098
swf: Deduplicate GradientFilter again
2023-02-28 16:25:12 +01:00
Nathan Adams
f79015e201
render: Use swf Filter types where possible. Gradient types had to be split into duplicate classes to allow for different trait impls based on which gradient filter type it is.
2023-02-28 16:25:12 +01:00
Nathan Adams
9224aeca5d
swf: Add DropShadowFilter::hide_object(), it's the only time COMPOSITE_SOURCE is used
2023-02-28 16:25:12 +01:00
Nathan Adams
7da2a061cc
swf: ColorMatrixFilter::matrix is actually f32, not Fixed16
2023-02-28 16:25:12 +01:00
Nathan Adams
ce9159cba4
swf: Fixed read order of BevelFilter colors. The swf spec is wrong.
2023-02-28 16:25:12 +01:00
Aaron Hill
016ab56cdf
avm2: Shrink `Op` enum by using a `Box<[i32]>` in `LookupSwitch`
...
This shaves off one `usize` from the size of `Op`.
2023-02-27 18:09:40 -06:00
relrelb
4e84488c6e
chore: Appease clippy
2023-02-27 12:43:23 +02:00
renovate[bot]
71e24eedba
fix(deps): update rust dependencies
2023-02-27 11:48:53 +02:00
relrelb
dc9ec40d31
chore: Allow `clippy::bool_to_int_with_if`
...
Seems like Clippy no longer complains about it.
2023-02-26 13:23:38 +02:00
relrelb
5f4f23cceb
swf: Don't truncate `ClipEventFlag` in SWFv5
...
Although in SWFv5 the 2nd byte is documented to be reserved (all 0),
Flash does read it and treats it the same as for SWFv6.
Fixes #8620
2023-02-25 23:20:45 +02:00
relrelb
e98aa54599
swf: Introduce `ConvolutionFilterFlags`
2023-02-21 16:55:13 +02:00
relrelb
35ef402b95
swf: Introduce `GradientFilterFlags`
2023-02-21 16:55:13 +02:00
relrelb
1fbfd2cbbc
swf: Introduce `BevelFilterFlags`
2023-02-21 16:55:13 +02:00
relrelb
1f9c940331
swf: Introduce `GlowFilterFlags`
2023-02-21 16:55:13 +02:00
relrelb
2aaf337b6a
swf: Introduce `BlurFilterFlags`
2023-02-21 16:55:13 +02:00
relrelb
c86cd4fa9d
swf: Introduce `DropShadowFilterFlags`
2023-02-21 16:55:13 +02:00
relrelb
5a3bb33b78
swf: Cleanup `Twips2d`
...
* Rename it to `Point`.
* Remove unnecessary methods, such as `.get()`.
2023-02-18 17:51:02 +02:00
Nathan Adams
f2acb7c230
swf: Added DoAbc2 tag
2023-02-14 08:51:45 +01:00
Nathan Adams
69f93f926e
swf: Rename DoAbc to DoAbc2
2023-02-14 08:51:45 +01:00
renovate[bot]
a27bd66b58
fix(deps): update rust dependency patches
2023-02-13 04:59:31 +01:00
Nathan Adams
284a58c817
avm2: Implement BitmapData.apply_filter for ColorMatrixFilter
2023-02-05 18:41:43 +01:00
nosamu
0e4db6a2c9
swf: Accept Scaleform GFx header signatures
2023-01-16 18:25:34 +01:00
renovate[bot]
630558a936
fix(deps): update rust dependencies
2023-01-10 16:37:40 +01:00
Nathan Adams
cb6d72b49b
wgpu: Split up gradient shader based on type and repeat
2023-01-03 03:39:13 +01:00
dependabot[bot]
5ea1076e35
build(deps): bump enum-map from 2.4.1 to 2.4.2
...
Bumps [enum-map](https://github.com/xfix/enum-map ) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/xfix/enum-map/releases )
- [Changelog](https://github.com/xfix/enum-map/blob/master/CHANGELOG.md )
- [Commits](https://github.com/xfix/enum-map/compare/v2.4.1...v2.4.2 )
---
updated-dependencies:
- dependency-name: enum-map
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 16:30:46 -08:00
Mike Welsh
696c9062d3
chore: Inherit cargo metadata from workspace
...
Use workspace inheritance added in Rust 1.64 to de-duplicate
various settings across all packages.
2022-12-16 15:53:59 -08:00
relrelb
bd9078addf
chore: Fix `clippy::uninlined_format_args` lints
2022-12-15 08:59:38 +02:00
Adrian Wielgosik
0861153626
swf: make Clippy happy
2022-12-03 22:18:22 +01:00
michiel2005
f4a988bdda
swf: Update link ( #8650 )
...
The original link is not working anymore so I put a link to the wayback machine in it's place that leads to the original document
Co-authored-by: Adrian Wielgosik <4729533+adrian17@users.noreply.github.com>
2022-12-01 20:29:09 +01:00
Marco Grassi
ad81b3bf14
upgrade lock and toml dependencies
2022-11-26 14:04:59 -05:00
David Wendt
14f27a9e4a
docs: Fix up Twips2D doctests
2022-11-23 20:45:37 -07:00
David Wendt
a5a6189e61
chore: Remove empty files and outdated references
2022-11-23 20:45:37 -07:00
David Wendt
84b3162a57
chore: cargo fmt & fixes
2022-11-23 20:45:37 -07:00
Mark Richins
d345523d02
Fix conflicts
2022-11-23 20:45:37 -07:00