Commit graph

5126 commits

Author SHA1 Message Date
Olivier Goffart
86011528f1 Draft of data structures 2020-05-05 14:06:52 +02:00
Simon Hausmann
f3a4f75e17 Allow specifying a clear color for the frame
... and default it to white.
2020-05-05 13:51:48 +02:00
Simon Hausmann
8dff1967ad Hide data structures of the GL renderer
Don't leak this accidentally to the outside
2020-05-05 13:38:28 +02:00
Simon Hausmann
3bcbe3d931 Store handles to the GPU vertices/indices in the rendering primitive 2020-05-05 13:32:07 +02:00
Simon Hausmann
5d07a6bd5b Support specifying the color for path filling 2020-05-05 13:24:41 +02:00
Olivier Goffart
cd670d6012 Compiler tests 2020-05-05 12:43:42 +02:00
Simon Hausmann
0c4283020f Render the second test rectangle using a transform
The transform is applied through a uniform at run-time.
2020-05-05 11:41:38 +02:00
Simon Hausmann
7a129d66d3 Split graphics::RenderNode into RenderNodeMut and RenderNode
This allows a read-only tree traversal and thus rendering.
2020-05-05 11:38:29 +02:00
Simon Hausmann
fc5f93fab2 First implementation of a tree of rendering nodes
The idea is that they can be recursively rendered and propagate at least
the transform but also clip in the future.

One thing that's left is to split RenderNode into RenderNode and
RenderNodeMut, so that the rendering itself can be done on a non-mutable
tree reference.
2020-05-05 11:25:03 +02:00
Olivier Goffart
3a6d39bfe9 Generate an object tree 2020-05-05 11:18:13 +02:00
Olivier Goffart
b7633f78d6 parse() returns a rowan::SynstaxNode 2020-05-05 09:21:04 +02:00
Olivier Goffart
081310e3ac Use codemap to show diagnostics 2020-05-04 20:14:29 +02:00
Olivier Goffart
684d516fee Small cleanups to get rid of the .0 2020-05-04 19:36:32 +02:00
Olivier Goffart
e76b2e5c0f Use a macro to declare the token so each token is declared next to its regexp 2020-05-04 19:11:58 +02:00
Olivier Goffart
a83413aabc Do not put the frame on the heap.
But this forced to make GLFrame public.
2020-05-04 18:40:09 +02:00
Olivier Goffart
e1b7949864 proc_macro to have parser tests 2020-05-04 17:11:02 +02:00
Simon Hausmann
4edf2291d6 Simplfy new_frame trait signature
The life time specifier wasn't needed, it seems.
2020-05-04 15:29:04 +02:00
Simon Hausmann
590d8887e6 Ignore VS Code settings 2020-05-04 15:27:21 +02:00
Simon Hausmann
9c961059e1 Beginnings of a simple lyon and glium based GL renderer 2020-05-04 15:27:21 +02:00
Olivier Goffart
112613712f Move the actual parsing in its own file 2020-05-04 14:44:34 +02:00
Olivier Goffart
1b69df8087 Parsing: The small example parses 2020-05-04 14:40:32 +02:00
Olivier Goffart
fbf0eebfd5 Draft of the parser 2020-05-04 14:30:05 +02:00
Simon Hausmann
a4b69b23c0 Fix contact info in Cargo manifests 2020-05-04 11:54:45 +02:00
Simon Hausmann
271c833edf Add Github action for doing basic rust compile/format/tests 2020-05-04 10:57:46 +02:00
Simon Hausmann
69537bd530 Ignore the target folder 2020-05-04 10:56:08 +02:00
Simon Hausmann
c6553d007e Initial commit laying out the structure 2020-05-04 10:49:58 +02:00