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
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
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
Nathan Adams
cb6d72b49b
wgpu: Split up gradient shader based on type and repeat
2023-01-03 03:39:13 +01: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
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
Mark Richins
9941701b3a
Fix: change twips_2d to use x and y and fix bug
2022-11-23 20:45:37 -07:00
Mark Richins
63a291ac4b
Fix promblems caused by moving Twips
2022-11-23 20:45:37 -07:00
Mark Richins
ca6c98785a
Rename Twips2d.rs to twips_2d.rs
2022-11-23 20:45:37 -07:00
Mark Richins
331fd09953
Remove struct Twips from types.rs
2022-11-23 20:45:37 -07:00
Mark Richins
53df2bc8f5
add code to Twips2d.rs
...
TODO: redo comments
2022-11-23 20:45:37 -07:00
Mark Richins
db4031ccc5
Create Twips2d.rs
...
see issue #6973
2022-11-23 20:45:37 -07:00
Moulins
2fa3d31732
Appease Clippy on nightly
2022-11-23 22:39:45 +01:00
relrelb
c516fef65d
swf: Simplify read of `PlaceObject` tags
...
`tag_length` isn't really necessary since each tag is read using
a dedicated `swf::Reader`, which keeps track of the tag boundary
internally.
As a result, `tag_len` can be avoided passed around many times in
`movie_clip.rs`.
2022-11-08 00:05:41 +02:00
relrelb
89f3445d62
swf: Introduce and use `Rectangle::width()` and `Rectangle::height()`
2022-11-01 09:49:04 +02:00
relrelb
ee52ce3290
tests: Expand `read_push`
...
Test that invalid value types are ignored.
2022-10-29 22:26:34 +03:00
relrelb
c5f4f555bb
avm1: Ignore unknown value type in `ActionPush`
...
Newest Flash Player exits on unknown value types. However, older versions
(at least FP9) just ignore them and continue to the next value.
Follow the lenient behavior in order to support more content (e.g. #8389
doesn't work on newest Flash Player).
Fixes #8389 .
2022-10-29 22:26:34 +03:00
Aaron Hill
68471723b3
core: Fix clippy format string lint
2022-10-27 08:49:39 +03:00
relrelb
b0b0e55c24
swf: Extract read/write of filters to separate functions
...
Also unify the identical `GradientGlowFilter` and `GradientBevelFilter`
structs into `GradientFilter`.
2022-10-14 02:27:49 +03:00
relrelb
f5dcbb883e
swf: Extract filters to separate files
...
For better code organization.
2022-10-12 21:20:07 +03:00
EmperorBale
35c9597032
chore: Appease clippy
2022-10-10 12:48:35 -07:00
EmperorBale
5c9bf3ffc0
swf: Support SWZ files
2022-10-10 12:48:35 -07:00
relrelb
84533e278d
swf: De-duplicate code in `count_sbits_twips()`
...
Re-use `count_sbits()`, as already done in `count_fbits()`.
2022-10-09 14:18:50 +05:45
relrelb
2b9f0a6280
swf: Optimize `count_ubits()`
...
Use `u32::leading_zeros()` instead of manually counting bits.
2022-10-09 14:18:50 +05:45
relrelb
bf0ace0b88
chore: Appease clippy
2022-10-09 13:46:28 +05:45
Adrian Wielgosik
0f30278e48
Add missing comment
2022-10-04 20:02:14 +03:00
Adrian Wielgosik
52f7736436
swf: treat empty gradients as solid black color
2022-10-03 20:18:30 +02:00
relrelb
e1d01b0a5e
swf: Extract `Rectangle` to a separate file
...
And make it generic, as a first step towards making it a general-purpose
data structure for the whole codebase. Some potential replacements are:
* `BoundingBox` in `render/src/bounding_box.rs`.
* `BoxBounds` in `core/src/html/dimensions.rs`.
* Parameters to a bunch of `BitmapData` methods in
`core/src/bitmap/bitmap_data.rs`.
2022-09-25 10:37:56 +03:00