67 Commits

Author SHA1 Message Date
Hans Muller
d18c0f7758 Initial support for the fling gesture detector
Added FlingGestureRecognizer and exposed it in the GestureDetector class. FlingGestureRecognizer is based on the Android/Chromium VelocityTracker class which computes a velocity vector for for a list of X,Y,Time tuples.

The Scrollable classes now use the FlingGestureRecognizer. Dismissable and Drawer still need to be updated
2015-09-09 16:49:31 -07:00
Chinmay Garde
b44a86c08a PictureLayers cache the contents of their pictures if the pictures
dont mutate from frame to frame
2015-09-09 09:54:30 -07:00
Viktor Lidholt
dc1b773ed1 Cleans up naming and adds documentation to drawVertices bindings 2015-09-08 12:04:03 -07:00
Viktor Lidholt
1d6cd4bc01 Adds bindings to Skia for VertexMode and drawVertices 2015-09-08 11:09:45 -07:00
Viktor Lidholt
baabf090f0 Adds bindings for ImageShader to SkShader::CreateBitmapShader 2015-09-04 16:03:14 -07:00
Chinmay Garde
2c180b3b8b Merge pull request #1049 from abarth/layer_tree_to_gpu
Pass the sky::LayerTree to the GPU thread for drawing
2015-09-04 12:55:20 -07:00
Adam Barth
58d67facd8 Merge pull request #1011 from abarth/paragraph_builder
Sketch a DOM-free API for laying out and painting text
2015-09-03 20:29:15 -07:00
Adam Barth
e5d7e69346 Pass the sky::LayerTree to the GPU thread for drawing
Instead of squashing the layers down into a single SkPicture, we now pass the
tree to the GPU thread, which draws everything separately.
2015-09-03 19:20:32 -07:00
Adam Barth
bc8f7a096e SceneBuilder should build a tree of layers
We now build a layer tree before squashing the draw command down to an
SkPicture.
2015-09-02 18:23:01 -07:00
Adam Barth
a17c01874d Remove dead code
These files were breaking clean builds.
2015-09-02 12:32:57 -07:00
Adam Barth
5551c6ee35 Merge pull request #1010 from abarth/clean_idls
Remove some unused dart:sky IDLs
2015-09-02 10:54:50 -07:00
Adam Barth
ed655b8973 Merge pull request #1009 from abarth/improve_paint
Improve the Paint API in dart:sky
2015-09-02 10:54:41 -07:00
Adam Barth
68b06c8736 Sketch a DOM-free API for laying out and painting text
Rather than using the DOM to upload text and styling information into the
engine, this patch begins sketching a more direct API that bypasses the DOM and
CSS. Currently, this API doesn't do anything, but it's a first step.

The approach is to have a ParagraphBuilder object that can record a tree of
style interior nodes and text leaves. The build() function then applies
container-level styling information (such as TextAlign) and returns a Paragraph
object that can undergo layout and paint.

The inputs to the builder process are immutable style objects constructed from
primitive values. These primitives are currently carbon-copies of the primitive
we use in the framework today. After this patch lands, I'll convert the frame
to re-expose these values instead of re-defining them.
2015-09-02 01:28:54 -07:00
Adam Barth
b379439e37 Remove some unused dart:sky IDLs
This CL deletes a bunch of unused IDL files and removes some dead code in the
engine.
2015-09-02 00:09:43 -07:00
Adam Barth
f9201ea9a6 Improve the Paint API in dart:sky
Now that we've hoisted Paint into the VM, we can expose these values as normal
properties. After we've updated all the callers, I'll remove the old setters.
2015-09-01 23:28:12 -07:00
Adam Barth
73d29cfd36 Fix typos in dart:sky
We renamed lerpNum to lerpDouble and forgot to update these callers.
2015-09-01 23:21:35 -07:00
Adam Barth
96e203329c Move lerp for the engine types into dart:sky
This patch just adds them to dart:sky. A future patch will actually use them in
the framework once we've published an updated sky_engine package. Also, add
dartdoc to the classes touched in this patch.
2015-08-31 09:25:22 -07:00
Chinmay Garde
31f7fa8ddd Update skia to latest revision 2015-08-26 15:28:05 -07:00
James Robinson
c8eff5e44f Update to mojo d259eb58aa59e14a13d5e0dc3984b855b475ba09
This updates to mojo commit d259eb58aa59 and limits the roll script to
only pull in the parts of //mojo that are currently being used. More
stuff will be dropped in the future.
2015-08-25 14:56:25 -07:00
Adam Barth
96df6c373c Use sky.SceneBuilder to upload Layer tree to C++
We still use SkPicture as our rasterization backend, but now we're uploading
our layer tree to C++. A future patch will push the layer tree deeper into the
system and we'll eventually switch backends.
2015-08-25 13:41:37 -07:00
Adam Barth
f2faa74f98 Update TransferMode.dart 2015-08-20 14:13:53 -07:00
Adam Barth
7f0a28952a Uncaught exceptions get two stack traces
Now we print Dart_GetError only when we don't have a stack trace. Also, improve
the usability of the sky_shell command line tool by defaulting to "packages"
for the package-root and not crashing when we don't have a package-root until
we actually try to load a package. Finally, remove console spam when we fail to
bind the observatory port.

