Commit Graph

5413 Commits

Author SHA1 Message Date
Mike Welsh 637588fae5 core: Store view matrix in player
Player is now in charge of scaling/cropping/translating the content
to fit the viewport size supplied by the frontend.

Added backend::render::Letterbox, which stores the margin sizes
for letter/pillarboxing.
2019-08-19 22:27:38 -07:00
Mike Welsh f3f4fa6179 web: Add mouse up/down/move handlers 2019-08-19 22:27:38 -07:00
Mike Welsh 8be9b9089b avm1: Stub out StartDrag/EndDrag 2019-08-19 22:27:38 -07:00
Mike Welsh ff74409d20 core: Tick audio backend each frame 2019-08-19 22:27:38 -07:00
Mike Welsh 7922aca921 core: Mouse pick in top-to-bottom order 2019-08-19 22:27:38 -07:00
Mike Welsh 59c9385cb7 core: Collect GC debt at the end of each frame 2019-08-19 22:27:38 -07:00
Mike Welsh 0143d9716e core: Button work 2019-08-19 22:27:38 -07:00
Mike Welsh 91a0272773 avm1: Log errors/unimplemented actions 2019-08-19 22:27:38 -07:00
Mike Welsh 9d962fd634 core: Improve button support 2019-08-19 22:27:38 -07:00
Mike Welsh d8ddf78bdc avm1: Implement _rotation and improve SetProperty
Implement _rotation and add SetProperty/GetProperty for these
values.
2019-08-19 22:27:38 -07:00
Mike Welsh 017cd563dc avm1: Implement ActionPush for constant pool vals 2019-08-19 22:27:38 -07:00
Mike Welsh e890ad33e6 avm1: Allow String for ActionGotoFrame2 2019-08-19 22:27:38 -07:00
Mike Welsh fe086c11ff core: Store clip frame labels
Bump swf-rs revision to allow for read_frame_label calls.
Also fix read_place_object to take an explicit length.
2019-08-19 22:27:38 -07:00
Mike Welsh 7e1b1e0357 avm1: Adjust for Twips in GetProperty/SetProperty 2019-08-19 22:27:38 -07:00
Mike Welsh 6c923930e6 avm1: Stub out ActionSetProperty
Rough impl of ActionSetProperty action. Not all properties
implemented. Add DisplayObject::matrix_mut.
2019-08-19 22:27:38 -07:00
Mike Welsh 0ab20e01c1 Add dyn 2019-08-19 22:27:38 -07:00
Mike Welsh 20ec170552 avm1: Implement GetVariable/SetVariable 2019-08-19 22:27:38 -07:00
Mike Welsh ecd9b18e90 core: Squelch warning in Button 2019-08-19 22:27:37 -07:00
Mike Welsh 1b86162bf1 avm1: Fix warning in SetTarget 2019-08-19 22:27:37 -07:00
Mike Welsh 49cc48d2d1 core: Run actions after a goto 2019-08-19 22:27:37 -07:00
Mike Welsh ce606cece8 core: Re-enable AVM1 2019-08-19 22:27:37 -07:00
Mike Welsh 5bba546a53 core: Add BoundingBox calculations
TODO: Add dirty flag and cache matrices.
2019-08-19 17:29:55 -07:00
Mike Welsh 2c4639eb6c core: Add BoundingBox and static data to Graphic
Add BoundingBox, which will store the AABB of dispaly objects.
Added static_data to Graphic, which is a reference to constant data
shared between each instance of a specific graphic. Currently
holds the render handle, bounding box, and character ID.
2019-08-19 17:29:55 -07:00
Mike Welsh 2c7e3c835f core: Add parent to DisplayObjectBase 2019-08-19 17:29:55 -07:00
Mike Welsh 7005dd7621 web: Remove debug spew in web renderer 2019-08-19 17:29:08 -07:00
Mike Welsh e788381200 Update cargo.toml to point to new repo URL 2019-08-18 16:34:44 -07:00
Mike Welsh e11a8d416e Merge branch 'ruffle' 2019-08-18 16:30:58 -07:00
Mike Welsh 937acf018e
Merge pull request #5 from OmarShehata/master
Add runnable examples, and fix zlib writing with libflate
2019-08-18 16:24:30 -07:00
Omar Shehata f4d79b7b35 Fix indentation 2019-08-18 17:46:57 -04:00
Omar Shehata 27a0368897 Add runnable examples for reading & writing 2019-08-18 17:44:32 -04:00
Omar Shehata 418b46ebbc Make sure Zlib finishes encoding before returning 2019-08-18 17:40:51 -04:00
Mike Welsh d0413da381 web: Set preserveAspectRatio to none on SVGs
Firefox would fudge with the dimensions of the SVG when we tried
to draw a scaled SVG to the canvas. Disabling preserveAspectRatio
prevents that. Fixes part of #24.
2019-08-18 13:44:44 -07:00
Mike Welsh fecb981b13 web: Fix color transforms in Firefox
Firefox required the color matrix filter to be inside and <svg>
tag. Also, set color-interpolation-filters to sRGB to ensure
color transforms match Flash's output.
2019-08-18 13:18:22 -07:00
David Pendray cca9c8e6f3 Update README.md
Fix links to licences
2019-08-18 08:13:16 -07:00
Mike Welsh 39f1853440 core: Bump swf-rs revision to support ProductInfo
swf-rs now reads ProductInfo and DebugId SWF tags. These are not
documented by SWF19.

