Nathan Adams
ab27c8b4ee
render: Calculate correct bounds for shapes containing curves
2023-08-02 18:43:33 +02:00
Aaron Hill
f22bef99b4
core: Fix some Clippy lints on the latest nightly
2023-07-04 20:50:46 +02:00
iwannabethedev
8cd5414c5d
Fix overflow bug in `shape_utils::winding_number_line()`
2023-05-17 07:21:13 +03:00
relrelb
4a26ceb14b
render: Use `swf::Point<Twips>` in more places
2023-05-14 22:48:41 +03:00
relrelb
220f8cd1cf
render: Use `swf::Point<Twips>` in `shape_hit_test()`
2023-05-14 22:48:41 +03:00
relrelb
25a1d53f72
render: Use `swf::Point<Twips>` in `calculate_shape_bounds()`
2023-05-14 22:48:41 +03:00
relrelb
598c8cde0e
render: Use `swf::Point<Twips>` in `DrawCommand::CurveTo`
2023-05-14 22:48:41 +03:00
relrelb
544e445d2f
render: Use `swf::Point<Twips>` in `DrawCommand::LineTo`
2023-05-14 22:48:41 +03:00
relrelb
e5c7d70f3f
render: Use `swf::Point<Twips>` in `DrawCommand::MoveTo`
2023-05-14 22:48:41 +03:00
relrelb
660acac427
swf: Use `PointDelta<Twips>` in `ShapeRecord`
2023-05-11 08:55:44 +03:00
relrelb
b93a32af0f
swf: Use `Point<Twips>` in `StyleChangeData::move_to`
...
No functionality change.
2023-05-11 08:55:44 +03:00
Mike Welsh
1d12fc6169
render: Fix types depending on `tessellator` feature
2023-03-22 20:30:39 +01:00
Nathan Adams
bc9e1d7c14
swf: Rename HAS_FILL_WINDING_RULE to NON_ZERO_WINDING_RULE
2023-03-18 19:14:08 -07:00
Nathan Adams
6987c81623
render: Respect HAS_FILL_WINDING_RULE
2023-03-18 19:14:08 -07:00
Nathan Adams
e7b812c2cd
render: Glyphs are assumed to have HAS_FILL_WINDING_RULE
2023-03-18 19:14:08 -07:00
relrelb
83c15b8033
render: Replace `BoundingBox` with `swf::Rectangle`
2023-03-04 21:54:23 +02:00
Nathan Adams
f5a587ce61
render: Better error message when points is empty
2023-01-10 11:10:46 +01:00
Nathan Adams
85f0c9dde9
render: Replaced unwrap with expect in shape_utils
2023-01-10 11:10:46 +01:00
Nathan Adams
8f684d6943
render: Removed unwrap/panic when working with empty shapes
2023-01-10 11:10:46 +01: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
relrelb
9d4ab37ef6
core: Replace consecutive `push`es with `extend`
...
This should be slightly more efficient.
2022-09-22 03:00:02 +03:00
relrelb
fb39bb2b71
swf: Remove `Copy` from `Rectangle`
...
Use `.clone()` explicitly where needed.
2022-09-02 18:21:13 -07:00
relrelb
299da43c16
swf: Extract `ShapeFlag`
2022-09-02 18:21:13 -07:00
Mike Welsh
c17da6e91a
core: Fix some issues with `hitTest`
...
Fixes some issues with our winding # calculation which would cause
incorrect results for hitTest.
* The convention for handling an intersection at endpoints was
not the same between lines and bezier curves.
* The bezier curve winding # function was not properly handling
some cases where the curve was strictly y-monotonic.
* Simplify the code a bit so that ray-curve intersections are
returned in a consistent order based on upward/downward crossing.
2022-09-02 14:51:46 -07:00
Aaron Hill
fa0c843a4d
avm2: Implement DisplayObject.scrollRect
...
This property causes a DisplayObject to be both translated
and cropped.
2022-08-26 13:04:01 -07:00
Nathan Adams
35082b687f
render: Moved shape_utils from core to render
2022-08-14 18:38:14 -07:00