Changeset View
Changeset View
Standalone View
Standalone View
source/blender/sequencer/intern/effects.c
| Show First 20 Lines • Show All 3,890 Lines • ▼ Show 20 Lines | static ImBuf *do_text_effect(const SeqRenderData *context, | ||||
| TextVars *data = seq->effectdata; | TextVars *data = seq->effectdata; | ||||
| int width = out->x; | int width = out->x; | ||||
| int height = out->y; | int height = out->y; | ||||
| struct ColorManagedDisplay *display; | struct ColorManagedDisplay *display; | ||||
| const char *display_device; | const char *display_device; | ||||
| int font = blf_mono_font_render; | int font = blf_mono_font_render; | ||||
| int line_height; | int line_height; | ||||
| int y_ofs, x, y; | int y_ofs, x, y; | ||||
| double proxy_size_comp; | |||||
| if (data->text_blf_id == SEQ_FONT_NOT_LOADED) { | if (data->text_blf_id == SEQ_FONT_NOT_LOADED) { | ||||
| data->text_blf_id = -1; | data->text_blf_id = -1; | ||||
| if (data->text_font) { | if (data->text_font) { | ||||
| data->text_blf_id = BLF_load(data->text_font->filepath); | data->text_blf_id = BLF_load(data->text_font->filepath); | ||||
| } | } | ||||
| } | } | ||||
| if (data->text_blf_id >= 0) { | if (data->text_blf_id >= 0) { | ||||
| font = data->text_blf_id; | font = data->text_blf_id; | ||||
| } | } | ||||
| display_device = context->scene->display_settings.display_device; | display_device = context->scene->display_settings.display_device; | ||||
| display = IMB_colormanagement_display_get_named(display_device); | display = IMB_colormanagement_display_get_named(display_device); | ||||
| /* Compensate text size for preview render size. */ | /* Get scale factor if preview resolution doesn't match project resolution. */ | ||||
| proxy_size_comp = context->scene->r.size / 100.0; | const float preview_scale_factor = seq_preview_scale_factor_from_context(context); | ||||
| if (context->preview_render_size != SEQ_RENDER_SIZE_SCENE) { | |||||
| proxy_size_comp = SEQ_rendersize_to_scale_factor(context->preview_render_size); | |||||
| } | |||||
| /* set before return */ | /* set before return */ | ||||
| BLF_size(font, proxy_size_comp * data->text_size, 72); | BLF_size(font, preview_scale_factor * data->text_size, 72); | ||||
| BLF_enable(font, BLF_WORD_WRAP); | BLF_enable(font, BLF_WORD_WRAP); | ||||
| /* use max width to enable newlines only */ | /* use max width to enable newlines only */ | ||||
| BLF_wordwrap(font, (data->wrap_width != 0.0f) ? data->wrap_width * width : -1); | BLF_wordwrap(font, (data->wrap_width != 0.0f) ? data->wrap_width * width : -1); | ||||
| BLF_buffer( | BLF_buffer( | ||||
| font, out->rect_float, (unsigned char *)out->rect, width, height, out->channels, display); | font, out->rect_float, (unsigned char *)out->rect, width, height, out->channels, display); | ||||
| ▲ Show 20 Lines • Show All 393 Lines • Show Last 20 Lines | |||||