Use mono font for metadata
authorAntony Riakiotakis <kalast@gmail.com>
Fri, 1 May 2015 12:27:44 +0000 (14:27 +0200)
committerAntony Riakiotakis <kalast@gmail.com>
Fri, 1 May 2015 12:27:44 +0000 (14:27 +0200)
source/blender/editors/screen/area.c

index 4518aad1a5cdaa02b8351c9fa811869ad71290cc..0bd05b8c9e8f2eff4a1286909d10dbbfb9689f68 100644 (file)
@@ -2088,7 +2088,7 @@ BLI_INLINE bool metadata_is_valid(ImBuf *ibuf, char *r_str, short index, int off
        return (IMB_metadata_get_field(ibuf, meta_data_list[index], r_str + offset, MAX_METADATA_STR - offset) && r_str[0]);
 }
 
-static void metadata_draw_imbuf(ImBuf *ibuf, rcti rect, int fontid, const bool is_top, float factor)
+static void metadata_draw_imbuf(ImBuf *ibuf, rcti rect, int fontid, const bool is_top)
 {
        char temp_str[MAX_METADATA_STR];
        int line_width;
@@ -2096,6 +2096,7 @@ static void metadata_draw_imbuf(ImBuf *ibuf, rcti rect, int fontid, const bool i
        short i;
        int len;
        const float height = BLF_height_max(fontid);
+       const float vertical_offset = height + (0.1f * U.widget_unit);
 
        if (is_top) {
                for (i = 0; i < 4; i++) {
@@ -2105,7 +2106,7 @@ static void metadata_draw_imbuf(ImBuf *ibuf, rcti rect, int fontid, const bool i
                                len = BLI_snprintf_rlen(temp_str, MAX_METADATA_STR, "%s: ", meta_data_list[0]);
                                if (metadata_is_valid(ibuf, temp_str, 0, len)) {
                                        BLF_position(fontid, rect.xmin + (0.2f * U.widget_unit),
-                                                    rect.ymax - factor * (1.5f * U.widget_unit - UI_UNIT_Y), 0.0f);
+                                                    rect.ymax - vertical_offset, 0.0f);
                                        BLF_draw(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX);
                                        do_newline = true;
                                }
@@ -2114,21 +2115,21 @@ static void metadata_draw_imbuf(ImBuf *ibuf, rcti rect, int fontid, const bool i
                                if (metadata_is_valid(ibuf, temp_str, 1, len)) {
                                        line_width = BLF_width(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX);
                                        BLF_position(fontid, rect.xmax - line_width - (0.2f * U.widget_unit),
-                                                    rect.ymax - factor * (1.5f * U.widget_unit - UI_UNIT_Y), 0.0f);
+                                                    rect.ymax - vertical_offset, 0.0f);
                                        BLF_draw(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX);
                                        do_newline = true;
                                }
 
                                if (do_newline)
-                                       ofs_y += (height + (0.2f * U.widget_unit));
+                                       ofs_y += vertical_offset;
                        }
                        else if (i == 1) {
                                len = BLI_snprintf_rlen(temp_str, MAX_METADATA_STR, "%s: ", meta_data_list[i + 1]);
                                if (metadata_is_valid(ibuf, temp_str, i + 1, len)) {
                                        BLF_position(fontid, rect.xmin + (0.2f * U.widget_unit),
-                                                    rect.ymax - factor * (1.5f * U.widget_unit - UI_UNIT_Y) - ofs_y, 0.0f);
+                                                    rect.ymax - vertical_offset - ofs_y, 0.0f);
                                        BLF_draw(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX);
-                                       ofs_y += (height + (0.2f * U.widget_unit));
+                                       ofs_y += vertical_offset;
                                }
                        }
                        else {
@@ -2136,9 +2137,9 @@ static void metadata_draw_imbuf(ImBuf *ibuf, rcti rect, int fontid, const bool i
                                if (metadata_is_valid(ibuf, temp_str, i + 1, len)) {
                                        line_width = BLF_width(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX);
                                        BLF_position(fontid, rect.xmax  - line_width -  (0.2f * U.widget_unit),
-                                                    rect.ymax - factor * (1.5f * U.widget_unit - UI_UNIT_Y) - ofs_y, 0.0f);
+                                                    rect.ymax - vertical_offset - ofs_y, 0.0f);
                                        BLF_draw(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX);
-                                       ofs_y += (height + (0.2f * U.widget_unit));
+                                       ofs_y += vertical_offset;
                                }
                        }
                }
@@ -2148,9 +2149,8 @@ static void metadata_draw_imbuf(ImBuf *ibuf, rcti rect, int fontid, const bool i
                for (i = 5; i < 10; i++) {
                        len = BLI_snprintf_rlen(temp_str, MAX_METADATA_STR, "%s: ", meta_data_list[i]);
                        if (metadata_is_valid(ibuf, temp_str, i, len)) {
-                               const int line_height = height;
                                BLF_position(fontid, rect.xmin + (0.2f * U.widget_unit) + ofs_x,
-                                            rect.ymin - line_height + factor * (U.widget_unit), 0.0f);
+                                            rect.ymin + (0.3f * U.widget_unit), 0.0f);
                                BLF_draw(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX);
        
                                ofs_x += BLF_width(fontid, temp_str, BLF_DRAW_STR_DUMMY_MAX) + UI_UNIT_X;
@@ -2163,7 +2163,7 @@ static float metadata_box_height_get(ImBuf *ibuf, int fontid, const bool is_top)
 {
        char str[MAX_METADATA_STR];
        short i, count = 0;
-       const float height = BLF_height_max(fontid) + 0.2f * U.widget_unit;
+       const float height = BLF_height_max(fontid) + 0.1f * U.widget_unit;
 
        if (is_top) {
                if (metadata_is_valid(ibuf, str, 0, 0) || metadata_is_valid(ibuf, str, 1, 0)) {
@@ -2184,7 +2184,7 @@ static float metadata_box_height_get(ImBuf *ibuf, int fontid, const bool is_top)
        }
 
        if (count) {
-               return (height * count + (0.2f * U.widget_unit));
+               return (height * count + (0.1f * U.widget_unit));
        }
 
        return 0;
@@ -2194,11 +2194,10 @@ static float metadata_box_height_get(ImBuf *ibuf, int fontid, const bool is_top)
 
 void ED_region_image_metadata_draw(ARegion *ar, ImBuf *ibuf, float zoomx, float zoomy)
 {
-       uiStyle *style = UI_style_get_dpi();
-       int fontid = style->widget.uifont_id;
        float box_y;
        rcti rect;
        int x, y;
+       uiStyle *style = UI_style_get_dpi();
 
        if (!ibuf->metadata)
                return;
@@ -2212,12 +2211,12 @@ void ED_region_image_metadata_draw(ARegion *ar, ImBuf *ibuf, float zoomx, float
        glTranslatef(x, y, 0.0f);
        glScalef(zoomx, zoomy, 1.0f);
 
-       BLF_size(fontid, style->widgetlabel.points, U.dpi * zoomy);
+       BLF_size(blf_mono_font, style->widgetlabel.points * zoomy * 1.5f, U.dpi);
 
        /* *** upper box*** */
 
        /* get needed box height */
-       box_y = metadata_box_height_get(ibuf, fontid, true);
+       box_y = metadata_box_height_get(ibuf, blf_mono_font, true);
 
        if (box_y) {
                UI_ThemeColor(TH_METADATA_BG);
@@ -2227,19 +2226,19 @@ void ED_region_image_metadata_draw(ARegion *ar, ImBuf *ibuf, float zoomx, float
                /* draw top box */
                glRecti(rect.xmin, rect.ymin, rect.xmax, rect.ymax);
 
-               BLF_clipping(fontid, rect.xmin, rect.ymin, rect.xmax, rect.ymax);
-               BLF_enable(fontid, BLF_CLIPPING);
+               BLF_clipping(blf_mono_font, rect.xmin, rect.ymin, rect.xmax, rect.ymax);
+               BLF_enable(blf_mono_font, BLF_CLIPPING);
 
                UI_ThemeColor(TH_METADATA_TEXT);
-               metadata_draw_imbuf(ibuf, rect, fontid, true, zoomy);
+               metadata_draw_imbuf(ibuf, rect, blf_mono_font, true);
 
-               BLF_disable(fontid, BLF_CLIPPING);
+               BLF_disable(blf_mono_font, BLF_CLIPPING);
        }
 
 
        /* *** lower box*** */
 
-       box_y = metadata_box_height_get(ibuf, fontid, false);
+       box_y = metadata_box_height_get(ibuf, blf_mono_font, false);
 
        if (box_y) {
                UI_ThemeColor(TH_METADATA_BG);
@@ -2249,13 +2248,13 @@ void ED_region_image_metadata_draw(ARegion *ar, ImBuf *ibuf, float zoomx, float
                /* draw top box */
                glRecti(rect.xmin, rect.ymin, rect.xmax, rect.ymax);
 
-               BLF_clipping(fontid, rect.xmin, rect.ymin, rect.xmax, rect.ymax);
-               BLF_enable(fontid, BLF_CLIPPING);
+               BLF_clipping(blf_mono_font, rect.xmin, rect.ymin, rect.xmax, rect.ymax);
+               BLF_enable(blf_mono_font, BLF_CLIPPING);
 
                UI_ThemeColor(TH_METADATA_TEXT);
-               metadata_draw_imbuf(ibuf, rect, fontid, false, zoomy);
+               metadata_draw_imbuf(ibuf, rect, blf_mono_font, false);
 
-               BLF_disable(fontid, BLF_CLIPPING);
+               BLF_disable(blf_mono_font, BLF_CLIPPING);
        }
 
        glPopMatrix();