- 14 Sep, 2015 2 commits
-
-
Collin Jackson authored
This reverts commit 7592213df29066cd357eaa4fffe4a19ed3bae189.
-
Adam Barth authored
We now expose idiomatic setters for these properties. Eventually we'll remove the setter functions.
-
- 11 Sep, 2015 3 commits
-
-
Adam Barth authored
-
Collin Jackson authored
-
Hixie authored
If the build stack got long before, it would get cropped.
-
- 09 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.
-
- 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.
-
- 01 Sep, 2015 1 commit
-
-
Adam Barth authored
... and other code in object.dart.
-
- 27 Aug, 2015 1 commit
-
-
Hixie authored
Previously, if you used a layout callback, you could not have a parent that did parentUsesSize, or if you did, you had to be marked sizedByParent. With this patch, we allow the parent to depend on your layout, even if you modify your child list during your layout using a layout callback, by checking that the parent is still actively being laid out in this scenario.
-
- 26 Aug, 2015 1 commit
-
-
Hixie authored
Generalise RenderBlockViewport so that it can be used by a Widget that knows its children's dimensions.
-
- 25 Aug, 2015 1 commit
-
-
Adam Barth authored
I removed these functions by mistake in my previous patch.
-
- 24 Aug, 2015 2 commits
-
-
Hixie authored
- Catch exceptions closer to the source. - Factor out exception printing code. - Have widget library hand the rendering library some context when syncing RenderObjectWrappers to aid with debugging. - Fix a bug in flex.dart whereby _overflow was compared when null.
-
Hans Muller authored
-
- 21 Aug, 2015 1 commit
-
-
Hixie authored
Fixes #698 to actually work. Also, adds some debugging aids around Flex. And a test to check this fix.
-
- 20 Aug, 2015 4 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
-
Adam Barth authored
The compositor backends we're planning to use can't handle a general-purpose paint layer and instead need lower-level operations. Fixes #707
-
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.
-
- 18 Aug, 2015 1 commit
-
-
Hixie authored
- 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
-
- 14 Aug, 2015 3 commits
-
-
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.
-
Adam Barth authored
Separating these notions makes them easier to work with because offset is relative to the parent layer whereas size is intrinsic to the layer itself. This patch fixes the underpainting bugs when compositing the stocks example.
-
Adam Barth authored
This generalization will let us implement other alogorithims that need to walk the RenderObject tree.
-
- 13 Aug, 2015 4 commits
-
-
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.
-
Adam Barth authored
Currently we have a single PictureLayer that everyone draws into. A future patch will teach the system to use multiple PictureLayers.
-
Adam Barth authored
This patch prepares for introducing the compositing system by repurposing the relevant parts of the createsNewDisplayList system. This patch also removes the no-longer-relevant parts of that system.
-
Adam Barth authored
We'll need this for compositing because we need to switch out the sky.Canvas when we switch compositing layers.
-
- 11 Aug, 2015 1 commit
-
-
Adam Barth authored
In refactoring the way we generate the SkPicture, I accidentially made us generate the SkPicture twice. This CL causes us to generate it only once.
-
- 07 Aug, 2015 1 commit
-
-
Hans Muller authored
-
- 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.
-
- 28 Jul, 2015 2 commits
-
-
Chinmay Garde authored
-
Chinmay Garde authored
-
- 22 Jul, 2015 1 commit
-
-
Hixie authored
If your constraints are tight when you get laid out, you don't get a relayout subtree root. If you don't have a relayout subtree root, and you get marked dirty, you go through layoutWithoutResize() rather than layout(), so we don't get a parentUsesSize. If you're not dirty and your constraints didn't change, layout() skips your layout. So then if your initial layout had parentUsesSize:true, and then you got marked dirty directly, you would set your size with parentCanUseSize=false, and then later if your parent tried to lay you out then read your size, it would crash because your size wasn't set up to allow you to get your size. The fix is to actually remember the last setting of parentUsesSize, even in the case of the constraints being tight and you later being marked as needing layout directly.
-
- 16 Jul, 2015 1 commit
-
-
Collin Jackson authored
-