Commit Graph

575 Commits (edc2bbd9922999ddcde3303bfdb629cda8a46f09)
 

Author SHA1 Message Date
David Schnur edc2bbd992 Added methods to draw and measure text.
These methods provide a common way to draw HTML text above a canvas.

The getTextInfo method generates div HTML for text with a given font
style/class and angle, measures the element's dimensions, and saves
everything in a cache.  The drawText method takes the resulting entry,
finishes generating the inline styles necessary to position the div, and
adds the result to a buffer.  The render method dumps the buffer into an
overlay and expires unused cache entries.
13 years ago
David Schnur 42d5592add Added a basic frame for the canvas-drawing plugin. 13 years ago
David Schnur a9be4d559d Abstract-out canvas creation into an object.
Moved canvas creation and size management into a new Canvas class.

This is the first step towards a more object-oriented architecture.
Since we create multiple canvases, and have to maintain several
module-global variables to track their properties, they are the ideal
place to start.

This commit also removes sizing code that was duplicated between
makeCanvas and resizeCanvas.
13 years ago
David Schnur f66c9ae3d6 Renamed the 'canvas' variable to 'surface'.
Renaming the variable gives us room to create a new class called Canvas.
13 years ago
David Schnur 36bfcbf08a Merge pull request #929 from hizhengfu/master
Fix an error in plot offset calculation.
13 years ago
hizhengfu 3c1d04cbd1 Correction calculation error margin
Correction calculation error margin
13 years ago
David Schnur f06fe931ea Merge pull request #861 from thecountofzero/master
Ensure that tickSize updates on subsequent calls to setupGrid.
13 years ago
David Schnur 92a833ce00 Cleaned up jQuery plugins site manifest.
Fixed jQuery version dependency (we require 1.2.6, not 1.3.2) and
whitespace.
13 years ago
David Schnur 4df443bd00 Updated Bower component.json version info.
Flot's semver is 0.8.0-alpha, and it (for now) requires jQuery 1.2.6,
not 1.3.2.
13 years ago
David Schnur a665f6793c Merge pull request #843 from ralphholzmann/bower
Adding component.json for bower.
13 years ago
David Schnur a60dbbfd1f Updated credits for sub-pixel rendering fixes. 13 years ago
David Schnur 29476b8911 Merge pull request #911 from dnschnur/series-zero-option
Added a series 'zero' option to control automatic scaling.
13 years ago
David Schnur be6fc4e41d Draw selection on half-pixels to avoid aliasing.
Adapted from pull request #17.
13 years ago
David Schnur 4a35faff61 Merge pull request #925 from danxshap/master
Always draw crosshair on half-pixels to prevent aliasing.
13 years ago
Daniel Shapiro 1bee76632d Draw crosshair on half-pixels to prevent aliasing 13 years ago
David Schnur 620b05a7e1 Merge pull request #923 from NIA/patch-1
Add passing offsets over plotpan event
13 years ago
David Schnur 2c64f82a4f Added the new 'zero' option to the changelog. 13 years ago
David Schnur 151e96fb27 Expand documentation of the point format options. 13 years ago
David Schnur 1e685b0446 Documented the zero option for bars and lines. 13 years ago
David Schnur 790bbaf55f Mirror the zero option to the categories plugin.
Due to limitations in our plugin architecture, the categories plugin
duplicates code from Flot's core for adding a dummy point to snap the y
axis to zero.  We can get rid of this duplication in 0.9; for now we'll
just update the duplicate to match the change in core that introduced
the new 'zero' option.
13 years ago
David Schnur 6412dafc6e Restrict zero to bars and filled lines only.
This also includes a tweak to zero's default.  Previously zero only
received a value if lines were visible; now it always receives a value,
matching the behavior of other contextual options.
13 years ago
Ivan Novikov c8630d1849 Add passing offsets over plotpan event
Unified this behavior with plotzoom event as in pull #34 flot/flot@1b6c4e933a
13 years ago
David Schnur 3c0bcefc5a Fixed jQuery 1.2.6 mouseleave issue from #920.
Use bind, rather than .mouseleave, because we officially still support
jQuery 1.2.6, which doesn't define a shortcut for mouseenter or
mouseleave.  This was a bug/oversight that was fixed somewhere around
1.3.x.  We can return to using .mouseleave when we drop support for
1.2.6.
13 years ago
David Schnur f2fa1b869e Updated credits for #918 pie percentage errors. 13 years ago
David Schnur 1cd2cd9490 Merge pull request #918 from jtward/patch-1
Change evaluation order for calculating percentage.
13 years ago
James Ward f6198f5db2 Change evaluation order for calculating percentage
Rounding errors are introduced when calculating the percentage when the total is 100 (for example if percentages have already been calculated). Calculating (total/100) first eliminates the error in this case.
13 years ago
David Schnur b6924a96d9 Update auto-scaling to support the zero option.
Added a format option 'autoscale' that controls whether the given point
is considered when determining an automatic scale.

