diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-07-29 16:40:07 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-07-29 16:40:19 +0300 |
commit | 72e095cf987d6bb2bc2212035a8c5498f3b6d329 (patch) | |
tree | 75e1191db056794d252ff6c6384f3763f2a0ad4b /src/ui | |
parent | 67750111c420fcf97e31289bb4770cb7f69c426e (diff) |
Moved History to its own type
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/documentwidget.c | 8 | ||||
-rw-r--r-- | src/ui/text.c | 7 |
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 | ||
299 | int enableHalfPixelGlyphs_Text = iTrue; | 299 | int enableHalfPixelGlyphs_Text = iTrue; |
300 | 300 | ||
301 | iLocalDef iBool isWrapBoundary_(iChar a, iChar b) { | ||
302 | if (b == '/' || b == '-') return iTrue; | ||
303 | return !isSpace_Char(a) && isSpace_Char(b); | ||
304 | } | ||
305 | |||
301 | static iInt2 run_Font_(iFont *d, enum iRunMode mode, iRangecc text, size_t maxLen, iInt2 pos, | 306 | static 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. */ |