pylbrecht
4d4e68ca6b
Respect direction when drawing arcs
2019-12-17 19:52:00 +01:00
pylbrecht
a473f50245
Respect FilterMode when drawing images
2019-12-17 19:51:59 +01:00
pylbrecht
16f06f24c5
Add check for handling equal radial gradients
2019-12-17 19:51:59 +01:00
pylbrecht
d87e5d831b
Add check to handle zerosize linear gradients
2019-12-17 19:51:59 +01:00
pylbrecht
55256df0ba
Use tolerance > 0 in Path::contains_point()
2019-12-17 19:51:58 +01:00
pylbrecht
5c6a12a116
Create raqote::SolidSource with premultiplied color
...
SolidSource expects a premultiplied color.
2019-12-17 19:51:57 +01:00
pylbrecht
77a8bc4a1d
Fix conversion of image data slice
2019-12-17 19:51:57 +01:00
pylbrecht
b8b33788b6
Handle empty paths in PathBuilder::get_current_point()
...
The case of calling get_current_point() on empty paths has not been
handled and caused panics.
2019-12-17 19:51:57 +01:00
pylbrecht
d6f46b5513
Apply transformation in Path::contains_point()
2019-12-17 19:51:56 +01:00
pylbrecht
c8025c9147
Don't reuse PathBuilder after calling finish()
2019-12-17 19:51:56 +01:00
pylbrecht
fa2de68919
Implement DrawTarget::snapshot()
2019-10-11 20:07:36 +02:00
pylbrecht
772f2bc2ee
Implement Path::transformed_copy_to_builder()
2019-10-11 20:07:35 +02:00
pylbrecht
f88c6efd63
Show warn! for shadow drawing operations
2019-10-11 20:06:48 +02:00
pylbrecht
308908ed40
Implement LinearGradient and RadialGradient
2019-09-17 16:58:13 +02:00
pylbrecht
b8f92937b3
Implement ColorBurn
2019-09-17 11:54:39 +02:00
pylbrecht
430fad8b13
Update raqote
2019-09-17 11:54:39 +02:00
pylbrecht
818b5d4150
Add naive implementation for ellipse()
...
rust-azure's ellipse() C++ implementation copy/pasted and kind of ported
to Rust. Obviously needs refactor to turn it into idiomatic Rust.
2019-09-17 11:48:44 +02:00
pylbrecht
d24568218b
Don't use catch all in match
2019-09-01 19:26:04 +02:00
pylbrecht
47a6129332
Use raqote's implementation of Path::contains_point()
2019-09-01 19:22:20 +02:00
pylbrecht
7c81d20869
Implement create_gradient_stops()
2019-08-29 14:17:03 +02:00
pylbrecht
89b8bd516f
Refactor Path::contains_point() using any()
2019-08-25 16:43:29 +02:00
pylbrecht
ee7f3dbc46
Implement PathBuilder::get_current_point()
2019-08-25 16:19:33 +02:00
pylbrecht
2a0be451ae
Implement Path::contains_point()
2019-08-25 15:50:04 +02:00
Bastien Orivel
f829eaea03
Fix the build and tidy and address nits
2019-08-21 19:19:43 +02:00
Bastien Orivel
168a526221
Implement Source::Surface for FillOrStrokeStyle with raqote
2019-08-21 19:10:57 +02:00
Bastien Orivel
8a57876482
Implement get_format
...
Since raqote doesn't have multiple formats for its surfaces, this is a
noop to avoid crashing with the unimplemented
2019-08-21 19:10:57 +02:00
Bastien Orivel
dc78b6a989
Implement a few functions to make tests in draw-image and draw-path pass
2019-08-21 19:10:57 +02:00
Bastien Orivel
3dd0b462c2
Make tidy happy again
2019-08-21 19:10:57 +02:00
Bastien Orivel
0a3c6637bb
Implement create_similar_draw_target
2019-08-21 19:10:57 +02:00
Bastien Orivel
4c73e4bb3f
Imlplement get_composition_op
2019-08-21 19:10:57 +02:00
Bastien Orivel
a28d00013c
Implement set_shadow_color, set_global_composition and stroke_rect
2019-08-21 19:10:57 +02:00
Bastien Orivel
a9fd26729b
Match the azure backend regarding cap stuff
...
I think this is wrong because it won't respect cap style at all when
stroking lines but we'll cross that bridge when we get to it
2019-08-21 19:10:57 +02:00
Bastien Orivel
97674082d3
Pass BlendMode::Clear to the fill method of DrawTarget in clear_rect
...
This makes some tests regarding clearing rects pass. Otherwise the rect
wouldn't get cleared properly and it'd keep its original color but get
an alpha of 0
2019-08-21 19:10:56 +02:00
Bastien Orivel
777ef4f3e8
Implement snapshot_data_owned
2019-08-21 19:10:56 +02:00
Bastien Orivel
97364dc6af
Implement get_size
2019-08-21 19:10:56 +02:00
Bastien Orivel
fda815bcbb
Properly pass draw_options in fill_rect
2019-08-21 19:10:56 +02:00
Bastien Orivel
e90d1a1d8d
Implement stroke_line and set_stroke_style
2019-08-21 19:10:56 +02:00
Bastien Orivel
9229dc4d85
Implement clear_rect
2019-08-21 19:10:56 +02:00
Bastien Orivel
24313a82a1
Make tidy happy
2019-08-21 19:10:56 +02:00
Bastien Orivel
14ee093a5b
Implement size_from_pattern
...
I tried to mimic the azure implementation but raqote doesn't have a
concept of horizontal or vertical repeat so this might be
wrong/incomplete but this is the last function needed to finally have
some tests pass
2019-08-21 19:08:18 +02:00
Bastien Orivel
ed0dbafc72
Implement need_to_draw_shadow
2019-08-21 19:08:18 +02:00
Bastien Orivel
559b28ce7b
Implement snapshot_data
2019-08-21 19:08:18 +02:00
Bastien Orivel
c39af71aeb
Add an implementation for fill_rect
...
Again, this is probably incomplete but it'll do for now
2019-08-21 19:08:18 +02:00
Bastien Orivel
0a878da500
Implement Pattern::is_zero_size_gradient
...
There are probably other times where this would be true but I'll worry
about that later
2019-08-21 19:08:18 +02:00
Bastien Orivel
93f1053b0e
Implement set_fill_style
2019-08-21 19:08:18 +02:00
Bastien Orivel
cbe385c7d7
Add a way to convert a FillOrStrokeStyle to a raqote Source
...
For now most of it unimplemented but it'll allow for some more testing
2019-08-21 19:08:18 +02:00
pylbrecht
7005c24e40
Implement some of GenericDrawTarget's methods for raqote
2019-08-21 19:08:17 +02:00
pylbrecht
398929ffef
Implement fill() for raqote::DrawTarget
2019-08-21 19:08:17 +02:00
Josh Matthews
4e51caeb7e
Deal with fallout from mutable trait method change.
2019-08-21 19:08:17 +02:00
pylbrecht
b43c5c30e3
WIP: Make GenericPathBuilder's methods take &mut self
2019-08-21 19:08:17 +02:00