Commit Graph

358 Commits

Author SHA1 Message Date
Nathan Adams da090f0bd7 render: Move filter size calculation from wgpu to render/swf 2023-08-12 13:00:27 +02:00
Nathan Adams d35b2b8b84 core: Inform Bitmaps to invalidate, if their backing BitmapDatas change 2023-08-12 11:56:18 +02:00
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