UNPKG

guacamole-client-typedefs

Version:

Work in progress typescript definitions based on http://guacamole.apache.org/doc/guacamole-common-js/

113 lines (98 loc) 3.8 kB
/// <reference path="./Layer.d.ts" /> declare module 'guacamole-client' { /** * Simple container for Guacamole.Layer, allowing layers to be easily * repositioned and nested. This allows certain operations to be accelerated * through DOM manipulation, rather than raster operations. * @param width The width of the Layer, in pixels. The canvas element backing this Layer will be given this width. * @param height The height of the Layer, in pixels. The canvas element backing this Layer will be given this height. */ class VisibleLayer extends Layer { constructor(width: number, height: number); /** * The opacity of the layer container, where 255 is fully opaque and 0 is * fully transparent. */ alpha: number; /** * X coordinate of the upper-left corner of this layer container within * its parent, in pixels. * @default 0 */ x: number; /** * Y coordinate of the upper-left corner of this layer container within * its parent, in pixels. * @default 0 */ y: number; /** * Z stacking order of this layer relative to other sibling layers. * @default 0 */ z: number; /** * The affine transformation applied to this layer container. Each element * corresponds to a value from the transformation matrix, with the first * three values being the first row, and the last three values being the * second row. There are six values total. * @default [1, 0, 0, 1, 0, 0] */ matrix: [number, number, number, number, number, number]; /** * The parent layer container of this layer, if any. * @default null */ parent: VisibleLayer | null; /** * Set of all children of this layer, indexed by layer index. This object * will have one property per child. * @default {} */ children: Record<number, VisibleLayer | undefined>; /** * Returns the element containing the canvas and any other elements * associated with this layer. * @returns The element containing this layer's canvas. */ getElement(): HTMLElement; /** * Moves the upper-left corner of this layer to the given X and Y coordinate. * @param x The X coordinate to move to. * @param y The Y coordinate to move to. */ translate(x: number, y: number): void; /** * Moves the upper-left corner of this VisibleLayer to the given X and Y * coordinate, sets the Z stacking order, and reparents this VisibleLayer * to the given VisibleLayer. * @param parent The parent to set. * @param x The X coordinate to move to. * @param y The Y coordinate to move to. * @param z The Z coordinate to move to. */ move(parent: VisibleLayer, x: number, y: number, z: number): void; /** * Sets the opacity of this layer to the given value, where 255 is fully * opaque and 0 is fully transparent. * @param a The opacity to set. */ shade(a: number): void; /** * Removes this layer container entirely, such that it is no longer * contained within its parent layer, if any. */ dispose(): void; /** * Applies the given affine transform (defined with six values from the * transform's matrix). * @param a The first value in the affine transform's matrix. * @param b The second value in the affine transform's matrix. * @param c The third value in the affine transform's matrix. * @param d The fourth value in the affine transform's matrix. * @param e The fifth value in the affine transform's matrix. * @param f The sixth value in the affine transform's matrix. */ distort(a: number, b: number, c: number, d: number, e: number, f: number): void; } }