You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Implement Label3D node.
Add "generate_mipmap" font import option. Add some missing features to the Sprite3D. Move BiDi override code from Control to TextServer. Add functions to access TextServer font cache textures. Add MSDF related flags and shader to the standard material. Change standard material cache to use HashMap instead of Vector.
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
|
||||
#include "ot_features_plugin.h"
|
||||
|
||||
#include "scene/3d/label_3d.h"
|
||||
|
||||
void OpenTypeFeaturesEditor::_value_changed(double val) {
|
||||
if (setting) {
|
||||
return;
|
||||
@@ -116,7 +118,25 @@ void OpenTypeFeaturesAdd::setup(Object *p_object) {
|
||||
bool have_ss = false;
|
||||
bool have_cv = false;
|
||||
bool have_cu = false;
|
||||
Dictionary features = Object::cast_to<Control>(edited_object)->get_theme_font(SNAME("font"))->get_feature_list();
|
||||
|
||||
Ref<Font> font;
|
||||
|
||||
Control *ctrl = Object::cast_to<Control>(edited_object);
|
||||
if (ctrl != nullptr) {
|
||||
font = ctrl->get_theme_font(SNAME("font"));
|
||||
} else {
|
||||
Label3D *l3d = Object::cast_to<Label3D>(edited_object);
|
||||
if (l3d != nullptr) {
|
||||
font = l3d->_get_font_or_default();
|
||||
}
|
||||
}
|
||||
|
||||
if (font.is_null()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Dictionary features = font->get_feature_list();
|
||||
|
||||
for (const Variant *ftr = features.next(nullptr); ftr != nullptr; ftr = features.next(ftr)) {
|
||||
String ftr_name = TS->tag_to_name(*ftr);
|
||||
if (ftr_name.begins_with("stylistic_set_")) {
|
||||
@@ -185,7 +205,7 @@ OpenTypeFeaturesAdd::OpenTypeFeaturesAdd() {
|
||||
/*************************************************************************/
|
||||
|
||||
bool EditorInspectorPluginOpenTypeFeatures::can_handle(Object *p_object) {
|
||||
return (Object::cast_to<Control>(p_object) != nullptr);
|
||||
return (Object::cast_to<Control>(p_object) != nullptr) || (Object::cast_to<Label3D>(p_object) != nullptr);
|
||||
}
|
||||
|
||||
bool EditorInspectorPluginOpenTypeFeatures::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
|
||||
|
||||
Reference in New Issue
Block a user