Server IP : 127.0.0.2 / Your IP : 3.142.124.139 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin/js/pmd/ |
Upload File : |
/* vim: set expandtab sw=4 ts=4 sts=4: */ /** * @package PhpMyAdmin-Designer */ function isCanvasSupported() { var el = document.createElement("canvas"); return !!(el.getContext && el.getContext("2d")); } if (! isCanvasSupported()) { AJAX.registerOnload("pmd/iecanvas.js", function () { var el = document.getElementById("canvas"); var outerHTML = el.outerHTML; var newEl = document.createElement(outerHTML); el.parentNode.replaceChild(newEl, el); el = newEl; el.getContext = function () { if (! this.cont) { this.cont = new PMD_2D(this); } return this.cont; }; 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('<v:shape', ' fillcolor="', color, '"', ' filled="', Boolean(aFill), '"', ' style="position:absolute;width:10;height:10;"', ' coordorigin="0 0" coordsize="10 10"', ' stroked="', !aFill, '"', ' strokeweight="', this.lineWidth, '"', ' strokecolor="', color, '"', ' path="'); for (var i = 0; i < this.pmd_arr.length; i++) { var p = this.pmd_arr[i]; if (p.type == "moveTo") { Str.push(" m "); Str.push(Math.floor(p.x), ",", Math.floor(p.y)); } else if (p.type == "lineTo") { Str.push(" l "); Str.push(Math.floor(p.x), ",", Math.floor(p.y)); } else if (p.type == "close") { Str.push(" x "); } else if (p.type == "arc") { Str.push(" ar "); Str.push(Math.floor(p.x - p.radius), ",", Math.floor(p.y - p.radius), " ", Math.floor(p.x + p.radius), ",", Math.floor(p.y + p.radius), " ", Math.floor(p.xStart), ",", Math.floor(p.yStart), " ", Math.floor(p.xEnd), ",", Math.floor(p.yEnd)); } } Str.push(' ">'); Str.push("</v:shape>"); this.element_.insertAdjacentHTML("beforeEnd", Str.join("")); this.pmd_arr = []; }; } }