See: http://wahlers.com.br/claus/blog/undocumented-swf-tags-written-by-mxmlc/

Fixes #20.
2019-08-16 10:03:16 -07:00
Mike Welsh 07eb5bb8e8 Implement DebugId tag 2019-08-16 09:56:49 -07:00
Mike Welsh 874759b84a Implement ProductInfo tag 2019-08-16 09:50:54 -07:00
Mike Welsh cc2a0c01d7 Use explicit tag length when reading PlaceObject 2019-08-15 17:39:47 -07:00
Mike Welsh 876d4956fe Fix inclusive range warnings in Rust 1.37 2019-08-15 16:44:54 -07:00
Mike Welsh 1d558d8604 Fix dyn warnings in Rust 1.37 2019-08-15 16:42:53 -07:00
Mike Welsh 50a37ee148 Make read_frame_label public 2019-08-15 16:39:24 -07:00
Mike Welsh 2535ef3635 ci: Roll back Rust image to 1.36 2019-08-15 14:01:04 -07:00
Mike Welsh 483dea2370 ci: Bump Rust to 1.37 2019-08-15 13:54:20 -07:00
Mike Welsh 4666d211a7 core: Add dyn to fix Rust 1.37 warnings
Omitting dyn on trait objects now emits a warning, so add missing
dyn where necessary.
2019-08-15 13:54:20 -07:00
Mike Welsh 72307e981f web: Update demo style 2019-08-15 07:15:37 -07:00
Mike Welsh b9995a6456 Merge branch 'master' of https://github.com/ruffle-rs/ruffle 2019-08-15 07:06:16 -07:00
Mike Welsh 8fe22d09c3
docs: README.md grammar 2019-08-15 05:58:18 -07:00
Mike Welsh e8c4aa95c3
docs: Update README.md
Add discord links and project status.
2019-08-15 05:57:26 -07:00
Mike Welsh 4c6395bd83 core: Use latest git branch for jpeg-decoder
The current version of jpeg-decoder on crates.io (0.1.15) panics
when encountering a valid JPEG marker of length 2. Some SWF files
contained JPEGs with a COM segment of length 2. This is fixed
on the master branch of jpeg-decoder.
2019-08-14 23:19:10 -07:00
Mike Welsh 746b9d8518 core: Support for DefineBitsJPEG3/4
TODO: Pull out all JPEG decoding into core, remove jpeg-decoder
dependency from backend crates.
2019-08-12 16:44:49 -07:00