You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2017/06/22 18:52:25 UTC

git commit: [flex-falcon] [refs/heads/tlf] - allow different base class for FXG

Repository: flex-falcon
Updated Branches:
  refs/heads/tlf 91a29d9c0 -> 50f9d4530


allow different base class for FXG


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

Branch: refs/heads/tlf
Commit: 50f9d4530c669f1139b16129c45bca17c476fa3d
Parents: 91a29d9
Author: Alex Harui <ah...@apache.org>
Authored: Thu Jun 22 11:52:20 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Jun 22 11:52:20 2017 -0700

----------------------------------------------------------------------
 .../flex/compiler/config/Configuration.java     | 20 ++++++++++++++++++++
 .../fxg/flex/FlexFXG2SWFTranscoder.java         |  6 +++---
 .../projects/FlexProjectConfigurator.java       |  6 ++++++
 .../internal/units/FXGCompilationUnit.java      |  2 +-
 4 files changed, 30 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
index 6356c88..3c8465d 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
@@ -1799,6 +1799,26 @@ public class Configuration
         componentFactoryInterface = b;
     }
 
+    //
+    // 'compiler.fxg-base-class' option
+    //
+
+    private String fxgBaseClass = "spark.core.SpriteVisualElement";
+
+    public String getFxgBaseClass()
+    {
+        return fxgBaseClass;
+    }
+
+    /**
+     * The base class for generated binding code
+     */
+    @Config(advanced = true)
+    public void setCompilerFxgBaseClass(ConfigurationValue cv, String b)
+    {
+    	fxgBaseClass = b;
+    }
+
     /**
      * Syntax:<br/>
      * <code>-define=&lt;name&gt;,&lt;value&gt;</code> where name is <code>NAMESPACE::name</code> and value is a legal

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java b/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java
index aec3437..b0c4ab1 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/fxg/flex/FlexFXG2SWFTranscoder.java
@@ -91,7 +91,7 @@ public class FlexFXG2SWFTranscoder extends FXG2SWFTranscoder
     private final HashMap<String, Integer> nameCounter;
     private Map<String, ITypeDefinition> dependencies;
     
-    private static final String packageSpriteVisualElement = "spark.core.SpriteVisualElement";
+    public static String packageSpriteVisualElement = "spark.core.SpriteVisualElement";
     private static final String packageShaderFilter = "spark.filters.ShaderFilter";
     private static final String packageLuminosityMaskShader = "mx.graphics.shaderClasses.LuminosityMaskShader";
     private static final String packageIFlexModuleFactory = "mx.core.IFlexModuleFactory";
@@ -137,7 +137,7 @@ public class FlexFXG2SWFTranscoder extends FXG2SWFTranscoder
         buf.append("package ").append(packageName).append("\n");
         buf.append("{\n\n");
         buf.append("import ").append(packageSpriteVisualElement).append(";\n\n");
-        buf.append("public class ").append(className).append(" extends SpriteVisualElement\n");
+        buf.append("public class ").append(className).append(" extends " + packageSpriteVisualElement + "\n");
         buf.append("{\n");
         buf.append("    public function ").append(className).append("()\n");
         buf.append("    {\n");
@@ -584,7 +584,7 @@ public class FlexFXG2SWFTranscoder extends FXG2SWFTranscoder
                 buf.append("import ").append(blendModeClass).append(";\n\n");
             }
 
-            buf.append("public class ").append(className).append(" extends SpriteVisualElement\n");
+            buf.append("public class ").append(className).append(" extends " + packageSpriteVisualElement + "\n");
             buf.append("{\n");
             buf.append("    public function ").append(className).append("()\n");
             buf.append("    {\n");

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java
index d66b340..67da796 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProjectConfigurator.java
@@ -29,9 +29,11 @@ import org.apache.flex.abc.semantics.Name;
 import org.apache.flex.abc.semantics.Namespace;
 import org.apache.flex.abc.semantics.Nsset;
 import org.apache.flex.compiler.config.Configuration;
+import org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder;
 import org.apache.flex.compiler.internal.as.codegen.BindableHelper;
 import org.apache.flex.compiler.internal.definitions.ClassDefinition;
 import org.apache.flex.compiler.internal.embedding.transcoders.DataTranscoder;
+import org.apache.flex.compiler.internal.units.FXGCompilationUnit;
 import org.apache.flex.compiler.mxml.IMXMLTypeConstants;
 
 /**
@@ -221,6 +223,10 @@ public class FlexProjectConfigurator
             configValue = configuration.getBindingValueChangeEventType();
             BindableHelper.PROPERTY_CHANGE = configValue;
 
+            configValue = configuration.getFxgBaseClass();
+            FlexFXG2SWFTranscoder.packageSpriteVisualElement = configValue;
+            FXGCompilationUnit.fxgBaseClassName = configValue;
+        
             configValue = configuration.getStatesClass();
             project.setStateClass(configValue);
             

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/50f9d453/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java b/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java
index 3fd4703..fdaacee 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/units/FXGCompilationUnit.java
@@ -81,7 +81,7 @@ import com.google.common.collect.Iterables;
  */
 public class FXGCompilationUnit extends CompilationUnitBase
 {
-    private static final String fxgBaseClassName =  "spark.core.SpriteVisualElement";
+    public static String fxgBaseClassName =  "spark.core.SpriteVisualElement";
 
     private String qname;