Color with alpha constructor
This commit is contained in:
parent
92d4a0cbd2
commit
90df1d67cb
12
core/color.h
12
core/color.h
|
@ -205,7 +205,7 @@ struct Color {
|
||||||
operator String() const;
|
operator String() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* No construct parameters, r=0, g=0, b=0. a=255
|
* No construct parameters, r=0, g=0, b=0. a=1
|
||||||
*/
|
*/
|
||||||
_FORCE_INLINE_ Color() {
|
_FORCE_INLINE_ Color() {
|
||||||
r = 0;
|
r = 0;
|
||||||
|
@ -223,6 +223,16 @@ struct Color {
|
||||||
b = p_b;
|
b = p_b;
|
||||||
a = p_a;
|
a = p_a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Construct a Color from another Color, but with the specified alpha value.
|
||||||
|
*/
|
||||||
|
_FORCE_INLINE_ Color(const Color &p_c, float p_a) {
|
||||||
|
r = p_c.r;
|
||||||
|
g = p_c.g;
|
||||||
|
b = p_c.b;
|
||||||
|
a = p_a;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
bool Color::operator<(const Color &p_color) const {
|
bool Color::operator<(const Color &p_color) const {
|
||||||
|
|
|
@ -102,11 +102,6 @@ String Variant::get_type_name(Variant::Type p_type) {
|
||||||
return "Plane";
|
return "Plane";
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
/*
|
|
||||||
case QUAT: {
|
|
||||||
|
|
||||||
|
|
||||||
} break;*/
|
|
||||||
case AABB: {
|
case AABB: {
|
||||||
|
|
||||||
return "AABB";
|
return "AABB";
|
||||||
|
|
|
@ -1075,6 +1075,11 @@ struct _VariantCall {
|
||||||
r_ret = Color::hex(*p_args[0]);
|
r_ret = Color::hex(*p_args[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Color_init5(Variant &r_ret, const Variant **p_args) {
|
||||||
|
|
||||||
|
r_ret = Color(((Color)(*p_args[0])), *p_args[1]);
|
||||||
|
}
|
||||||
|
|
||||||
static void AABB_init1(Variant &r_ret, const Variant **p_args) {
|
static void AABB_init1(Variant &r_ret, const Variant **p_args) {
|
||||||
|
|
||||||
r_ret = ::AABB(*p_args[0], *p_args[1]);
|
r_ret = ::AABB(*p_args[0], *p_args[1]);
|
||||||
|
@ -2209,6 +2214,8 @@ void register_variant_methods() {
|
||||||
|
|
||||||
_VariantCall::add_constructor(_VariantCall::Color_init1, Variant::COLOR, "r", Variant::FLOAT, "g", Variant::FLOAT, "b", Variant::FLOAT, "a", Variant::FLOAT);
|
_VariantCall::add_constructor(_VariantCall::Color_init1, Variant::COLOR, "r", Variant::FLOAT, "g", Variant::FLOAT, "b", Variant::FLOAT, "a", Variant::FLOAT);
|
||||||
_VariantCall::add_constructor(_VariantCall::Color_init2, Variant::COLOR, "r", Variant::FLOAT, "g", Variant::FLOAT, "b", Variant::FLOAT);
|
_VariantCall::add_constructor(_VariantCall::Color_init2, Variant::COLOR, "r", Variant::FLOAT, "g", Variant::FLOAT, "b", Variant::FLOAT);
|
||||||
|
// init3 and init4 are the constructors for HTML hex strings and integers respectively which don't need binding here, so we skip to init5.
|
||||||
|
_VariantCall::add_constructor(_VariantCall::Color_init5, Variant::COLOR, "c", Variant::COLOR, "a", Variant::FLOAT);
|
||||||
|
|
||||||
_VariantCall::add_constructor(_VariantCall::AABB_init1, Variant::AABB, "position", Variant::VECTOR3, "size", Variant::VECTOR3);
|
_VariantCall::add_constructor(_VariantCall::AABB_init1, Variant::AABB, "position", Variant::VECTOR3, "size", Variant::VECTOR3);
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,20 @@
|
||||||
[/codeblock]
|
[/codeblock]
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="Color">
|
||||||
|
<return type="Color">
|
||||||
|
</return>
|
||||||
|
<argument index="0" name="c" type="Color">
|
||||||
|
</argument>
|
||||||
|
<argument index="1" name="a" type="float">
|
||||||
|
</argument>
|
||||||
|
<description>
|
||||||
|
Constructs a color from an existing color, but with a custom alpha value.
|
||||||
|
[codeblock]
|
||||||
|
var red = Color(Color.red, 0.5) # 50% transparent red.
|
||||||
|
[/codeblock]
|
||||||
|
</description>
|
||||||
|
</method>
|
||||||
<method name="Color">
|
<method name="Color">
|
||||||
<return type="Color">
|
<return type="Color">
|
||||||
</return>
|
</return>
|
||||||
|
|
|
@ -420,7 +420,7 @@ namespace Godot
|
||||||
return txt;
|
return txt;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
public Color(float r, float g, float b, float a = 1.0f)
|
public Color(float r, float g, float b, float a = 1.0f)
|
||||||
{
|
{
|
||||||
this.r = r;
|
this.r = r;
|
||||||
|
@ -429,6 +429,14 @@ namespace Godot
|
||||||
this.a = a;
|
this.a = a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Color(Color c, float a = 1.0f)
|
||||||
|
{
|
||||||
|
r = c.r;
|
||||||
|
g = c.g;
|
||||||
|
b = c.b;
|
||||||
|
this.a = a;
|
||||||
|
}
|
||||||
|
|
||||||
public Color(uint rgba)
|
public Color(uint rgba)
|
||||||
{
|
{
|
||||||
a = (rgba & 0xFF) / 255.0f;
|
a = (rgba & 0xFF) / 255.0f;
|
||||||
|
|
Loading…
Reference in New Issue