/** * jqPlot * Pure JavaScript plotting plugin using jQuery * * Version: @VERSION * Revision: @REVISION * * Copyright (c) 2009-2013 Chris Leonello * jqPlot is currently available for use in all personal or commercial projects * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can * choose the license that best suits your project and use it accordingly. * * Although not required, the author would appreciate an email letting him * know of any substantial use of jqPlot. You can reach the author at: * chris at jqplot dot com or see http://www.jqplot.com/info.php . * * If you are feeling kind and generous, consider supporting the project by * making a donation at: http://www.jqplot.com/donate.php . * * sprintf functions contained in jqplot.sprintf.js by Ash Searle: * * version 2007.04.27 * author Ash Searle * http://hexmen.com/blog/2007/03/printf-sprintf/ * http://hexmen.com/js/sprintf.js * The author (Ash Searle) has placed this code in the public domain: * "This code is unrestricted: you are free to use it however you like." * */ (function($) { var objCounter = 0; // class: $.jqplot.CanvasOverlay $.jqplot.CanvasOverlay = function(opts){ var options = opts || {}; this.options = { show: $.jqplot.config.enablePlugins, deferDraw: false }; // prop: objects this.objects = []; this.objectNames = []; this.canvas = null; this.markerRenderer = new $.jqplot.MarkerRenderer({style:'line'}); this.markerRenderer.init(); this.highlightObjectIndex = null; if (options.objects) { var objs = options.objects, obj; for (var i=0; i qx) { temp = px; px = qx; qx = temp; } if (py > qy) { temp = py; py = qy; qy = temp; } var ret = (rx >= px && rx <= qx && ry >= py && ry <= qy); return ret; } function handleMove(ev, gridpos, datapos, neighbor, plot) { var co = plot.plugins.canvasOverlay; var objs = co.objects; var l = objs.length; var obj, haveHighlight=false; var elem; for (var i=0; i