Fixes #689
2015-08-20 12:09:53 -07:00
Hixie
5ceb52a0e1 Port clipping to the new layer world.
- Add Canvas.getSaveCount()
- Make RenderClipRect call context.paintChildWithClip instead of doing the clipping itself
- Make ClipLayer take a Rect instead of a Size
- Make PaintingContext.canvas read-only
- Add PaintingContext.paintChildWithClip()
- Minor rearrangings of code and style tweaks
2015-08-18 08:34:42 -07:00
Chinmay Garde
c6d67998cc Revert "Temporarily roll back dart dependency to work around build errors"
This reverts commit 2042a0f0adbde9a16ccd9ff9a414e70bc7871386.
2015-08-17 17:01:27 -07:00
Chinmay Garde
f19071f5f9 Fix armv7 build errors in sky/engine 2015-08-17 14:12:41 -07:00
Chinmay Garde
2042a0f0ad Temporarily roll back dart dependency to work around build errors
Tracking issue https://github.com/domokit/sky_engine/issues/654
2015-08-17 13:51:13 -07:00
Adam Barth
94088d8626 Remove stray reference to Typeface 2015-08-14 08:58:10 -07:00
Collin Jackson
28813a9b7d Merge pull request #590 from collinjackson/rollback
Roll back drawText Canvas support; we are instead going to refactor RenderParagraph into ParagraphPainter
2015-08-13 17:05:55 -07:00
Adam Barth
1a062aab4e Add a compositing step to the lifecycle
Now we have the ability to draw multiple PictureLayers. We still squash all the
pictures together into a single SkPicture for simplicity. In the future, we'll
submit them to C++ separately and composite them on the GPU thread.
2015-08-13 16:31:45 -07:00
Chinmay Garde
281dc80f17 Merge pull request #578 from chinmaygarde/master
Make |TracingController| platform agnostic and enable collecting traces from base and the shell view dart isolate simultaneously
2015-08-13 12:58:54 -07:00
Chinmay Garde
cfec10d80d Make |TracingController| platform agnostic and enable collecting
traces from base and the shell view dart isolate simultaneously.
Trace files contain samples from multiple sources and must be merged
separately
2015-08-13 12:51:24 -07:00
Collin Jackson
f705b3c5ae Roll back typeface changes (we’re going a different direction) 2015-08-13 10:08:47 -07:00
Collin Jackson
d4e68ab589 Add weight chart to fitness app 2015-08-12 14:50:50 -07:00
Adam Barth
a1807a1b17 Remove weak handle from sky.Paint
This patch converts sky.Paint to be a pure Dart object, which means we don't
need to open a weak handle to sky.Paint. Avoiding the weak handle reduces the
amount of weak handle callbacks we need to process at the end of GC and
therefore reduces jank.
2015-08-11 09:37:20 -07:00
Adam Barth
69c435eacc Simplify SkPicture
This patch simplifies the SkPicture we generate for Skia. Instead of drawing
everything into a nested SkPicture, we now draw everything into the top-level
picture, which requires us to apply the device scale factor in Dart.
2015-08-10 15:12:13 -07:00
James Robinson
bed5a6514d Merge pull request #447 from jamesr/rm_css_matrix
Remove unused CSSMatrix files
2015-08-04 15:14:57 -07:00
James Robinson
d10384ac43 Remove unused CSSMatrix files 2015-08-04 13:06:39 -07:00
Adam Barth
0b13398f98 Merge pull request #444 from abarth/pre_line
Switch the default whitespace mode to pre-line
2015-08-04 11:01:55 -07:00
Adam Barth
0694d40bd3 Switch the default whitespace mode to pre-line
This mode will preserve new lines, allow breaks, but collapse whitespace. That
means whitespace at the start of lines will be collapsed.
2015-08-04 11:00:02 -07:00
Adam Barth
c7f9c68a87 Enable GrLayerHoister optimizations in Skia
Turns out we weren't passing kComputeSaveLayerInfo_RecordFlag, which meant we
weren't computing the information necessary for the GrLayerHoister in Skia to
do its work.

This CL makes demo_launcher scrolling 3x faster on a Nexus 5.
2015-08-04 09:01:08 -07:00
Adam Barth
c4fd79b512 Use SkImage instead of SkBitmap
Apparently SkImage is the new hotness.
2015-08-03 14:12:44 -07:00
Adam Barth
5f95865831 Support borders with borderRadius
Currently we support only borders with uniform color and width.
2015-07-31 16:03:09 -07:00
Adam Barth
64ecf6214f Add a flag to sky_viewer to enable checked mode
This flag will let clients who use release builds enable checked mode.

Fixes #22
2015-07-29 19:05:44 -07:00
Chinmay Garde
ba2fe445fa Avoid manually setting up in-process GL bindings for Skia 2015-07-27 14:30:14 -07:00
Adam Barth
2267a46625 Remove Location.idl and assoicated code 2015-07-25 19:14:33 -07:00
Adam Barth
edf9db0d4e Remove Screen.idl and associated code 2015-07-25 19:04:17 -07:00
Adam Barth
a42156e19a Remove the DOM-based custom layout machinery
We now do layout without a DOM.
2015-07-25 15:37:44 -07:00
Eric Seidel
244cebd496 Roll Skia to the latest revision to pick up drawAtlas fix
R=chinmaygarde@google.com
2015-07-24 10:59:20 -07:00
Eric Seidel
dfdc7327fb Fix sky/tools/gn --ios --simulator to set the correct target_cpu
Also fixed missing dependency from LocalDOMWindow.cpp on
mojo's navigation service.  Not sure why gn check missed that.

R=abarth@google.com
2015-07-23 14:30:49 -07:00
Eric Seidel
4e17ceefdb Add support for Canvas.setMatrix and getTotalMatrix
Part of fixing issue #138.

R=abarth@google.com
2015-07-23 11:21:33 -07:00