diff --git a/js/pmd/iecanvas.js b/js/pmd/iecanvas.js
index e2a6b52c1a..03d202653b 100644
--- a/js/pmd/iecanvas.js
+++ b/js/pmd/iecanvas.js
@@ -8,6 +8,126 @@ function isCanvasSupported() {
return !!(el.getContext && el.getContext("2d"));
}
+//*****************************************************************************************************
+
+function convert_style(str) {
+ var m = [];
+ m = str.match(/.*\((\d*),(\d*),(\d*),(\d*)\)/);
+ for (var i = 1; i <= 3; i++) {
+ m[i] = (m[i] * 1).toString(16).length < 2 ? '0' + (m[i] * 1).toString(16) : (m[i] * 1).toString(16);
+ }
+ return ['#' + m[1] + m[2] + m[3], 1];
+}
+
+//------------------------------------------------------------------------------
+function PMD_2D(th) {
+ this.element_ = th;
+ this.pmd_arr = [];
+ this.strokeStyle;
+ this.fillStyle;
+ this.lineWidth;
+
+ this.closePath = function () {
+ this.pmd_arr.push({type: "close"});
+ };
+
+ this.clearRect = function () {
+ this.element_.innerHTML = "";
+ this.pmd_arr = [];
+ };
+
+ this.beginPath = function () {
+ this.pmd_arr = [];
+ };
+
+ this.moveTo = function (aX, aY) {
+ this.pmd_arr.push({type: "moveTo", x: aX, y: aY});
+ };
+
+ this.lineTo = function (aX, aY) {
+ this.pmd_arr.push({type: "lineTo", x: aX, y: aY});
+ };
+
+ this.arc = function (aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) {
+ if (!aClockwise) {
+ var t = aStartAngle;
+ aStartAngle = aEndAngle;
+ aEndAngle = t;
+ }
+
+ var xStart = aX + (Math.cos(aStartAngle) * aRadius);
+ var yStart = aY + (Math.sin(aStartAngle) * aRadius);
+
+ var xEnd = aX + (Math.cos(aEndAngle) * aRadius);
+ var yEnd = aY + (Math.sin(aEndAngle) * aRadius);
+
+ this.pmd_arr.push({type: "arc", x: aX, y: aY,
+ radius: aRadius, xStart: xStart, yStart: yStart, xEnd: xEnd, yEnd: yEnd});
+ };
+
+ this.rect = function (aX, aY, aW, aH) {
+ this.moveTo(aX, aY);
+ this.lineTo(aX + aW, aY);
+ this.lineTo(aX + aW, aY + aH);
+ this.lineTo(aX, aY + aH);
+ this.closePath();
+ };
+
+ this.fillRect = function (aX, aY, aW, aH) {
+ this.beginPath();
+ this.moveTo(aX, aY);
+ this.lineTo(aX + aW, aY);
+ this.lineTo(aX + aW, aY + aH);
+ this.lineTo(aX, aY + aH);
+ this.closePath();
+ this.stroke(true);
+ };
+
+ this.stroke = function (aFill) {
+ var Str = [];
+ var a = convert_style(aFill ? this.fillStyle : this.strokeStyle);
+ var color = a[0];
+
+ Str.push('');
+ Str.push("");
+
+ this.element_.insertAdjacentHTML("beforeEnd", Str.join(""));
+ this.pmd_arr = [];
+ };
+}
+
if (! isCanvasSupported()) {
AJAX.registerOnload("pmd/iecanvas.js", function () {
var el = document.getElementById("canvas");
@@ -25,123 +145,4 @@ if (! isCanvasSupported()) {
el.style.width = el.attributes.width.nodeValue + "px";
el.style.height = el.attributes.height.nodeValue + "px";
});
-
- //*****************************************************************************************************
-
- function convert_style(str) {
- var m = [];
- m = str.match(/.*\((\d*),(\d*),(\d*),(\d*)\)/);
- for (var i = 1; i <= 3; i++) {
- m[i] = (m[i] * 1).toString(16).length < 2 ? '0' + (m[i] * 1).toString(16) : (m[i] * 1).toString(16);
- }
- return ['#' + m[1] + m[2] + m[3], 1];
- }
- //------------------------------------------------------------------------------
- function PMD_2D(th) {
- this.element_ = th;
- this.pmd_arr = [];
- this.strokeStyle;
- this.fillStyle;
- this.lineWidth;
-
- this.closePath = function () {
- this.pmd_arr.push({type: "close"});
- };
-
- this.clearRect = function () {
- this.element_.innerHTML = "";
- this.pmd_arr = [];
- };
-
- this.beginPath = function () {
- this.pmd_arr = [];
- };
-
- this.moveTo = function (aX, aY) {
- this.pmd_arr.push({type: "moveTo", x: aX, y: aY});
- };
-
- this.lineTo = function (aX, aY) {
- this.pmd_arr.push({type: "lineTo", x: aX, y: aY});
- };
-
- this.arc = function (aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) {
- if (!aClockwise) {
- var t = aStartAngle;
- aStartAngle = aEndAngle;
- aEndAngle = t;
- }
-
- var xStart = aX + (Math.cos(aStartAngle) * aRadius);
- var yStart = aY + (Math.sin(aStartAngle) * aRadius);
-
- var xEnd = aX + (Math.cos(aEndAngle) * aRadius);
- var yEnd = aY + (Math.sin(aEndAngle) * aRadius);
-
- this.pmd_arr.push({type: "arc", x: aX, y: aY,
- radius: aRadius, xStart: xStart, yStart: yStart, xEnd: xEnd, yEnd: yEnd});
- };
-
- this.rect = function (aX, aY, aW, aH) {
- this.moveTo(aX, aY);
- this.lineTo(aX + aW, aY);
- this.lineTo(aX + aW, aY + aH);
- this.lineTo(aX, aY + aH);
- this.closePath();
- };
-
- this.fillRect = function (aX, aY, aW, aH) {
- this.beginPath();
- this.moveTo(aX, aY);
- this.lineTo(aX + aW, aY);
- this.lineTo(aX + aW, aY + aH);
- this.lineTo(aX, aY + aH);
- this.closePath();
- this.stroke(true);
- };
-
- this.stroke = function (aFill) {
- var Str = [];
- var a = convert_style(aFill ? this.fillStyle : this.strokeStyle);
- var color = a[0];
-
- Str.push('');
- Str.push("");
-
- this.element_.insertAdjacentHTML("beforeEnd", Str.join(""));
- this.pmd_arr = [];
- };
- }
}