From c24e714bb5b5ba56b0e5a00d0c98ddf3d4771b52 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Tue, 14 Aug 2012 18:02:10 +0200 Subject: [PATCH] use the bold font for menu title bars --- qcsrc/menu/draw.qc | 12 +++++++++++- qcsrc/menu/draw.qh | 2 ++ qcsrc/menu/item/borderimage.c | 1 + qcsrc/menu/item/label.c | 13 +++++++++++++ qcsrc/menu/xonotic/playermodel.c | 5 +++++ 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/qcsrc/menu/draw.qc b/qcsrc/menu/draw.qc index 1f223f281..9c0d03243 100644 --- a/qcsrc/menu/draw.qc +++ b/qcsrc/menu/draw.qc @@ -16,11 +16,21 @@ void draw_drawMousePointer(vector where) void draw_reset(float cw, float ch, float ox, float oy) { - drawfont = FONT_USER+0; draw_shift = '1 0 0' * ox + '0 1 0' * oy; draw_scale = '1 0 0' * cw + '0 1 0' * ch; draw_alpha = 1; draw_fontscale = '1 1 0'; + draw_endBoldFont(); +} + +void draw_beginBoldFont() +{ + drawfont = FONT_USER+3; +} + +void draw_endBoldFont() +{ + drawfont = FONT_USER+0; } vector globalToBox(vector v, vector theOrigin, vector theScale) diff --git a/qcsrc/menu/draw.qh b/qcsrc/menu/draw.qh index 301a5f440..7178628d8 100644 --- a/qcsrc/menu/draw.qh +++ b/qcsrc/menu/draw.qh @@ -11,6 +11,8 @@ float draw_alpha; vector draw_fontscale; void draw_reset(float cw, float ch, float ox, float oy); +void draw_beginBoldFont(); +void draw_endBoldFont(); void draw_setMousePointer(string pic, vector theSize, vector theOffset); void draw_drawMousePointer(vector where); diff --git a/qcsrc/menu/item/borderimage.c b/qcsrc/menu/item/borderimage.c index 4cacfca6b..3a345a43d 100644 --- a/qcsrc/menu/item/borderimage.c +++ b/qcsrc/menu/item/borderimage.c @@ -3,6 +3,7 @@ CLASS(BorderImage) EXTENDS(Label) METHOD(BorderImage, configureBorderImage, void(entity, string, float, vector, string, float)) METHOD(BorderImage, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(BorderImage, recalcPositionWithText, void(entity, string)) + ATTRIB(BorderImage, isBold, float, 1) METHOD(BorderImage, draw, void(entity)) ATTRIB(BorderImage, src, string, string_null) ATTRIB(BorderImage, borderHeight, float, 0) diff --git a/qcsrc/menu/item/label.c b/qcsrc/menu/item/label.c index e1543ce27..378e74adb 100644 --- a/qcsrc/menu/item/label.c +++ b/qcsrc/menu/item/label.c @@ -6,6 +6,7 @@ CLASS(Label) EXTENDS(Item) METHOD(Label, setText, void(entity, string)) METHOD(Label, toString, string(entity)) METHOD(Label, recalcPositionWithText, void(entity, string)) + ATTRIB(Label, isBold, float, 0) ATTRIB(Label, text, string, string_null) ATTRIB(Label, fontSize, float, 8) ATTRIB(Label, align, float, 0.5) @@ -45,6 +46,9 @@ void Label_recalcPositionWithText(entity me, string t) float spaceAvail; spaceAvail = 1 - me.keepspaceLeft - me.keepspaceRight; + if(me.isBold) + draw_beginBoldFont(); + float spaceUsed; spaceUsed = draw_TextWidth(t, me.allowColors, me.realFontSize); @@ -107,6 +111,9 @@ void Label_recalcPositionWithText(entity me, string t) me.realOrigin_y = 0.5 * (1 - lines * me.realFontSize_y); } + if(me.isBold) + draw_endBoldFont(); + me.recalcPos = 0; } void Label_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize) @@ -153,6 +160,9 @@ void Label_draw(entity me) vector dfs; vector fs; + if(me.isBold) + draw_beginBoldFont(); + // set up variables to draw in condensed size, but use hinting for original size fs = me.realFontSize; fs_x *= me.condenseFactor; @@ -180,6 +190,9 @@ void Label_draw(entity me) draw_Text(me.realOrigin, t, fs, me.colorL, me.alpha, me.allowColors); draw_fontscale = dfs; + + if(me.isBold) + draw_endBoldFont(); } SUPER(Label).draw(me); diff --git a/qcsrc/menu/xonotic/playermodel.c b/qcsrc/menu/xonotic/playermodel.c index 61eb4a681..f37aaeb07 100644 --- a/qcsrc/menu/xonotic/playermodel.c +++ b/qcsrc/menu/xonotic/playermodel.c @@ -180,8 +180,13 @@ void XonoticPlayerModelSelector_draw(entity me) SUPER(XonoticPlayerModelSelector).draw(me); // draw text on the image, handle \n in the description + + draw_beginBoldFont(); + draw_CenterText('0.5 0 0', me.currentModelTitle, me.realFontSize * (me.titleFontSize / me.fontSize), SKINCOLOR_MODELTITLE, SKINALPHA_MODELTITLE, FALSE); + draw_endBoldFont(); + o = '0.5 1 0' - eY * me.realFontSize_y * ((n = tokenizebyseparator(me.currentModelDescription, "\n")) + 0.5); for(i = 0; i < n; ++i) { -- 2.39.2