lookup other cursors in ValuesManager

Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/b9d5e8e1
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/b9d5e8e1
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/b9d5e8e1

Branch: refs/heads/develop
Commit: b9d5e8e114e77270c30389d793024a89c43bc037
Parents: 8d5a8e6
Author: Alex Harui <aha...@apache.org>
Authored: Thu Jun 22 11:57:04 2017 -0700
Committer: Alex Harui <aha...@apache.org>
Committed: Thu Jun 22 11:57:29 2017 -0700

----------------------------------------------------------------------
 .../main/flex/org/apache/flex/css2/Cursors.as   | 28 ++++++++++++++++++++
 1 file changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b9d5e8e1/frameworks/projects/Basic/src/main/flex/org/apache/flex/css2/Cursors.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/css2/Cursors.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/css2/Cursors.as
index 8671ca0..96ef8f4 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/css2/Cursors.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/css2/Cursors.as
@@ -19,14 +19,18 @@
 package org.apache.flex.css2
 {
     import org.apache.flex.core.IUIBase;
+    import org.apache.flex.core.ValuesManager;
     import org.apache.flex.events.MouseEvent;
     
     COMPILE::SWF
     {
         import flash.display.DisplayObject;
+        import flash.display.BitmapData;
+        import flash.display.Sprite;
         import flash.geom.Point;
         import flash.ui.Mouse;
         import flash.ui.MouseCursor;
+        import flash.ui.MouseCursorData;
     }
     COMPILE::JS
     {
@@ -67,6 +71,12 @@ package org.apache.flex.css2
         COMPILE::JS
         public static const TEXT:String = "text";
         
+        COMPILE::SWF
+        private static const builtinCursors:Array = [MouseCursor.AUTO, 
+                                                MouseCursor.ARROW,
+                                                MouseCursor.BUTTON,
+                                                MouseCursor.IBEAM];
+        
         /**
          *  Constructor.
          *
@@ -118,6 +128,24 @@ package org.apache.flex.css2
                     obj.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
                     obj.addEventListener(MouseEvent.MOUSE_OUT, outHandler);
                 }
+                if (builtinCursors.indexOf(cursor) == -1)
+                {
+                    var c:Class = ValuesManager.valuesImpl.getValue(obj, 
cursor) as Class;
+                    if (c)
+                    {
+                        var foo:Object = new c();
+                        var inst:Sprite = new c() as Sprite;
+                        if (inst)
+                        {
+                            var bd:BitmapData = new BitmapData(32, 32, true, 
0);
+                            bd.draw(inst);
+                            var mcd:MouseCursorData = new MouseCursorData();
+                            mcd.data = Vector.<BitmapData>([bd]);
+                            Mouse.registerCursor(cursor, mcd);
+                            builtinCursors.push(cursor);
+                        }
+                    }
+                }
                 cursorData.cursor = cursor;
                 
                 var displayObject:DisplayObject = obj as DisplayObject;

Reply via email to