Implemented AS_SET_SYSTEM_FONT.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14803 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1108,6 +1108,40 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link)
|
|||||||
|
|
||||||
/* font messages */
|
/* font messages */
|
||||||
|
|
||||||
|
case AS_SET_SYSTEM_FONT:
|
||||||
|
{
|
||||||
|
// gets:
|
||||||
|
// 1) string - font type ("plain", ...)
|
||||||
|
// 2) string - family
|
||||||
|
// 3) string - style
|
||||||
|
// 4) float - size
|
||||||
|
|
||||||
|
char type[B_OS_NAME_LENGTH];
|
||||||
|
font_family familyName;
|
||||||
|
font_style styleName;
|
||||||
|
float size;
|
||||||
|
|
||||||
|
if (link.ReadString(type, sizeof(type)) == B_OK
|
||||||
|
&& link.ReadString(familyName, sizeof(familyName)) == B_OK
|
||||||
|
&& link.ReadString(styleName, sizeof(styleName)) == B_OK
|
||||||
|
&& link.Read<float>(&size) == B_OK) {
|
||||||
|
BAutolock locker(gFontManager);
|
||||||
|
|
||||||
|
FontStyle* style = gFontManager->GetStyle(familyName, styleName);
|
||||||
|
if (style != NULL) {
|
||||||
|
ServerFont font(*style, size);
|
||||||
|
DesktopSettings settings(fDesktop);
|
||||||
|
|
||||||
|
if (!strcmp(type, "plain"))
|
||||||
|
settings.SetDefaultPlainFont(font);
|
||||||
|
else if (!strcmp(type, "bold"))
|
||||||
|
settings.SetDefaultBoldFont(font);
|
||||||
|
else if (!strcmp(type, "fixed"))
|
||||||
|
settings.SetDefaultFixedFont(font);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case AS_GET_SYSTEM_DEFAULT_FONT:
|
case AS_GET_SYSTEM_DEFAULT_FONT:
|
||||||
{
|
{
|
||||||
// input:
|
// input:
|
||||||
|
|||||||
Reference in New Issue
Block a user