Simon Hausmann
0c6d88160a
Fix wasm build
2021-02-10 21:35:10 +01:00
Simon Hausmann
b5095e9729
Fix source scaling detection for the Qt backend
...
ClippedImage without a source rect or one that's identical to the target should also allow for source scaling
2021-02-10 21:33:04 +01:00
Simon Hausmann
f704e4c823
Implement rendering SVG with specified size
...
Relates to #129
2021-02-10 21:08:58 +01:00
Simon Hausmann
ad0d2f04e1
Small image handling cleanup
...
Use a dedicated structure for femtovg based textures
2021-02-10 20:36:32 +01:00
Olivier Goffart
1793ef4d77
Figma importer: linear gradients
2021-02-10 18:45:10 +01:00
Simon Hausmann
12b58af1b1
Support rendering SVGs with a specified size in the GL backend
...
This is limited to resvg's FitTo::Width though, so the aspect ratio will
always be preserved. This might however be desirable anyway.
Relates to #129
2021-02-10 17:52:34 +01:00
Simon Hausmann
8a66af0746
Clean up image size determination in the rendering backend
...
Don't use the item's rendering cache to determine the image size, as
that's soley for rendering. The Qt backend doesn't use the item cache
and the GL backend neither after this change. Instead both backends have
a cache for decoded images.
2021-02-10 17:34:29 +01:00
Olivier Goffart
238ff9e92a
Figma import: Clip items with isMask
2021-02-10 17:32:08 +01:00
Olivier Goffart
c3a4095c35
Figma import: line
2021-02-10 17:17:25 +01:00
Simon Hausmann
d841cf7424
Ignore the build and default output of the figma importer
2021-02-10 15:22:10 +01:00
Olivier Goffart
203a18d958
Figma import: add clip
2021-02-10 14:54:53 +01:00
Olivier Goffart
6b162dac9e
Figma importer: Fix the border radius
2021-02-10 14:40:36 +01:00
Olivier Goffart
3c50f13c2a
Figma import: make use of Path::fill-rule
2021-02-10 14:21:42 +01:00
Simon Hausmann
2dd5ea61bb
Add support for Path.fill-rule
...
For some reason it's not working with the Qt renderer though
2021-02-10 14:08:32 +01:00
Olivier Goffart
600186220c
Some work towards a figma importer
2021-02-10 12:49:59 +01:00
Simon Hausmann
d2e0ecba93
Move the image handling code into a separate module
2021-02-10 12:49:26 +01:00
Simon Hausmann
7b46eed0a7
Minor cleanup
...
Move the html image element handling also into CachedImage
2021-02-10 12:44:05 +01:00
Simon Hausmann
91edc0a896
Fix the wasm build
2021-02-10 12:41:38 +01:00
Simon Hausmann
f64f3f6804
Prospective doc and link warning fix
...
Try to use the correct anchor
2021-02-10 11:42:21 +01:00
Simon Hausmann
d3268555cc
Clean up image loading a bit in the GL backend
...
Use helper functions to load from path or data, and print error
messages to stderr if we're having problems decoding images or
rendering the SVG.
2021-02-10 11:39:40 +01:00
Simon Hausmann
57d3a34996
Prospective fix for doc errors
...
In the nightly it appears that `no_mangle` is now considered "unsafe",
so we need to allow that in the ffi modules. For the layout code this
patch also creates that ffi module with prefixed function names, like in
the other modules and only allows unsafe in there.
2021-02-10 11:26:28 +01:00
Simon Hausmann
f1d41db006
Clarify comment in draw_image_impl
2021-02-10 11:12:06 +01:00
Simon Hausmann
0a2385ad58
Fix colorization of images loaded via HTTP
...
There are two problems that this patch fixes:
* It may happen that the image is not loaded yet, which means
we need to wait with the colorization effect instead of colorizing
the dummy (1x1) texture.
* It may happen that we transition from a regular image to one
that has a valid colorization brush, in which case we need to
invalidate the graphics item cache.
2021-02-10 09:06:09 +01:00
Simon Hausmann
2ce672bd68
Reduce dependencies
...
Use only specific lyon packages instead of pulling all of them in.
This slightly speeds up compilation as well as for example lyon_tesselation
doesn't need to be compiled anymore.
2021-02-09 17:22:01 +01:00
Olivier Goffart
9db575952d
Fix bold font with Qt
...
Qt expect a font between 0 and 99.
This is the mapping somehow used for QFont::Weight enum
2021-02-09 10:59:11 +01:00
Olivier Goffart
f7a76dc352
Add ImageFit::cover, and fix ImageFit::contain
2021-02-09 10:52:04 +01:00
Simon Hausmann
de9a215a1c
Fix use of Clip inside a scrolled Flickable with the GL backend
...
We're using `Canvas::intersect_scissor` to combine the viewport clip of
the flickable with any child `Clip` element, for example. Unfortunately
`intersect_scissor` has a bug and this patch works around it by doing
the scissor intersection manually. This works because we don't apply a
global transform on the canvas -- all scaling and translation is done
locally in the draw functions.
2021-02-09 10:43:02 +01:00
Olivier Goffart
ec90d0c525
wasm: Resize the canvas to make sure it fits the window constraints
2021-02-09 09:41:01 +01:00
Simon Hausmann
24c3d4daed
Fix ImageFit::contain
with the GL backend
...
The centering of the source image was missing
2021-02-09 08:55:39 +01:00
Olivier Goffart
0f251a7b82
Fix merge of two way binding
...
collext the set of all binding mapping to the same property, and only keep
the binding with the highest priority
Fixes #161
2021-02-08 18:58:23 +01:00
Olivier Goffart
2c322de46b
Flickable: keep mouse grabbed while flicking
2021-02-08 17:20:48 +01:00
Olivier Goffart
7e17806aa4
Flickable: don't grab the event on mouse move
2021-02-08 17:13:51 +01:00
Simon Hausmann
4e6cc8da43
Fix panic when trying to load an image with an empty path
...
We choose to ignore that and treat it like Resource::None
2021-02-08 15:16:05 +01:00
Olivier Goffart
d49532182a
Fix test_cpp_expr_trigo on windows
...
Too difficult to access PI in C++ in a cross platform way.
It is simpler get the value from rust.
2021-02-08 14:59:54 +01:00
Olivier Goffart
f1300a7f2d
Fix propagation of mouse event.
...
Process the event in the post visit if the children did not intercept the event
2021-02-08 14:08:14 +01:00
Olivier Goffart
431ce88326
sin/cos/tan and asin/acos/atan
2021-02-08 12:23:31 +01:00
Olivier Goffart
b155dbe601
Add a preview.html to the online code editor that only does the preview withtout the code editors
2021-02-08 11:36:49 +01:00
Olivier Goffart
a8475d062c
Fix the priority when inlining and improve debug output
...
This is just an improvement on 55726cc10d
but is not yet a complete fix for #161 , because we do not merge all
bindings that still need to be merged
2021-02-08 10:17:35 +01:00
Olivier Goffart
8b535991ec
Handle Esc in the GL backend
...
Issue #165
2021-02-08 09:00:09 +01:00
Simon Hausmann
949b61bad7
Implement image colorization for the GL backend
2021-02-05 19:27:03 +01:00
Olivier Goffart
d30f5138b8
Box layout: ensure max size is >= min
...
Fixes #160
2021-02-05 19:18:09 +01:00
Olivier Goffart
55726cc10d
fix two way binding when they are declared twice
...
Fix the galery's disable button not disabling most widgets
2021-02-05 18:33:28 +01:00
Olivier Goffart
afbb537bc1
Add TouchArea::enabled
...
and use it in the ugly style
2021-02-05 14:21:20 +01:00
Olivier Goffart
49c7300907
Support for if else
in statements
2021-02-05 13:53:37 +01:00
Olivier Goffart
a0fe10906c
Fix rust compilation of return value from callback
...
... if the rust type is not exactly right
2021-02-05 13:53:37 +01:00
Olivier Goffart
9bdb793ec1
Rename Window::color to background
2021-02-05 09:38:40 +01:00
Olivier Goffart
743d729ecb
Silent warning
2021-02-04 18:15:06 +01:00
Olivier Goffart
14dca01c17
update changelog
2021-02-04 17:44:01 +01:00
Olivier Goffart
0e2471f76b
Image::colorize support
...
(Qt only)
2021-02-04 17:44:01 +01:00
Simon Hausmann
3f541972ef
Change Rectangle::border-color
to be a brush
...
This allows things like filling a thick border with a gradient.
2021-02-04 17:05:00 +01:00