Olivier Goffart
cf19749943
Make a pass to remove the Expression::Return instruction
...
So it doesn't appear in the LLR and the C++ codegen can be simplified.
In particular, this removes the need to throw/catch exception to handle return
across generated lambdas
2023-09-06 14:10:26 +02:00
Aurindam Jana
5a4a7fee63
Update royalty free license to 1.1 ( #2994 )
2023-07-10 10:12:11 +02:00
Olivier Goffart
11dea135f7
Domain: slint-ui.com -> slint.dev
2023-06-16 10:55:08 +02:00
Tobias Hunger
04d1229685
Fix licnese information using xtask
2023-06-16 09:14:20 +02:00
Aurindam Jana
039e54a5de
Add royalty free license to files except examples and docs ( #2888 )
2023-06-15 11:20:50 +02:00
Olivier Goffart
12e6b34e2d
Translations: support for plurals
2023-06-07 10:34:34 +02:00
Olivier Goffart
e97a2e8229
Translations: support context
2023-06-06 14:48:48 +02:00
Olivier Goffart
cf746ddf8d
WIP: formatting implementation of translate in rust and C++
2023-06-05 16:34:59 +02:00
Simon Hausmann
00471449b4
Fix compilation of Rust generated code when the generated code uses a return statement inside a block
...
We cast the result of the body of functions or binding expressions to
the target type via `as _`. When the code contains a return expression,
that works fine, because `return`'s type is the never type, which can be
coerced to a value of any type. However when the return statement is
inside a sub-block, the type becomes `()`, for which the `as _` cast
fails.
Work around this by attempting to detect the situation (return produces
Type::Invalid) and omit the trailing cast.
2023-03-22 18:07:34 +01:00
Olivier Goffart
6889dfa5f5
Rust: Make new(), run() and show() report errors from the backend
...
Fixes #2198
2023-02-10 05:00:03 +01:00
Olivier Goffart
88d231f3ec
Move the testing module from away from public api
...
move it the testing backend
2022-09-06 17:27:15 +02:00
Olivier Goffart
7ddd8daeb3
Fix node test
...
(apparently it is not run on the CI?)
2022-07-26 11:27:44 +02:00
Olivier Goffart
92b4f52556
Make mod() a macro that can take generic types instead of just integer
2022-07-11 17:49:28 +02:00
Olivier Goffart
d48c590346
Add animation-tick() builtin function
...
Low level primitive allowing to build always running animations
2022-07-11 17:49:28 +02:00
Olivier Goffart
8f16585754
Rust generation: properly clone() local variable
...
In case we re-use a non copy type several time in an expression
2022-05-13 13:00:01 +02:00
Olivier Goffart
9e5f1f8e3d
Move lone tests to sub-folder
2022-05-06 09:56:39 +02:00
Tobias Hunger
4230ac2572
Update copyright information to reflect name change
...
Also run resue over the codebase and fix complaints from that tool.
2022-02-09 10:27:47 +01:00
Tobias Hunger
cc3994b58d
Rename rust API
2022-02-02 13:26:35 +01:00
Simon Hausmann
7d297da2fc
Rename the sixtyfps C++ namespaces
2022-02-02 12:11:27 +01:00
Olivier Goffart
0c0a783095
Rename all our .60 files to .slint
2022-02-02 10:05:45 +01:00
Simon Hausmann
809fbfc7a6
Rename sixtyfps-node
...
This doesn't touch the documentation, just the package/API side
2022-02-01 22:17:35 +01:00
Tobias Hunger
8b1ea21ec4
llr-cpp: Implement some builtin functions
...
Add tests to make sure this actually works:-)
2022-01-19 10:02:23 +01:00
Jared Moulton
c5c139fbc9
Feat: Add math funcs Log10, Log2, Log and Exp ( #813 )
...
Implement Math.log and Math.pow
2022-01-07 12:07:58 +01:00
Tobias Hunger
bfca0e3573
Mass update copyright messages to be more REUSE compliant
2021-12-22 10:06:12 +01:00
Olivier Goffart
963c44fd78
Put the global functions also in the Math namespace
...
So they can be accessible even if there is a property of the same name
2021-12-08 16:35:11 +01:00
Olivier Goffart
ae210e79ec
Properly handle self assignment on non-float types
2021-07-23 16:33:50 +02:00
Olivier Goffart
5c18e100b0
Fix unary operator + in rust
2021-07-09 12:52:18 +02:00
Olivier Goffart
13bd828b96
Update license date
2021-07-02 15:55:54 +02:00
Olivier Goffart
2483425d57
Add abs()
2021-06-11 14:17:47 +02:00
Olivier Goffart
0083bd8d23
Fix return statement in the C++ generated code
...
The template parameter of the ReturnWrapper could be deduced to
a wrong type (eg: int instead of float) so we must add it explicitly
2021-04-27 10:17:09 +02:00
Olivier Goffart
563866a60f
Remove debug assertion that is not always true
...
because Int32 and Float32 can be compared but aren't the same type
2021-04-09 19:28:32 +02:00
Simon Hausmann
8372d3f6d8
Rename call_* to invoke_* for callbacks
...
Fixes #187
2021-03-15 17:01:05 +01:00
Olivier Goffart
5727a4cf02
implement square root
2021-02-20 08:53:08 +01:00
Olivier Goffart
431ce88326
sin/cos/tan and asin/acos/atan
2021-02-08 12:23:31 +01:00
Olivier Goffart
5a21f1bd81
Rename emit_ to call_ for callback
...
Signal was renamed to Callback, but one does not emit a callback, one calls it
2021-01-25 15:59:10 +01:00
Olivier Goffart
c2dc0cef2c
Finish return statement handling
2021-01-25 15:32:00 +01:00
Simon Hausmann
b22bbb1c0f
WIP: Implement the return statement
2021-01-25 15:32:00 +01:00
Olivier Goffart
78484a75e0
Add string tests I forgot to git add previously
2021-01-19 19:39:42 +01:00
Olivier Goffart
0d2d48be4f
Rename "signal" to "callback"
2020-12-18 09:51:01 +01:00
Simon Hausmann
7047856d4e
Replace FooRc with Foo and without ComponentHandle in examples and tests
2020-12-03 08:13:24 +01:00
Olivier Goffart
8a64f10e84
Remove ComponentVtable::input_event
...
And the custom handling of the mouse grabber
2020-11-24 16:23:37 +01:00
Olivier Goffart
dd4435fe5d
Add round/ceil/floor
2020-11-16 12:52:01 +01:00
Olivier Goffart
b45a14bd7a
modulo
2020-11-13 16:07:18 +01:00
Olivier Goffart
1eb57ae4a3
Add minmax tests
2020-11-13 15:55:42 +01:00
Olivier Goffart
d6a440aa4a
Change C++ API to use the ComponentHandle
2020-11-10 19:28:34 +01:00
Olivier Goffart
587b0a9fa8
Test for string concatenation
2020-10-19 19:43:13 +02:00
Simon Hausmann
c16f2f2185
Clean up test cases
...
Instead of all files collected in a flat directory, restructure them
into categories and thus sub-directories.
2020-09-29 17:00:48 +02:00