// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. 'use strict'; base.exportTo('cc', function() { /** * @constructor */ function PictureAsCanvas(picture, errorOrCanvas) { this.picture_ = picture; if (errorOrCanvas instanceof HTMLCanvasElement) { this.error_ = undefined; this.canvas_ = errorOrCanvas; } else { this.error_ = errorOrCanvas; this.canvas_ = undefined; } }; /** * Creates a new pending PictureAsCanvas (no canvas and no error). * * @return {PictureAsCanvas} a new pending PictureAsCanvas. */ PictureAsCanvas.Pending = function(picture) { return new PictureAsCanvas(picture, undefined); }; PictureAsCanvas.prototype = { get picture() { return this.picture_; }, get error() { return this.error_; }, get canvas() { return this.canvas_; }, isPending: function() { return this.error_ === undefined && this.canvas_ === undefined; } }; return { PictureAsCanvas: PictureAsCanvas }; });