import { CSSType , layout , PercentLength , View , } from '@nativescript/core/ui/core/view' ; import { GestureStateTypes } from '@nativescript/core/ui/gestures/gestures' ; import { screen } from '@nativescript/core/platform' ; import { orientation } from '@nativescript/core/application' ; export * from '@nativescript/core/ui/core/view' ; export interface ITNSCanvasBase { on ( eventName , callback , thisArg ? ) : void ; } ( Set as any ) . prototype . remove = function ( value ) { this . delete ( value ) ; } ; @ CSSType ( 'TNSCanvas' ) export abstract class TNSCanvasBase extends View implements ITNSCanvasBase { public static readyEvent = 'ready' ; _touchEvents : any ; _isCustom : boolean = false ; constructor ( ) { super ( ) ; this . _touchEvents = this . _touchEventsFN . bind ( this ) ; this . on ( 'touch, pan' , this . _touchEvents ) ; this . _classList = new Set ( ) ; this . on ( 'layoutChanged' , ( args ) => { if ( this . parent ) { this . parent [ 'clientWidth' ] = ( this . parent as any ) . getMeasuredWidth ( ) ; this . parent [ 'clientHeight' ] = ( this . parent as any ) . getMeasuredHeight ( ) ; } } ) ; } _classList : Set < any > ; get classList ( ) { return this . _classList ; } get _realSize ( ) : { width : number ; height : number ; } { return { width : this . getSize ( this . style . width , this . getMeasuredWidth ( ) , 'width' ) , height : this . getSize ( this . style . height , this . getMeasuredHeight ( ) , 'height' ) , } ; } _touchEventsFN ( event ) { if ( event . eventName === 'touch' ) { switch ( event . action ) { case 'down' : this . _emitEvent ( 'touchstart' , event ) ; break ; case 'up' : this . _emitEvent ( 'touchend' , event ) ; break ; case 'cancel' : this . _emitEvent ( 'touchcancel' , event ) ; break ; case 'move' : break ; default : break ; } } else if ( event . eventName === 'pan' ) { if ( event . state === GestureStateTypes . began || event . state === GestureStateTypes . changed ) { this . _emitEvent ( 'touchmove' , event ) ; } } } _getTouchEvent ( name , event , target ) { const pointers = new TouchList ( ) ; const scale = screen . mainScreen . scale ; let activePointer = { } ; if ( name === 'touchmove' ) { activePointer = { clientX : event . deltaX * scale , clientY : event . deltaY * scale , force : 0.0 , identifier : 0 , pageX : event . deltaX * scale , pageY : event . deltaY * scale , radiusX : 0 , radiusY : 0 , rotationAngle : 0 , screenX : event . deltaX * scale , screenY : event . deltaY * scale , target , } ; pointers . push ( { clientX : event . deltaX * scale , clientY : event . deltaY * scale , force : 0.0 , identifier : 0 , pageX : event . deltaX * scale , pageY : event . deltaY * scale , radiusX : 0 , radiusY : 0 , rotationAngle : 0 , screenX : event . deltaX * scale , screenY : event . deltaY * scale , target , } ) ; } else { const count = event . getAllPointers ( ) . length ; const point = event . getActivePointers ( ) [ 0 ] ; activePointer = { clientX : point . getX ( ) * scale , clientY : point . getY ( ) * scale , force : 0.0 , identifier : 0 , pageX : point . getX ( ) * scale , pageY : point . getY ( ) * scale , radiusX : 0 , radiusY : 0 , rotationAngle : 0 , screenX : point . getX ( ) * scale , screenY : point . getY ( ) * scale , } ; for ( let i = 0 ; i < count ; i ++ ) { const point = event . getAllPointers ( ) [ i ] ; pointers . push ( { clientX : point . getX ( ) , clientY : point . getY ( ) , force : 0.0 , identifier : i , pageX : point . getX ( ) , pageY : point . getY ( ) , radiusX : 0 , radiusY : 0 , rotationAngle : 0 , screenX : point . getX ( ) , screenY : point . getY ( ) , target , } ) ; } } return { eventName : name , object : null , defaultPrevented : false , cancelable : false , altKey : false , changedTouches : pointers , ctrlKey : false , metaKey : false , shiftKey : false , targetTouches : pointers , touches : pointers , preventDefault : ( ) => { } , target , ... activePointer , } ; } _emitEvent ( name , event ) { this . notify ( this . _getTouchEvent ( name , event , this ) ) ; } _readyEvent ( ) { this . notify ( { eventName : 'ready' , object : this , } ) ; } getAttribute ( attrib ) { if ( attrib === 'width' ) { return this . width ; } if ( attrib === 'height' ) { return this . height ; } return this [ attrib ] ; } public abstract getContext ( type ) ; public abstract getContext ( type , options ) ; public abstract getBoundingClientRect ( ) ; private getSize ( value , measuredSize , type ) { if ( typeof value === 'string' ) { value = PercentLength . parse ( value ) ; } if ( typeof value === 'number' ) { return value || 0 ; } else if ( ( value !== null || value !== undefined ) && typeof value === 'object' && typeof value . value && typeof value . unit ) { if ( value . unit === 'px' ) { return value . value || 0 ; } else if ( value . unit === 'dip' ) { return layout . toDevicePixels ( value . value ) || 0 ; } else if ( value . unit === '%' ) { if ( orientation ( ) === 'portrait' ) { return type === 'width' ? screen . mainScreen . widthPixels : screen . mainScreen . heightPixels * value . value || 0 ; } else if ( orientation ( ) === 'landscape' ) { return type === 'width' ? screen . mainScreen . widthPixels : screen . mainScreen . heightPixels * value . value || 0 ; } else { return 0 ; } } else { return 0 ; } } else { return 0 ; } } } class TouchList extends Array { item ( index ) { return this [ index ] ; } } export class TNSTextEncoderBase { public readonly encoding : string ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } get native ( ) : any { return this . nativeInstance ; } encode ( text ) { return null ; } } export class TNSTextDecoderBase { public readonly encoding : string ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } get native ( ) : any { return this . nativeInstance ; } decode ( buffer , options ? ) { return null ; } } export class TNSImageAssetBase { private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } get native ( ) { return this . nativeInstance ; } } export enum TNSImageAssetSaveFormat { JPG , PNG , ICO , BMP , TIFF } export interface TNSCanvasRenderingContext { } export abstract class TNSCanvasRenderingContext2DBase implements TNSCanvasRenderingContext { lineWidth : number ; fillStyle : string | CanvasGradientBase | CanvasPatternBase ; strokeStyle : string | CanvasGradientBase | CanvasPatternBase ; lineCap : string ; globalCompositeOperation : string ; font : string ; globalAlpha : number ; imageSmoothingEnabled : boolean ; imageSmoothingQuality : string ; lineDashOffset : number ; lineJoin : string ; miterLimit : number ; shadowBlur : number ; shadowColor : string ; shadowOffsetX : number ; shadowOffsetY : number ; textAlign : string ; direction : string ; _canvas : any ; get canvas ( ) : any { return this . _canvas ; } _type : string = 'none' ; get type ( ) { return this . _type ; } public abstract addHitRegion ( region ) ; public abstract arc ( x , y , radius , startAngle , endAngle , anticlockwise ) ; public abstract arcTo ( x1 , y1 , x2 , y2 , radius ) ; public abstract beginPath ( ) ; public abstract bezierCurveTo ( cp1x , cp1y , cp2x , cp2y , x , y ) ; public abstract clearHitRegions ( ) ; public abstract clearRect ( x , y , width , height ) ; public abstract clip ( ) ; public abstract clip ( fillRule ) ; public abstract clip ( path , fillRule ) ; public abstract closePath ( ) ; public abstract createImageData ( width , height ) ; public abstract createImageData ( data ) ; public abstract createLinearGradient ( x0 , y0 , x1 , y1 ) ; public abstract createPattern ( image , repetition ) ; public abstract createRadialGradient ( x0 , y0 , r0 , x1 , y1 , r1 ) ; public abstract drawFocusIfNeeded ( element ) ; public abstract drawFocusIfNeeded ( path , element ) ; public abstract drawImage ( image , dx , dy ) ; public abstract drawImage ( image , dx , dy , dWidth , dHeight ) ; public abstract drawImage ( image , sx , sy , sWidth , sHeight , dx , dy , dWidth , dHeight ) ; public abstract ellipse ( x , y , radiusX , radiusY , rotation , startAngle , endAngle , anticlockwise ) ; public abstract fill ( ) ; public abstract fill ( fillRule ? ) ; public abstract fill ( path , fillRule ) ; public abstract fillRect ( x , y , width , height ) ; public abstract fillText ( text , x , y , maxWidth ? ) ; public abstract getImageData ( sx , sy , sw , sh ) ; public abstract getLineDash ( ) ; public abstract isPointInPath ( x , y , fillRule ) ; public abstract isPointInPath ( path , x , y , fillRule ) ; public abstract isPointInStroke ( x , y ) ; public abstract isPointInStroke ( path , x , y ) ; public abstract lineTo ( x , y ) ; public abstract measureText ( text ) ; public abstract moveTo ( x , y ) ; public abstract putImageData ( imageData , dx , dy ) ; public abstract putImageData ( imageData , dx , dy , dirtyX , dirtyY , dirtyWidth , dirtyHeight ) ; public abstract quadraticCurveTo ( cpx , cpy , x , y ) ; public abstract rect ( x , y , width , height ) ; public abstract removeHitRegion ( id ) ; public abstract resetTransform ( ) ; public abstract restore ( ) ; public abstract rotate ( angle ) ; public abstract save ( ) ; public abstract scale ( x , y ) ; public abstract scrollPathIntoView ( ) ; public abstract scrollPathIntoView ( path ) ; public abstract setLineDash ( segments ) ; public abstract setTransform ( a , b , c , d , e , f ) ; public abstract stroke ( ) ; public abstract stroke ( path ) ; public abstract strokeRect ( x , y , width , height ) ; public abstract strokeText ( text , x , y , maxWidth ? ) ; public abstract transform ( a , b , c , d , e , f ) ; public abstract translate ( x , y ) ; } export class WebGLProgram { [ Symbol . toStringTag ] = 'WebGLProgram' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLProgram]' ; } } export class WebGLShader { [ Symbol . toStringTag ] = 'WebGLShader' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLShader]' ; } } export class WebGLBuffer { [ Symbol . toStringTag ] = 'WebGLBuffer' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLBuffer]' ; } } export class WebGLFramebuffer { [ Symbol . toStringTag ] = 'WebGLFramebuffer' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLFramebuffer]' ; } } export class WebGLRenderbuffer { [ Symbol . toStringTag ] = 'WebGLRenderbuffer' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLRenderbuffer]' ; } } export class WebGLTexture { [ Symbol . toStringTag ] = 'WebGLTexture' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLTexture]' ; } } export class WebGLActiveInfo { readonly name : string ; readonly size : number ; readonly type : number ; [ Symbol . toStringTag ] = 'WebGLActiveInfo' ; constructor ( name , size , type ) { this . name = name ; this . size = size ; this . type = type ; } public toString ( ) { return '[object WebGLActiveInfo]' ; } } export class WebGLShaderPrecisionFormat { readonly rangeMin : number ; readonly rangeMax : number ; readonly precision : number ; [ Symbol . toStringTag ] = 'WebGLShaderPrecisionFormat' ; constructor ( rangeMin , rangeMax , precision ) { this . rangeMin = rangeMin ; this . rangeMax = rangeMax ; this . precision = precision ; } public toString ( ) { return '[object WebGLShaderPrecisionFormat]' ; } } export class WebGLUniformLocation { [ Symbol . toStringTag ] = 'WebGLUniformLocation' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLUniformLocation]' ; } } export abstract class TNSWebGLRenderingContextBase implements TNSCanvasRenderingContext { readonly drawingBufferHeight : number ; readonly drawingBufferWidth : number ; constructor ( context ) { this . _native = context ; } _native : any ; get native ( ) { return this . _native ; } _canvas : any ; get canvas ( ) : any { return this . _canvas ; } _type : string = 'none' ; get type ( ) { return this . _type ; } public get DEPTH_BUFFER_BIT ( ) : number { return this . native . DEPTH_BUFFER_BIT ; } public get COLOR_BUFFER_BIT ( ) : number { return this . native . COLOR_BUFFER_BIT ; } public get STENCIL_BUFFER_BIT ( ) : number { return this . native . STENCIL_BUFFER_BIT ; } public get POINTS ( ) : number { return this . native . POINTS ; } public get LINES ( ) : number { return this . native . LINES ; } public get LINE_LOOP ( ) : number { return this . native . LINE_LOOP ; } public get LINE_STRIP ( ) : number { return this . native . LINE_STRIP ; } public get TRIANGLES ( ) : number { return this . native . TRIANGLES ; } public get TRIANGLE_STRIP ( ) : number { return this . native . TRIANGLE_STRIP ; } public get TRIANGLE_FAN ( ) : number { return this . native . TRIANGLE_FAN ; } public get ONE ( ) : number { return this . native . ONE ; } public get ZERO ( ) : number { return this . native . ZERO ; } public get SRC_COLOR ( ) : number { return this . native . SRC_COLOR ; } public get ONE_MINUS_SRC_COLOR ( ) : number { return this . native . ONE_MINUS_SRC_COLOR ; } public get SRC_ALPHA ( ) : number { return this . native . SRC_ALPHA ; } public get ONE_MINUS_SRC_ALPHA ( ) : number { return this . native . ONE_MINUS_SRC_ALPHA ; } public get DST_ALPHA ( ) : number { return this . native . DST_ALPHA ; } public get ONE_MINUS_DST_ALPHA ( ) : number { return this . native . ONE_MINUS_DST_ALPHA ; } public get DST_COLOR ( ) : number { return this . native . DST_COLOR ; } public get ONE_MINUS_DST_COLOR ( ) : number { return this . native . ONE_MINUS_DST_COLOR ; } public get SRC_ALPHA_SATURATE ( ) : number { return this . native . SRC_ALPHA_SATURATE ; } public get CONSTANT_COLOR ( ) : number { return this . native . CONSTANT_COLOR ; } public get ONE_MINUS_CONSTANT_COLOR ( ) : number { return this . native . ONE_MINUS_CONSTANT_COLOR ; } public get CONSTANT_ALPHA ( ) : number { return this . native . CONSTANT_ALPHA ; } public get ONE_MINUS_CONSTANT_ALPHA ( ) : number { return this . native . ONE_MINUS_CONSTANT_ALPHA ; } public get FUNC_ADD ( ) : number { return this . native . FUNC_ADD ; } public get FUNC_SUBTRACT ( ) : number { return this . native . FUNC_SUBTRACT ; } public get FUNC_REVERSE_SUBTRACT ( ) : number { return this . native . FUNC_REVERSE_SUBTRACT ; } public get BLEND_EQUATION ( ) : number { return this . native . BLEND_EQUATION ; } public get BLEND_EQUATION_RGB ( ) : number { return this . native . BLEND_EQUATION_RGB ; } public get BLEND_EQUATION_ALPHA ( ) : number { return this . native . BLEND_EQUATION_ALPHA ; } public get BLEND_DST_RGB ( ) : number { return this . native . BLEND_DST_RGB ; } public get BLEND_SRC_RGB ( ) : number { return this . native . BLEND_SRC_RGB ; } public get BLEND_DST_ALPHA ( ) : number { return this . native . BLEND_DST_ALPHA ; } public get BLEND_SRC_ALPHA ( ) : number { return this . native . BLEND_SRC_ALPHA ; } public get BLEND_COLOR ( ) : number { return this . native . BLEND_COLOR ; } public get ARRAY_BUFFER_BINDING ( ) : number { return this . native . ARRAY_BUFFER_BINDING ; } public get ELEMENT_ARRAY_BUFFER_BINDING ( ) : number { return this . native . ELEMENT_ARRAY_BUFFER_BINDING ; } public get LINE_WIDTH ( ) : number { return this . native . LINE_WIDTH ; } public get ALIASED_POINT_SIZE_RANGE ( ) : number { return this . native . ALIASED_POINT_SIZE_RANGE ; } public get ALIASED_LINE_WIDTH_RANGE ( ) : number { return this . native . ALIASED_LINE_WIDTH_RANGE ; } public get CULL_FACE_MODE ( ) : number { return this . native . CULL_FACE_MODE ; } public get FRONT_FACE ( ) : number { return this . native . FRONT_FACE ; } public get DEPTH_RANGE ( ) : number { return this . native . DEPTH_RANGE ; } public get DEPTH_WRITEMASK ( ) : number { return this . native . DEPTH_WRITEMASK ; } public get DEPTH_CLEAR_VALUE ( ) : number { return this . native . DEPTH_CLEAR_VALUE ; } public get DEPTH_FUNC ( ) : number { return this . native . DEPTH_FUNC ; } public get STENCIL_CLEAR_VALUE ( ) : number { return this . native . STENCIL_CLEAR_VALUE ; } public get STENCIL_FUNC ( ) : number { return this . native . STENCIL_FUNC ; } public get STENCIL_FAIL ( ) : number { return this . native . STENCIL_FAIL ; } public get STENCIL_PASS_DEPTH_FAIL ( ) : number { return this . native . STENCIL_PASS_DEPTH_FAIL ; } public get STENCIL_PASS_DEPTH_PASS ( ) : number { return this . native . STENCIL_PASS_DEPTH_PASS ; } public get STENCIL_REF ( ) : number { return this . native . STENCIL_REF ; } public get STENCIL_VALUE_MASK ( ) : number { return this . native . STENCIL_VALUE_MASK ; } public get STENCIL_WRITEMASK ( ) : number { return this . native . STENCIL_WRITEMASK ; } public get STENCIL_BACK_FUNC ( ) : number { return this . native . STENCIL_BACK_FUNC ; } public get STENCIL_BACK_FAIL ( ) : number { return this . native . STENCIL_BACK_FAIL ; } public get STENCIL_BACK_PASS_DEPTH_FAIL ( ) : number { return this . native . STENCIL_BACK_PASS_DEPTH_FAIL ; } public get STENCIL_BACK_PASS_DEPTH_PASS ( ) : number { return this . native . STENCIL_BACK_PASS_DEPTH_PASS ; } public get STENCIL_BACK_REF ( ) : number { return this . native . STENCIL_BACK_REF ; } public get STENCIL_BACK_VALUE_MASK ( ) : number { return this . native . STENCIL_BACK_VALUE_MASK ; } public get STENCIL_BACK_WRITEMASK ( ) : number { return this . native . STENCIL_BACK_WRITEMASK ; } public get VIEWPORT ( ) : number { return this . native . VIEWPORT ; } public get SCISSOR_BOX ( ) : number { return this . native . SCISSOR_BOX ; } public get COLOR_CLEAR_VALUE ( ) : number { return this . native . COLOR_CLEAR_VALUE ; } public get COLOR_WRITEMASK ( ) : number { return this . native . COLOR_WRITEMASK ; } public get UNPACK_ALIGNMENT ( ) : number { return this . native . UNPACK_ALIGNMENT ; } public get PACK_ALIGNMENT ( ) : number { return this . native . PACK_ALIGNMENT ; } public get MAX_TEXTURE_SIZE ( ) : number { return this . native . MAX_TEXTURE_SIZE ; } public get MAX_VIEWPORT_DIMS ( ) : number { return this . native . MAX_VIEWPORT_DIMS ; } public get SUBPIXEL_BITS ( ) : number { return this . native . SUBPIXEL_BITS ; } public get RED_BITS ( ) : number { return this . native . RED_BITS ; } public get GREEN_BITS ( ) : number { return this . native . GREEN_BITS ; } public get BLUE_BITS ( ) : number { return this . native . BLUE_BITS ; } public get ALPHA_BITS ( ) : number { return this . native . ALPHA_BITS ; } public get DEPTH_BITS ( ) : number { return this . native . DEPTH_BITS ; } public get STENCIL_BITS ( ) : number { return this . native . STENCIL_BITS ; } public get POLYGON_OFFSET_UNITS ( ) : number { return this . native . POLYGON_OFFSET_UNITS ; } public get POLYGON_OFFSET_FACTOR ( ) : number { return this . native . POLYGON_OFFSET_FACTOR ; } public get TEXTURE_BINDING_2D ( ) : number { return this . native . TEXTURE_BINDING_2D ; } public get SAMPLE_BUFFERS ( ) : number { return this . native . SAMPLE_BUFFERS ; } public get SAMPLES ( ) : number { return this . native . SAMPLES ; } public get SAMPLE_COVERAGE_VALUE ( ) : number { return this . native . SAMPLE_COVERAGE_VALUE ; } public get SAMPLE_COVERAGE_INVERT ( ) : number { return this . native . SAMPLE_COVERAGE_INVERT ; } public get COMPRESSED_TEXTURE_FORMATS ( ) : number { return this . native . COMPRESSED_TEXTURE_FORMATS ; } public get VENDOR ( ) : number { return this . native . VENDOR ; } public get RENDERER ( ) : number { return this . native . RENDERER ; } public get VERSION ( ) : number { return this . native . VERSION ; } public get IMPLEMENTATION_COLOR_READ_TYPE ( ) : number { return this . native . IMPLEMENTATION_COLOR_READ_TYPE ; } public get IMPLEMENTATION_COLOR_READ_FORMAT ( ) : number { return this . native . IMPLEMENTATION_COLOR_READ_FORMAT ; } public get BROWSER_DEFAULT_WEBGL ( ) : number { return this . native . BROWSER_DEFAULT_WEBGL ; } public get STATIC_DRAW ( ) : number { return this . native . STATIC_DRAW ; } public get STREAM_DRAW ( ) : number { return this . native . STREAM_DRAW ; } public get DYNAMIC_DRAW ( ) : number { return this . native . DYNAMIC_DRAW ; } public get ARRAY_BUFFER ( ) : number { return this . native . ARRAY_BUFFER ; } public get ELEMENT_ARRAY_BUFFER ( ) : number { return this . native . ELEMENT_ARRAY_BUFFER ; } public get BUFFER_SIZE ( ) : number { return this . native . BUFFER_SIZE ; } public get BUFFER_USAGE ( ) : number { return this . native . BUFFER_USAGE ; } public get CURRENT_VERTEX_ATTRIB ( ) : number { return this . native . CURRENT_VERTEX_ATTRIB ; } public get VERTEX_ATTRIB_ARRAY_ENABLED ( ) : number { return this . native . VERTEX_ATTRIB_ARRAY_ENABLED ; } public get VERTEX_ATTRIB_ARRAY_SIZE ( ) : number { return this . native . VERTEX_ATTRIB_ARRAY_SIZE ; } public get VERTEX_ATTRIB_ARRAY_STRIDE ( ) : number { return this . native . VERTEX_ATTRIB_ARRAY_STRIDE ; } public get VERTEX_ATTRIB_ARRAY_TYPE ( ) : number { return this . native . VERTEX_ATTRIB_ARRAY_TYPE ; } public get VERTEX_ATTRIB_ARRAY_NORMALIZED ( ) : number { return this . native . VERTEX_ATTRIB_ARRAY_NORMALIZED ; } public get VERTEX_ATTRIB_ARRAY_POINTER ( ) : number { return this . native . VERTEX_ATTRIB_ARRAY_POINTER ; } public get VERTEX_ATTRIB_ARRAY_BUFFER_BINDING ( ) : number { return this . native . VERTEX_ATTRIB_ARRAY_BUFFER_BINDING ; } public get CULL_FACE ( ) : number { return this . native . CULL_FACE ; } public get FRONT ( ) : number { return this . native . FRONT ; } public get BACK ( ) : number { return this . native . BACK ; } public get FRONT_AND_BACK ( ) : number { return this . native . FRONT_AND_BACK ; } public get BLEND ( ) : number { return this . native . BLEND ; } public get DEPTH_TEST ( ) : number { return this . native . DEPTH_TEST ; } public get DITHER ( ) : number { return this . native . DITHER ; } public get POLYGON_OFFSET_FILL ( ) : number { return this . native . POLYGON_OFFSET_FILL ; } public get SAMPLE_ALPHA_TO_COVERAGE ( ) : number { return this . native . SAMPLE_ALPHA_TO_COVERAGE ; } public get SAMPLE_COVERAGE ( ) : number { return this . native . SAMPLE_COVERAGE ; } public get SCISSOR_TEST ( ) : number { return this . native . SCISSOR_TEST ; } public get STENCIL_TEST ( ) : number { return this . native . STENCIL_TEST ; } public get NO_ERROR ( ) : number { return this . native . NO_ERROR ; } public get INVALID_ENUM ( ) : number { return this . native . INVALID_ENUM ; } public get INVALID_VALUE ( ) : number { return this . native . INVALID_VALUE ; } public get INVALID_OPERATION ( ) : number { return this . native . INVALID_OPERATION ; } public get INVALID_FRAMEBUFFER_OPERATION ( ) : number { return this . native . INVALID_FRAMEBUFFER_OPERATION ; } public get OUT_OF_MEMORY ( ) : number { return this . native . OUT_OF_MEMORY ; } public get CONTEXT_LOST_WEBGL ( ) : number { return this . native . CONTEXT_LOST_WEBGL ; } public get CW ( ) : number { return this . native . CW ; } public get CCW ( ) : number { return this . native . CCW ; } public get DONT_CARE ( ) : number { return this . native . DONT_CARE ; } public get FASTEST ( ) : number { return this . native . FASTEST ; } public get NICEST ( ) : number { return this . native . NICEST ; } public get GENERATE_MIPMAP_HINT ( ) : number { return this . native . GENERATE_MIPMAP_HINT ; } public get BYTE ( ) : number { return this . native . BYTE ; } public get UNSIGNED_BYTE ( ) : number { return this . native . UNSIGNED_BYTE ; } public get UNSIGNED_SHORT ( ) : number { return this . native . UNSIGNED_SHORT ; } public get SHORT ( ) : number { return this . native . SHORT ; } public get UNSIGNED_INT ( ) : number { return this . native . UNSIGNED_INT ; } public get INT ( ) : number { return this . native . INT ; } public get FLOAT ( ) : number { return this . native . FLOAT ; } public get DEPTH_COMPONENT ( ) : number { return this . native . DEPTH_COMPONENT ; } public get ALPHA ( ) : number { return this . native . ALPHA ; } public get RGB ( ) : number { return this . native . RGB ; } public get RGBA ( ) : number { return this . native . RGBA ; } public get LUMINANCE ( ) : number { return this . native . LUMINANCE ; } public get LUMINANCE_ALPHA ( ) : number { return this . native . LUMINANCE_ALPHA ; } public get UNSIGNED_SHORT_4_4_4_4 ( ) : number { return this . native . UNSIGNED_SHORT_4_4_4_4 ; } public get UNSIGNED_SHORT_5_5_5_1 ( ) : number { return this . native . UNSIGNED_SHORT_5_5_5_1 ; } public get UNSIGNED_SHORT_5_6_5 ( ) : number { return this . native . UNSIGNED_SHORT_5_6_5 ; } public get FRAGMENT_SHADER ( ) : number { return this . native . FRAGMENT_SHADER ; } public get VERTEX_SHADER ( ) : number { return this . native . VERTEX_SHADER ; } public get COMPILE_STATUS ( ) : number { return this . native . COMPILE_STATUS ; } public get DELETE_STATUS ( ) : number { return this . native . DELETE_STATUS ; } public get LINK_STATUS ( ) : number { return this . native . LINK_STATUS ; } public get VALIDATE_STATUS ( ) : number { return this . native . VALIDATE_STATUS ; } public get ATTACHED_SHADERS ( ) : number { return this . native . ATTACHED_SHADERS ; } public get ACTIVE_ATTRIBUTES ( ) : number { return this . native . ACTIVE_ATTRIBUTES ; } public get ACTIVE_UNIFORMS ( ) : number { return this . native . ACTIVE_UNIFORMS ; } public get MAX_VERTEX_UNIFORM_VECTORS ( ) : number { return this . native . MAX_VERTEX_UNIFORM_VECTORS ; } public get MAX_VARYING_VECTORS ( ) : number { return this . native . MAX_VARYING_VECTORS ; } public get MAX_COMBINED_TEXTURE_IMAGE_UNITS ( ) : number { return this . native . MAX_COMBINED_TEXTURE_IMAGE_UNITS ; } public get MAX_VERTEX_TEXTURE_IMAGE_UNITS ( ) : number { return this . native . MAX_VERTEX_TEXTURE_IMAGE_UNITS ; } public get MAX_TEXTURE_IMAGE_UNITS ( ) : number { return this . native . MAX_TEXTURE_IMAGE_UNITS ; } public get MAX_VERTEX_ATTRIBS ( ) : number { return this . native . MAX_VERTEX_ATTRIBS ; } public get MAX_FRAGMENT_UNIFORM_VECTORS ( ) : number { return this . native . MAX_FRAGMENT_UNIFORM_VECTORS ; } public get SHADER_TYPE ( ) : number { return this . native . SHADER_TYPE ; } public get SHADING_LANGUAGE_VERSION ( ) : number { return this . native . SHADING_LANGUAGE_VERSION ; } public get CURRENT_PROGRAM ( ) : number { return this . native . CURRENT_PROGRAM ; } public get NEVER ( ) : number { return this . native . NEVER ; } public get LESS ( ) : number { return this . native . LESS ; } public get EQUAL ( ) : number { return this . native . EQUAL ; } public get LEQUAL ( ) : number { return this . native . LEQUAL ; } public get GREATER ( ) : number { return this . native . GREATER ; } public get NOTEQUAL ( ) : number { return this . native . NOTEQUAL ; } public get GEQUAL ( ) : number { return this . native . GEQUAL ; } public get ALWAYS ( ) : number { return this . native . ALWAYS ; } public get KEEP ( ) : number { return this . native . KEEP ; } public get REPLACE ( ) : number { return this . native . REPLACE ; } public get INCR ( ) : number { return this . native . INCR ; } public get DECR ( ) : number { return this . native . DECR ; } public get INVERT ( ) : number { return this . native . INVERT ; } public get INCR_WRAP ( ) : number { return this . native . INCR_WRAP ; } public get DECR_WRAP ( ) : number { return this . native . DECR_WRAP ; } public get NEAREST ( ) : number { return this . native . NEAREST ; } public get LINEAR ( ) : number { return this . native . LINEAR ; } public get NEAREST_MIPMAP_NEAREST ( ) : number { return this . native . NEAREST_MIPMAP_NEAREST ; } public get LINEAR_MIPMAP_NEAREST ( ) : number { return this . native . LINEAR_MIPMAP_NEAREST ; } public get NEAREST_MIPMAP_LINEAR ( ) : number { return this . native . NEAREST_MIPMAP_LINEAR ; } public get LINEAR_MIPMAP_LINEAR ( ) : number { return this . native . LINEAR_MIPMAP_LINEAR ; } public get TEXTURE_MAG_FILTER ( ) : number { return this . native . TEXTURE_MAG_FILTER ; } public get TEXTURE_MIN_FILTER ( ) : number { return this . native . TEXTURE_MIN_FILTER ; } public get TEXTURE_WRAP_S ( ) : number { return this . native . TEXTURE_WRAP_S ; } public get TEXTURE_WRAP_T ( ) : number { return this . native . TEXTURE_WRAP_T ; } public get TEXTURE_2D ( ) : number { return this . native . TEXTURE_2D ; } public get TEXTURE ( ) : number { return this . native . TEXTURE ; } public get TEXTURE_CUBE_MAP ( ) : number { return this . native . TEXTURE_CUBE_MAP ; } public get TEXTURE_BINDING_CUBE_MAP ( ) : number { return this . native . TEXTURE_BINDING_CUBE_MAP ; } public get TEXTURE_CUBE_MAP_POSITIVE_X ( ) : number { return this . native . TEXTURE_CUBE_MAP_POSITIVE_X ; } public get TEXTURE_CUBE_MAP_NEGATIVE_X ( ) : number { return this . native . TEXTURE_CUBE_MAP_NEGATIVE_X ; } public get TEXTURE_CUBE_MAP_POSITIVE_Y ( ) : number { return this . native . TEXTURE_CUBE_MAP_POSITIVE_Y ; } public get TEXTURE_CUBE_MAP_NEGATIVE_Y ( ) : number { return this . native . TEXTURE_CUBE_MAP_NEGATIVE_Y ; } public get TEXTURE_CUBE_MAP_POSITIVE_Z ( ) : number { return this . native . TEXTURE_CUBE_MAP_POSITIVE_Z ; } public get TEXTURE_CUBE_MAP_NEGATIVE_Z ( ) : number { return this . native . TEXTURE_CUBE_MAP_NEGATIVE_Z ; } public get MAX_CUBE_MAP_TEXTURE_SIZE ( ) : number { return this . native . MAX_CUBE_MAP_TEXTURE_SIZE ; } public get TEXTURE0 ( ) : number { return this . native . TEXTURE0 ; } public get TEXTURE1 ( ) : number { return this . native . TEXTURE1 ; } public get TEXTURE2 ( ) : number { return this . native . TEXTURE2 ; } public get TEXTURE3 ( ) : number { return this . native . TEXTURE3 ; } public get TEXTURE4 ( ) : number { return this . native . TEXTURE4 ; } public get TEXTURE5 ( ) : number { return this . native . TEXTURE5 ; } public get TEXTURE6 ( ) : number { return this . native . TEXTURE6 ; } public get TEXTURE7 ( ) : number { return this . native . TEXTURE7 ; } public get TEXTURE8 ( ) : number { return this . native . TEXTURE8 ; } public get TEXTURE9 ( ) : number { return this . native . TEXTURE9 ; } public get TEXTURE10 ( ) : number { return this . native . TEXTURE10 ; } public get TEXTURE11 ( ) : number { return this . native . TEXTURE11 ; } public get TEXTURE12 ( ) : number { return this . native . TEXTURE12 ; } public get TEXTURE13 ( ) : number { return this . native . TEXTURE13 ; } public get TEXTURE14 ( ) : number { return this . native . TEXTURE14 ; } public get TEXTURE15 ( ) : number { return this . native . TEXTURE15 ; } public get TEXTURE16 ( ) : number { return this . native . TEXTURE16 ; } public get TEXTURE17 ( ) : number { return this . native . TEXTURE17 ; } public get TEXTURE18 ( ) : number { return this . native . TEXTURE18 ; } public get TEXTURE19 ( ) : number { return this . native . TEXTURE19 ; } public get TEXTURE20 ( ) : number { return this . native . TEXTURE20 ; } public get TEXTURE21 ( ) : number { return this . native . TEXTURE21 ; } public get TEXTURE22 ( ) : number { return this . native . TEXTURE22 ; } public get TEXTURE23 ( ) : number { return this . native . TEXTURE23 ; } public get TEXTURE24 ( ) : number { return this . native . TEXTURE24 ; } public get TEXTURE25 ( ) : number { return this . native . TEXTURE25 ; } public get TEXTURE26 ( ) : number { return this . native . TEXTURE26 ; } public get TEXTURE27 ( ) : number { return this . native . TEXTURE27 ; } public get TEXTURE28 ( ) : number { return this . native . TEXTURE28 ; } public get TEXTURE29 ( ) : number { return this . native . TEXTURE29 ; } public get TEXTURE30 ( ) : number { return this . native . TEXTURE30 ; } public get TEXTURE31 ( ) : number { return this . native . TEXTURE31 ; } public get ACTIVE_TEXTURE ( ) : number { return this . native . ACTIVE_TEXTURE ; } public get REPEAT ( ) : number { return this . native . REPEAT ; } public get CLAMP_TO_EDGE ( ) : number { return this . native . CLAMP_TO_EDGE ; } public get MIRRORED_REPEAT ( ) : number { return this . native . MIRRORED_REPEAT ; } public get FLOAT_VEC2 ( ) : number { return this . native . FLOAT_VEC2 ; } public get FLOAT_VEC3 ( ) : number { return this . native . FLOAT_VEC3 ; } public get FLOAT_VEC4 ( ) : number { return this . native . FLOAT_VEC4 ; } public get INT_VEC2 ( ) : number { return this . native . INT_VEC2 ; } public get INT_VEC3 ( ) : number { return this . native . INT_VEC3 ; } public get INT_VEC4 ( ) : number { return this . native . INT_VEC4 ; } public get BOOL ( ) : number { return this . native . BOOL ; } public get BOOL_VEC2 ( ) : number { return this . native . BOOL_VEC2 ; } public get BOOL_VEC3 ( ) : number { return this . native . BOOL_VEC3 ; } public get BOOL_VEC4 ( ) : number { return this . native . BOOL_VEC4 ; } public get FLOAT_MAT2 ( ) : number { return this . native . FLOAT_MAT2 ; } public get FLOAT_MAT3 ( ) : number { return this . native . FLOAT_MAT3 ; } public get FLOAT_MAT4 ( ) : number { return this . native . FLOAT_MAT4 ; } public get SAMPLER_2D ( ) : number { return this . native . SAMPLER_2D ; } public get SAMPLER_CUBE ( ) : number { return this . native . SAMPLER_CUBE ; } public get LOW_FLOAT ( ) : number { return this . native . LOW_FLOAT ; } public get MEDIUM_FLOAT ( ) : number { return this . native . MEDIUM_FLOAT ; } public get HIGH_FLOAT ( ) : number { return this . native . HIGH_FLOAT ; } public get LOW_INT ( ) : number { return this . native . LOW_INT ; } public get MEDIUM_INT ( ) : number { return this . native . MEDIUM_INT ; } public get HIGH_INT ( ) : number { return this . native . HIGH_INT ; } public get FRAMEBUFFER ( ) : number { return this . native . FRAMEBUFFER ; } public get RENDERBUFFER ( ) : number { return this . native . RENDERBUFFER ; } public get RGBA4 ( ) : number { return this . native . RGBA4 ; } public get RGB565 ( ) : number { return this . native . RGB565 ; } public get RGB5_A1 ( ) : number { return this . native . RGB5_A1 ; } public get DEPTH_COMPONENT16 ( ) : number { return this . native . DEPTH_COMPONENT16 ; } public get STENCIL_INDEX8 ( ) : number { return this . native . STENCIL_INDEX8 ; } public get DEPTH_STENCIL ( ) : number { return this . native . DEPTH_STENCIL ; } public get RENDERBUFFER_WIDTH ( ) : number { return this . native . RENDERBUFFER_WIDTH ; } public get RENDERBUFFER_HEIGHT ( ) : number { return this . native . RENDERBUFFER_HEIGHT ; } public get RENDERBUFFER_INTERNAL_FORMAT ( ) : number { return this . native . RENDERBUFFER_INTERNAL_FORMAT ; } public get RENDERBUFFER_RED_SIZE ( ) : number { return this . native . RENDERBUFFER_RED_SIZE ; } public get RENDERBUFFER_GREEN_SIZE ( ) : number { return this . native . RENDERBUFFER_GREEN_SIZE ; } public get RENDERBUFFER_BLUE_SIZE ( ) : number { return this . native . RENDERBUFFER_BLUE_SIZE ; } public get RENDERBUFFER_ALPHA_SIZE ( ) : number { return this . native . RENDERBUFFER_ALPHA_SIZE ; } public get RENDERBUFFER_DEPTH_SIZE ( ) : number { return this . native . RENDERBUFFER_DEPTH_SIZE ; } public get RENDERBUFFER_STENCIL_SIZE ( ) : number { return this . native . RENDERBUFFER_STENCIL_SIZE ; } public get FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE ( ) : number { return this . native . FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE ; } public get FRAMEBUFFER_ATTACHMENT_OBJECT_NAME ( ) : number { return this . native . FRAMEBUFFER_ATTACHMENT_OBJECT_NAME ; } public get FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL ( ) : number { return this . native . FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL ; } public get FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE ( ) : number { return this . native . FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE ; } public get COLOR_ATTACHMENT0 ( ) : number { return this . native . COLOR_ATTACHMENT0 ; } public get DEPTH_ATTACHMENT ( ) : number { return this . native . DEPTH_ATTACHMENT ; } public get STENCIL_ATTACHMENT ( ) : number { return this . native . STENCIL_ATTACHMENT ; } public get DEPTH_STENCIL_ATTACHMENT ( ) : number { return this . native . DEPTH_STENCIL_ATTACHMENT ; } public get NONE ( ) : number { return this . native . NONE ; } public get FRAMEBUFFER_COMPLETE ( ) : number { return this . native . FRAMEBUFFER_COMPLETE ; } public get FRAMEBUFFER_INCOMPLETE_ATTACHMENT ( ) : number { return this . native . FRAMEBUFFER_INCOMPLETE_ATTACHMENT ; } public get FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT ( ) : number { return this . native . FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT ; } public get FRAMEBUFFER_INCOMPLETE_DIMENSIONS ( ) : number { return this . native . FRAMEBUFFER_INCOMPLETE_DIMENSIONS ; } public get FRAMEBUFFER_UNSUPPORTED ( ) : number { return this . native . FRAMEBUFFER_UNSUPPORTED ; } public get FRAMEBUFFER_BINDING ( ) : number { return this . native . FRAMEBUFFER_BINDING ; } public get RENDERBUFFER_BINDING ( ) : number { return this . native . RENDERBUFFER_BINDING ; } public get MAX_RENDERBUFFER_SIZE ( ) : number { return this . native . MAX_RENDERBUFFER_SIZE ; } public get UNPACK_COLORSPACE_CONVERSION_WEBGL ( ) : number { return this . native . UNPACK_COLORSPACE_CONVERSION_WEBGL ; } public get UNPACK_FLIP_Y_WEBGL ( ) : number { return this . native . UNPACK_FLIP_Y_WEBGL ; } public get UNPACK_PREMULTIPLY_ALPHA_WEBGL ( ) : number { return this . native . UNPACK_PREMULTIPLY_ALPHA_WEBGL ; } toNativeArray ( value , type ) { return [ ] ; } abstract activeTexture ( texture ) ; abstract attachShader ( program , shader ) ; abstract bindAttribLocation ( program , index , name ) ; abstract bindBuffer ( target , buffer ) ; abstract bindFramebuffer ( target , framebuffer ) ; abstract bindRenderbuffer ( target , renderbuffer ) ; abstract bindTexture ( target , texture ) ; abstract blendColor ( red , green , blue , alpha ) ; abstract blendEquationSeparate ( modeRGB , modeAlpha ) ; abstract blendEquation ( mode ) ; abstract blendFuncSeparate ( srcRGB , dstRGB , srcAlpha , dstAlpha ) ; abstract blendFunc ( sfactor , dfactor ) ; abstract bufferData ( target , size , usage ) ; abstract bufferData ( target , srcData , usage ) ; abstract bufferSubData ( target , offset , srcData ) ; abstract checkFramebufferStatus ( target ) ; abstract clearColor ( red , green , blue , alpha ) ; abstract clearDepth ( depth ) ; abstract clearStencil ( stencil ) ; abstract clear ( mask ) ; abstract colorMask ( red , green , blue , alpha ) ; abstract commit ( ) ; abstract compileShader ( shader ) ; abstract compressedTexImage2D ( target , level , internalformat , width , height , border , pixels ) ; abstract compressedTexSubImage2D ( target , level , xoffset , yoffset , width , height , format , pixels ) ; abstract copyTexImage2D ( target , level , internalformat , x , y , width , height , border ) ; abstract copyTexSubImage2D ( target , level , xoffset , yoffset , x , y , width , height ) ; abstract createBuffer ( ) ; abstract createFramebuffer ( ) ; abstract createProgram ( ) ; abstract createRenderbuffer ( ) ; abstract createShader ( type ) ; abstract createTexture ( ) ; abstract cullFace ( mode ) ; abstract deleteBuffer ( buffer ) ; abstract deleteFramebuffer ( frameBuffer ) ; abstract deleteProgram ( program ) ; abstract deleteRenderbuffer ( renderBuffer ) ; abstract deleteShader ( shader ) ; abstract deleteTexture ( texture ) ; abstract depthFunc ( func ) ; abstract depthMask ( flag ) ; abstract depthRange ( zNear , zFar ) ; abstract detachShader ( program , shader ) ; abstract disableVertexAttribArray ( index ) ; abstract disable ( cap ) ; abstract drawArrays ( mode , first , count ) ; abstract drawElements ( mode , count , type , offset ) ; abstract enableVertexAttribArray ( index ) ; abstract enable ( cap ) ; abstract finish ( ) ; abstract flush ( ) ; abstract framebufferRenderbuffer ( target , attachment , renderbuffertarget , renderbuffer ) ; abstract framebufferTexture2D ( target , attachment , textarget , texture , level ) ; abstract frontFace ( mode ) ; abstract generateMipmap ( target ) ; abstract getActiveAttrib ( program , index ) ; abstract getActiveUniform ( program , index ) ; abstract getAttachedShaders ( program ) ; abstract getAttribLocation ( program , name ) ; abstract getBufferParameter ( target , pname ) ; abstract getContextAttributes ( ) ; abstract getError ( ) ; abstract getExtension ( name ) ; abstract getFramebufferAttachmentParameter ( target , attachment , pname ) ; abstract getParameter ( pname ) ; abstract getProgramInfoLog ( program ) ; abstract getProgramParameter ( program , pname ) ; abstract getRenderbufferParameter ( target , pname ) ; abstract getShaderInfoLog ( shader ) ; abstract getShaderParameter ( shader , pname ) ; abstract getShaderPrecisionFormat ( shaderType , precisionType ) ; abstract getShaderSource ( shader ) ; abstract getSupportedExtensions ( ) ; abstract getTexParameter ( target , pname ) ; abstract getUniformLocation ( program , name ) ; abstract getUniform ( program , location ) ; abstract getVertexAttribOffset ( index , pname ) ; abstract getVertexAttrib ( index , pname ) ; abstract hint ( target , mode ) ; abstract isBuffer ( buffer ) ; abstract isContextLost ( ) ; abstract isEnabled ( cap ) ; abstract isFramebuffer ( framebuffer ) ; abstract isProgram ( program ) ; abstract isRenderbuffer ( renderbuffer ) ; abstract isShader ( shader ) ; abstract isTexture ( texture ) ; abstract lineWidth ( width ) ; abstract linkProgram ( program ) ; abstract pixelStorei ( pname , param ) ; abstract polygonOffset ( factor , units ) ; abstract readPixels ( x , y , width , height , format , type , pixels ) ; abstract renderbufferStorage ( target , internalFormat , width , height ) ; abstract sampleCoverage ( value , invert ) ; abstract scissor ( x , y , width , height ) ; abstract shaderSource ( shader , source ) ; abstract stencilFuncSeparate ( face , func , ref , mask ) ; abstract stencilFunc ( func , ref , mask ) ; abstract stencilMaskSeparate ( face , mask ) ; abstract stencilMask ( mask ) ; abstract stencilOpSeparate ( face , fail , zfail , zpass ) ; abstract stencilOp ( fail , zfail , zpass ) ; abstract texImage2D ( target , level , internalformat , format , type , pixels ) ; abstract texImage2D ( target , level , internalformat , width , height , border , format , type , pixels ) ; abstract texParameterf ( target , pname , param ) ; abstract texParameteri ( target , pname , param ) ; abstract texSubImage2D ( target , level , xoffset , yoffset , width , height , format , type , pixels ) ; abstract texSubImage2D ( target , level , xoffset , yoffset , format , type , pixels ) ; abstract uniform1f ( location , v0 ) ; abstract uniform1iv ( location , value ) ; abstract uniform1fv ( location , value ) ; abstract uniform1i ( location , v0 ) ; abstract uniform2f ( location , v0 , v1 ) ; abstract uniform2iv ( location , value ) ; abstract uniform2fv ( location , value ) ; abstract uniform2i ( location , v0 , v1 ) ; abstract uniform3f ( location , v0 , v1 , v2 ) ; abstract uniform3iv ( location , value ) ; abstract uniform3fv ( location , value ) ; abstract uniform3i ( location , v0 , v1 , v2 ) ; abstract uniform4f ( location , v0 , v1 , v2 , v3 ) ; abstract uniform4iv ( location , value ) ; abstract uniform4fv ( location , value ) ; abstract uniform4i ( location , v0 , v1 , v2 , v3 ) ; abstract uniformMatrix2fv ( location , transpose , value ) ; abstract uniformMatrix3fv ( location , transpose , value ) ; abstract uniformMatrix4fv ( location , transpose , value ) ; abstract useProgram ( program ) ; abstract validateProgram ( program ) ; abstract vertexAttrib1f ( index , v0 ) ; abstract vertexAttrib1fv ( index , value ) ; abstract vertexAttrib2f ( index , v0 , v1 ) ; abstract vertexAttrib2fv ( index , value ) ; abstract vertexAttrib3f ( index , v0 , v1 , v2 ) ; abstract vertexAttrib3fv ( index , value ) ; abstract vertexAttrib4f ( index , v0 , v1 , v2 , v3 ) ; abstract vertexAttrib4fv ( index , value ) ; abstract vertexAttribPointer ( index , size , type , normalized , stride , offset ) ; abstract viewport ( x , y , width , height ) ; } export abstract class TNSPath2DBase { protected nativeInstance : any ; constructor ( instance ) { this . nativeInstance = instance ; } get native ( ) { return this . nativeInstance ; } public abstract addPath ( path , transform ? ) ; public abstract closePath ( ) ; public abstract moveTo ( x , y ) ; public abstract lineTo ( x , y ) ; public abstract bezierCurveTo ( cp1x , cp1y , cp2x , cp2y , x , y ) ; public abstract quadraticCurveTo ( cpx , cpy , x , y ) ; public abstract arc ( x , y , radius , startAngle , endAngle , anticlockwise ) ; public abstract arcTo ( x1 , y1 , x2 , y2 , radius ) ; public abstract ellipse ( x , y , radiusX , radiusY , rotation , startAngle , endAngle , anticlockwise ) ; public abstract rect ( x , y , width , height ) ; } export abstract class TNSDOMMatrixBase { a : number ; b : number ; c : number ; d : number ; e : number ; f : number ; protected nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } get native ( ) { return this . nativeInstance ; } } export class ImageDataBase { width = 0 ; height = 0 ; data = null ; protected nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } get native ( ) { return this . nativeInstance ; } } export abstract class CanvasGradientBase { public abstract addColorStop ( offset , color ) ; } export abstract class CanvasPatternBase { protected nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } get native ( ) { return this . nativeInstance ; } public abstract setTransform ( matrix ) ; } export class TextMetricsBase { nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } get native ( ) { return this . nativeInstance ; } } export class WebGLQuery { [ Symbol . toStringTag ] = 'WebGLQuery' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLQuery]' ; } } export class WebGLSampler { [ Symbol . toStringTag ] = 'WebGLSampler' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLSampler]' ; } } export class WebGLTransformFeedback { [ Symbol . toStringTag ] = 'WebGLTransformFeedback' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLTransformFeedback]' ; } } export class WebGLVertexArrayObject { [ Symbol . toStringTag ] = 'WebGLVertexArrayObject' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLVertexArrayObject]' ; } } export class WebGLSync { [ Symbol . toStringTag ] = 'WebGLSync' ; private nativeInstance : any ; constructor ( nativeInstance ) { this . nativeInstance = nativeInstance ; } public get native ( ) { return this . nativeInstance ; } public toString ( ) { return '[object WebGLSync]' ; } }