2655 Commits

Author SHA1 Message Date
Ian Hickson
d219e6d331 Merge pull request #235 from Hixie/focus
Track global keys globally.
2015-07-23 12:29:59 -07:00
Eric Seidel
dfca14785b Merge pull request #237 from eseidelGoogle/insert_before
Add insertBefore test which I wrote from Hixie's fuzzer
2015-07-23 12:26:26 -07:00
Eric Seidel
2896bda85b Merge pull request #238 from eseidelGoogle/simulator
Fix gn --ios --simulator
2015-07-23 12:25:35 -07:00
Eric Seidel
b46ae69bdd Fix gn --ios --simulator
Previously --simulator required an argument due to not having
an action specified and defaulting to "store" instead of "store_true"

R=iansf@google.com
2015-07-23 12:23:20 -07:00
Eric Seidel
b57147684e Add insertBefore test which I wrote from Hixie's fuzzer
R=ianh@google.com
2015-07-23 12:15:44 -07:00
Eric Seidel
ee367a23a4 Merge pull request #236 from eseidelGoogle/set_matrix
Add support for Canvas.setMatrix and getTotalMatrix
2015-07-23 12:12:15 -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
Hixie
bde56f4b5c Track global keys globally.
Assert that there are no duplicates.
Export GlobalKey from basic.dart, so that people don't have to import widgets.dart just for that.
Fix the "initialFocus" feature which actually didn't work.
2015-07-23 11:10:04 -07:00
James Robinson
5fcf9e68b5 Update CONTRIBUTING.md 2015-07-23 11:06:20 -07:00
Ian Fischer
f568324621 Merge pull request #222 from iansf/ios_build
iOS build is now closer to the Android and Linux builds.  Correctly builds the dart-pkg/packages files so that you don't have to build the Android build to run sky_server.
2015-07-23 10:29:22 -07:00
Ian Fischer
a9061ef43e Some changes to bring the iOS build closer to the
Android and Linux builds.

Also fixes a couple of toolchain selection issues.
2015-07-23 10:07:11 -07:00
Ian Fischer
0651f802f8 Merge pull request #225 from iansf/ios_logging
Feedback from previous logging code review that I missed.
2015-07-23 09:44:32 -07:00
Adam Barth
afe9fbceba Merge pull request #230 from abarth/use_dart_http_server
Switch sky_tool to use a Dart-based HTTP server
2015-07-23 09:28:40 -07:00
Eric Seidel
fff3b2db92 Merge pull request #220 from eseidelGoogle/atlas
Add C++ based support for drawAtlas
2015-07-23 09:26:03 -07:00
Eric Seidel
a09baca0dd Add C++ based support for drawAtlas
This is supposed to make Viktor's game faster, but it's not clear
to me that it actually does.  I've left the code
using the dart version of drawAtlas for now until Viktor can
verify that it looks correct.

I also added a wrapper for SkFilterQuality in the process of
debugging SkCanvas.drawAtlas since all drawAtlas examples
in Skia use FilterQuality.low.  The bug which blocked me for
so long turned out to be that SkCanvas.drawAtlas doesn't
draw anything if antialiasing is turned on.

Issue #138.

R=abarth@google.com
2015-07-23 09:25:10 -07:00
Ian Hickson
4c08c8e425 Merge pull request #234 from Hixie/intrinsic
RenderConstrainedBox was ignoring its additional constraints for its intrinsic size logic when it had no child
2015-07-23 09:12:09 -07:00
Hixie
0ab9766786 RenderConstrainedBox was ignoring its additional constraints for its intrinsic size logic when it had no child. 2015-07-23 09:06:34 -07:00
Adam Barth
c60b3ee954 Merge pull request #233 from abarth/fix_analyzer
Fix analyzer warnings
2015-07-23 08:56:10 -07:00
Adam Barth
499a13c5ee Fix analyzer warnings
- Remove unused imports
 - Remove unused, broken constructor for MineDiggerApp
2015-07-23 08:54:51 -07:00
Ian Hickson
a67ceddd90 Merge pull request #218 from Hixie/focus
Focus
2015-07-23 08:45:44 -07:00
Hixie
86fd1e4840 Rename defaultFocus to initialFocus. 2015-07-23 08:43:40 -07:00
Eric Seidel
db577577c7 Focus support.
This patch provides a class to manage focus, Focus, and a class to
manage ownership of the keyboard, KeyboardHandle.

Inherited (in widgets.dart) is adjusted to support subclasses that
need to copy state from instance to instance.

A GlobalKey key type is introduced that is basically the same as
UniqueKey. Component classes that need a globally-unique key can
specify that their 'key' constructor argument is a GlobalKey.

Focus
-----

You can use `Focus.at(this)` to determine if you, a Component, are
currently focused.

You can use `Focus.moveTo(this)` to take the focus or give it to a
particular component.

For this to work, there has to be a Focus class in the widget
hierarchy.

Currently, there can only be one Focus class, because nested scopes
aren't supported. We should add support for that in a future patch.
See issue #229.

KeyboardHandle
--------------

Instead of directly interacting with the keyboard service, you now ask
for a KeyboardHandle using `_keyboard.show(client)`. This returns a
KeyboardHandle class. On that class, you can call `handle.release()`
when you want to hide the keyboard. If `handle.attached` is still
true, and you need to reshow the keyboard after the user hid it, then
you can can `handle.showByRequest()`.

