Nathan Adams
f55147d7c3
core: Override render_bounds_with_transform in Avm2Button
2023-08-11 11:23:03 +02:00
Nathan Adams
f7bc92366b
core: Don't invalidate self when mask changes
2023-08-11 11:23:03 +02:00
Nathan Adams
a9c5bdfbab
core: Better handle scroll_rect and/or masks with cacheAsBitmap
2023-08-11 11:23:03 +02:00
Adrian Wielgosik
f75b36a32a
core: Remove lots of uses of derive(Collect)
2023-08-04 21:43:18 +02:00
Aaron Hill
583caa3389
avm2: Implement DisplayObject.blendShader ( #12238 )
2023-07-26 23:25:26 +00:00
CUB3D
7346f9f6cb
avm1: Differentiate between clips with no name set and empty string names
2023-07-25 08:25:37 +02:00
Nathan Adams
289f73c85f
core: Add pixel snapping (default auto) to Bitmaps, and force it for cacheAsBitmap
2023-07-22 00:34:17 +02:00
nosamu
2ee127ccb6
core: Fix cacheAsBitmap size limit & remove print statement
2023-07-21 09:22:12 +02:00
Nathan Adams
67c33ef9c3
core: Disable cacheAsBitmap for swfs that are too large (depending on swf version)
2023-07-20 23:19:20 +02:00
Nathan Adams
b201e19cc7
wgpu: Don't create an extra fresh texture for applying filters to a CAB
2023-07-20 23:19:20 +02:00
Nathan Adams
e66f2397b5
core: Avoid some work in render_base if we're not cacheAsBitmap
2023-07-20 23:19:20 +02:00
Nathan Adams
f030680084
core: Don't invalidate self on changing blend mode
2023-07-20 23:19:20 +02:00
Nathan Adams
b6a8e0a471
core: Don't invalidate self on changing visibility
2023-07-20 23:19:20 +02:00
Nathan Adams
1fd8ca7bad
core: Reduce the amount of false-invalidations
2023-07-20 23:19:20 +02:00
michiel2005
8834b3b42b
Added changes as Adrian recommended
2023-07-14 16:51:07 -06:00
michiel2005
8141e7b54c
avm1: fix buttons that were not clickable after a goto
2023-07-14 16:51:07 -06:00
Nathan Adams
f150a32d86
core: Only scale filters with stage view matrix
2023-07-12 18:51:11 +02:00
Nathan Adams
30e7a1eac6
core: Account for filter size changes when drawing cacheAsBitmaps
2023-07-12 18:51:11 +02:00
Nathan Adams
d721072825
core: Extract DrawCacheInfo type from big tuple inside render_base
2023-07-12 18:51:11 +02:00
nosamu
17df97a59a
core: Fix panic from oversized bitmap warning
...
And warn only once per bitmap
2023-07-11 22:02:35 +02:00
Adrian Wielgosik
ffc6e2ffdc
core: Mark stack-heavy DO functions as noinline
2023-07-10 11:32:50 +02:00
Aaron Hill
61c50e636a
avm2: Convert `has_class_in_chain` to use a `GcCell<Class>` ( #11494 )
2023-07-07 16:22:38 -04:00
Nathan Adams
146d565c02
render: Add Filter::scale() and use it to scale filter values (currently just blur_)
2023-07-03 20:13:40 +02:00
Nathan Adams
a5915a9bdb
swf: Make Color Copy
2023-06-29 20:32:36 +02:00
Nathan Adams
628d8f66ad
render: Add filters to BitmapCacheEntry
2023-06-25 21:58:46 +02:00
MrCheeze
1baccb483a
core: Apply filters when modifying an object, not just when instantiating
2023-06-24 17:22:32 +02:00
Nathan Adams
6d77ff1fc4
core: Store just abcd fields of Matrix inside BitmapCache, as we don't use tx/ty
2023-06-24 01:42:04 +02:00
Nathan Adams
4f9cc4e3c4
core: Clear this on scrollRect, not just ancestors
2023-06-24 01:42:04 +02:00
Nathan Adams
668cc31fa4
chore: Comment changes regarding cacheAsBitmap
2023-06-24 01:42:04 +02:00
Nathan Adams
a5b28b50bf
core: Don't invalidate things more than once per frame, to avoid repeat walking of the DO tree
2023-06-24 01:42:04 +02:00
Nathan Adams
cdb0774642
core: Hook up DisplayObject::opaque_background
2023-06-24 01:42:04 +02:00
Nathan Adams
d94c73cebe
core: Rename bitmap cache methods and make clear which one is preference and which one is actual
2023-06-24 01:42:04 +02:00
Nathan Adams
9795fc9311
core: Invalidate ancestors on scrollRect changes
2023-06-24 01:42:04 +02:00
Nathan Adams
f81b1f83b9
core: Fix panic in recursive set_maskee/set_masker
2023-06-24 01:42:04 +02:00
Nathan Adams
1a9bec3062
core: Don't use cacheAsBitmap when bitmapdata.draw() as it'll keep reinvalidating it
2023-06-24 01:42:04 +02:00
Nathan Adams
f43560ab88
render: Switch to providing cacheAsBitmap entries all at once on submit frame
2023-06-24 01:42:04 +02:00
Nathan Adams
2594453831
render: Add render_offscreen_for_cache for more optimised CacheAsBitmap
2023-06-24 01:42:04 +02:00
Nathan Adams
5a67b2dcb7
core: Don't rerender cacheAsBitmap if the color transform changes (unlike Flash - but it should be fine!)
2023-06-24 01:42:04 +02:00
Nathan Adams
cc8edb3bf1
core: Invalidate cacheAsBitmap when various more properties change
2023-06-24 01:42:04 +02:00
Nathan Adams
27db3e70b4
core: Invalidate cacheAsBitmap when transform changes
2023-06-24 01:42:04 +02:00
Nathan Adams
fe742194b1
core: Implement cacheAsBitmap behaviour
2023-06-24 01:42:04 +02:00
Nathan Adams
0523a5b149
core: Remove UpdateContext param from DisplayObject::avm2_root()
2023-06-21 18:27:12 +02:00
Nathan Adams
6208c50273
core: Simplify TDisplayObject::swf_version(), we don't need to iterate the heirarchy
2023-06-17 10:37:13 +02:00
Nathan Adams
e12e2a2e54
core: Initial Debug UI
2023-06-03 09:11:06 +02:00
Nathan Adams
aeb089ac0f
avm2: Move DisplayObject assignment into an initializer
2023-05-26 22:06:20 -05:00
Aaron Hill
9fad8ddd9d
core: Fix nightly clippy lints
2023-05-26 17:06:28 -05:00
Aaron Hill
6025878aab
avm2: Respect SKIP_INVISIBLE for DisplayObject
...
Previously, we allowed mouse picks of certain invisible
DisplayObjects, even when HitTestOptions::SKIP_INVISIBLE
was set.
2023-05-19 08:12:00 -05:00
relrelb
e5808b14a8
core: Use `Twips` in `DisplayObject::{,set_}{x,y}`
...
Instead of `f64`.
2023-04-28 11:55:33 +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
Aaron Hill
15af946cf1
avm2: Stop after first frame when movieclip doesn't extend MovieClip
...
It's possible to have a DefineSprite tag with multiple frames,
but with a corresponding SymbolClass that directly extends
`Sprite` (and therefore does *not* extend `MovieClip`). When this
happens, Flash Player stops after the first frame.
2023-04-23 16:48:38 -05:00