The lines & bars 'zero' option controls whether autoscale is set on the
dummy point that is inserted to create the series lower-bound.
13 years ago
David Schnur 126cb072fc Added a 'zero' option for lines and bars.
Area and bar plots normally use a minimum of zero, since their purpose
is to show size, and using an auto-scaled minimum distorts the plot's
meaning.  But this behavior is undesirable in cases where the plot type
is used in more of a decorative sense.

The zero option provides a way to control this behavior.  It defauls to
true for bars and filled lines.
13 years ago
David Schnur d7c58b59f3 Enforce left-to-right canvas layout orientation.
When the placeholder has (or inherits) the HTML 'dir' attribute or CSS
'direction' we get unexpected results from text metrics, resulting in
visual glitches on the axes.

The suggested solution in #716 was to set ltr on the placeholder, but
this introduces its own problems, since the user probably *does* expect
rtl on items like the legend.  So we'll instead set ltr only on the
canvases.

We should review this behavior at some point; rtl is something we need
to handle, not work around.  It also needs to be kept in mind as we move
canvas-text into a plugin.  But for now this solution at least ensures
consistent behavior.
13 years ago
David Schnur a6414cac60 Prevent color generation with all fixed indexes.
As pointed out in a comment to #832, initializing maxIndex to zero
results in the creation of a single color even when all indexes are
fixed.
13 years ago
David Schnur 88e0567b46 Tweak comparison order for clarity. 13 years ago
David Schnur 61c1cad92f Clarify comments describing color generation. 13 years ago
David Schnur c22f3f753c Added credits for #910 pie redraw fixes. 13 years ago
David Schnur f0652fd067 Merge pull request #910 from dnschnur/pie-resize-fix
Allow the pie chart to redraw on resize or update.
13 years ago
David Schnur d09b278601 Allow the pie to redraw on resize or update.
When a pie's labels don't fit within its container, the pie is redrawn
with a smaller radius until the labels fit, or a fixed number of retry
attempts are exhausted. The redraw flag was not reset on success,
however, which prevented the pie from being redrawn again after a resize
or update.
13 years ago
David Schnur 02c701b057 Check dimensions on draw, not just on startup.
Previously the container dimensions were checked only once, which
prevented the pie from changing in size as its container was resized.
13 years ago
David Schnur 715a093316 Updated credits for #905 jQuery 1.9 compatibility. 13 years ago
David Schnur 761b5f1149 Merge pull request #905 from anthonyryan1/master
Eliminate uses of $.browser, since it is no longer present in jQuery 1.9, and some of the cases were no longer necessary anyway.
13 years ago
Anthony Ryan a4ac13085c Document the affected versions of opera, and replace $.browser.opera with a line to detect only affected versions 13 years ago
Anthony Ryan 50a45ba995 Remove Internet Explorer specific code, that appears to have no impact on actual rendering see bug #905 13 years ago
Anthony Ryan 97d862a4b2 Specify the precise version of IE referenced in this problem 13 years ago
David Schnur f6b279ce34 Fixed a logic error in series color generation.
This addresses #906, the case where a fixed color index on a series
results in the color generator producing one color less than is actually
needed.
13 years ago
David Schnur 8760ee77e9 Added undocumented labelFormatter null behavior. 14 years ago
Mark Côté 43e3a70da7 Merge pull request #900 from markrcote/master
Add nonstandard %q datetime specifier for quarters.
14 years ago
Mark Côté 0d47f513ca Don't prepend 'Q' with %q specifier, but keep the 'Q' for default formatting. 14 years ago
David Schnur 3640b939e2 Updated the public plot.version property. 14 years ago
David Schnur 4880f45da0 Merge pull request #899 from arpancj/master
Issue: #890: Fix broken behavior for interacting demo
14 years ago
David Schnur 5b966071e6 Merge pull request #901 from dnschnur/canvas-float-fix
Removed unnecessary canvas skipPositioning flag.
14 years ago
David Schnur de86d017a0 Updated news for the canvas alignment fix. 14 years ago
David Schnur e85a190ea9 Removed unnecessary canvas skipPositioning flag.
The primary canvas uses position: absolute while the overlay canvas does
not.  This can cause the two to get out of alignment in rare cases when
floating elements are placed near the plot placeholder.  There doesn't
appear to be any reason why the overlay can't also be
absolutely-positioned, so I've just removed the flag entirely.
14 years ago