The point of this is that the `keyboard.show()` method maintains the
invariant that only one KeyboardHandle is live at a time.

There are some issues with the keyboard service that I filed as a
result of doing this patch: #226 #227
2015-07-23 08:43:40 -07:00
Adam Barth
23064abc3d Merge pull request #231 from abarth/stocks_test
Don't try to access the network in Stocks test
2015-07-23 08:42:26 -07:00
Adam Barth
c523468e2e Don't try to access the network in Stocks test
Accessing the network created a race condition that would sometimes cause other
tests to fail.
2015-07-23 08:39:42 -07:00
Adam Barth
ba14135744 Switch sky_tool to use a Dart-based HTTP server
The Python HTTP server was caching too agressively. Instead, use an HTTP server
written in Dart from the sky_tools package.
2015-07-23 00:22:41 -07:00
Ian Hickson
4da169cf37 Merge pull request #215 from Hixie/crash-settings
Fix the crash when going to settings after showing the popup menu.
2015-07-22 18:16:08 -07:00
Ian Fischer
875542fc9a Change the ios logging level and remove the prefix. 2015-07-22 17:17:02 -07:00
Ian Fischer
87e53dae2d Merge pull request #199 from iansf/ios_logging
Make Dart |print| calls show up when running on Mac and iOS.
2015-07-22 16:55:01 -07:00
Ian Hickson
6266389462 Merge pull request #221 from Hixie/toolbar
Make center part of toolbar optional.
2015-07-22 15:59:19 -07:00
Hixie
9015e19f43 Make center part of toolbar optional. 2015-07-22 15:57:51 -07:00
Hans Muller
62d8c022b7 Merge pull request #200 from HansMuller/shrinkable-dismissable
Dismissable provides intrinsic support for resize animation
2015-07-22 12:58:05 -07:00
Hans Muller
221e1e0dee Dismissable provides intrinsic support for resize animation 2015-07-22 12:55:45 -07:00
Adam Barth
4048b7a689 Merge pull request #217 from abarth/new_big_red_button
Update big_red_button to push to Google storage
2015-07-22 12:49:57 -07:00
Adam Barth
db11f4c6b6 Update big_red_button to push to Google storage
This patch updates big_red_button to release the artifacts produced from the
|dist| target in ninja.
2015-07-22 12:49:40 -07:00
Viktor Lidholt
628091f06f Merge pull request #216 from vlidholt/master
Adds scoring and level up in game demo
2015-07-22 10:56:41 -07:00
Viktor Lidholt
84230d4997 Merge branch 'master' of github.com:domokit/sky_engine 2015-07-22 10:37:55 -07:00
Viktor Lidholt
5460afc357 Adds scoring and level up in game demo 2015-07-22 10:37:28 -07:00
Collin Jackson
f292592b04 Merge pull request #204 from collinjackson/meal
First pass at adding meal tracking to fitness app

R=hixie
2015-07-22 10:29:05 -07:00
Collin Jackson
4a4e303ad9 Fix build 2015-07-22 10:28:43 -07:00
Collin Jackson
470a8c77c8 Merge remote-tracking branch 'dk/master' into meal
Conflicts:
	sky/sdk/example/fitness/lib/feed.dart
2015-07-22 10:21:48 -07:00
Ian Hickson
a42c96f0de Merge pull request #214 from Hixie/too-many-keys
Don't set keys on images, etc, pre-emptively.
2015-07-22 10:20:34 -07:00
Hixie
7fcbcf3715 Fix the crash when going to settings after showing the popup menu.
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.
2015-07-22 10:10:58 -07:00
Hixie
510c22a4db Don't set keys on images, etc, pre-emptively.
In theory, before, if you had the same image twice in a scrolling container, you'd get an assertion with no way around it.
This makes those nodes not bother making keys by default, which is cheaper and more correct.
2015-07-22 10:05:19 -07:00
Adam Barth
276bbb36af Merge pull request #213 from abarth/null_handle
Use a null LayoutCallbackBuilderHandle in release
2015-07-22 10:02:22 -07:00
Adam Barth
19fdc2da01 Use a null LayoutCallbackBuilderHandle in Release 2015-07-22 10:02:00 -07:00
Adam Barth
003a8596e3 Fix build
We were missing a dependency.
2015-07-22 09:51:19 -07:00
Adam Barth
8e352f283f Merge pull request #212 from abarth/build_dist
Use the build system to build artifacts for distribution
2015-07-22 09:49:58 -07:00
Adam Barth
928146ead1 Use the build system to build artifacts for distribution
Instead of using a collection of Python scripts to generate the artifacts we
want to distribute from this repository, we should just use the build system.
This CL adds a top-level |dist| target that creates these artifacts in a "dist"
directory of the build output.
2015-07-22 09:46:06 -07:00
mpcomplete
24d40f858f Merge pull request #211 from mpcomplete/rm.builder.3
Make SnackBar animate itself.

This introduces a bit of a regression - the FloatingActionButton no longer animates. I'm not sure yet how to animated the FAB along with the SnackBar. Maybe some notion of anchoring a node to another.

Also remove last use of AnimationBuilder.
2015-07-22 12:29:57 -04:00
Ian Hickson
45b77e23ce Merge pull request #210 from Hixie/key
Introduce an explicit Key type.
2015-07-22 09:15:23 -07:00