1. 25 7月, 2015 11 次提交
  2. 24 7月, 2015 14 次提交
    • A
      Create //sky/packages/workbench · e8c3ceb7
      Adam Barth 提交于
      The workbench package exists to pull in pub packages from both pub.dartlang.org
      and from the source tree (using dependency overrides). The idea is that
      workbench will reflect a typical Sky developer's environment so that we can use
      the same tools as a typical sky developer by running them with the workbench as
      the cwd.
      e8c3ceb7
    • A
      Add back some DEPS · 02dcb55d
      Adam Barth 提交于
      Turns out if we don't have these deps, nothing builds these packages.
      02dcb55d
    • A
      Remove the magic from the Sky package · 62005770
      Adam Barth 提交于
      We now just symlink the lib directory into the packages directory in the output
      directory.
      62005770
    • A
      Add sky_services pub package · 45be3988
      Adam Barth 提交于
      This package contains the mojom.dart files we generate from the sky_engine
      repository.
      45be3988
    • A
      Move Material Design Icons to their own package · 47a582b7
      Adam Barth 提交于
      After this patch, we use pub to manage versioning and fetching the material
      design icons.
      47a582b7
    • V
      Adds test case for drawAtlas in games · 3cb87695
      Viktor Lidholt 提交于
      3cb87695
    • A
      b091dfbb
    • H
      Add a dialog to the address book app to test scoped focus. · d1d91c59
      Hixie 提交于
      d1d91c59
    • V
      Adds custom play button with texture to demo game · 337a47c3
      Viktor Lidholt 提交于
      337a47c3
    • A
      Create a SkyShell.apk · 54e3a36c
      Adam Barth 提交于
      This CL introduces a SkyShell.apk that is separate from the SkyDemo.apk that we
      upload to the store to show our demos.  The SkyShell.apk is just an empty shell
      that can run Sky applications on Android.
      54e3a36c
    • H
      Remove the scheduleBuild() API. · b88df178
      Hixie 提交于
      I've noticed an anti-pattern emerge where people call scheduleBuild()
      when they think they've changed enough state that they should rebuild,
      instead of just wrapping their changes in setState(). This leads to
      them missing state changes, having extraneous scheduleBuild() calls,
      and other similar bugs.
      
      By removing scheduleBuild(), the only way to actually schedule a build
      now is to call setState(), and hopefully that'll make it much clearer
      that you're only supposed to do this when you change state.
      b88df178
    • H
      Track global keys globally. · bde56f4b
      Hixie 提交于
      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.
      bde56f4b
    • E
      Add C++ based support for drawAtlas · a09baca0
      Eric Seidel 提交于
      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
      a09baca0
    • H
      RenderConstrainedBox was ignoring its additional constraints for its intrinsic... · 0ab97667
      Hixie 提交于
      RenderConstrainedBox was ignoring its additional constraints for its intrinsic size logic when it had no child.
      0ab97667
  3. 23 7月, 2015 13 次提交
    • A
      Fix analyzer warnings · 499a13c5
      Adam Barth 提交于
       - Remove unused imports
       - Remove unused, broken constructor for MineDiggerApp
      499a13c5
    • H
      Rename defaultFocus to initialFocus. · 86fd1e48
      Hixie 提交于
      86fd1e48
    • E
      Focus support. · db577577
      Eric Seidel 提交于
      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
      db577577
    • A
      Don't try to access the network in Stocks test · c523468e
      Adam Barth 提交于
      Accessing the network created a race condition that would sometimes cause other
      tests to fail.
      c523468e
    • A
      Switch sky_tool to use a Dart-based HTTP server · ba141357
      Adam Barth 提交于
      The Python HTTP server was caching too agressively. Instead, use an HTTP server
      written in Dart from the sky_tools package.
      ba141357
    • H
      Make center part of toolbar optional. · 9015e19f
      Hixie 提交于
      9015e19f
    • H
      221e1e0d
    • V
      Adds scoring and level up in game demo · 5460afc3
      Viktor Lidholt 提交于
      5460afc3
    • C
      Fix build · 4a4e303a
      Collin Jackson 提交于
      4a4e303a
    • H
      Fix the crash when going to settings after showing the popup menu. · 7fcbcf37
      Hixie 提交于
      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.
      7fcbcf37
    • H
      Don't set keys on images, etc, pre-emptively. · 510c22a4
      Hixie 提交于
      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.
      510c22a4
    • A
      Use a null LayoutCallbackBuilderHandle in Release · 19fdc2da
      Adam Barth 提交于
      19fdc2da
    • H
      Introduce an explicit Key type. · 383e504f
      Hixie 提交于
      This fixes some theoretical bugs whereby we were using hashCode to try
      to get unique keys for objects, but really we wanted object identity.
      It also lays the groundwork for a new GlobalKey concept.
      
      I tried to keep the impact on the code minimal, which is why the "Key"
      constructor is actually a factory that returns a StringKey. The code
      has this class hierarchy:
      
      ```
         KeyBase
          |
         Key--------------+---------------+
          |               |               |
         StringKey    ObjectKey       UniqueKey
      ```
      
      ...where the constructors are Key and Key.stringify (StringKey),
      Key.fromObjectIdentity (ObjectKey), and Key.unique (UniqueKey).
      
      We could instead of factory methods use regular constructors with the
      following hierarchy:
      
      ```
         KeyBase
          |
         LocalKey---------+---------------+
          |               |               |
         Key      ObjectIdentityKey   UniqueKey
      ```
      
      ...with constructors Key, Key.stringify, ObjectIdentityKey, and
      UniqueKey, but I felt that that was maybe a more confusing hierarchy.
      I don't have a strong opinion on this.
      383e504f
  4. 22 7月, 2015 2 次提交