From 3cf915cb23b4ab87d244c5a37fb2c39526327401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Fri, 26 Aug 2005 08:47:17 +0000 Subject: [PATCH] spacing is needed for GetBoundingBoxes too (string case) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14072 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Font.cpp | 3 +++ src/servers/app/ServerApp.cpp | 36 +++++++++++++++++++++-------------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/kits/interface/Font.cpp b/src/kits/interface/Font.cpp index 9afd3df55e..f9956aaca9 100644 --- a/src/kits/interface/Font.cpp +++ b/src/kits/interface/Font.cpp @@ -1067,6 +1067,8 @@ BFont::_GetBoundingBoxes_(const char charArray[], int32 numChars, font_metric_mo link.Attach(fSize); link.Attach(fRotation); link.Attach(fShear); + link.Attach(fSpacing); + link.Attach(fFlags); link.Attach(mode); link.Attach(string_escapement); @@ -1107,6 +1109,7 @@ BFont::GetBoundingBoxesForStrings(const char *stringArray[], int32 numStrings, link.Attach(fSize); link.Attach(fRotation); link.Attach(fShear); + link.Attach(fSpacing); link.Attach(fFlags); link.Attach(mode); link.Attach(numStrings); diff --git a/src/servers/app/ServerApp.cpp b/src/servers/app/ServerApp.cpp index 6515d15da3..48885b6b3c 100644 --- a/src/servers/app/ServerApp.cpp +++ b/src/servers/app/ServerApp.cpp @@ -1950,17 +1950,18 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) // 2) uint16 - style ID // 3) float - point size // 4) float - rotation - // 5) shear - shear - // 6) uint32 - flags + // 5) float - shear + // 6) uint8 - spacing + // 7) uint32 - flags - // 7) font_metric_mode - mode - // 8) bool - string escapement + // 8) font_metric_mode - mode + // 9) bool - string escapement - // 9) escapement_delta - additional delta + // 10) escapement_delta - additional delta - // 10) int32 - numChars - // 11) int32 - numBytes - // 12) char - the char buffer with size numBytes + // 11) int32 - numChars + // 12) int32 - numBytes + // 13) char - the char buffer with size numBytes // Returns: // 1) BRect - rects with numChar entries @@ -1968,6 +1969,7 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) uint16 famid, styid; uint32 flags; float ptsize, rotation, shear; + uint8 spacing; font_metric_mode mode; bool string_escapement; @@ -1976,6 +1978,7 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) link.Read(&ptsize); link.Read(&rotation); link.Read(&shear); + link.Read(&spacing); link.Read(&flags); link.Read(&mode); link.Read(&string_escapement); @@ -2001,6 +2004,7 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) font.SetSize(ptsize); font.SetRotation(rotation); font.SetShear(shear); + font.SetSpacing(spacing); font.SetFlags(flags); // TODO implement for real @@ -2026,14 +2030,15 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) // 3) float - point size // 4) float - rotation // 5) float - shear - // 6) uint32 - flags + // 6) uint8 - spacing + // 7) uint32 - flags - // 7) font_metric_mode - mode - // 8) int32 numStrings + // 8) font_metric_mode - mode + // 9) int32 numStrings - // 9) escapement_delta - additional delta (numStrings times) - // 10) int32 string length to measure (numStrings times) - // 11) string - string (numStrings times) + // 10) escapement_delta - additional delta (numStrings times) + // 11) int32 string length to measure (numStrings times) + // 12) string - string (numStrings times) // Returns: // 1) BRect - rects with numStrings entries @@ -2041,6 +2046,7 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) uint16 famid, styid; uint32 flags; float ptsize, rotation, shear; + uint8 spacing; font_metric_mode mode; link.Read(&famid); @@ -2048,6 +2054,7 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) link.Read(&ptsize); link.Read(&rotation); link.Read(&shear); + link.Read(&spacing); link.Read(&flags); link.Read(&mode); @@ -2072,6 +2079,7 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) font.SetSize(ptsize); font.SetRotation(rotation); font.SetShear(shear); + font.SetSpacing(spacing); font.SetFlags(flags); // TODO implement for real