Lines Matching defs:positioning
40 SkTextBlob::GlyphPositioning positioning,
45 posSize = safe->mul(PosCount(glyphCount, positioning, safe), sizeof(SkScalar));
86 SkASSERT(posBuffer() + fCount * ScalarsPerGlyph(positioning())
102 + StorageSize(run->glyphCount(), run->textSize(), run->positioning(), &safe));
108 SkTextBlob::GlyphPositioning positioning,
110 return safe->mul(glyphCount, ScalarsPerGlyph(positioning));
117 auto res = (uint32_t*)(&this->posBuffer()[PosCount(fCount, positioning(), &safe)]);
128 size_t copySize = initialCount * sizeof(SkScalar) * ScalarsPerGlyph(positioning());
170 uint8_t positioning;
182 kHorizontal_Positioning = 1, // Horizontal positioning -- one scalar per glyph.
183 kFull_Positioning = 2, // Point positioning -- two scalars per glyph.
184 kRSXform_Positioning = 3, // RSXform positioning -- four scalars per glyph.
224 SkTextBlobRunIterator::GlyphPositioning SkTextBlobRunIterator::positioning() const {
235 return SkTo<GlyphPositioning>(fCurrentRun->positioning());
239 return SkTextBlob::ScalarsPerGlyph(fCurrentRun->positioning());
271 if (SkTextBlob::kDefault_Positioning == run.positioning()) {
280 if (SkTextBlob::kRSXform_Positioning == run.positioning()) {
288 SkASSERT(SkTextBlob::kFull_Positioning == run.positioning() ||
289 SkTextBlob::kHorizontal_Positioning == run.positioning());
295 const SkScalar* glyphPosY = (run.positioning() == SkTextBlob::kFull_Positioning) ?
297 const unsigned posXInc = SkTextBlob::ScalarsPerGlyph(run.positioning());
298 const unsigned posYInc = (run.positioning() == SkTextBlob::kFull_Positioning) ?
315 SkASSERT(SkTextBlob::kFull_Positioning == run.positioning() ||
316 SkTextBlob::kHorizontal_Positioning == run.positioning() ||
317 SkTextBlob::kRSXform_Positioning == run.positioning());
328 switch (run.positioning()) {
358 SK_ABORT("unsupported positioning mode");
361 if (run.positioning() != SkTextBlob::kRSXform_Positioning) {
385 SkRect runBounds = SkTextBlob::kDefault_Positioning == run->positioning() ?
416 bool SkTextBlobBuilder::mergeRun(const SkFont& font, SkTextBlob::GlyphPositioning positioning,
432 if (run->positioning() != positioning
438 // we can merge same-font/same-positioning runs in the following cases:
442 if (SkTextBlob::kFull_Positioning != positioning
443 && (SkTextBlob::kHorizontal_Positioning != positioning
450 SkTextBlob::RunRecord::StorageSize(run->glyphCount() + count, 0, positioning, &safe) -
451 SkTextBlob::RunRecord::StorageSize(run->glyphCount() , 0, positioning, &safe);
466 + preMergeCount * SkTextBlob::ScalarsPerGlyph(positioning);
477 SkTextBlob::GlyphPositioning positioning,
485 if (textSize != 0 || !this->mergeRun(font, positioning, count, offset)) {
489 size_t runSize = SkTextBlob::RunRecord::StorageSize(count, textSize, positioning, &safe);
501 SkTextBlob::RunRecord(count, textSize, offset, font, positioning);
631 run->fCount, run->textSize(), run->positioning(), &safe);
663 pe.positioning = it.positioning();
664 SkASSERT((int32_t)it.positioning() == pe.intValue); // backwards compat.
680 SkTo<SkTextBlob::GlyphPositioning>(it.positioning())));
708 const auto pos = SkTo<SkTextBlob::GlyphPositioning>(pe.positioning);
912 // Also ensure the bounds are properly offset by the vertical positioning of the glyph.
1053 switch (run.positioning()) {