summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2020-07-29 16:40:07 +0300
committerJaakko Keränen <jaakko.keranen@iki.fi>2020-07-29 16:40:19 +0300
commit72e095cf987d6bb2bc2212035a8c5498f3b6d329 (patch)
tree75e1191db056794d252ff6c6384f3763f2a0ad4b /src/ui
parent67750111c420fcf97e31289bb4770cb7f69c426e (diff)
Moved History to its own type
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/documentwidget.c8
-rw-r--r--src/ui/text.c7
2 files changed, 10 insertions, 5 deletions
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index e908f090..52628143 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -903,10 +903,10 @@ static void drawRun_DrawContext_(void *context, const iGmRun *run) {
903 /* Text markers. */ 903 /* Text markers. */
904 fillRange_DrawContext_(d, run, teal_ColorId, d->widget->foundMark, &d->inFoundMark); 904 fillRange_DrawContext_(d, run, teal_ColorId, d->widget->foundMark, &d->inFoundMark);
905 fillRange_DrawContext_(d, run, brown_ColorId, d->widget->selectMark, &d->inSelectMark); 905 fillRange_DrawContext_(d, run, brown_ColorId, d->widget->selectMark, &d->inSelectMark);
906 if (run->linkId) { 906 if (run->linkId && !isEmpty_Rect(run->bounds)) {
907 fg = linkColor_GmDocument(doc, run->linkId); 907 fg = white_ColorId;
908 if (isHover && ~linkFlags_GmDocument(doc, run->linkId) & content_GmLinkFlag) { 908 if (isHover || linkFlags_GmDocument(doc, run->linkId) & content_GmLinkFlag) {
909 fg = white_ColorId; 909 fg = linkColor_GmDocument(doc, run->linkId);
910 } 910 }
911 } 911 }
912 drawString_Text(run->font, visPos, fg, &text); 912 drawString_Text(run->font, visPos, fg, &text);
diff --git a/src/ui/text.c b/src/ui/text.c
index 12255fdb..ad1c37c8 100644
--- a/src/ui/text.c
+++ b/src/ui/text.c
@@ -298,6 +298,11 @@ static iChar nextChar_(const char **chPos, const char *end) {
298 298
299int enableHalfPixelGlyphs_Text = iTrue; 299int enableHalfPixelGlyphs_Text = iTrue;
300 300
301iLocalDef iBool isWrapBoundary_(iChar a, iChar b) {
302 if (b == '/' || b == '-') return iTrue;
303 return !isSpace_Char(a) && isSpace_Char(b);
304}
305
301static iInt2 run_Font_(iFont *d, enum iRunMode mode, iRangecc text, size_t maxLen, iInt2 pos, 306static iInt2 run_Font_(iFont *d, enum iRunMode mode, iRangecc text, size_t maxLen, iInt2 pos,
302 int xposLimit, const char **continueFrom_out, int *runAdvance_out) { 307 int xposLimit, const char **continueFrom_out, int *runAdvance_out) {
303 iInt2 size = zero_I2(); 308 iInt2 size = zero_I2();
@@ -364,7 +369,7 @@ static iInt2 run_Font_(iFont *d, enum iRunMode mode, iRangecc text, size_t maxLe
364 } 369 }
365 xpos += glyph->advance; 370 xpos += glyph->advance;
366 xposMax = iMax(xposMax, xpos); 371 xposMax = iMax(xposMax, xpos);
367 if (mode == measureNoWrap_RunMode || (!isSpace_Char(prevCh) && isSpace_Char(ch))) { 372 if (mode == measureNoWrap_RunMode || isWrapBoundary_(prevCh, ch)) {
368 lastWordEnd = chPos; 373 lastWordEnd = chPos;
369 } 374 }
370 /* Check the next character. */ 375 /* Check the next character. */