Simon Hausmann
5b90f3edf5
Unmap the window after running the component
...
This gives a timing wise clearly controlled shutdown of the GL context.
2020-08-11 13:27:31 +02:00
Olivier Goffart
571e74d2ce
Handle Touch event
2020-08-06 11:41:49 +02:00
Simon Hausmann
5dfb9aa875
Fix initialize size of printer demo
...
Map it to 800x600 logical pixels for a better initial look.
This implements respecting the initial values for width/height and tries
to apply them to the window begin created.
The PinnedOptionalProp wrapper is needed because while cbindgen mapped
the previous Option<&...> to a raw pointer, the new Option<Pin<&...>> is
not detected as a pointer.
2020-08-05 13:22:53 +02:00
Olivier Goffart
1741b90b4e
Implement a SIXTYFPS_SLOW_ANIMATIONS env variable
...
that can be set to a factor to reduce the speed of animations
2020-08-05 13:21:29 +02:00
Simon Hausmann
0f1b1fd0db
Fix initial value of the scale factor window property
...
We need to initialize it property once we have a platform window.
2020-08-05 10:49:53 +02:00
Simon Hausmann
4f0bf0b982
Rename dpi to (window) scale_factor
2020-08-04 09:01:30 +02:00
Simon Hausmann
9b13b363c3
Move corelib::abi::properties to corelib::properties
...
And the bits that are only there for the C binding are now in an ffi sub-module.
2020-08-03 17:32:28 +02:00
Simon Hausmann
76adda0abd
Move ComponentWindow and friends from datastructures into eventloop
2020-08-03 14:26:47 +02:00
Simon Hausmann
37fa04098f
Move MouseEvent and MouseEventType from datastructures into input
2020-08-03 13:55:33 +02:00
Simon Hausmann
fa87363dc5
Move Point, Rect and Size into graphics
...
And move the expanded structures for cbindgen into an ffi sub-module.
2020-08-03 13:24:39 +02:00
Olivier Goffart
9760cf4969
Begin to implement a Flickable
...
The implementation is still very rough and will need to be improved
2020-07-30 14:36:21 +02:00
Simon Hausmann
c847a7b924
Fix values of width/height properties on initial show on macOS
2020-07-28 14:45:17 +02:00
Olivier Goffart
96a2efcb93
Only recompute the layout when needed
2020-07-28 10:43:06 +02:00
Olivier Goffart
dfd4a35e35
Set the DPI property according to the window's screen
2020-07-15 18:46:55 +02:00
Simon Hausmann
ddc4fb6e1f
WIP: window size
...
Just playing around with propagating the width/height of the window.
2020-07-15 17:52:14 +02:00
Olivier Goffart
90ed79e39f
Remove unused code in the animation driver
2020-07-02 17:36:34 +02:00
Olivier Goffart
9d852f802e
Property refactoring
...
The tests are working and everything seems to be back normal.
But there is still some cleanup required
2020-07-02 14:14:49 +02:00
Simon Hausmann
fb74a8ddd4
Fix animations for the wasm build
...
Use the instant crate that has a transparent fall-back to performance.now().
2020-06-25 09:07:04 +02:00
Olivier Goffart
caca0d0ba4
Put the component in a Pin<>
...
Removed the drop and create from the ComponentVTable:
since we are not using VBox<ComponentVTable>, this simplifies a bit
the code of the interpreter and everything else.
But there is still a lot of changes everywhere to support that the Component
is pinned.
This is just for the component. Which would be required if later we want
to access the properties as Pin<Property<_>>. But we have not yet ability
to do projections
2020-06-24 14:13:27 +02:00
Simon Hausmann
d99972a77a
Simplify animation driver handling
...
Instead of passing it through the event loop, make it accessible as a
thread local variable.
2020-06-23 13:03:35 +02:00
Simon Hausmann
f98b18d327
Fix animation integration into the event loop
...
* Allow closing the window even when animations are still running (*facepalm*)
* Remember to update animations with each frame (*facepalm again*)
2020-06-20 16:24:17 +02:00
Simon Hausmann
072bff1871
Introduce the animation driver in the event loop
...
This re-applies commit 1ef269305e
but with
an Rc<RefCell<>> to make the borrow checker happy :-)
2020-06-20 16:24:17 +02:00
Simon Hausmann
8f613685ba
Expose a ComponentWindow in C++
...
This paves a way for a more modular API.
2020-06-17 19:15:18 +02:00
Simon Hausmann
d78c93bfee
Revert "Integrate the animation driver into the event loop"
...
This reverts commit 1ef269305e
. Breaks the
wasm build, to be fixed later.
2020-06-17 18:58:32 +02:00
Simon Hausmann
1ef269305e
Integrate the animation driver into the event loop
2020-06-17 15:16:46 +02:00
Simon Hausmann
85bf8a195a
Improve EventLoop encapsulation
...
Hide the winit loop and extract it only in the GL renderer
2020-06-17 15:16:46 +02:00
Simon Hausmann
e1455ff4ce
Move fn eventloop::run into the eventloop::EventLoop impl
2020-06-17 10:18:36 +02:00
Simon Hausmann
5711f25195
Newtype'ify the event loop
...
That way it'll be easier to introduce a user event later and control the
public API.
2020-06-17 10:15:03 +02:00
Simon Hausmann
4922364c46
Cleanup: move the event loop code into a separate module
2020-06-16 16:26:52 +02:00