summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-12-31 18:26:49 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-12-31 18:26:49 -0300
commit37f2222dd77d4ebb9c4df1af598635ac73f0bcf6 (patch)
tree1ebdc8db85dae7cc84111a3b92f2af399fa2671d /core
parent6b1849d29b42a624a6f0514067bd8d4e67d68198 (diff)
-Added Color8(r8,g8,b8,a8) function as well as .r8,.g8,.b8,.a8 members to Color, to deal with colors in the 0-255 range. Closes #2345
Diffstat (limited to 'core')
-rw-r--r--core/variant_op.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/core/variant_op.cpp b/core/variant_op.cpp
index e33b79e63c..59cc32afda 100644
--- a/core/variant_op.cpp
+++ b/core/variant_op.cpp
@@ -1352,6 +1352,22 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid)
valid=true;
v->set_hsv(v->get_h(),v->get_s(),p_value);
return;
+ } else if (*str=="r8" ) {
+ valid=true;
+ v->g=float(p_value)/255.0;
+ return;
+ } else if (*str=="g8" ) {
+ valid=true;
+ v->g=float(p_value)/255.0;
+ return;
+ } else if (*str=="b8" ) {
+ valid=true;
+ v->b=float(p_value)/255.0;
+ return;
+ } else if (*str=="a8" ) {
+ valid=true;
+ v->a=float(p_value)/255.0;
+ return;
}
} else if (p_index.get_type()==Variant::INT) {
@@ -2195,6 +2211,18 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const {
} else if (*str=="v" ) {
valid=true;
return v->get_v();
+ } else if (*str=="r8") {
+ valid=true;
+ return v->r*255.0;
+ } else if (*str=="g8" ) {
+ valid=true;
+ return v->g*255.0;
+ } else if (*str=="b8" ) {
+ valid=true;
+ return v->b*255.0;
+ } else if (*str=="a8" ) {
+ valid=true;
+ return v->a*255.0;
}
} else if (p_index.get_type()==Variant::INT) {
@@ -2866,6 +2894,10 @@ void Variant::get_property_list(List<PropertyInfo> *p_list) const {
p_list->push_back( PropertyInfo(Variant::REAL,"h"));
p_list->push_back( PropertyInfo(Variant::REAL,"s"));
p_list->push_back( PropertyInfo(Variant::REAL,"v"));
+ p_list->push_back( PropertyInfo(Variant::INT,"r8"));
+ p_list->push_back( PropertyInfo(Variant::INT,"g8"));
+ p_list->push_back( PropertyInfo(Variant::INT,"b8"));
+ p_list->push_back( PropertyInfo(Variant::INT,"a8"));
} break;
case IMAGE: { } break;