summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2021-12-16 13:59:04 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2021-12-18 00:34:28 +0800
commit1fb59d13c2e32b9543195601149071ff4b2887d4 (patch)
tree981177e1076684cde68ce69f0006b3158dcd82f7 /core
parent58712e96aea12bda2d5111d96961f529d15a693c (diff)
Fix font preview text color on light background
Diffstat (limited to 'core')
-rw-r--r--core/math/color.h4
-rw-r--r--core/variant/variant_call.cpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/core/math/color.h b/core/math/color.h
index ffd0fd8f6e..815dd98d96 100644
--- a/core/math/color.h
+++ b/core/math/color.h
@@ -94,6 +94,10 @@ struct Color {
void invert();
Color inverted() const;
+ _FORCE_INLINE_ float get_luminance() const {
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
+ }
+
_FORCE_INLINE_ Color lerp(const Color &p_to, float p_weight) const {
Color res = *this;
diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp
index 51b9119933..d2bda34818 100644
--- a/core/variant/variant_call.cpp
+++ b/core/variant/variant_call.cpp
@@ -1644,6 +1644,7 @@ static void _register_variant_builtin_methods() {
bind_method(Color, lightened, sarray("amount"), varray());
bind_method(Color, darkened, sarray("amount"), varray());
bind_method(Color, blend, sarray("over"), varray());
+ bind_method(Color, get_luminance, sarray(), varray());
bind_method(Color, is_equal_approx, sarray("to"), varray());