summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl
blob: 8e589629e2c12029d33c4b40a3deae1295bbbe9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsIDOMHTMLElement.idl"

/**
 * The nsIDOMHTMLCanvasElement interface is the interface to a HTML
 * <canvas> element.
 *
 * For more information on this interface, please see
 * http://www.whatwg.org/specs/web-apps/current-work/#graphics
 *
 * @status UNDER_DEVELOPMENT
 */

interface nsIDOMBlob;
interface nsIVariant;
interface nsIInputStreamCallback;

[uuid(4e8f1316-b601-471d-8f44-3c650d91ee9b)]
interface nsIDOMHTMLCanvasElement : nsISupports
{
  attribute unsigned long width;
  attribute unsigned long height;
  attribute boolean mozOpaque;

  // Valid calls are:
  //  toDataURL();              -- defaults to image/png
  //  toDataURL(type);          -- uses given type
  //  toDataURL(type, params);  -- uses given type, and any valid parameters
  [implicit_jscontext]
  DOMString toDataURL([optional] in DOMString type,
                      [optional] in jsval params);

  // Valid calls are
  // mozGetAsFile(name);              -- defaults to image/png
  // mozGetAsFile(name, type);        -- uses given type
  // The return value is a File object.
  nsISupports mozGetAsFile(in DOMString name, [optional] in DOMString type);

  // A Mozilla-only extension to get a canvas context backed by double-buffered
  // shared memory. Only privileged callers can call this.
  nsISupports MozGetIPCContext(in DOMString contextId);
};