relrelb
19662503ca
swf: Convert ButtonActionCondition to bitflags
2021-01-23 11:59:24 -08:00
relrelb
7f4845d777
swf: Convert ButtonState to bitflags
2021-01-23 11:59:24 -08:00
relrelb
b05c6540e1
chore: Migrate from enumset to bitflags
2021-01-21 16:35:46 -08:00
Mike Welsh
2254589e71
swf: Don't error on focal gradients in DefineShape tags ( fix #2730 )
2021-01-21 15:47:04 -08:00
Mike Welsh
66256dd3be
swf: SwfStr no longer contains encoding
...
SwfStr is now an unsized slice analogous to `str` or `bstr`.
The desired encoding must be supplied when converting to String.
2021-01-20 15:02:31 -08:00
Mike Welsh
700c3c1767
chore: Appease clippy
2021-01-20 15:02:31 -08:00
Mike Welsh
c063264d1c
swf: Use bitstream_io
2021-01-20 15:02:31 -08:00
Mike Welsh
61628a74fc
swf: Rename and organize some util methods
...
* SwfRead -> SwfReadExt
* SwfWrite -> SwfWriteExt
* read_swf_header -> decompress_swf
* read_swf -> parse_swf
2021-01-20 15:02:31 -08:00
Mike Welsh
1d9c11e145
swf: Add SwfStr type to handle encodings in SWF<6
2021-01-20 15:02:31 -08:00
Mike Welsh
19034b76e4
swf: Return slices in swf::Reader
...
Avoid copies by returning slices of the decompressed input.
2021-01-20 15:02:31 -08:00
Mike Welsh
bf94f5dbaa
swf: Split out bit i/o into SwfBitsReader/Writer types
2021-01-20 15:02:31 -08:00
MrCheeze
5915f2a841
core: Return uncompressed length for getBytesLoaded/Total
2021-01-09 14:29:19 -08:00
Mike Welsh
7cf217a911
swf: Use lzma-rs for LZMA SWFs ( fix #405 )
...
Pure Rust decoder that functions on desktop and wasm.
Enable lzma feature by default.
TODO: Switch to lzma-rs streaming API when stable on crates.io.
Currently decodes entire stream at once.
2020-12-17 16:40:21 -08:00
Mike Welsh
eb0b16790c
swf: Allow construct clip events in SWFv6
2020-11-22 19:34:29 -08:00
relrelb
083e2a2ff5
core: Implement getBytes{Loaded,Total} (simpler approach)
2020-10-23 13:13:00 -07:00
relrelb
14a71b69cc
core: Implement getBytes{Loaded,Total}
2020-10-23 13:13:00 -07:00
Mike Welsh
ed99a15dee
swf: Fill styles are byte aligned
...
A bitmap fill style ends in a matrix, but the overall type should
still be byte aligned. This could cause certain shapes with bitmap
line styles to be incorrectly parsed. Fixes #1192 .
2020-10-10 16:35:37 -07:00
Luca Weiss
d5cb396331
*: fix spelling mistakes
2020-09-19 16:17:58 -07:00
Mike Welsh
5ea06b0ce6
swf: Use Option for more PlaceObject parameters
...
There is a difference between empty/default (change value to default)
and none (don't modify), so make this explicit for some PlaceObject
parameters where it wasn't.
Fixes #1104 .
2020-09-03 19:09:48 -07:00
Nathan Adams
eda862c719
swf: Merged core::Matrix into swf::Matrix
2020-05-20 14:54:41 +02:00
Mike Welsh
081f6a556a
swf: Avoid undefined behavior in write_fbits
2020-05-13 02:41:50 -07:00
Mike Welsh
deef891c30
swf: Don't error if both libflate and flate2 features are enabled
...
Fixes errors I was getting from rust-analyzer checking with all
features enabled.
2020-05-13 00:16:50 -07:00
David Wendt
63b7d172f4
`TextRecord.height` is also in `Twips`.
...
Notably, the `Text` rendering code does not appear to actually work in pixel scale.
2020-02-03 14:46:34 -05:00
David Wendt
fde7715fb8
`EditText.height` is in `Twips`
2020-02-03 14:46:33 -05:00
Mike Welsh
bc872cbf9c
swf: Clean up DefineButtonCxform tag
2019-12-20 19:20:25 -08:00
Mike Welsh
4cb2cefc5b
swf: Switch depth to u16
2019-12-17 02:48:55 -08:00
Mike Welsh
24d8fa6298
swf: Add public method for read_export_assets
2019-12-16 19:32:34 -08:00
Mike Welsh
da13b36e47
swf: Use EnumSet for ClipEventFlag
2019-12-15 19:00:16 -08:00
Mike Welsh
1ab5211bfe
swf: Fix compiling with lzma feature
2019-10-11 23:18:57 -07:00
Mike Welsh
1b7449e651
swf: Fix reading DefineMorphShape gradient flags
...
The interpolation and spread modes of morph shape gradients were
not being properly parsed. Fixed this and cleaned up some of the
gradient parsing code.
2019-10-10 21:52:41 -07:00
Mike Welsh
657a0baec0
swf: Fix incorrect parsing of DefineFont2/3 with device fonts
2019-10-10 21:52:41 -07:00
Mike Welsh
3058b88011
swf: Add custom error type for SWF/AVM1 parse errors
...
Improves the error handling for the swf crate:
* Custom swf::error::Error type added to handle various errors
in SWF parsing.
* Invalid parsing of tags/AVM1 ops results in a Error::ParseError
that can include info about the underlying failure.
* Implement Display for these errors. Output descriptive
names for the tag/opcode when it fails to parse.
* Handle out of bounds reads in avm1::Reader::read_slice.
Previously this would panic, now it returns an io::Error.
Closes #85 .
2019-10-10 00:55:09 -07:00
Mike Welsh
0de44d61b3
Merge swf-rs into ruffle repo
...
git-subtree-dir: swf
git-subtree-mainline: 2740f3ccc1
git-subtree-split: 1b04015326
2019-10-02 17:25:30 -07:00