Work on RenderContext, rename .element and .sprite to .dom and .flash (for consistency)

This commit is contained in:
Joshua Granick
2018-06-29 11:27:59 -07:00
parent f830f5758d
commit 68deec6149
7 changed files with 120 additions and 316 deletions

View File

@@ -178,7 +178,7 @@ class FlashWindow {
stage.addEventListener (Event.RESIZE, handleWindowEvent);
var context = new RenderContext ();
context.sprite = Lib.current;
context.flash = Lib.current;
context.type = FLASH;
context.version = Capabilities.version;
context.window = parent;

View File

@@ -276,7 +276,7 @@ class HTML5Window {
if (div != null) {
context.element = cast div;
context.dom = cast div;
context.type = DOM;
context.version = "";

View File

@@ -1,47 +1,45 @@
package lime.graphics;
typedef CairoRenderContext = lime.graphics.cairo.Cairo;
//
//
//import lime.graphics.cairo.Cairo;
//import lime.graphics.cairo.CairoFormat;
//import lime.graphics.cairo.CairoSurface;
//
//
//class CairoRenderContext {
//
//
//public var version (get, null):Int;
//public var versionString (get, null):String;
//
//
//public function new () {
//
//
//
//}
//
//
//
//
//// Get & Set Methods
//
//
//
//
//private inline function get_version ():Int {
//
//return Cairo.version;
//
//}
//
//
//private function get_versionString ():String {
//
//return Cairo.versionString;
//
//}
//
//
//}
#if (sys && lime_cairo && !doc_gen)
import lime.graphics.cairo.Cairo;
@:access(lime.graphics.RenderContext)
@:forward()
abstract CairoRenderContext(Cairo) from Cairo to Cairo {
@:from private static function fromRenderContext (context:RenderContext):CairoRenderContext {
return context.cairo;
}
}
#else
@:forward()
abstract CairoRenderContext(Dynamic) from Dynamic to Dynamic {
@:from private static function fromRenderContext (context:RenderContext):CairoRenderContext {
return null;
}
}
#end

View File

@@ -0,0 +1,45 @@
package lime.graphics;
#if (js && html5 && !doc_gen)
import js.html.CanvasRenderingContext2D;
@:access(lime.graphics.RenderContext)
@:forward()
abstract Canvas2DRenderContext(CanvasRenderingContext2D) from CanvasRenderingContext2D to CanvasRenderingContext2D {
@:from private static function fromRenderContext (context:RenderContext):Canvas2DRenderContext {
return context.canvas2D;
}
}
#else
@:forward()
abstract Canvas2DRenderContext(Dynamic) from Dynamic to Dynamic {
@:from private static function fromRenderContext (context:RenderContext):Canvas2DRenderContext {
return null;
}
}
#end

View File

@@ -1,180 +1,42 @@
package lime.graphics;
#if (js && html5 && !doc_gen)
typedef DOMRenderContext = js.html.DivElement;
#else
class DOMRenderContext {
import js.html.Element;
@:access(lime.graphics.RenderContext)
@:forward()
abstract DOMRenderContext(Element) from Element to Element {
public var accessKey:String;
public var align:String;
public var attributes (default, null):Dynamic /*NamedNodeMap*/;
public var baseURI (default, null):String;
public var childElementCount (default, null):Int;
public var childNodes (default, null):Dynamic /*NodeList*/;
public var children (default, null):Dynamic /*HTMLCollection*/;
public var classList (default, null):Dynamic /*DOMTokenList*/;
public var className:String;
public var clientHeight (default, null):Int;
public var clientLeft (default, null):Int;
public var clientTop (default, null):Int;
public var clientWidth (default, null):Int;
public var contentEditable:String;
public var dataset (default, null):Dynamic<String>;
public var dir:String;
public var draggable:Bool;
public var dropzone:String;
public var firstChild (default, null):Dynamic /*Node*/;
public var firstElementChild (default, null):Dynamic /*Element*/;
public var hidden:Bool;
public var id:String;
public var innerHTML:String;
public var innerText:String;
public var isContentEditable (default, null):Bool;
public var lang:String;
public var lastChild (default, null):Dynamic /*Node*/;
public var lastElementChild (default, null):Dynamic /*Element*/;
public var localName (default, null):String;
public var namespaceURI (default, null):String;
public var nextElementSibling (default, null):Dynamic /*Element*/;
public var nextSibling (default, null):Dynamic /*Node*/;
public var nodeName (default, null):String;
public var nodeType (default, null):Int;
public var nodeValue:String;
public var offsetHeight (default, null):Int;
public var offsetLeft (default, null):Int;
public var offsetParent (default, null):Dynamic /*Element*/;
public var offsetTop (default, null):Int;
public var offsetWidth (default, null):Int;
public var onabort:Dynamic /*EventListener*/;
public var onbeforecopy:Dynamic /*EventListener*/;
public var onbeforecut:Dynamic /*EventListener*/;
public var onbeforepaste:Dynamic /*EventListener*/;
public var onblur:Dynamic /*EventListener*/;
public var onchange:Dynamic /*EventListener*/;
public var onclick:Dynamic /*EventListener*/;
public var oncontextmenu:Dynamic /*EventListener*/;
public var oncopy:Dynamic /*EventListener*/;
public var oncut:Dynamic /*EventListener*/;
public var ondblclick:Dynamic /*EventListener*/;
public var ondrag:Dynamic /*EventListener*/;
public var ondragend:Dynamic /*EventListener*/;
public var ondragenter:Dynamic /*EventListener*/;
public var ondragleave:Dynamic /*EventListener*/;
public var ondragover:Dynamic /*EventListener*/;
public var ondragstart:Dynamic /*EventListener*/;
public var ondrop:Dynamic /*EventListener*/;
public var onerror:Dynamic /*EventListener*/;
public var onfocus:Dynamic /*EventListener*/;
public var onfullscreenchange:Dynamic /*EventListener*/;
public var onfullscreenerror:Dynamic /*EventListener*/;
public var oninput:Dynamic /*EventListener*/;
public var oninvalid:Dynamic /*EventListener*/;
public var onkeydown:Dynamic /*EventListener*/;
public var onkeypress:Dynamic /*EventListener*/;
public var onkeyup:Dynamic /*EventListener*/;
public var onload:Dynamic /*EventListener*/;
public var onmousedown:Dynamic /*EventListener*/;
public var onmousemove:Dynamic /*EventListener*/;
public var onmouseout:Dynamic /*EventListener*/;
public var onmouseover:Dynamic /*EventListener*/;
public var onmouseup:Dynamic /*EventListener*/;
public var onmousewheel:Dynamic /*EventListener*/;
public var onpaste:Dynamic /*EventListener*/;
public var onreset:Dynamic /*EventListener*/;
public var onscroll:Dynamic /*EventListener*/;
public var onsearch:Dynamic /*EventListener*/;
public var onselect:Dynamic /*EventListener*/;
public var onselectstart:Dynamic /*EventListener*/;
public var onsubmit:Dynamic /*EventListener*/;
public var ontouchcancel:Dynamic /*EventListener*/;
public var ontouchend:Dynamic /*EventListener*/;
public var ontouchmove:Dynamic /*EventListener*/;
public var ontouchstart:Dynamic /*EventListener*/;
public var outerHTML:String;
public var outerText:String;
public var ownerDocument (default, null):Dynamic /*Document*/;
public var parentElement (default, null):Dynamic /*Element*/;
public var parentNode (default, null):Dynamic /*Node*/;
public var prefix:String;
public var previousElementSibling (default, null):Dynamic /*Element*/;
public var previousSibling (default, null):Dynamic /*Node*/;
public var pseudo:String;
public var scrollHeight (default, null):Int;
public var scrollLeft:Int;
public var scrollTop:Int;
public var scrollWidth (default, null):Int;
public var spellcheck:Bool;
public var style (default, null):Dynamic /*CSSStyleDeclaration*/;
public var tabIndex:Int;
public var tagName (default, null):String;
public var textContent:String;
public var title:String;
public var translate:Bool;
public function new () {
@:from private static function fromRenderContext (context:RenderContext):DOMRenderContext {
return context.dom;
}
public function addEventListener (type:String, listener:Dynamic /*EventListener*/, ?useCapture:Bool):Void {};
public function appendChild (newChild:Dynamic /*Node*/):Dynamic /*Node*/ { return null; };
public function blur ():Void {};
public function click ():Void {};
public function cloneNode (deep:Bool):Dynamic /*Node*/ { return null; };
public function compareDocumentPosition (other:Dynamic /*Node*/):Int { return -1; };
public function contains (other:Dynamic /*Node*/):Bool { return false; };
public function dispatchEvent (event:Dynamic /*Event*/):Bool { return false; };
public function focus ():Void {};
public function getAttribute (name:String):String { return null; };
public function getAttributeNS (?namespaceURI:String, localName:String):String { return null; };
public function getAttributeNode (name:String):Dynamic /*Attr*/ { return null; };
public function getAttributeNodeNS (?namespaceURI:String, localName:String):Dynamic /*Attr*/ { return null; };
public function getBoundingClientRect ():Dynamic /*ClientRect*/ { return null; };
public function getClientRects ():Dynamic /*ClientRectList*/ { return null; };
public function getElementsByClassName (name:String):Dynamic /*NodeList*/ { return null; };
public function getElementsByTagName (name:String):Dynamic /*NodeList*/ { return null; };
public function getElementsByTagNameNS (?namespaceURI:String, localName:String):Dynamic /*NodeList*/ { return null; };
public function hasAttribute (name:String):Bool { return false; };
public function hasAttributeNS (?namespaceURI:String, localName:String):Bool { return false; };
public function hasAttributes ():Bool { return false; };
public function hasChildNodes ():Bool { return false; };
public function insertAdjacentElement (where:String, element:Dynamic /*Element*/):Dynamic /*Element*/ { return null; };
public function insertAdjacentHTML (where:String, html:String):Void {};
public function insertAdjacentText (where:String, text:String):Void {};
public function insertBefore (newChild:Dynamic /*Node*/, refChild:Dynamic /*Node*/):Dynamic /*Node*/ { return null; };
public function isDefaultNamespace (?namespaceURI:String):Bool { return false; };
public function isEqualNode (other:Dynamic /*Node*/):Bool { return false; };
public function isSameNode (other:Dynamic /*Node*/):Bool { return false; };
public function isSupported (feature:String, ?version:String):Bool { return false; };
public function lookupNamespaceURI (?prefix:String):String { return null; };
public function lookupPrefix (?namespaceURI:String):String { return null; };
public function matchesSelector (selectors:String):Bool { return false; };
public function normalize ():Void {};
public function querySelector (selectors:String):Dynamic /*Element*/ { return null; };
public function querySelectorAll (selectors:String):Dynamic /*NodeList*/ { return null; };
public function remove ():Void {};
public function removeAttribute (name:String):Void {};
public function removeAttributeNS (namespaceURI:String, localName:String):Void {};
public function removeAttributeNode (oldAttr:Dynamic /*Attr*/):Dynamic /*Attr*/ { return null; };
public function removeChild (oldChild:Dynamic /*Node*/):Dynamic /*Node*/ { return null; };
public function removeEventListener (type:String, listener:Dynamic /*EventListener*/, ?useCapture:Bool):Void {};
public function replaceChild (newChild:Dynamic /*Node*/, oldChild:Dynamic /*Node*/):Dynamic /*Node*/ { return null; };
public function requestFullScreen (flags:Int):Void {};
public function requestFullscreen ():Void {};
public function requestPointerLock ():Void {};
public function scrollByLines (lines:Int):Void {};
public function scrollByPages (pages:Int):Void {};
public function scrollIntoView (?alignWithTop:Bool):Void {};
public function scrollIntoViewIfNeeded (?centerIfNeeded:Bool):Void {};
public function setAttribute (name:String, value:String):Void {};
public function setAttributeNS (?namespaceURI:String, qualifiedName:String, value:String):Void {};
public function setAttributeNode (newAttr:Dynamic /*Attr*/):Dynamic /*Attr*/ { return null; };
public function setAttributeNodeNS (newAttr:Dynamic /*Attr*/):Dynamic /*Attr*/ { return null; };
}
#else
@:forward()
abstract DOMRenderContext(Dynamic) from Dynamic to Dynamic {
@:from private static function fromRenderContext (context:RenderContext):DOMRenderContext {
return null;
}
}

View File

@@ -16,7 +16,7 @@ abstract FlashRenderContext(Sprite) from Sprite to Sprite {
@:from private static function fromRenderContext (context:RenderContext):FlashRenderContext {
return context.sprite;
return context.flash;
}
@@ -42,105 +42,4 @@ abstract FlashRenderContext(Dynamic) from Dynamic to Dynamic {
}
// abstract FlashRenderContext(RenderContext) from RenderContext to RenderContext {
// public var accessibilityImplementation:Dynamic /*flash.accessibility.AccessibilityImplementation*/;
// public var accessibilityProperties:Dynamic /*flash.accessibility.AccessibilityProperties*/;
// public var alpha:Float;
// public var blendMode:Dynamic /*BlendMode*/;
// public var blendShader (never, set):Dynamic /*Shader*/;
// public var buttonMode:Bool;
// public var cacheAsBitmap:Bool;
// public var contextMenu:Dynamic /*flash.ui.ContextMenu*/;
// public var doubleClickEnabled:Bool;
// public var dropTarget (get, never):Dynamic /*DisplayObject*/;
// public var filters:Array<Dynamic /*flash.filters.BitmapFilter*/>;
// public var focusRect:Dynamic;
// public var graphics (get, never):Dynamic /*Graphics*/;
// public var height:Float;
// public var hitArea:Dynamic /*Sprite*/;
// public var loaderInfo (get, never):Dynamic /*LoaderInfo*/;
// public var mask:Dynamic /*DisplayObject*/;
// public var mouseChildren:Bool;
// public var mouseEnabled:Bool;
// public var mouseX (get, never):Float;
// public var mouseY (get, never):Float;
// public var name:String;
// public var needsSoftKeyboard:Bool;
// public var numChildren (get, never):Int;
// public var opaqueBackground:Null<UInt>;
// public var parent (get, never):Dynamic /*DisplayObjectContainer*/;
// public var root (get, never):Dynamic /*DisplayObject*/;
// public var rotation:Float;
// public var rotationX:Float;
// public var rotationY:Float;
// public var rotationZ:Float;
// public var scale9Grid:Dynamic /*flash.geom.Rectangle*/;
// public var scaleX:Float;
// public var scaleY:Float;
// public var scaleZ:Float;
// public var scrollRect:Dynamic /*flash.geom.Rectangle*/;
// public var softKeyboardInputAreaOfInterest:Dynamic /*flash.geom.Rectangle*/;
// public var soundTransform:Dynamic /*flash.media.SoundTransform*/;
// public var stage (get, never):Dynamic /*Stage*/;
// public var tabChildren:Bool;
// public var tabEnabled:Bool;
// public var tabIndex:Int;
// public var textSnapshot (get, never):Dynamic /*flash.text.TextSnapshot*/;
// public var transform:Dynamic /*flash.geom.Transform*/;
// public var useHandCursor:Bool;
// public var visible:Bool;
// public var width:Float;
// public var x:Float;
// public var y:Float;
// public var z:Float;
// public function new () {
// }
// public function addChild (child:Dynamic /*DisplayObject*/):Dynamic /*DisplayObject*/ { return null; };
// public function addChildAt (child:Dynamic /*DisplayObject*/, index:Int):Dynamic /*DisplayObject*/ { return null; };
// public function addEventListener (type:String, listener:Dynamic->Void, useCapture:Bool = false, priority:Int = 0, useWeakReference:Bool = false):Void {};
// public function areInaccessibleObjectsUnderPoint (point:Dynamic /*flash.geom.Point*/):Bool { return false; };
// public function contains (child:Dynamic /*DisplayObject*/):Bool { return false; };
// public function dispatchEvent (event:Dynamic /*Event*/):Bool { return false; };
// public function getBounds (targetCoordinateSpace:Dynamic /*DisplayObject*/):Dynamic /*flash.geom.Rectangle*/ { return null; };
// public function getChildAt (index:Int):Dynamic /*DisplayObject*/ { return null; };
// public function getChildByName (name:String):Dynamic /*DisplayObject*/ { return null; };
// public function getChildIndex (child:Dynamic /*DisplayObject*/):Int { return 0; };
// public function getObjectsUnderPoint (point:Dynamic /*flash.geom.Point*/):Array<Dynamic /*DisplayObject*/> { return null; };
// public function getRect (targetCoordinateSpace:Dynamic /*DisplayObject*/):Dynamic /*flash.geom.Rectangle*/ { return null; };
// public function globalToLocal (point:Dynamic /*flash.geom.Point*/):Dynamic /*flash.geom.Point*/ { return null; };
// public function globalToLocal3D (point:Dynamic /*flash.geom.Point*/):Dynamic /*flash.geom.Vector3D*/ { return null; };
// public function hasEventListener (type:String):Bool { return false; };
// public function hitTestObject (obj:Dynamic /*DisplayObject*/):Bool { return false; };
// public function hitTestPoint (x:Float, y:Float, shapeFlag:Bool = false):Bool { return false; };
// public function local3DToGlobal (point3d:Dynamic /*flash.geom.Vector3D*/):Dynamic /*flash.geom.Point*/ { return null; };
// public function localToGlobal (point:Dynamic /*flash.geom.Point*/):Dynamic /*flash.geom.Point*/ { return null; };
// public function removeChild (child:Dynamic /*DisplayObject*/):Dynamic /*DisplayObject*/ { return null; };
// public function removeChildAt (index:Int):Dynamic /*DisplayObject*/ { return null; };
// public function removeChildren (beginIndex:Int = 0, endIndex:Int = 2147483647):Void {};
// public function removeEventListener (type:String, listener:Dynamic->Void, useCapture:Bool = false):Void {};
// public function requestSoftKeyboard ():Bool { return false; };
// public function setChildIndex (child:Dynamic /*DisplayObject*/, index:Int):Void {};
// public function startDrag (lockCenter:Bool = false, ?bounds:Dynamic /*flash.geom.Rectangle*/):Void {};
// public function startTouchDrag (touchPointID:Int, lockCenter:Bool = false, ?bounds:Dynamic /*flash.geom.Rectangle*/):Void {};
// public function stopAllMovieClips ():Void {};
// public function stopDrag ():Void {};
// public function stopTouchDrag (touchPointID:Int):Void {};
// public function swapChildren (child1:Dynamic /*DisplayObject*/, child2:Dynamic /*DisplayObject*/):Void {};
// public function swapChildrenAt (index1:Int, index2:Int):Void {};
// public function toString ():String { return null; };
// public function willTrigger (type:String):Bool { return false; };
// }
#end

View File

@@ -10,11 +10,11 @@ class RenderContext {
public var cairo (default, null):CairoRenderContext;
public var canvas2D (default, null):Canvas2DRenderContext;
public var element (default, null):DOMRenderContext;
public var dom (default, null):DOMRenderContext;
public var flash (default, null):FlashRenderContext;
public var gl (default, null):OpenGLRenderContext;
public var gles2 (default, null):OpenGLES2RenderContext;
public var gles3 (default, null):OpenGLES3RenderContext;
public var sprite (default, null):FlashRenderContext;
public var type (default, null):RenderContextType;
public var version (default, null):String;
public var webgl (default, null):WebGLRenderContext;