haiku/headers/private/app
Dale Cieslak 85b82f8524 BFont: allow loading of user fonts from disk or memory
This patch adds an API call to BFont, called LoadFont, that
takes a string path to a font file. The user fonts are managed
via a new class called AppFontManager that inherits from the base
class FontManagerBase but adds the methods to add and remove user
fonts from disk or memory. There is also a new method called UnloadFont
to remove a user font, but on exit of an app all user fonts should be
automatically cleaned up.

Global/system fonts are managed by the GlobalFontManager, which is
a new class that also inherits from the base class FontManagerBase,
replacing the old "FontManager" class.

A maximum of 128 user fonts may be loaded, and memory fonts
may not exceed 20MB.

There's also an overloaded version of LoadFont that accepts
an area_id and loads the font from memory. A size and offset may
optionally be provided to allow for an area that contains more
than just a font.

Change-Id: I6add42bdf0c0cefc0e2e2a4984fd848c3e7269e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4790
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2022-12-17 12:32:09 +00:00
..
AppMisc.h AppMisc: correct param name in docs, silences warning 2016-04-27 11:10:33 -07:00
AppServerLink.h * Added BString version of LinkReceiver::ReadString(). 2005-11-07 16:14:05 +00:00
ApplicationPrivate.h Revert r39462 because it was not really binary compatible. 2010-11-17 22:19:09 +00:00
DesktopLink.h * Added private methods get_app_server_port() (that stores the server port, 2009-12-01 07:53:09 +00:00
DirectMessageTarget.h Made DirectMessageTarget's destructor private to avoid potential future 2008-03-06 00:36:31 +00:00
KeyStoreDefs.h Add generic unlock key setting and removal. 2013-03-05 11:04:57 -05:00
LaunchDaemonDefs.h launch_daemon: Added basic logging facility 2018-04-25 10:10:43 +02:00
LaunchRoster.h launch_daemon: Added basic logging facility 2018-04-25 10:10:43 +02:00
LaunchRosterPrivate.h launch_daemon: Improved target support. 2015-07-22 20:41:51 +02:00
LinkReceiver.h Fixed various errors/warnings reported by cppcheck: 2010-02-08 22:50:38 +00:00
LinkSender.h * Make sure LinkSender knows team ID of receiving team; this fixes the >64k ServerLink transfers. 2010-04-11 14:26:19 +00:00
LooperList.h Declare BLooperListIterator in the right place. 2014-01-10 22:31:37 +01:00
MessageAdapter.h BMessage: implemented KMessage reply. 2015-05-13 23:06:51 +02:00
MessagePrivate.h BMessage: implemented KMessage reply. 2015-05-13 23:06:51 +02:00
MessageUtils.h AppKit: BMessage Add/Find/Get/Has/ReplaceNodeRef 2020-09-10 17:18:09 +00:00
MessengerPrivate.h Various whitespace cleanup only. 2015-09-05 16:09:33 +02:00
PortLink.h Remove unused PortLinkRef again. 2010-08-17 23:27:22 +00:00
RegistrarDefs.h RosterPrivate: add IsShutDownInProgress() 2019-12-21 20:32:31 +00:00
RosterPrivate.h RosterPrivate: add IsShutDownInProgress() 2019-12-21 20:32:31 +00:00
Server.h The beginnings of a launch_daemon for Haiku. 2015-07-22 20:39:47 +02:00
ServerLink.h * Make sure LinkSender knows team ID of receiving team; this fixes the >64k ServerLink transfers. 2010-04-11 14:26:19 +00:00
ServerMemoryAllocator.h * Header cleanup. 2011-06-24 18:22:02 +00:00
ServerProtocol.h BFont: allow loading of user fonts from disk or memory 2022-12-17 12:32:09 +00:00
ServerProtocolStructs.h View: move BAffineTransform out of ViewSetStateInfo. 2018-05-07 07:02:57 +00:00
ServerReadOnlyMemory.h Fixes Success/Failure colors in Appearance 2016-11-14 19:47:29 +01:00
SimpleMallocIO.h More optimization for Message2. It now uses a more lightweight BSimpleMallocIO instead of the full blown BMallocIO. This wastes less memory and reduces unnecessary overhead when unflattening. 2005-07-31 11:48:38 +00:00
TokenSpace.h * Reinitialize global locks after a fork (at least those in the Application 2011-10-29 21:17:59 +00:00