Bug 1759504 - Fill in the quad points for text recognition r=emilio,nordzilla

Differential Revision: https://phabricator.services.mozilla.com/D143421
This commit is contained in:
Greg Tatum 2022-06-02 14:31:42 +00:00
Родитель 3bd6018cb4
Коммит 791ad051da
2 изменённых файлов: 9 добавлений и 3 удалений

Просмотреть файл

@ -78,7 +78,7 @@ void TextRecognition::FillShadow(ShadowRoot& aShadow,
// in JS.
{
nsAutoString points;
for (auto& point : quad.points()) {
for (const auto& point : quad.points()) {
points.AppendFloat(point.x);
points.Append(u',');
points.AppendFloat(point.y);

Просмотреть файл

@ -53,11 +53,17 @@ auto TextRecognition::DoFindText(gfx::DataSourceSurface& aSurface) -> RefPtr<Nat
VNRecognizedText* recognizedText = [obj topCandidates:1].firstObject;
// https://developer.apple.com/documentation/vision/vnrecognizedtext?language=objc
//
// TODO: Fill quad points.
auto& quad = *pResult->quads().AppendElement();
CopyCocoaStringToXPCOMString(recognizedText.string, quad.string());
quad.confidence() = recognizedText.confidence;
auto ToImagePoint = [](CGPoint aPoint) -> ImagePoint {
return {static_cast<float>(aPoint.x), static_cast<float>(aPoint.y)};
};
*quad.points().AppendElement() = ToImagePoint(obj.bottomLeft);
*quad.points().AppendElement() = ToImagePoint(obj.topLeft);
*quad.points().AppendElement() = ToImagePoint(obj.topRight);
*quad.points().AppendElement() = ToImagePoint(obj.bottomRight);
}];
}];