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
pylbrecht
9f9013946a
Implement provided raqote::PathBuilder's methods for GenericPathBuilder
2019-08-21 19:08:17 +02:00
pylbrecht
f9e398d9f6
Make GenericPathBuilder take &mut self
2019-08-21 19:08:17 +02:00
pylbrecht
4179f91f93
Implement StrokeOptions
2019-08-21 19:08:17 +02:00
pylbrecht
4aad4ff858
Implement DrawOptions.set_alpha()
2019-08-21 19:08:16 +02:00
Emilio Cobos Álvarez
3d57c22e9c
Update euclid.
...
There are a few canvas2d-related dependencies that haven't updated, but they
only use euclid internally so that's not blocking landing the rest of the
changes.
Given the size of this patch, I think it's useful to get this landed as-is.
2019-07-23 23:09:55 +02:00
Simon Sapin
1d38bc0419
Fix some new warnings
2019-06-22 14:59:09 +02:00
Josh Matthews
ce18636aef
Make Azure backend build again.
2019-06-03 00:12:01 -04:00
Josh Matthews
3539c029f1
Most basic raqote draw target stubs.
2019-06-03 00:12:01 -04:00
Josh Matthews
db362184fd
Fix formatting.
2019-06-03 00:12:01 -04:00