MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //opt/lck-backend/node_modules/omggif/plask_viewer.js
var plask = require('plask');
var fs = require('fs');
var omggif = require('./omggif');

if (process.argv.length < 3) throw "Usage: <filename.gif>";
var buf = fs.readFileSync(process.argv[2]);
var gr = new omggif.GifReader(buf);

var pixels = plask.SkCanvas.create(gr.width, gr.height);

plask.simpleWindow({
  settings: {
    width: 800,
    height: 600
  },

  init: function() {
    var canvas = this.canvas, paint = this.paint;

    canvas.clear(230, 230, 230, 255);  // Draw the background, just once.
  },

  draw: function() {
    var canvas = this.canvas, paint = this.paint;

    var frame_num = this.framenum % gr.numFrames();
    var frame_info = gr.frameInfo(frame_num);

    if (frame_num === 0 || frame_info.disposal === 2 /* restore to bg */)
      pixels.clear(0, 0, 0, 255);

    var start = Date.now();
    gr.decodeAndBlitFrameBGRA(frame_num, pixels.pixels || pixels);
    console.log('Decoded and blit frame in: '  + (Date.now() - start) + 'ms');

    canvas.drawCanvas(paint, pixels, 0, 0, gr.width, gr.height);

    var this_ = this;
    setTimeout(function() { this_.redraw(); }, frame_info.delay * 10);
  }
});