From 043ad4d92d4e9139bdcdffbbe49444e62c1bf4a4 Mon Sep 17 00:00:00 2001 From: X512 Date: Sun, 22 Mar 2026 21:57:44 +0900 Subject: [PATCH] BPicture: fix font shear storage `SET_FONT_SHEAR` store shear angle in radians and relative to up direction in BeOS. Formula of conversion from `BFont::SetShear()` to `SET_FONT_SHEAR` value: `pictShear = (fontShear - 90) * (M_PI / 180.0f)`. Part of #1133. Change-Id: I089c003e6509e519866d83dfe145e5b0226d32b1 Reviewed-on: https://review.haiku-os.org/c/haiku/+/10564 Reviewed-by: waddlesplash Tested-by: Commit checker robot --- src/servers/app/ServerPicture.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/servers/app/ServerPicture.cpp b/src/servers/app/ServerPicture.cpp index b2e8d15733..ac5de3a915 100644 --- a/src/servers/app/ServerPicture.cpp +++ b/src/servers/app/ServerPicture.cpp @@ -911,7 +911,7 @@ void CanvasCallbacks::SetFontShear(float shear) { ServerFont font; - font.SetShear(shear); + font.SetShear(shear * (180 / M_PI) + 90); fCanvas->CurrentState()->SetFont(font, B_FONT_SHEAR); } @@ -1205,7 +1205,7 @@ ServerPicture::WriteFontState(const ServerFont& font, uint16 mask) } if (mask & B_FONT_SHEAR) { - WriteSetFontShear(font.Shear()); + WriteSetFontShear((font.Shear() - 90) * (M_PI / 180)); } if (mask & B_FONT_ROTATION) {