1. 12 Mar, 2013 2 commits
  2. 11 Mar, 2013 1 commit
  3. 10 Mar, 2013 1 commit
    • David Schnur's avatar
      Ensure that axis lines align with their ticks. · 4e9c0c0b
      David Schnur authored
      Add an extra pixel to ensure that the lines cleanly join both top and
      bottom ticks.  Also apply the sub-pixel offset only in the necessary
      direction, so the lines don't start a pixel off from where they should.
      4e9c0c0b
  4. 07 Mar, 2013 2 commits
  5. 06 Mar, 2013 8 commits
  6. 05 Mar, 2013 4 commits
  7. 03 Mar, 2013 7 commits
  8. 02 Mar, 2013 1 commit
  9. 01 Mar, 2013 1 commit
  10. 27 Feb, 2013 3 commits
  11. 26 Feb, 2013 3 commits
    • rlinehan's avatar
      Make minSize customizable · 458656f3
      rlinehan authored
      Previously, the minimum size a selection could be was set at five
      pixels. This commit adds the ability to customize this value.
      458656f3
    • rlinehan's avatar
      Add option to always show selection rectangle · 51485c03
      rlinehan authored
      Previously, if the selected area was very small, the selection
      rectangle would not be displayed. This commit adds an "alwaysShow"
      option so that, when true, the selection rectangle will always be
      displayed. When the selected area is very small, the selection
      rectangle will become a line.
      51485c03
    • rlinehan's avatar
      Add option for lineJoin shape · 0a3db845
      rlinehan authored
      This commit adds an option for the shape of the corners of the
      selection rectangle. By default the shape is set to "round" (the
      previous setting for lineJoin). The other options are "bevel" and
      "miter".
      0a3db845
  12. 24 Feb, 2013 5 commits
    • David Schnur's avatar
      Break text styles into their own cache tier. · a2dd0645
      David Schnur authored
      Previously the cache was divided only by layer, with entries keyed on a
      string built from the text and style.  Now the style has its own tier in
      the cache, i.e. layers > styles > text > info.
      
      This introduces some complexity, since the nested for loops are ugly,
      but at the same time we avoid having to create the cache-key strings.
      More importantly it solves the problem of uniqueness that exists when we
      try to join strings that may contain arbitrary text.  It also allows a
      further optimization in the canvas plugin, which can now set text style
      and color just once per distinct style, instead of with every string.
      a2dd0645
    • David Schnur's avatar
      Allow text to be divided between multiple layers. · 77e50b17
      David Schnur authored
      This lets users 'namespace' text more naturally, i.e. placing x-axis
      labels in a different container from y-axis labels, providing more
      flexibility when it comes to styling and interactivity.
      
      Internally the text cache now has a second tier: layers > text > info.
      77e50b17
    • David Schnur's avatar
      Add text to its actual layer before measuring it. · 4203a66e
      David Schnur authored
      The getTextInfo method previously added new text to the top-level
      container when measuring it.  Now it adds the text to the text layer,
      just as it will be when rendered, so that parent-child CSS rules can
      resolve correctly.
      
      This also avoids having to safe a reference to the top-level container,
      since it wasn't used anywhere else.
      4203a66e
    • David Schnur's avatar
      Factor out text layer creation to its own method. · e7de8735
      David Schnur authored
      This sets the stage for allowing the use of multiple layers.
      e7de8735
    • David Schnur's avatar
      Reverse cache key order to ensure uniqueness. · a036aa96
      David Schnur authored
      Also switch from dashes to pipes, and remove the angle for now, since we
      don't currently support rotated text.
      a036aa96
  13. 23 Feb, 2013 1 commit
    • David Schnur's avatar
      Replace drawText with add and remove methods. · a9a31644
      David Schnur authored
      Every cache element now contains the actual text element instead of just
      its HTML, plus a flag indicating whether it is visible.  The addText and
      removeText methods control the state of this flag, and the render method
      uses it to manage elements within the text container.  So where we
      previously used drawText to actually render text, now we add each string
      once, then let the render method take care of drawing them as necessary.
      
      This dramatically improves performance by eliminating the need to clear
      and re-populate HTML text on every drawing cycle.  Since the elements
      are now static between add/remove calls, this also allows users to add
      interactivity, as they could in 0.7.  Finally, it eliminates the need
      for a separate 'hot' cache.
      
      I also removed the unnecessary 'dimensions' object; it's easier and
      faster to store the width and height at the top level of the info
      object.
      a9a31644
  14. 22 Feb, 2013 1 commit