Advertisement
Guest User

two.d.js

a guest
Aug 29th, 2019
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. export declare class Two {
  2.     static Resolution: number;
  3.     static Instances: Array<any>;
  4.     type: Two.Types;
  5.     root: any;
  6.     Version: string;
  7.     Resolution: number;
  8.     Instances: any[];
  9.  
  10.     width: number;
  11.     height: number;
  12.     frameCount: number;
  13.     timeDelta: number;
  14.     playing: boolean;
  15.     scene: Two.Group;
  16.     constructor(params?: TwoConstructionParams);
  17.  
  18.     static noConflict();
  19.     static Error();
  20.  
  21.     appendTo(element: HTMLElement);
  22.     makeLine(x1: number, y1: number, x2: number, y2: number): Two.Line;
  23.     makeRectangle(x: number, y: number, width: number, height: number): Two.Rectangl;
  24.     makeRoundedRectangle(x:number, y:number, width:number, height:number, radius:number):Two.RoundedRectangle;
  25.     makeCircle(x: number, y: number, radius: number): Two.Circle;
  26.     makeEllipse(x: number, y: number, width: number, height: number): Two.Ellipse;
  27.     makeStar(ox:number, oy:number, or:number, ir:number, sides:number): Two.Star;
  28.     makeCurve(x1: number, y1: number, open: boolean): Two.Path;
  29.     makeCurve(x1: number, y1: number, x2: number, y2: number, open: boolean): Two.Path;
  30.     makeCurve(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, open: boolean): Two.Path;
  31.     makePath(x1: number, y1: number, open: boolean): Two.Path;
  32.     makePath(x1: number, y1: number, x2: number, y2: number, open: boolean): Two.Path;
  33.     makePath(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, open: boolean): Two.Path;
  34.     makePolygon(x1: number, y1: number, x2: number, y2: number, open: boolean): Two.Polygon;
  35.     makeGroup(objects: Array<Two.Path>): Two.Group;
  36.     bind(event: Two.Events, callback: (arg?: Array<any>) => void): Two;
  37.     unbind(event: Two.Events, callback: (arg?: Array<any>) => void): Two;
  38.     range( start: number, stop: number, step: number );
  39.     play();
  40.     pause();
  41.     update();
  42.     render();
  43.     add();
  44.     remove();
  45.     clear();
  46.  
  47. }
  48.  
  49. export declare namespace Two {
  50.     export namespace Text{
  51.         export interface Properties{
  52.             value?:string, family?:string, size?:number, leading?:number, alignment?:string, linewidth?:number, style?:string,
  53.             weight?:number, decoration?:string, baseline?:string, opacity?: number, visible?:boolean, fill?:string, stroke?:string
  54.         }
  55.     }
  56.     export namespace Path{
  57.         export interface Properties{
  58.             fill?:string, stroke?: string; linewidth?: number, opacity?: number, visible?: boolean, cap?: string, join?:string, mitre?:number,
  59.             closed?: boolean, curved?: boolean, automatic?: boolean, beginning?: boolean, ending?: boolean
  60.         }
  61.     }
  62.     export interface Properties{ hierarchy?: string, demotion?: string }
  63.     export enum Commands{
  64.         M, L, C, Z
  65.     }
  66.     export enum Types {
  67.         webgl,
  68.         svg,
  69.         canvas,
  70.     }
  71.  
  72.     export enum Events {
  73.         play,
  74.         pause,
  75.         update,
  76.         render,
  77.         resize,
  78.         change,
  79.         remove,
  80.         insert,
  81.     }
  82.     export enum Controls{
  83.         right, left
  84.     }
  85.  
  86.     export class Vector {
  87.         x: number;
  88.         y: number;
  89.  
  90.         constructor( x: number, y: number )
  91.         set(x: number, y: number);
  92.         copy( v: Vector );
  93.         clear();
  94.         clone();
  95.         add( v1: Vector, v2: Vector );
  96.         addSelf( v: Vector );
  97.         subSelf( v: Vector );
  98.         multiplySelf( v:Vector );
  99.         multiplyScalar( v: Vector );
  100.         divideScalar( v: Vector );
  101.         negate( v: Vector );
  102.         dot( v: Vector );
  103.         lengthSqaured();
  104.         normalize();
  105.         distanceTo( v:Vector );
  106.         distanceToSquared( v: Vector );
  107.         setLength( length: number );
  108.         equals( v: Vector );
  109.         lerp( v: Vector, t: number );
  110.         isZero();
  111.     }
  112.  
  113.     export class Anchor extends Vector {
  114.         command: Commands;
  115.         controls: Controls;
  116.  
  117.         constructor( x: number, y: number, lx: number, ly: number, rx: number, ry: number, command: Commands);
  118.  
  119.         listen();
  120.         ignore();
  121.     }
  122.  
  123.  
  124.     export class Polygon extends Path {
  125.         vertices: Collection;
  126.         constructor( x: number, y: number, radius: number, sides: number );
  127.     }
  128.  
  129.     export class Shape {
  130.         isShape: boolean;
  131.         id: string;
  132.         classList: any[];
  133.         translation: Vector;
  134.         rotation: number;
  135.         scale: number;
  136.  
  137.         addTo( group: Group );
  138.         clone();
  139.         flagReset();
  140.     }
  141.  
  142.     export class Group extends Shape {
  143.         children: Array<any>;
  144.         mask: Path;
  145.  
  146.             /**
  147.      * Add objects to the group.
  148.      */
  149.         add( ...objects: any[]);
  150.             /**
  151.      * Remove objects from the group.
  152.      */
  153.         remove( ...objects: any[]);
  154.         /**
  155.         * Export the data from the instance of Two.Group into a plain JavaScript
  156.         * object. This also makes all children plain JavaScript objects. Great
  157.         * for turning into JSON and storing in a database.
  158.         */
  159.         toObject();
  160.         /**
  161.         * Anchor all children to the upper left hand corner
  162.         * of the group.
  163.         */
  164.         corner();
  165.         /**
  166.         * Anchors all children around the center of the group,
  167.         * effectively placing the shape around the unit circle.
  168.         */
  169.         center();
  170.         /**
  171.         * Recursively search for id. Returns the first element found.
  172.         * Returns null if none found.
  173.         */
  174.         getById(id:string);
  175.         /**
  176.         * Recursively search for classes. Returns an array of matching elements.
  177.         * Empty array if none found.
  178.         */
  179.         getByClassName(id: String);
  180.             /**
  181.      * Recursively search for children of a specific type,
  182.      * e.g. Two.Polygon. Pass a reference to this type as the param.
  183.      * Returns an empty array if none found.
  184.      */
  185.         getByType( type: any );
  186.             /**
  187.      * Trickle down of noFill
  188.      */
  189.         noFill();
  190.             /**
  191.      * Trickle down of noStroke
  192.      */
  193.         noStroke();
  194.             /**
  195.      * Trickle down subdivide
  196.      */
  197.         subdivide();
  198.  
  199.     }
  200.  
  201.     export class Stop{
  202.         offset: number;
  203.         color: string;
  204.         opacity: number;
  205.         constructor( offset: number, color: string, opacity: number);
  206.  
  207.     }
  208.  
  209.     export class Star extends Path {
  210.         constructor( x: number, y: number, or: number, sides: number);
  211.     }
  212.  
  213.     export class Circle extends Shape {
  214.         constructor( ox: number, oy: number, r: number )
  215.     }
  216.     export class Ellipse extends Shape{
  217.         constructor( x: number, y: number, width: number, height: number);
  218.     }
  219.  
  220.     export class Rectangl extends Shape{
  221.         constructor( x: number, y: number, width: number, height: number );
  222.     }
  223.  
  224.     export class RoundedRectangle extends Shape{
  225.         constructor( x: number, y: number, width: number, height: number, radius: number );
  226.     }
  227.     export class Path extends Shape {
  228.         id: string;
  229.         closed: boolean;
  230.         curved: boolean;
  231.         automatic: boolean;
  232.         beginning: number;
  233.         ending: number;
  234.         clip: boolean;
  235.         translation: Two.Vector;
  236.         rotation: number; // radian
  237.         scale: number;
  238.         visible: boolean;
  239.         parent: Two.Group;
  240.         vertices: Collection;
  241.         stroke: string;
  242.         fill: string;
  243.         linewidth: number;
  244.         opacity: number;
  245.         cap: string;
  246.         join: string;
  247.         miter: number;
  248.  
  249.  
  250.         constructor( vertices: Array<Anchor>, closed: boolean, curved: boolean, manual: boolean);
  251.  
  252.         /**
  253.         * Based on closed / curved and sorting of vertices plot where all points
  254.         * should be and where the respective handles should be too.
  255.         */
  256.         plot();
  257.         /**
  258.         * Given a float `t` from 0 to 1, return a point or assign a passed `obj`'s
  259.         * coordinates to that percentage on this Two.Path's curve.
  260.         */
  261.         getPointAt(t: number, obj: Vector);
  262.  
  263.         noStroke();
  264.         noFill();
  265.         corner();
  266.         subdivide();
  267.         center();
  268.         remove();
  269.         toObject();
  270.  
  271.     }
  272.     export class Line extends Shape {
  273.         constructor( x1: number, y1: number, x2: number, y2: number )
  274.     }
  275.  
  276.     export class LinearGradient{
  277.         left: Vector;
  278.         right: Vector;
  279.         spread: string;
  280.         stops: Array<Stop>;
  281.  
  282.         constructor( x1: number, x2: number, y1: number, y2: number, stops: Array<Stop> );
  283.     }
  284.  
  285.     export class RadialGradient{
  286.         center: Vector;
  287.         radius: number;
  288.         focal: Vector;
  289.         spread: string;
  290.         stops: Array<Stop>;
  291.  
  292.         constructor( x: number, y: number, radius: number, stops: Array<Stop>, fx: number, fy: number);
  293.     }
  294.  
  295.     export class Text extends Shape{
  296.         value:string;
  297.         family:string;
  298.         size:number;
  299.         leading:number;
  300.         alignment:string;
  301.         style:string;
  302.         weight:number;
  303.         decoration:string;
  304.         baseline:string;
  305.         visible:boolean;
  306.         constructor( message: string, x: number, y: number, styles: Text.Properties )
  307.     }
  308.  
  309. }
  310. export interface Collection extends Array<any> { }
  311.  
  312. export interface TwoConstructionParams {
  313.     type?: Two.Types;
  314.     width?: number;
  315.     height?: number;
  316.     autostart?: boolean;
  317.     fullscreen?: boolean;
  318. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement