Lines Matching defs:bounds

144 SkTextBlob::SkTextBlob(const SkRect& bounds)
145 : fBounds(bounds)
269 SkRect bounds;
273 SkTextEncoding::kGlyphID, &bounds);
274 return bounds.makeOffset(run.offset().x(), run.offset().y());
281 bounds.setEmpty();
285 bounds.join(map_quad_to_rect(xform[i], glyphBounds[i]));
301 bounds.setEmpty();
303 bounds.join(glyphBounds[i].makeOffset(*glyphPosX, *glyphPosY));
310 return bounds.makeOffset(run.offset().x(), run.offset().y());
321 // Empty font bounds are likely a font bug. TightBounds has a better chance of
327 SkRect bounds;
341 bounds.setLTRB(minX, 0, maxX, 0);
347 bounds.setBounds(glyphPosPts, run.glyphCount());
352 bounds.setEmpty();
354 bounds.join(map_quad_to_rect(xform[i], fontBounds));
362 // Expand by typeface glyph bounds.
363 bounds.fLeft += fontBounds.left();
364 bounds.fTop += fontBounds.top();
365 bounds.fRight += fontBounds.right();
366 bounds.fBottom += fontBounds.bottom();
370 return bounds.makeOffset(run.offset().x(), run.offset().y());
384 // FIXME: we should also use conservative bounds for kDefault_Positioning.
479 const SkRect* bounds) {
517 if (bounds) {
518 fBounds.join(*bounds);
529 const SkRect* bounds) {
530 this->allocInternal(font, SkTextBlob::kDefault_Positioning, count, 0, {x, y}, bounds);
536 const SkRect* bounds) {
537 this->allocInternal(font, SkTextBlob::kHorizontal_Positioning, count, 0, {0, y}, bounds);
542 const SkRect* bounds) {
543 this->allocInternal(font, SkTextBlob::kFull_Positioning, count, 0, {0, 0}, bounds);
556 const SkRect* bounds) {
562 bounds);
570 const SkRect* bounds) {
576 bounds);
583 const SkRect *bounds) {
588 bounds);
595 const SkRect *bounds) {
601 bounds);
652 // seems like we could skip this, and just recompute bounds in unflatten, but
654 buffer.writeRect(blob.bounds());
694 SkRect bounds;
695 reader.readRect(&bounds);
740 textSize, &bounds);
744 textSize, &bounds);
747 buf = &blobBuilder.allocRunTextPos(font, glyphCount, textSize, &bounds);
750 buf = &blobBuilder.allocRunTextRSXform(font, glyphCount, textSize, &bounds);
779 // same cost down stream (i.e. computing bounds), so its cheaper to pay the cost once now.
873 const SkScalar bounds[2],
911 // The typeface is scaled, so un-scale the bounds to be in the space of the typeface.
912 // Also ensure the bounds are properly offset by the vertical positioning of the glyph.
914 (bounds[0] - pos.y()) / scale,
915 (bounds[1] - pos.y()) / scale
925 int SkTextBlob::getIntercepts(const SkScalar bounds[2], SkScalar intervals[],
941 glyphRun, *paint, bounds, intervals, &intervalCount);
957 const SkScalar bounds[] = {top, bottom};
965 intervalCount = get_glyph_run_intercepts(run, paint, bounds, result.data(), &intervalCount);