Commit Graph

118 Commits

Author SHA1 Message Date
Mike Welsh 223edb9bc1 core: Matrix translation is in twips 2020-02-26 12:47:47 -08:00
Mike Welsh c4c02260fb core: Implement keyUp event 2020-02-26 03:48:07 -08:00
Mike Welsh c620f95c4f chore: Expose lzma feature on targets 2020-02-26 00:47:15 -08:00
Mike Welsh 86ec2c6cb8 input: Add InputBackend::set_mouse_cursor. Change cursor on buttons
It doesn't feel like Flash without having the hand cursor display
when hovering over buttons. First pass at implementing this;
core communicates which mouse cursor to use via
`InputBackend::set_mouse_cursor`.

TODO: Hand cursor only displayed for Button display objects
currently. Movie clips should also display this when they are in
"button mode" (when a button mouse event is set on them in AVM1,
or `buttonMode` property in AVM2).
2020-02-25 02:50:26 -08:00
Mike Welsh 5315d059b9 desktop: Fetch from local filesystem for now 2020-02-24 01:49:28 -08:00
David Wendt 88b10f21c4 Implement an async executor for desktop so that these methods don't immediately panic. 2020-02-22 00:02:46 -05:00
David Wendt 33d26b9149 Shorten `Pin<Box<dyn Future<Output=Result<T,E>> + 'static>>` into `OwnedFuture<T,E>`.
This is technically stricter on `fetch` impls, but right now we can't support non-`'static` futures at all.
2020-02-22 00:02:45 -05:00
David Wendt c7539872f7 Add the ability to POST data from `fetch`, and allow methods that read AVM locals into form data to `GET` or `POST` them. 2020-02-21 23:58:00 -05:00
David Wendt f4e4171ebe Make spawned futures falliable, and report those errors. 2020-02-21 23:57:56 -05:00
David Wendt 55149b7b7e Reference count the Player and provide a weak reference in UpdateContext.
This allows the formation of `'static` futures that can still interact with a player. Async code will need to upgrade the weak reference in order to be able to interact with the player.
2020-02-21 23:44:06 -05:00
David Wendt 491d94c947 Pinbox all Futures.
Due to some strangeness with the way Rust implemented unsafe-to-move behavior, boxed futures are implicitly `Unpin`. Which is useless to us.

The reason for this is a little counter-intuitive. Actually, the fact that Rust supports memory pinning at all is a little odd, because the core language explicitly requires all types be movable. To get around this, Pin requires that all !Unpin types be *born pinned*. This is because you can't re-pin an already unpinned value in memory.

