diff --git a/jquery.flot.selection.js b/jquery.flot.selection.js old mode 100644 new mode 100755 index 781678c..d382619 --- a/jquery.flot.selection.js +++ b/jquery.flot.selection.js @@ -7,14 +7,27 @@ The plugin supports these options: selection: { mode: null or "x" or "y" or "xy", - color: color + color: color, + shape: "round" or "miter" or "bevel", + minSize: number of pixels } Selection support is enabled by setting the mode to one of "x", "y" or "xy". In "x" mode, the user will only be able to specify the x range, similarly for "y" mode. For "xy", the selection becomes a rectangle where both ranges can be specified. "color" is color of the selection (if you need to change the color -later on, you can get to it with plot.getOptions().selection.color). +later on, you can get to it with plot.getOptions().selection.color). "shape" +is the shape of the corners of the selection. + +"minSize" is the minimum size a selection can be in pixels. This value can +be customized to determine the smallest size a selection can be and still +have the selection rectangle be displayed. When customizing this value, the +fact that it refers to pixels, not axis units must be taken into account. +Thus, for example, if there is a bar graph in time mode with BarWidth set to 1 +minute, setting "minSize" to 1 will not make the minimum selection size 1 +minute, but rather 1 pixel. Note also that setting "minSize" to 0 will prevent +"plotunselected" events from being fired when the user clicks the mouse without +dragging. When selection support is enabled, a "plotselected" event will be emitted on the DOM element you passed into the plot function. The event handler gets a @@ -32,7 +45,8 @@ parameters as the "plotselected" event, in case you want to know what's happening while it's happening, A "plotunselected" event with no arguments is emitted when the user clicks the -mouse to remove the selection. +mouse to remove the selection. As stated above, setting "minSize" to 0 will +destroy this behavior. The plugin allso adds the following methods to the plot object: @@ -274,7 +288,7 @@ The plugin allso adds the following methods to the plot object: } function selectionIsSane() { - var minSize = 5; + var minSize = plot.getOptions().selection.minSize; return Math.abs(selection.second.x - selection.first.x) >= minSize && Math.abs(selection.second.y - selection.first.y) >= minSize; } @@ -305,7 +319,7 @@ The plugin allso adds the following methods to the plot object: ctx.strokeStyle = c.scale('a', 0.8).toString(); ctx.lineWidth = 1; - ctx.lineJoin = "round"; + ctx.lineJoin = o.selection.shape; ctx.fillStyle = c.scale('a', 0.4).toString(); var x = Math.min(selection.first.x, selection.second.x) + 0.5, @@ -335,7 +349,9 @@ The plugin allso adds the following methods to the plot object: options: { selection: { mode: null, // one of null, "x", "y" or "xy" - color: "#e8cfac" + color: "#e8cfac", + shape: "round", // one of "round", "miter", or "bevel" + minSize: 5 // minimum number of pixels } }, name: 'selection',