Commit graph

5126 commits

Author SHA1 Message Date
Simon Hausmann
932ac8e2a7 Avoid the use of glutin in the event loop itself
Replace the re-exports with winit types.
2020-05-11 10:56:33 +02:00
Simon Hausmann
e4ce0bcd7e Prepare for exposing the rendering backend to C
... by building a cdylib.
2020-05-11 10:56:33 +02:00
Simon Hausmann
4a90c08bd4 Minor cleanup
Replace winit re-exports from glutin with a direct winit dependency.
This is done to prepare for moving the code into the core library that may depend on winit but not glutin.
2020-05-11 10:56:33 +02:00
Simon Hausmann
5a3ad60ad4 Ignore more generated files
... including the cmake build directory
2020-05-11 10:56:33 +02:00
Simon Hausmann
5953b10e1c Ensure the runtime library is up-to-date before linking the binary 2020-05-11 10:56:33 +02:00
Olivier Goffart
1673f12652 Implement for loop in the parser
Not yet implemented in the object tree
2020-05-11 10:46:42 +02:00
Olivier Goffart
bd039be10c Introduce the datastructure to allow models and repeater 2020-05-11 10:10:25 +02:00
Olivier Goffart
cc170d1d76 More comments 2020-05-11 09:00:21 +02:00
Simon Hausmann
27aca08392 Ignore some generated files
* What's in generated/ is ... generated.
* .cargo/config may contain local changes - we don't need to track
  that for now.
2020-05-11 08:59:39 +02:00
Simon Hausmann
35831c57c7 Use glow without glutin
We don't need the dependency for glow
2020-05-09 14:29:07 +02:00
Simon Hausmann
8843f655eb Reduce the binary size
Only use the png loader from image
2020-05-07 21:02:46 +02:00
Simon Hausmann
50b7b753e8 Minor GL renderer cleanups
Rename GLVertexBuffer to GLArrayBuffer, as that's what it is. Also added TODO
issue reference.
2020-05-07 20:50:01 +02:00
Simon Hausmann
f55c4e50f0 Track the issue of keeping the GL context current 2020-05-07 20:42:28 +02:00
Simon Hausmann
3d1df6178e Track the issue of releaseing GL resources 2020-05-07 20:38:10 +02:00
Simon Hausmann
dd7d2c6dda Fix build on macOS
* Enable C++17 by default (we could do with less also... but the
  compiler does not default to C++11 at least)
* Replace the .so shared library extension with the cmake variable
  that handles different platforms
2020-05-07 15:18:10 +02:00
Simon Hausmann
c67b688a9e Add README that explains how to try the wasm build 2020-05-07 15:07:29 +02:00
Simon Hausmann
9d3fb8a1a1 Enable the WASM build in the CI 2020-05-07 15:07:29 +02:00
Simon Hausmann
cf37242952 Implement image rendering with glow 2020-05-07 15:07:29 +02:00
Simon Hausmann
14f807ac21 Implement path filling with glow 2020-05-07 15:07:29 +02:00
Simon Hausmann
12626472c4 Fix wasm build
Get rid of the glutin dependency in the GL renderer -- the caller is now responsible for swapping buffers.
2020-05-07 15:07:29 +02:00
Simon Hausmann
e0b024d2cf Some work towards implementing the gl renderer
... in plain GL(ow). swapbuffers and clearing the color buffer is working.
2020-05-07 15:07:29 +02:00
Simon Hausmann
da57d6be04 Start the switch to glow, comment out all renderer code 2020-05-07 15:07:29 +02:00
Olivier Goffart
a9690a2fa3 Add a bunch of comments 2020-05-07 14:39:54 +02:00
Olivier Goffart
0398a221d2 Add a visitor to visit the items of a component 2020-05-07 12:11:01 +02:00
Olivier Goffart
e01de2e0ff Add a item visitor 2020-05-07 11:44:17 +02:00
Olivier Goffart
2f16517291 Put the CompoentType inside the class in the generated code
and start working on safe wrapper
2020-05-07 10:36:23 +02:00
Olivier Goffart
bdaf14ae23 Parse numbers 2020-05-07 09:06:58 +02:00
Olivier Goffart
ecf1599d35 Silent warnings 2020-05-07 08:20:44 +02:00
Olivier Goffart
a0d9369336 Add a crate to compute the field offsets as const fn 2020-05-06 20:58:10 +02:00
Olivier Goffart
b128a848e2 Parse quoted string 2020-05-06 18:24:30 +02:00
Olivier Goffart
05624c68ee Add some properties in the Rectangle 2020-05-06 17:53:42 +02:00
Olivier Goffart
3a541ec1eb Handle children elements 2020-05-06 16:43:04 +02:00
Olivier Goffart
3035cbdc23 Action for the C++ test 2020-05-06 14:15:30 +02:00
Simon Hausmann
4cbfee1087 Try upgrading to a newer rust version 2020-05-06 13:23:01 +02:00
Olivier Goffart
b2b57887e2 add sixtyfps-cpp draft 2020-05-06 12:52:31 +02:00
Olivier Goffart
74b3c9147e Fix build 2020-05-06 11:56:08 +02:00
Olivier Goffart
9ad39d835e move the abi in its own module 2020-05-06 10:27:09 +02:00
Olivier Goffart
35fde11515 Use cbindgen to generate the internal abi 2020-05-06 10:11:32 +02:00
Simon Hausmann
d921a4a301 Minor README edits 2020-05-06 09:53:33 +02:00
Simon Hausmann
c41cb3e179 Fix alpha blending in the gl renderer 2020-05-06 09:51:21 +02:00
Olivier Goffart
8896364809
Update README.md
typos
2020-05-06 07:15:18 +02:00
Olivier Goffart
f26c8b9baa
Create README.md 2020-05-06 07:10:06 +02:00
Simon Hausmann
17d3d49a83 Use cgmath throughout
And remove usage of kurbo::Affine. That avoids extra translations.
2020-05-05 23:00:03 +02:00
Simon Hausmann
e8f30b6444 Fix coordinate system in the gl renderer
Apply the correct orthographic projection matrix in the position calculations,
which includes the y-flip.
2020-05-05 22:47:27 +02:00
Olivier Goffart
30646068c0 Fix the CodeStatement::from_node 2020-05-05 18:36:24 +02:00
Olivier Goffart
da31466e64 Ident the C++ code properly 2020-05-05 18:31:00 +02:00
Olivier Goffart
acccb33c8c Lower and generate some C++ 2020-05-05 18:31:00 +02:00
Simon Hausmann
bfac827ec7 Start with image rendering
These are the basics. Still to do are fixing the alpha channel blending, the rect handling,
a texture type to avoid consuming  the image over and over again. And more :-)
2020-05-05 18:20:21 +02:00
Olivier Goffart
f0b5a9fee9 Use the parser_test only in test mode
So it does not have to be published on crate.io
2020-05-05 16:37:49 +02:00
Simon Hausmann
61dc3d9dc9 Sketching out some more data structure bits
Co-authored-by: Olivier Goffart <olivier@sixtyfps.io>
2020-05-05 16:12:35 +02:00