Anyway, this necessitates this silly API change.
2020-02-21 23:44:05 -05:00
David Wendt 00d25a768c Extremely basic impl of fetch/spawn methods for getting data off the web 2020-02-21 23:44:05 -05:00
Mike Welsh 432c605987 chore: Bump glutin/glium/winit to latest versions
Closes #371, #376.
2020-02-14 13:23:27 -08:00
dependabot-preview[bot] c7405d6bc0 build(deps): bump image from 0.22.4 to 0.23.0
Bumps [image](https://github.com/image-rs/image) from 0.22.4 to 0.23.0.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.22.4...v0.23.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 01:33:11 +00:00
dependabot-preview[bot] 580144d57b build(deps): bump structopt from 0.3.8 to 0.3.9
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.8 to 0.3.9.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.8...v0.3.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-01 11:05:33 +00:00
dependabot-preview[bot] fdc37ec44f build(deps): bump structopt from 0.3.7 to 0.3.8
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:24:58 +00:00
Nathan Adams 4ad6ef8b83 core: Implemented Key.getCode() 2020-01-17 15:11:38 -08:00
Nathan Adams f747caf30c desktop: Add swf filename to window title (closes #318) 2020-01-17 13:54:25 -08:00
dependabot-preview[bot] 89a0b82e6e build(deps): bump image from 0.22.3 to 0.22.4
Bumps [image](https://github.com/image-rs/image) from 0.22.3 to 0.22.4.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 19:16:45 +00:00
dependabot-preview[bot] 52607d4706 build(deps): bump url from 2.1.0 to 2.1.1
Bumps [url](https://github.com/servo/rust-url) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 10:41:41 -08:00
dependabot-preview[bot] 6ff9fd21e3 build(deps): bump lyon from 0.15.3 to 0.15.5
Bumps [lyon](https://github.com/nical/lyon) from 0.15.3 to 0.15.5.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 18:37:17 +00:00
Mike Welsh 4bf29f677f avm1: Implement Sound.duration
Add AudioBackend::get_sound_duration.
2020-01-03 17:11:00 -08:00
Mike Welsh d0142f1d67 audio: Add AudioBackend::stop_sound 2020-01-03 17:11:00 -08:00
dependabot-preview[bot] c966f9bf59 build(deps): bump winit from 0.20.0-alpha5 to 0.20.0-alpha6
Bumps [winit](https://github.com/rust-windowing/winit) from 0.20.0-alpha5 to 0.20.0-alpha6.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-04 00:02:22 +00:00
dependabot-preview[bot] b4a47e17da build(deps): bump generational-arena from 0.2.6 to 0.2.7
Bumps [generational-arena](https://github.com/fitzgen/generational-arena) from 0.2.6 to 0.2.7.
- [Release notes](https://github.com/fitzgen/generational-arena/releases)
- [Changelog](https://github.com/fitzgen/generational-arena/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fitzgen/generational-arena/compare/0.2.6...0.2.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-03 19:14:43 +00:00
dependabot-preview[bot] 861a4484a5 build(deps): bump structopt from 0.3.6 to 0.3.7
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.6...v0.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-29 23:10:17 +00:00
dependabot-preview[bot] 71ba4cb86e build(deps): bump lyon from 0.15.1 to 0.15.3
Bumps [lyon](https://github.com/nical/lyon) from 0.15.1 to 0.15.3.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-29 22:56:08 +00:00
Mike Welsh 7feddfcb03 desktop: Bump to lyon 0.15.2 (fix #196)
The new tessellator in lyon seems to fix many of the cases where
art would not tessellate correctly.
2019-12-27 17:21:48 -08:00
Mike Welsh 87158647d1 core: Implement keyPress button events 2019-12-24 03:06:03 -08:00
dependabot-preview[bot] 9211c7ac05 build(deps): bump structopt from 0.3.5 to 0.3.6
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.5...v0.3.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-22 22:54:14 +00:00
Nathan Adams 9000451d58 core: Implemented Mouse.show() & Mouse.hide() 2019-12-22 14:33:46 -08:00
Nathan Adams 3fd79a6982 chore: Rename GliumInputBackend -> WinitInputBackend 2019-12-21 19:08:06 -08:00
Nathan Adams 856a2f2910 desktop: Implemented glium based input handler for Key.isDown 2019-12-21 19:08:06 -08:00
Nathan Adams eedc4bbe24 core: Added Input backend, currently unimplemented, for polling user input 2019-12-21 19:08:06 -08:00
dependabot-preview[bot] f58827f3de build(deps): bump cpal from 0.10.0 to 0.11.0
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/rustaudio/cpal/releases)
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustaudio/cpal/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 18:31:40 +00:00
dependabot-preview[bot] 251fb01572 build(deps): bump jpeg-decoder from 0.1.17 to 0.1.18
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.17 to 0.1.18.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases)
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/image-rs/jpeg-decoder/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 18:21:42 +00:00
dependabot-preview[bot] 7fce29e006 build(deps): bump winit from 0.20.0-alpha4 to 0.20.0-alpha5
Bumps [winit](https://github.com/rust-windowing/winit) from 0.20.0-alpha4 to 0.20.0-alpha5.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 07:25:47 +00:00
dependabot-preview[bot] 86c0fa327b build(deps): bump jpeg-decoder from 0.1.16 to 0.1.17
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.16 to 0.1.17.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases)
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/image-rs/jpeg-decoder/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 17:39:42 +00:00
Mike Welsh 1a1cdfa757 desktop: Allow audio creation to fail
Switch to NullAudioBackend if CpalAudioBackend fails to initialize.
(This happens on my laptop which doesn't have an audio device!)
2019-11-30 20:08:34 -08:00
Nathan Adams d1b73582ce core: Add feature `avm_debug` that toggles tracing avm actions and stack history 2019-11-29 12:59:45 -08:00
dependabot-preview[bot] 112411aa7a build(deps): bump structopt from 0.3.4 to 0.3.5
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.4 to 0.3.5.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.4...v0.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 10:53:04 +00:00
dependabot-preview[bot] 7382d19b63 build(deps): bump image from 0.21.3 to 0.22.3
Bumps [image](https://github.com/image-rs/image) from 0.21.3 to 0.22.3.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.21.3...v0.22.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 17:16:50 +00:00
dependabot-preview[bot] 24009d4f4a build(deps): bump structopt from 0.2.18 to 0.3.4
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.2.18 to 0.3.4.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.2.18...v0.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 19:01:18 +00:00
dependabot-preview[bot] 0e8d86a419 build(deps): bump env_logger from 0.6.2 to 0.7.1
Bumps [env_logger](https://github.com/sebasmagri/env_logger) from 0.6.2 to 0.7.1.
- [Release notes](https://github.com/sebasmagri/env_logger/releases)
- [Changelog](https://github.com/sebasmagri/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebasmagri/env_logger/compare/v0.6.2...v0.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 18:49:16 +00:00
Mike Welsh a205586332 chore: Bump lyon to 0.14.2, fix #77 2019-11-18 15:49:28 -08:00
Mike Welsh 07cc28dc9d desktop: Resize window to match movie dimensions 2019-11-18 18:33:54 -05:00
Mike Welsh 70a3096dbb desktop: Use ControlFlow::WaitUntil in winit 0.20
Fix frame timing with to prevent busy-waiting with the new control
flow behavior in winit 0.20.
2019-11-18 18:33:54 -05:00
Mike Welsh 6178dd9ef1 desktop: Fix Windows audio initialization due to winit changes
The Windows build was erroring immediately when trying to
initialize cpal because of changes in winit 0.20:

https://github.com/RustAudio/cpal/pull/348

Moved the cpal initialization to a separate thread to work around
this issue.
2019-11-18 18:33:54 -05:00
Mike Welsh 09b6c086d6 chore: Squelch unneeded_filed_pattern warning 2019-11-17 17:36:21 -05:00
Mike Welsh 63b5587762 chore: Bump glium to 0.26-alpha5 2019-11-17 17:36:21 -05:00