bc... [google]

excanvas.js ( File view )

  • By dxtk0812 2013-10-09
  • View(s):44
  • Download(s):0
  • Point(s): 1
			// Copyright 2006 Google Inc.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//   http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// See the License for the specific language governing permissions and
// limitations under the License.

// Known Issues:
// * Patterns only support repeat.
// * Radial gradient are not implemented. The VML version of these look very
//   different from the canvas one.
// * Clipping paths are not implemented.
// * Coordsize. The width and height attribute have higher priority than the
//   width and height style values which isn't correct.
// * Painting mode isn't implemented.
// * Canvas width/height should is using content-box by default. IE in
//   Quirks mode will draw the canvas using border-box. Either change your
//   doctype to HTML5
//   (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype)
//   or use Box Sizing Behavior from WebFX
//   (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html)
// * Non uniform scaling does not correctly scale strokes.
// * Filling very large shapes (above 5000 points) is buggy.
// * Optimize. There is always room for speed improvements.

// Only add this code if we do not already have a canvas implementation
if (!document.createElement('canvas').getContext) {

(function() {

  // alias some functions to make (compiled) code shorter
  var m = Math;
  var mr = m.round;
  var ms = m.sin;
  var mc = m.cos;
  var abs = m.abs;
  var sqrt = m.sqrt;

  // this is used for sub pixel precision
  var Z = 10;
  var Z2 = Z / 2;

   * This funtion is assigned to the <canvas> elements as element.getContext().
   * @this {
   * @return {
  function getContext() {

    return this.context_ ||
        (this.context_ = new CanvasRenderingContext2D_(this));

  var slice = Array.prototype.slice;

   * Binds a function to an object. The returned function will always use the
   * passed in {
@code obj
} as {
@code this
   * Example:
   *   g = bind(f, obj, a, b)
   *   g(c, d) // will do f.call(obj, a, b, c, d)
   * @param {
} f The function to bind the object to
   * @param {
} obj The object that should act as this when the function
   *     is called
   * @param {
} var_args Rest arguments that will be used as the initial
   *     arguments when the function is called
   * @return {
} A new function that has bound this
  function bind(f, obj, var_args) {

    var a = slice.call(arguments, 2);
    return function() {

      return f.apply(obj, a.concat(slice.call(arguments)));

  function encodeHtmlAttribute(s) {

    return String(s).replace(/&/g, '&amp;').replace(/"/g, '&quot;');

  function addNamespacesAndStylesheet(doc) {

    // create xmlns
    if (!doc.namespaces['g_vml_']) {

      doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml',

    if (!doc.namespaces['g_o_']) {

      doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office',

    // Setup default CSS.  Only add one style sheet per document
    if (!doc.styleSheets['ex_canvas_']) {

      var ss = doc.createStyleSheet();
      ss.owningElement.id = 'ex_canvas_';
      ss.cssText = 'canvas{
display:inline-block;overflow:hidden;' +
          // default size is 300x150 in Gecko and Opera

  // Add namespaces and stylesheet at startup.

  var G_vmlCanvasManager_ = {

    init: function(opt_doc) {

      if (/MSIE/.test(navigator.userAgent) && !window.opera) {

        var doc = opt_doc || document;
        // Create a dummy element so that IE will allow canvas elements to be
        // recognized.
        doc.attachEvent('onreadystatechange', bind(this.init_, this, doc));

    init_: function(doc) {

      // find all canvas elements
      var els = doc.getElementsByTagName('canvas');
      for (var i = 0; i < els.length; i++) {


     * Public initializes a canvas element so that it can be used as canvas
     * element from now on. This is called automatically before the page is
     * loaded but if you are creating elements using createElement you need to
     * make sure this is called on the element.
     * @param {
} el The canvas element to initialize.
     * @return {
} the element that was created.
    initElement: function(el) {

      if (!el.getContext) {

        el.getContext = getContext;

        // Add namespaces and stylesheet to document of the element.

        // Remove fallback content. There is no way to hide text nodes so we
        // just remove all childNodes. We could hide all elements and remove
        // text nodes but who really cares about the fallback content.
        el.innerHTML = '';

        // do not use inline function because that will leak memory
        el.attachEvent('onpropertychange', onPropertyChange);
        el.attachEvent('onresize', onResize);

        var attrs = el.attributes;
        if (attrs.width && attrs.width.specified) {

          // TODO: use runtimeStyle and coordsize
          // el.getContext().setWidth_(attrs.width.nodeValue);
          el.style.width = attrs.width.nodeValue + 'px';
} else {

          el.width = el.clientWidth;
        if (attrs.height && attrs.height.specified) {

          // TODO: use runtimeStyle and coordsize
          // el.getContext().setHeight_(attrs.height.nodeValue);
          el.style.height = attrs.height.nodeValue + 'px';
} else {

          el.height = el.clientHeight;
      return el;

  function onPropertyChange(e) {

    var el = e.srcElement;

    switch (e.propertyName) {

      case 'width':
        el.style.width = el.attributes.width.nodeValue + 'px';
        // In IE8 this does not trigger onresize.
        el.firstChild.style.width =  el.clientWidth + 'px';
      case 'height':
        el.style.height = el.attributes.height.nodeValue + 'px';
        el.firstChild.style.height = el.clientHeight + 'px';

  function onResize(e) {

    var el = e.srcElement;
    if (el.firstChild) {

      el.firstChild.style.width =  el.clientWidth + 'px';
      el.firstChild.style.height = el.clientHeight + 'px';


  // precompute "00" to "FF"
  var decToHex = [];
  for (var i = 0; i < 16; i++) {

    for (var j = 0; j < 16; j++) {

      decToHex[i * 16 + j] = i.toString(16) + j.toString(16);

  function createMatrixIdentity() {

    return [
      [1, 0, 0],
      [0, 1, 0],
      [0, 0, 1]

  function matrixMultiply(m1, m2) {

    var result = createMatrixIdentity();

    for (var x = 0; x < 3; x++) {

      for (var y = 0; y < 3; y++) {

        var sum = 0;

        for (var z = 0; z < 3; z++) {

          sum += m1[x][z] * m2[z][y];

        result[x][y] = sum;
    return result;

  function copyState(o1, o2) {

    o2.fillStyle     = o1.fillStyle;
    o2.lineCap       = o1.lineCap;
    o2.lineJoin      = o1.lineJoin;
    o2.lineWidth     = o1.lineWidth;
    o2.miterLimit    = o1.miterLimit;
    o2.shadowBlur    = o1.shadowBlur;
    o2.shadowColor   = o1.shadowColor;
    o2.shadowOffsetX = o1.shadowOffsetX;
    o2.shadowOffsetY = o1.shadowOffsetY;
    o2.strokeStyle   = o1.strokeStyle;
    o2.globalAlpha   = o1.globalAlpha;
    o2.font          = o1.font;
    o2.textAlign     = o1.textAlign;
    o2.textBaseline  = o1.textBaseline;
    o2.arcScaleX_    = o1.arcScaleX_;
    o2.arcScaleY_    = o1.arcScaleY_;
    o2.lineScale_    = o1.lineScale_;

  var colorData = {

    aliceblue: '#F0F8FF',
    antiquewhite: '#FAEBD7',
    aquamarine: '#7FFFD4',
    azure: '#F0FFFF',
    beige: '#F5F5DC',
    bisque: '#FFE4C4',
    black: '#000000',
    blanchedalmond: '#FFEBCD',
    blueviolet: '#8A2BE2',
    brown: '#A52A2A',
    burlywood: '#DEB887',
    cadetblue: '#5F9EA0',
    chartreuse: '#7FFF00',
    chocolate: '#D2691E',
    coral: '#FF7F50',
    cornflowerblue: '#6495ED',
    cornsilk: '#FFF8DC',
    crimson: '#DC143C',
    cyan: '#00FFFF',
    darkblue: '#00008B',
    darkcyan: '#008B8B',
    darkgoldenrod: '#B8860B',
    darkgray: '#A9A9A9',
    darkgreen: '#006400',
    darkgrey: '#A9A9A9',
    darkkhaki: '#BDB76B',
    darkmagenta: '#8B008B',
    darkolivegreen: '#556B2F',
    darkorange: '#FF8C00',
    darkorchid: '#9932CC',
    darkred: '#8B0000',
    darksalmon: '#E9967A',
    darkseagreen: '#8FBC8F',
    darkslateblue: '#483D8B',
    darkslategray: '#2F4F4F',
    darkslategrey: '#2F4F4F',
    darkturquoise: '#00CED1',
    darkviolet: '#9400D3',
    deeppink: '#FF1493',
    deepskyblue: '#00BFFF',
    dimgray: '#696969',
    dimgrey: '#696969',
    dodgerblue: '#1E90FF',
    firebrick: '#B22222',
    floralwhite: '#FFFAF0',
    forestgreen: '#228B22',
    gainsboro: '#DCDCDC',
    ghostwhite: '#F8F8FF',
    gold: '#FFD700',
    goldenrod: '#DAA520',
    grey: '#808080',
    greenyellow: '#ADFF2F',
    honeydew: '#F0FFF0',
    hotpink: '#FF69B4',
    indianred: '#CD5C5C',
    indigo: '#4B0082',
    ivory: '#FFFFF0',
    khaki: '#F0E68C',
    lavender: '#E6E6FA',
    lavenderblush: '#FFF0F5',
    lawngreen: '#7CFC00',
    lemonchiffon: '#FFFACD',
    lightblue: '#ADD8E6',
    lightcoral: '#F08080',
    lightcyan: '#E0FFFF',
    lightgoldenrodyellow: '#FAFAD2',
    lightgreen: '#90EE90',
    lightgrey: '#D3D3D3',
    lightpink: '#FFB6C1',
    lightsalmon: '#FFA07A',
    lightseagreen: '#20B2AA',
(Not finished, please download and read the complete file)
Expand> <Close

Want complete source code? Download it here

Point(s): 1

0 lines left, continue to read

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
01.97 kB
.htaccess232.00 B2013-08-14|09:52
README.md445.00 B2013-08-14|09:52
blank.html11.40 kB2013-08-14|09:52
calendar.html12.04 kB2013-08-14|09:52
chart.html15.03 kB2013-08-14|09:52
01.97 kB
bootstrap-cerulean.css105.84 kB2013-08-14|09:52
bootstrap-classic.css97.55 kB2013-08-14|09:52
bootstrap-classic.min.css81.03 kB2013-08-14|09:52
bootstrap-cyborg.css113.47 kB2013-08-14|09:52
bootstrap-journal.css101.30 kB2013-08-14|09:52
bootstrap-redy.css105.84 kB2013-08-14|09:52
bootstrap-responsive.css14.11 kB2013-08-14|09:52
bootstrap-responsive.min.css10.38 kB2013-08-14|09:52
bootstrap-simplex.css108.55 kB2013-08-14|09:52
bootstrap-slate.css118.87 kB2013-08-14|09:52
bootstrap-spacelab.css110.01 kB2013-08-14|09:52
bootstrap-united.css99.88 kB2013-08-14|09:52
charisma-app.css10.64 kB2013-08-14|09:52
chosen.css13.84 kB2013-08-14|09:52
colorbox.css3.22 kB2013-08-14|09:52
elfinder.min.css28.95 kB2013-08-14|09:52
elfinder.theme.css1.78 kB2013-08-14|09:52
fullcalendar.css10.45 kB2013-08-14|09:52
fullcalendar.print.css1.31 kB2013-08-14|09:52
jquery-ui-1.8.21.custom.css32.47 kB2013-08-14|09:52
jquery.cleditor.css1.36 kB2013-08-14|09:52
jquery.iphone.toggle.css3.81 kB2013-08-14|09:52
jquery.noty.css2.07 kB2013-08-14|09:52
noty_theme_default.css8.55 kB2013-08-14|09:52
opa-icons.css38.70 kB2013-08-14|09:52
uniform.default.css10.35 kB2013-08-14|09:52
uploadify.css2.48 kB2013-08-14|09:52
01.97 kB
01.97 kB
01.97 kB
html_structure.png43.52 kB2013-08-14|09:52
image_1.png5.18 kB2013-08-14|09:52
01.97 kB
documenter_style.css7.27 kB2013-08-14|09:52
01.97 kB
info.png686.00 B2013-08-14|09:52
pre_bg.png98.00 B2013-08-14|09:52
warning.png607.00 B2013-08-14|09:52
favicon.ico4.19 kB2013-08-14|09:52
index.html9.58 kB2013-08-14|09:52
01.97 kB
jquery.1.6.4.js89.52 kB2013-08-14|09:52
jquery.easing.js7.91 kB2013-08-14|09:52
jquery.scrollTo-1.4.2-min.js2.20 kB2013-08-14|09:52
script.js3.79 kB2013-08-14|09:52
error.html1.65 kB2013-08-14|09:52
file-manager.html11.75 kB2013-08-14|09:52
form.html23.81 kB2013-08-14|09:52
gallery.html17.60 kB2013-08-14|09:52
grid.html19.40 kB2013-08-14|09:52
icon.html323.15 kB2013-08-14|09:52
01.97 kB
01.97 kB
ajax-loader-1.gif723.00 B2013-08-14|09:52
ajax-loader-2.gif477.00 B2013-08-14|09:52
ajax-loader-3.gif1.05 kB2013-08-14|09:52
ajax-loader-4.gif404.00 B2013-08-14|09:52
ajax-loader-5.gif2.82 kB2013-08-14|09:52
ajax-loader-6.gif3.86 kB2013-08-14|09:52
ajax-loader-7.gif10.57 kB2013-08-14|09:52
ajax-loader-8.gif7.08 kB2013-08-14|09:52
arrows-active.png201.00 B2013-08-14|09:52
arrows-normal.png312.00 B2013-08-14|09:52
bg-input-focus.png143.00 B2013-08-14|09:52
bg-input.png143.00 B2013-08-14|09:52
border.png163.00 B2013-08-14|09:52
buttons.gif2.99 kB2013-08-14|09:52
cancel-off.png699.00 B2013-08-14|09:52
cancel-on.png715.00 B2013-08-14|09:52
chosen-sprite.png559.00 B2013-08-14|09:52
controls.png1.99 kB2013-08-14|09:52
crop.gif329.00 B2013-08-14|09:52
dialogs.png16.13 kB2013-08-14|09:52
error_bg.png137.00 B2013-08-14|09:52
favicon.ico4.19 kB2013-08-14|09:52
01.97 kB
01.97 kB
l1_MS5qcGc1344290228.png5.13 kB2013-08-14|09:52
l1_MTAuanBn1344290212.png5.20 kB2013-08-14|09:52
l1_MTEuanBn1344290212.png5.68 kB2013-08-14|09:52
l1_MTIuanBn1344290216.png5.68 kB2013-08-14|09:52
l1_MTMuanBn1344290218.png5.46 kB2013-08-14|09:52
l1_MTQuanBn1344290218.png5.60 kB2013-08-14|09:52
l1_MTUuanBn1344290220.png5.63 kB2013-08-14|09:52
l1_MTYuanBn1344290222.png5.39 kB2013-08-14|09:52
l1_MTcuanBn1344290224.png5.10 kB2013-08-14|09:52
l1_MTguanBn1344290226.png6.01 kB2013-08-14|09:52
l1_MTkuanBn1344290228.png5.91 kB2013-08-14|09:52
l1_Mi5qcGc1344290242.png5.63 kB2013-08-14|09:52
l1_MjAuanBn1344290232.png4.62 kB2013-08-14|09:52
l1_MjEuanBn1344290232.png4.59 kB2013-08-14|09:52
l1_MjIuanBn1344290236.png5.42 kB2013-08-14|09:52
l1_MjMuanBn1344290238.png5.80 kB2013-08-14|09:52
l1_MjQuanBn1344290240.png5.70 kB2013-08-14|09:52
l1_My5qcGc1344290244.png4.40 kB2013-08-14|09:52
l1_NC5qcGc1344290246.png5.61 kB2013-08-14|09:52
l1_NS5qcGc1344290246.png5.86 kB2013-08-14|09:52
l1_Ni5qcGc1344290248.png5.91 kB2013-08-14|09:52
l1_Ny5qcGc1344290252.png4.94 kB2013-08-14|09:52
l1_OC5qcGc1344290254.png5.68 kB2013-08-14|09:52
l1_OS5qcGc1344290254.png5.60 kB2013-08-14|09:52
1.jpg373.25 kB2013-08-14|09:52
10.jpg389.85 kB2013-08-14|09:52
11.jpg646.25 kB2013-08-14|09:52
12.jpg706.80 kB2013-08-14|09:52
13.jpg364.00 kB2013-08-14|09:52
14.jpg576.44 kB2013-08-14|09:52
15.jpg544.08 kB2013-08-14|09:52
16.jpg385.16 kB2013-08-14|09:52
17.jpg335.24 kB2013-08-14|09:52
18.jpg398.55 kB2013-08-14|09:52
19.jpg649.20 kB2013-08-14|09:52
2.jpg763.09 kB2013-08-14|09:52
20.jpg386.55 kB2013-08-14|09:52
21.jpg406.99 kB2013-08-14|09:52
22.jpg658.64 kB2013-08-14|09:52
23.jpg678.27 kB2013-08-14|09:52
24.jpg414.93 kB2013-08-14|09:52
3.jpg416.75 kB2013-08-14|09:52
4.jpg459.91 kB2013-08-14|09:52
5.jpg612.49 kB2013-08-14|09:52
6.jpg697.43 kB2013-08-14|09:52
7.jpg643.92 kB2013-08-14|09:52
8.jpg537.01 kB2013-08-14|09:52
9.jpg605.59 kB2013-08-14|09:52
01.97 kB
1.jpg20.25 kB2013-08-14|09:52
10.jpg19.88 kB2013-08-14|09:52
11.jpg22.11 kB2013-08-14|09:52
12.jpg15.37 kB2013-08-14|09:52
13.jpg20.36 kB2013-08-14|09:52
14.jpg21.85 kB2013-08-14|09:52
15.jpg21.72 kB2013-08-14|09:52
16.jpg20.72 kB2013-08-14|09:52
17.jpg20.24 kB2013-08-14|09:52
18.jpg21.68 kB2013-08-14|09:52
19.jpg22.03 kB2013-08-14|09:52
2.jpg16.25 kB2013-08-14|09:52
20.jpg19.71 kB2013-08-14|09:52
21.jpg19.48 kB2013-08-14|09:52
22.jpg21.04 kB2013-08-14|09:52
23.jpg21.72 kB2013-08-14|09:52
24.jpg20.97 kB2013-08-14|09:52
3.jpg19.43 kB2013-08-14|09:52
4.jpg21.63 kB2013-08-14|09:52
5.jpg22.30 kB2013-08-14|09:52
6.jpg22.23 kB2013-08-14|09:52
7.jpg19.36 kB2013-08-14|09:52
8.jpg21.65 kB2013-08-14|09:52
9.jpg21.87 kB2013-08-14|09:52
glyphicons-halflings-white.png8.57 kB2013-08-14|09:52
glyphicons-halflings.png13.50 kB2013-08-14|09:52
icons-big.png34.59 kB2013-08-14|09:52
icons-small.png7.19 kB2013-08-14|09:52
01.97 kB
off.png2.52 kB2013-08-14|09:52
on.png2.44 kB2013-08-14|09:52
slider.png1.20 kB2013-08-14|09:52
slider_center.png260.00 B2013-08-14|09:52
slider_left.png324.00 B2013-08-14|09:52
slider_right.png321.00 B2013-08-14|09:52
loading.gif9.21 kB2013-08-14|09:52
loading_background.png166.00 B2013-08-14|09:52
logo.png5.18 kB2013-08-14|09:52
logo20.png1.07 kB2013-08-14|09:52
opa-icons-black16.png27.24 kB2013-08-14|09:52
opa-icons-black32.png80.32 kB2013-08-14|09:52
opa-icons-blue16.png37.07 kB2013-08-14|09:52
opa-icons-blue32.png71.34 kB2013-08-14|09:52
opa-icons-color16.png44.21 kB2013-08-14|09:52
opa-icons-color32.png83.45 kB2013-08-14|09:52
opa-icons-darkgray16.png37.33 kB2013-08-14|09:52
opa-icons-darkgray32.png80.32 kB2013-08-14|09:52
opa-icons-gray16.png33.40 kB2013-08-14|09:52
opa-icons-gray32.png71.99 kB2013-08-14|09:52
opa-icons-green16.png39.08 kB2013-08-14|09:52
opa-icons-green32.png75.68 kB2013-08-14|09:52
opa-icons-orange16.png37.45 kB2013-08-14|09:52
opa-icons-orange32.png72.39 kB2013-08-14|09:52
opa-icons-red16.png37.41 kB2013-08-14|09:52
opa-icons-red32.png72.02 kB2013-08-14|09:52
opa-icons-white16.png20.87 kB2013-08-14|09:52
opa-icons-white32.png45.09 kB2013-08-14|09:52
progress.gif1.69 kB2013-08-14|09:52
qrcode.png1.51 kB2013-08-14|09:52
qrcode136.png10.03 kB2013-08-14|09:52
quicklook-bg.png78.00 B2013-08-14|09:52
quicklook-icons.png2.58 kB2013-08-14|09:52
resize.png101.00 B2013-08-14|09:52
spinner-mini.gif1.81 kB2013-08-14|09:52
sprite.png33.43 kB2013-08-14|09:52
star-half.png667.00 B2013-08-14|09:52
star-off.png685.00 B2013-08-14|09:52
star-on.png631.00 B2013-08-14|09:52
thumb.png7.21 kB2013-08-14|09:52
toolbar.gif68.00 B2013-08-14|09:52
toolbar.png16.76 kB2013-08-14|09:52
ui-bg_flat_0_aaaaaa_40x100.png180.00 B2013-08-14|09:52
ui-bg_flat_75_ffffff_40x100.png178.00 B2013-08-14|09:52
ui-bg_glass_55_fbf9ee_1x400.png120.00 B2013-08-14|09:52
ui-bg_glass_65_ffffff_1x400.png105.00 B2013-08-14|09:52
ui-bg_glass_75_dadada_1x400.png111.00 B2013-08-14|09:52
ui-bg_glass_75_e6e6e6_1x400.png110.00 B2013-08-14|09:52
ui-bg_glass_95_fef1ec_1x400.png119.00 B2013-08-14|09:52
ui-bg_highlight-soft_75_cccccc_1x100.png101.00 B2013-08-14|09:52
ui-icons_222222_256x240.png4.27 kB2013-08-14|09:52
ui-icons_2e83ff_256x240.png4.27 kB2013-08-14|09:52
ui-icons_454545_256x240.png4.27 kB2013-08-14|09:52
ui-icons_888888_256x240.png4.27 kB2013-08-14|09:52
ui-icons_cd0a0a_256x240.png4.27 kB2013-08-14|09:52
uploadify-cancel.png2.89 kB2013-08-14|09:52
index.html24.36 kB2013-08-14|09:52
01.97 kB
bootstrap-alert.js2.34 kB2013-08-14|09:52
bootstrap-button.js2.65 kB2013-08-14|09:52
bootstrap-carousel.js4.90 kB2013-08-14|09:52
bootstrap-collapse.js4.29 kB2013-08-14|09:52
bootstrap-dropdown.js2.66 kB2013-08-14|09:52
bootstrap-modal.js5.54 kB2013-08-14|09:52
bootstrap-popover.js2.81 kB2013-08-14|09:52
bootstrap-scrollspy.js4.27 kB2013-08-14|09:52
bootstrap-tab.js3.30 kB2013-08-14|09:52
bootstrap-toggle.js2.76 kB2013-08-14|09:52
bootstrap-tooltip.js7.49 kB2013-08-14|09:52
bootstrap-tour.js6.67 kB2013-08-14|09:52
bootstrap-transition.js1.76 kB2013-08-14|09:52
bootstrap-typeahead.js6.91 kB2013-08-14|09:52
charisma.js18.60 kB2013-08-14|09:52
excanvas.js40.80 kB2013-08-14|09:52
fullcalendar.min.js48.83 kB2013-08-14|09:52
jquery-1.7.2.min.js92.62 kB2013-08-14|09:52
jquery-ui-1.8.21.custom.min.js202.07 kB2013-08-14|09:52
jquery.autogrow-textarea.js2.09 kB2013-08-14|09:52
jquery.chosen.min.js22.40 kB2013-08-14|09:52
jquery.cleditor.min.js11.76 kB2013-08-14|09:52
jquery.colorbox.min.js9.46 kB2013-08-14|09:52
jquery.cookie.js1.90 kB2013-08-14|09:52
jquery.dataTables.min.js69.08 kB2013-08-14|09:52
jquery.elfinder.min.js130.93 kB2013-08-14|09:52
jquery.flot.min.js36.67 kB2013-08-14|09:52
jquery.flot.pie.min.js8.65 kB2013-08-14|09:52
jquery.flot.resize.min.js1.21 kB2013-08-14|09:52
jquery.flot.stack.js6.80 kB2013-08-14|09:52
jquery.history.js21.07 kB2013-08-14|09:52
jquery.iphone.toggle.js9.69 kB2013-08-14|09:52
jquery.js242.01 kB2013-08-14|09:52
jquery.noty.js8.19 kB2013-08-14|09:52
jquery.raty.min.js7.37 kB2013-08-14|09:52
jquery.uniform.min.js9.10 kB2013-08-14|09:52
jquery.uploadify-3.1.min.js45.20 kB2013-08-14|09:52
license.txt585.00 B2013-08-14|09:52
login.html6.30 kB2013-08-14|09:52
01.97 kB
check-exists.php412.00 B2013-08-14|09:52
01.97 kB
MySQLStorage.sql1.10 kB2013-08-14|09:52
connector.php2.06 kB2013-08-14|09:52
elFinder.class.php30.51 kB2013-08-14|09:52
elFinderConnector.class.php3.05 kB2013-08-14|09:52
elFinderVolumeDriver.class.php86.87 kB2013-08-14|09:52
elFinderVolumeLocalFileSystem.class.php21.82 kB2013-08-14|09:52
elFinderVolumeMySQL.class.php22.56 kB2013-08-14|09:52
mime.types13.55 kB2013-08-14|09:52
uploadify.php771.00 B2013-08-14|09:52
uploadify.swf12.38 kB2013-08-14|09:52
01.97 kB
blank.php834.00 B2013-08-14|09:52
calendar.php1.46 kB2013-08-14|09:52
chart.php4.45 kB2013-08-14|09:52
error.php1.65 kB2013-08-14|09:52
file-manager.php1.16 kB2013-08-14|09:52
footer.php4.53 kB2013-08-14|09:52
form.php13.22 kB2013-08-14|09:52
gallery.php1.42 kB2013-08-14|09:52
grid.php8.81 kB2013-08-14|09:52
header.php7.05 kB2013-08-14|09:52
icon.php312.57 kB2013-08-14|09:52
index.php13.91 kB2013-08-14|09:52
login.php1.42 kB2013-08-14|09:52
table.php36.99 kB2013-08-14|09:52
tour.php1.04 kB2013-08-14|09:52
typography.php8.34 kB2013-08-14|09:52
ui.php11.67 kB2013-08-14|09:52
table.html47.57 kB2013-08-14|09:52
tour.html11.62 kB2013-08-14|09:52
typography.html18.92 kB2013-08-14|09:52
ui.html22.97 kB2013-08-14|09:52

excanvas.js (14.65 MB)

Need 1 point
Your Point(s)

Your Point isn't enough.

Get point immediately by PayPal

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more point


Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com


CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D