blob: 15d677c459f4cfc3e9500600e6d5168c9facafbd [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
/*
* Image is a Pipe Viewer that displays an image
* @tutorial cat image.jpg | p2b users/jane@google.com/chrome/p2b/[name]/image
* @fileoverview
*/
import { View } from 'view';
import { PipeViewer } from 'pipe-viewer';
class ImagePipeViewer extends PipeViewer {
get name() {
return 'image';
}
play(stream) {
var viewPromise = new Promise(function(resolve,reject) {
var blobParts = [];
stream.on('data', (chunk) => {
blobParts.push(new Uint8Array(chunk));
});
stream.on('end', () => {
var image = document.createElement('img');
image.style.width = '100%';
var url = URL.createObjectURL(new Blob(blobParts));
image.src = url;
resolve(new View(image));
});
});
return viewPromise;
}
}
export default ImagePipeViewer;