Private
Public Access
Moved ColorValues
Moved ColorValues
This commit is contained in:
1 parent
46804ab01d
commit
055b31c16e
3 files changed
+69
-51
No files matched your search
+2
-1
@@ -89,6 +89,7 @@
|
|||||||
<Compile Include="Verbs\DrawingVerbs\ResetPen.cs" />
|
<Compile Include="Verbs\DrawingVerbs\ResetPen.cs" />
|
||||||
<Compile Include="Verbs\DrawingVerbs\Square.cs" />
|
<Compile Include="Verbs\DrawingVerbs\Square.cs" />
|
||||||
<Compile Include="Verbs\DrawingVerbs\Triangle.cs" />
|
<Compile Include="Verbs\DrawingVerbs\Triangle.cs" />
|
||||||
|
<Compile Include="Verbs\Value\ValueObjects\PointValue.cs" />
|
||||||
<Compile Include="Verbs\Value\ValueTypes\ExpressionValue.cs" />
|
<Compile Include="Verbs\Value\ValueTypes\ExpressionValue.cs" />
|
||||||
<Compile Include="Verbs\Value\DeclareVariable.cs" />
|
<Compile Include="Verbs\Value\DeclareVariable.cs" />
|
||||||
<Compile Include="Verbs\Value\UpdateVariable.cs" />
|
<Compile Include="Verbs\Value\UpdateVariable.cs" />
|
||||||
@@ -97,7 +98,7 @@
|
|||||||
<Compile Include="Verbs\Value\ValueHelper.cs" />
|
<Compile Include="Verbs\Value\ValueHelper.cs" />
|
||||||
<Compile Include="Verbs\IVerb.cs" />
|
<Compile Include="Verbs\IVerb.cs" />
|
||||||
<Compile Include="Verbs\Value\ValueTypes\BoolValue.cs" />
|
<Compile Include="Verbs\Value\ValueTypes\BoolValue.cs" />
|
||||||
<Compile Include="Verbs\Value\ValueTypes\ColorValue.cs" />
|
<Compile Include="Verbs\Value\ValueObjects\ColorValue.cs" />
|
||||||
<Compile Include="Verbs\Value\ValueTypes\DoubleValue.cs" />
|
<Compile Include="Verbs\Value\ValueTypes\DoubleValue.cs" />
|
||||||
<Compile Include="Verbs\Value\ValueTypes\IntValue.cs" />
|
<Compile Include="Verbs\Value\ValueTypes\IntValue.cs" />
|
||||||
<Compile Include="Verbs\Value\ValueTypes\VariableValue.cs" />
|
<Compile Include="Verbs\Value\ValueTypes\VariableValue.cs" />
|
||||||
|
|||||||
+67
@@ -0,0 +1,67 @@
|
|||||||
|
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||||
|
using System;
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace Advanced_Software_Engineering.Verbs.Value.ValueObjects {
|
||||||
|
|
||||||
|
internal class ColorValue : IValue {
|
||||||
|
private IValue r;
|
||||||
|
private IValue g;
|
||||||
|
private IValue b;
|
||||||
|
|
||||||
|
bool hasAlpha;
|
||||||
|
private IValue a;
|
||||||
|
|
||||||
|
public ColorValue(Color value) {
|
||||||
|
r = new IntValue(value.R);
|
||||||
|
g = new IntValue(value.G);
|
||||||
|
b = new IntValue(value.B);
|
||||||
|
a = new IntValue(value.A);
|
||||||
|
hasAlpha = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColorValue(IValue r, IValue g, IValue b, IValue a) {
|
||||||
|
this.r = r;
|
||||||
|
this.g = g;
|
||||||
|
this.b = b;
|
||||||
|
this.a = a;
|
||||||
|
hasAlpha = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColorValue(IValue r, IValue g, IValue b) {
|
||||||
|
this.r = r;
|
||||||
|
this.g = g;
|
||||||
|
this.b = b;
|
||||||
|
hasAlpha = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetDescription() {
|
||||||
|
return "A color value";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetOriginalType() {
|
||||||
|
return "color";
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ToBool() {
|
||||||
|
return ToColor().GetBrightness() > 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Color ToColor() {
|
||||||
|
if (hasAlpha) return Color.FromArgb(a.ToInt(), r.ToInt(), g.ToInt(), b.ToInt());
|
||||||
|
else return Color.FromArgb(r.ToInt(), g.ToInt(), b.ToInt());
|
||||||
|
}
|
||||||
|
|
||||||
|
public double ToDouble() {
|
||||||
|
return ToColor().GetBrightness();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int ToInt() {
|
||||||
|
return ToColor().ToArgb();
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool isInitialised() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
-50
@@ -1,50 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Drawing;
|
|
||||||
|
|
||||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
|
||||||
|
|
||||||
internal class ColorValue : IValue {
|
|
||||||
private bool initialised = false;
|
|
||||||
|
|
||||||
private Color value;
|
|
||||||
private Type type = typeof(Color);
|
|
||||||
|
|
||||||
public ColorValue(Color value) {
|
|
||||||
this.value = value;
|
|
||||||
initialised = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ColorValue() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetDescription() {
|
|
||||||
if (initialised) return "A color with description " + value.ToString();
|
|
||||||
else return "An uninitialised color";
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetOriginalType() {
|
|
||||||
return "color";
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool ToBool() {
|
|
||||||
return ToColor().GetBrightness() > 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Color ToColor() {
|
|
||||||
if (initialised) return value;
|
|
||||||
else throw new Exception("Color value not set");
|
|
||||||
}
|
|
||||||
|
|
||||||
public double ToDouble() {
|
|
||||||
return ToColor().GetBrightness();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int ToInt() {
|
|
||||||
return ToColor().ToArgb();
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool isInitialised() {
|
|
||||||
return initialised;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user