haiku/src/servers
Kacper Kasper ef83008e79 app_server: add B_UNDERSCORE_FACE support
There was some confusion (and a TODO indicating it) in ServerFont.cpp,
because the notion of "font face" from the Be API is partially
implemented using different font manager styles (bold, italic, etc),
and partially by keeping flags in a separate variable for drawing
extra things or modifying the drawing (underscore, strikeout, ...).

The implementation did not actually preserve the extra flags, and so the
underscore face attribute was lost.

Implement the actual underlining of the text in AGGTextRenderer. This
implementation is a naive one so far. In particular there are the
following limitations:
1. Line is drawn over the text - no nice gaps for descents. Ideally, the
   line should not touch the letter descents, and leave some space
   around them. I don't know how to retrieve the contour - it appears to
   me this might require bigger refactoring of this code. I have left in
   my experiments commented out in the code.
2. If the text run ends with whitespace, the whitespace is not underlined
   as it should. In particular if another text run is drawn next to it
   and it's expected that the underline is continuous between the two.

Change-Id: I8d78b8e1eceddff0a7d98e5a49659e7b03fd89a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3041
Reviewed-by: Kacper Kasper <kacperkasper@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-25 08:39:57 +00:00
..
app app_server: add B_UNDERSCORE_FACE support 2021-07-25 08:39:57 +00:00
bluetooth s/Haiku License/MIT License/g. 2019-08-30 18:16:02 -04:00
debug debug_server: make crash dialog button default 2020-01-02 13:38:08 +00:00
index Style fixes to various parts of the system. 2017-01-29 22:47:28 +01:00
input input_server: Properly implement watch_input_devices() & add documentation 2021-04-19 19:48:29 +00:00
keystore Move StripeView to libshared 2019-05-21 06:55:45 +00:00
launch libroot: remove delete_driver_settings 2021-05-31 06:51:45 +00:00
mail Remove all invocations of SetSubDirSupportedPlatformsBeOSCompatible. 2019-03-30 15:19:38 -04:00
media media: fix 64-bit debug build 2019-12-21 20:33:11 +00:00
media_addon media_addon_server: delay the start up sound by 2 seconds. 2020-02-16 11:38:43 +00:00
midi midi_server: Update copyright notice 2021-07-23 18:36:26 +00:00
mount mount_server: Cleanup, remove unused isBFS variable. 2020-05-11 01:23:58 +02:00
net net_server: handle EINTR on select() 2021-02-01 19:35:02 +00:00
notification Fix various instances of -Wset-but-unused. 2018-11-23 18:04:38 -05:00
package Packages: signal added|removed packages 2021-07-03 21:01:37 +00:00
power Add icons to more of the servers. 2016-08-07 22:06:24 +02:00
print Style, no functional changes 2017-11-16 19:47:59 +01:00
print_addon Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
registrar registrar: Shutdown Icon Animation 2021-06-19 09:15:33 +00:00
syslog_daemon syslog_daemon: We don't need strlcpy.c anymore. 2018-11-21 23:52:49 -05:00
Jamfile cddb_daemon: renamed to cddb_lookup, moved to /src/bin. 2015-10-19 21:21:21 +02:00