1. 23 Apr, 2013 1 commit
  2. 21 Apr, 2013 1 commit
  3. 20 Apr, 2013 2 commits
  4. 19 Apr, 2013 2 commits
  5. 13 Apr, 2013 2 commits
    • David Schnur's avatar
      Updated credits for #1016 exception fix. · a2503c2e
      David Schnur authored
      a2503c2e
    • David Schnur's avatar
      Initialize time-mode support in processOptions. · ec7322e4
      David Schnur authored
      Resolves #1016.  Initialization consists of adding the tickGenerator and
      tickFormatter functions to each axis.  This should happen exactly once
      per plot, but since the code was previously using the processDatapoints
      hook, it was called once per series.  When no series were present, it
      ran zero times, triggering an exception when we later checked for the
      existence of the functions.
      
      Binding to the processOptions hook ensures that the axes are always
      modified once, regardless of how many series there are.  The axes are
      already initialized by the point the hook runs, so this change shouldn't
      cause any problems.
      ec7322e4
  6. 12 Apr, 2013 3 commits
  7. 10 Apr, 2013 1 commit
  8. 08 Apr, 2013 3 commits
  9. 06 Apr, 2013 2 commits
    • David Schnur's avatar
      Updated credits for #987, #861, and #1000. · f3976977
      David Schnur authored
      f3976977
    • David Schnur's avatar
      Always recalculate tickDecimals and tickSize. · 209fe533
      David Schnur authored
      Resolves #1000.  In Flot 0.7 we only calculated tickDecimals and
      tickSize once, when creating the tickGenerator for the first time.  This
      meant that calls to setupGrid failed to recalculate the values, as
      reported in #860.  #861 fixed the problem by moving calculation into
      tickGenerator, but this turned out to cause a new problem, since the
      function doesn't run when an explicit ticks array is provided.
      
      This commit solves both by always recalculating the values outside of
      the tickGenerator function.  As far as I can tell the only reason it
      wasn't done this way from the beginning was to avoid unnecessary work in
      the case where tickGenerator is already provided in the options.  But
      the extra work is negligible, and it's actually more consistent for the
      properties to always be set.
      209fe533
  10. 03 Apr, 2013 1 commit
    • David Schnur's avatar
      Switch back to 'middle' baseline rendering. · 35a16ae7
      David Schnur authored
      Ole's original implementation used 'middle', which I switched away from.
      After a great deal of testing it turns out that 'middle' does in fact
      provide the most consistent results, so we're switching back to it.
      35a16ae7
  11. 02 Apr, 2013 7 commits
  12. 31 Mar, 2013 3 commits
    • David Schnur's avatar
      Fix incorrect default for xaxes/yaxes tickColor. · 55e671b7
      David Schnur authored
      The way in which xaxes/yaxes inherit options from xaxis/yaxis resulted
      in a minor bug, where tickColor defaulted to the xaxis/yaxis color
      instead of the color for its axis.  Fixed by applying the default before
      extending the per-axis options, resolving #984.
      
      There's still some questionable behavior here; this section should be
      revisited for 0.9, especially with an eye towards removing some of the
      code that only exists for backwards-compatibility.
      55e671b7
    • David Schnur's avatar
      4e8d8535
    • David Schnur's avatar
      A better fix for the font-size 'smaller' problem. · a1b4afc5
      David Schnur authored
      This resolves #991, replacing the earlier temporary patch.  It takes
      advantage of the fact that line-height can take the form of a unit-less
      integer, in which case it mirrors the font-size, even when it is
      something abstract, like 'smaller'.  We can then read the dummy
      element's height to learn the effective font-size.
      a1b4afc5
  13. 30 Mar, 2013 1 commit
    • David Schnur's avatar
      Replace the stylesheet hack with inline styles. · df0875e5
      David Schnur authored
      The purpose of the stylesheet hack was to provide a default without
      having to use inline styles on containers.  We can do this much more
      neatly by instead just giving the inline styles to a parent container,
      leaving users free to customize the children.
      df0875e5
  14. 14 Mar, 2013 1 commit
  15. 12 Mar, 2013 2 commits
  16. 11 Mar, 2013 1 commit
  17. 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
  18. 07 Mar, 2013 2 commits
  19. 06 Mar, 2013 4 commits
    • David Schnur's avatar
      6e3cc91f
    • David Schnur's avatar
      Switch to semantic versioning. · a0b05a4b
      David Schnur authored
      a0b05a4b
    • David Schnur's avatar
      Only save references to old Canvas methods once. · c41b09b8
      David Schnur authored
      Plugins are re-initialized with each re-plot (which may not be the right
      thing to do, but that's how it works for now).  The previous approach of
      saving references to the original Canvas functions therefore broke,
      since the second time around we'd get a reference to our new function.
      Instead we hold those references as globals within the plugin, and only
      set them once.
      
      This whole idea of replacing prototype functions is, now that I step
      back and look at it, really awful.  This needs to be changed ASAP to
      something less ridiculous.
      c41b09b8
    • David Schnur's avatar
      Move canvas reuse up into the Canvas constructor. · 53ce9ad1
      David Schnur authored
      This allows us to reuse the canvas elements without having to retain the
      rest of the Canvas object, which should really be reset when the plot is
      reconstructed.  It's also a little simpler, and the Canvas constructor
      just feels like the right place for this code.
      53ce9ad1