Browse Source

Moved float accessors to own files

CPKreuz 11 months ago
parent
commit
f812e01c5a

+ 0 - 51
src/PixiEditor.DrawingApi.Core/Shaders/Generation/Expressions/Float1.cs

@@ -18,54 +18,3 @@ public class Float1(string name) : ShaderExpressionVariable<double>(name)
 
     public byte FullSizeByteConstant => (byte)(ConstantValue * 255);
 }
-
-public class Half4Float1Accessor : Float1
-{
-    public Half4Float1Accessor(Half4 accessTo, char name) : base(string.IsNullOrEmpty(accessTo.VariableName) ? string.Empty : $"{accessTo.VariableName}.{name}")
-    {
-        Accesses = accessTo;
-    }
-    
-    public Half4 Accesses { get; }
-
-    public static bool AllAccessSame(Expression r, Expression g, Expression b, Expression a, out Half4? half4)
-    {
-        if (r is Half4Float1Accessor rA && g is Half4Float1Accessor gA &&
-            b is Half4Float1Accessor bA && a is Half4Float1Accessor aA &&
-            rA.Accesses == gA.Accesses && bA.Accesses == aA.Accesses && rA.Accesses == bA.Accesses)
-        {
-            half4 = rA.Accesses;
-            return true;
-        }
-
-        half4 = null;
-        return false;
-    }
-
-    public static Expression GetOrConstructorExpressionHalf4(Expression r, Expression g, Expression b, Expression a) => AllAccessSame(r, g, b, a, out var value) ? value : Half4.Constructor(r, g, b, a);
-}
-
-public class Half3Float1Accessor : Float1
-{
-    public Half3Float1Accessor(Half3 accessTo, char name) : base(string.IsNullOrEmpty(accessTo.VariableName) ? string.Empty : $"{accessTo.VariableName}.{name}")
-    {
-        Accesses = accessTo;
-    }
-    
-    public Half3 Accesses { get; }
-
-    public static bool AllAccessSame(Expression r, Expression g, Expression b, out Half3? half3)
-    {
-        if (r is Half3Float1Accessor rA && g is Half3Float1Accessor gA && b is Half3Float1Accessor bA &&
-            rA.Accesses == gA.Accesses && rA.Accesses == bA.Accesses)
-        {
-            half3 = rA.Accesses;
-            return true;
-        }
-
-        half3 = null;
-        return false;
-    }
-    
-    public static Expression GetOrConstructorExpressionHalf3(Expression r, Expression g, Expression b) => AllAccessSame(r, g, b, out var value) ? value : Half3.Constructor(r, g, b);
-}

+ 26 - 0
src/PixiEditor.DrawingApi.Core/Shaders/Generation/Expressions/Half3Float1Accessor.cs

@@ -0,0 +1,26 @@
+namespace PixiEditor.DrawingApi.Core.Shaders.Generation.Expressions;
+
+public class Half3Float1Accessor : Float1
+{
+    public Half3Float1Accessor(Half3 accessTo, char name) : base(string.IsNullOrEmpty(accessTo.VariableName) ? string.Empty : $"{accessTo.VariableName}.{name}")
+    {
+        Accesses = accessTo;
+    }
+    
+    public Half3 Accesses { get; }
+
+    public static bool AllAccessSame(Expression r, Expression g, Expression b, out Half3? half3)
+    {
+        if (r is Half3Float1Accessor rA && g is Half3Float1Accessor gA && b is Half3Float1Accessor bA &&
+            rA.Accesses == gA.Accesses && rA.Accesses == bA.Accesses)
+        {
+            half3 = rA.Accesses;
+            return true;
+        }
+
+        half3 = null;
+        return false;
+    }
+    
+    public static Expression GetOrConstructorExpressionHalf3(Expression r, Expression g, Expression b) => AllAccessSame(r, g, b, out var value) ? value : Half3.Constructor(r, g, b);
+}

+ 27 - 0
src/PixiEditor.DrawingApi.Core/Shaders/Generation/Expressions/Half4Float1Accessor.cs

@@ -0,0 +1,27 @@
+namespace PixiEditor.DrawingApi.Core.Shaders.Generation.Expressions;
+
+public class Half4Float1Accessor : Float1
+{
+    public Half4Float1Accessor(Half4 accessTo, char name) : base(string.IsNullOrEmpty(accessTo.VariableName) ? string.Empty : $"{accessTo.VariableName}.{name}")
+    {
+        Accesses = accessTo;
+    }
+    
+    public Half4 Accesses { get; }
+
+    public static bool AllAccessSame(Expression r, Expression g, Expression b, Expression a, out Half4? half4)
+    {
+        if (r is Half4Float1Accessor rA && g is Half4Float1Accessor gA &&
+            b is Half4Float1Accessor bA && a is Half4Float1Accessor aA &&
+            rA.Accesses == gA.Accesses && bA.Accesses == aA.Accesses && rA.Accesses == bA.Accesses)
+        {
+            half4 = rA.Accesses;
+            return true;
+        }
+
+        half4 = null;
+        return false;
+    }
+
+    public static Expression GetOrConstructorExpressionHalf4(Expression r, Expression g, Expression b, Expression a) => AllAccessSame(r, g, b, a, out var value) ? value : Half4.Constructor(r, g, b, a);
+}