- 22 Sep, 2015 1 commit
-
-
Adam Barth authored
-
- 21 Sep, 2015 1 commit
-
-
Adam Barth authored
All the use cases for EventDisposition are now addressed by the gesture detection system.
-
- 17 Sep, 2015 2 commits
-
-
Hixie authored
We need a short name more often than a tree dump, so toString() should be the short name. Make debugDumpRenderTree() a global like debugDumpApp(), for consistency. It's hard to remember the SkyBinding.instance.dumpRenderTree() incantation. Fixes #1179.
-
Adam Barth authored
This patch is part of a sequence of patches towards fewer top-level libraries. In this patch, the gesture libraries are combined into one gestures.dart library.
-
- 11 Sep, 2015 1 commit
-
-
Adam Barth authored
-
- 08 Sep, 2015 2 commits
-
-
Adam Barth authored
These files really belong on other libraries.
-
Adam Barth authored
Move the animation libraries into src/animation and change importers to use package:sky/animation.dart. Also, move scheduler.dart into the animation library so that the animation library can be self-contained.
-
- 04 Sep, 2015 1 commit
-
-
Adam Barth authored
Previously we reversed the event path by mistake before dispatching events.
-
- 02 Sep, 2015 1 commit
-
-
Adam Barth authored
Code outside of package:sky should import this code using package:sky/rendering.dart package:sky/widgets.dart Moving this code into the "src" directory is a convention that signifies that and it cleans up the generated dartdoc because the libraries in the src directory aren't included in the generated documentation. Instead, the classes are documented in the widgets.dart and rendering.dart libraries.
-
- 30 Aug, 2015 1 commit
-
-
Adam Barth authored
If there are no other gestures in the arena, we should kick off the scroll gesture right away. This change pulled a refactoring of how we dispatch events to Widgets. Now we dispatch events to Widgets interleaved with their associated RenderObjects. (Previously we dispatched to all of the RenderObjects first.)
-
- 27 Aug, 2015 1 commit
-
-
Adam Barth authored
This patch is the first step towards implementing gestures. The pointer router allows the gesture detectors to hook in at the end of the pointer event propagation chain. Related to #145
-
- 25 Aug, 2015 1 commit
-
-
Adam Barth authored
When we start, we might not have initialized the devicePixelRatio value. The value will be initialized by the time we paint, so now we update the value every time we paint.
-
- 20 Aug, 2015 3 commits
-
-
Hixie authored
-
Adam Barth authored
We now use the repaint system to do all the painting. During initialization, we set up a root layer that applies the device pixel ratio. Fixes #706
-
Hixie authored
- Introduce some new Layer classes. - Introduce paintChildWith* methods. - Convert paint() methods to use paintChildWith* where appropriate. - Fix paintBounds logic in Layer world. - Introduce Layer.replaceWith(), so that it's clearer what's going on. - Make RenderObjects have a ContainerLayer, not a PictureLayer. - Introduce a PaintingContext.replacingLayer() constructor to highlight where we are creating a layer just to replace an older one. - Rename some layer-related methods and fields for clarity: requiresCompositing -> hasLayer hasCompositedDescendant -> needsCompositing updateCompositing -> updateCompositingBits _needsCompositingUpdate -> _needsCompositingBitsUpdate markNeedsCompositingUpdate -> markNeedsCompositingBitsUpdate - After updating compositing bits, if we find that the bit changed, we now call markNeedsPaint(). - Reorder markNeedsPaint() logic for clarity. - Make flushPaint() start at the deepest node. - Make _compositeChild() avoid repainting children with hasLayer that aren't dirty, instead it just reuses their existing layer. - Made RenderView reuse the RenderObject layer instead of having its own. - Made RenderView have hasLayer set to true. - Add various asserts and comments.
-
- 19 Aug, 2015 1 commit
-
-
Adam Barth authored
Sadly, box.dart has grown much longer than 1000 lines. This patch splits it up into several files based on the class hierarchy. Fortunately, many of these classes are loosely coupled to each other.
-
- 17 Aug, 2015 1 commit
-
-
Adam Barth authored
Widgets that want to receive drops should include a DropTarget in their build. Currently there's no widget for initiating a drag. Components can use the DragController directly. In the future, we'll probably want to add a Draggable that knows how to do some of this work automatically. Fixes #612
-
- 14 Aug, 2015 1 commit
-
-
Adam Barth authored
We need to compute whether a RenderObject has a composited descendant so that we can decide whether to use canvas.saveLayer or to create a new composited layer while walking down the tree during painting. The compositing update walks the tree from the root only to places where the tree's structure has been mutated. In the common case during an animation loop, we won't need to visit any render object beyond the root.
-
- 13 Aug, 2015 1 commit
-
-
Adam Barth authored
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.
-
- 04 Aug, 2015 1 commit
-
-
James Robinson authored
This introduces the notion of event disposition and allows event targets (widgets and render objects) to consume events that should not be processed further. This is needed by the Switch component in the Drawer in the stocks example. The Switch is embedded in a DrawerItem. The Switch handles the gesture tap event to toggle its state and should handle pointer events to allow swiping and draw its own radial reaction. The DrawerItem also handles gesture taps to allow toggling the switch value when tapping anywhere on the drawer and to draw its own ink splash. When tapping on the switch, both the switch's render object and the DrawerItem's listener are in the event dispatch path. The Switch needs to signal in some fashion that it consumed the event so the DrawerItem does not also try to toggle the switch's state.
-
- 30 Jul, 2015 1 commit
-
-
Adam Barth authored
When embedded by the view_manager, sometimes we receive pointerup or pointercancel events without having received a cooresponding pointerdown event. The underlying issue is that the view_manager doesn't capture on pointerdown and instead performs a new hit test for every pointer event. We should fix that in view_manager, but, in the meantime, this patch makes us not crash in this scenario. Fixes #339
-
- 28 Jul, 2015 3 commits
-
-
Adam Barth authored
Rather than using a microtask to schedule component build functions, instead use the scheduler. We now tread building just like layout and painting as a visual update.
-
Chinmay Garde authored
-
Chinmay Garde authored
-
- 16 Jul, 2015 1 commit
-
-
Collin Jackson authored
-