예제 #1
0
void make_default_theme(bool p_hidpi, Ref<Font> p_font) {

	Ref<Theme> t;
	t.instance();

	Ref<StyleBox> default_style;
	Ref<Texture> default_icon;
	Ref<BitmapFont> default_font;
	if (p_font.is_valid()) {
		default_font = p_font;
	} else if (p_hidpi) {
		default_font = make_font2(_hidpi_font_height, _hidpi_font_ascent, _hidpi_font_charcount, &_hidpi_font_charrects[0][0], _hidpi_font_kerning_pair_count, &_hidpi_font_kerning_pairs[0][0], _hidpi_font_img_width, _hidpi_font_img_height, _hidpi_font_img_data);
	} else {
		default_font = make_font2(_lodpi_font_height, _lodpi_font_ascent, _lodpi_font_charcount, &_lodpi_font_charrects[0][0], _lodpi_font_kerning_pair_count, &_lodpi_font_kerning_pairs[0][0], _lodpi_font_img_width, _lodpi_font_img_height, _lodpi_font_img_data);
	}
	Ref<BitmapFont> large_font = default_font;
	fill_default_theme(t, default_font, large_font, default_icon, default_style, p_hidpi ? 2.0 : 1.0);

	Theme::set_default(t);
	Theme::set_default_icon(default_icon);
	Theme::set_default_style(default_style);
	Theme::set_default_font(default_font);
}
예제 #2
0
void editor_register_fonts(Ref<Theme> p_theme) {
	/* Droid Sans */

	Ref<DynamicFontData> DroidSans;
	DroidSans.instance();
	DroidSans->set_font_ptr(_font_DroidSans, _font_DroidSans_size);
	DroidSans->set_force_autohinter(true); //just looks better..i think?

	Ref<DynamicFontData> DroidSansFallback;
	DroidSansFallback.instance();
	DroidSansFallback->set_font_ptr(_font_DroidSansFallback, _font_DroidSansFallback_size);
	DroidSansFallback->set_force_autohinter(true); //just looks better..i think?

	Ref<DynamicFontData> DroidSansJapanese;
	DroidSansJapanese.instance();
	DroidSansJapanese->set_font_ptr(_font_DroidSansJapanese, _font_DroidSansJapanese_size);
	DroidSansJapanese->set_force_autohinter(true); //just looks better..i think?

	Ref<DynamicFontData> DroidSansArabic;
	DroidSansArabic.instance();
	DroidSansArabic->set_font_ptr(_font_DroidSansArabic, _font_DroidSansArabic_size);
	DroidSansArabic->set_force_autohinter(true); //just looks better..i think?

	Ref<DynamicFontData> DroidSansHebrew;
	DroidSansHebrew.instance();
	DroidSansHebrew->set_font_ptr(_font_DroidSansHebrew, _font_DroidSansHebrew_size);
	DroidSansHebrew->set_force_autohinter(true); //just looks better..i think?

	Ref<DynamicFontData> DroidSansThai;
	DroidSansThai.instance();
	DroidSansThai->set_font_ptr(_font_DroidSansThai, _font_DroidSansThai_size);
	DroidSansThai->set_force_autohinter(true); //just looks better..i think?

	/* Source Code Pro */

	Ref<DynamicFontData> dfmono;
	dfmono.instance();
	dfmono->set_font_ptr(_font_source_code_pro, _font_source_code_pro_size);
	//dfd->set_force_autohinter(true); //just looks better..i think?

	MAKE_DROID_SANS(df, int(EditorSettings::get_singleton()->get("interface/font_size")) * EDSCALE);

	p_theme->set_default_theme_font(df);

	//Ref<BitmapFont> doc_font = make_font(_bi_font_doc_font_height,_bi_font_doc_font_ascent,0,_bi_font_doc_font_charcount,_bi_font_doc_font_characters,p_theme->get_icon("DocFont","EditorIcons"));
	//Ref<BitmapFont> doc_title_font = make_font(_bi_font_doc_title_font_height,_bi_font_doc_title_font_ascent,0,_bi_font_doc_title_font_charcount,_bi_font_doc_title_font_characters,p_theme->get_icon("DocTitleFont","EditorIcons"));
	//Ref<BitmapFont> doc_code_font = make_font(_bi_font_doc_code_font_height,_bi_font_doc_code_font_ascent,0,_bi_font_doc_code_font_charcount,_bi_font_doc_code_font_characters,p_theme->get_icon("DocCodeFont","EditorIcons"));

	MAKE_DROID_SANS(df_title, int(EDITOR_DEF("text_editor/help/help_title_font_size", 18)) * EDSCALE);

	MAKE_DROID_SANS(df_doc, int(EDITOR_DEF("text_editor/help/help_font_size", 16)) * EDSCALE);

	p_theme->set_font("doc", "EditorFonts", df_doc);
	p_theme->set_font("doc_title", "EditorFonts", df_title);

	Ref<DynamicFont> df_code;
	df_code.instance();
	df_code->set_size(int(EditorSettings::get_singleton()->get("interface/source_font_size")) * EDSCALE);
	df_code->set_font_data(dfmono);
	MAKE_FALLBACKS(df_code);

	p_theme->set_font("source", "EditorFonts", df_code);

	Ref<DynamicFont> df_doc_code;
	df_doc_code.instance();
	df_doc_code->set_size(int(EDITOR_DEF("text_editor/help/help_source_font_size", 14)) * EDSCALE);
	df_doc_code->set_font_data(dfmono);
	MAKE_FALLBACKS(df_doc_code);

	p_theme->set_font("doc_source", "EditorFonts", df_doc_code);

	//replace default theme
	Ref<Texture> di;
	Ref<StyleBox> ds;
	fill_default_theme(p_theme, df, df_doc, di, ds, EDSCALE);
}