Lines Matching full:clip
288 Rect* clip = &mTilingClip;
290 clip = &(s->layer->clipRect);
293 startTiling(*clip, s->height, opaque);
297 void OpenGLRenderer::startTiling(const Rect& clip, int windowHeight, bool opaque) {
299 mCaches.startTiling(clip.left, windowHeight - clip.bottom,
300 clip.right - clip.left, clip.bottom - clip.top, opaque);
455 Rect clip(*mSnapshot->clipRect);
456 clip.snapToPixelBoundaries();
459 // tne entire clip region
461 dirtyLayerUnchecked(clip, getRegion());
465 info.clipLeft = clip.left;
466 info.clipTop = clip.top;
467 info.clipRight = clip.right;
468 info.clipBottom = clip.bottom;
532 const Rect* clip = &mTilingClip;
535 mCaches.setScissor(clip->left, mFirstSnapshot->height - clip->bottom,
536 clip->right - clip->left, clip->bottom - clip->top);
792 void OpenGLRenderer::calculateLayerBoundsAndClip(Rect& bounds, Rect& clip, bool fboLayer) {
808 clip.set(bounds);
811 inverse.mapRect(clip);
812 clip.snapToPixelBoundaries();
813 if (clip.intersect(untransformedBounds)) {
814 clip.translate(-untransformedBounds.left, -untransformedBounds.top);
817 clip.setEmpty();
825 void OpenGLRenderer::updateSnapshotIgnoreForLayer(const Rect& bounds, const Rect& clip,
829 (fboLayer && clip.isEmpty())) {
843 // operations will be able to store and restore the current clip and transform info, and
847 Rect clip;
848 calculateLayerBoundsAndClip(bounds, clip, true);
849 updateSnapshotIgnoreForLayer(bounds, clip, true, alpha);
853 mSnapshot->resetClip(clip.left, clip.top, clip.right, clip.bottom);
875 * - Change viewport, clip and projection matrix
880 * general case. FBOs are used, as an optimization, when the "clip to layer" flag
921 Rect clip;
923 calculateLayerBoundsAndClip(bounds, clip, fboLayer);
924 updateSnapshotIgnoreForLayer(bounds, clip, fboLayer, alpha);
951 return createFboLayer(layer, bounds, clip, previousFbo);
977 bool OpenGLRenderer::createFboLayer(Layer* layer, Rect& bounds, Rect& clip, GLuint previousFbo) {
978 layer->clipRect.set(clip);
986 mSnapshot->resetClip(clip.left, clip.top, clip.right, clip.bottom);
1010 mCaches.setScissor(clip.left - 1.0f, bounds.getHeight() - clip.bottom - 1.0f,
1011 clip.getWidth() + 2.0f, clip.getHeight() + 2.0f);
1249 // TODO: Reject quads outside of the clip
1373 // against their initial clip rect, and the current clip
1438 // op partially clipped, so record which sides are clipped for clip-aware merging
1480 * in the draw path. Instead, clipping is done ahead of time - either as a single clip rect (when at
1483 * This method should be called when restoreDisplayState() won't be restoring the clip
1543 Rect clip(*mSnapshot->clipRect);
1544 clip.snapToPixelBoundaries();
1546 if (mCaches.setScissor(clip.left, mSnapshot->height - clip.bottom,
1547 clip.getWidth(), clip.getHeight())) {
1678 bool clipped = mSnapshot->clip(left, top, right, bottom, op);
1698 SkRegion clip;
1700 clip.setRegion(*mSnapshot->previous->clipRegion);
1703 clip.setRect(0, 0, mWidth, mHeight);
1706 clip.setRect(bounds->left, bounds->top, bounds->right, bounds->bottom);
1711 region.setPath(transformed, clip);
2632 // No need to check against the clip, we fill the clip region
2635 Rect& clip(*mSnapshot->clipRect);
2636 clip.snapToPixelBoundaries();
2638 drawColorRect(clip.left, clip.top, clip.right, clip.bottom, color, mode, true);
2884 const Rect* clip = pureTranslate ? mSnapshot->clipRect : &mSnapshot->getLocalClip();
2890 if (fontRenderer.renderPosText(paint, clip, text, 0, bytesCount, count, x, y,
2976 const Rect* clip = !pureTranslate ? NULL : mSnapshot->clipRect;
2987 status = fontRenderer.renderPosText(&paintCopy, clip, text, 0, bytesCount, count, x, y,
2990 status = fontRenderer.renderPosText(paint, clip, text, 0, bytesCount, count, x, y,
3024 const Rect* clip = &mSnapshot->getLocalClip();
3029 if (fontRenderer.renderTextOnPath(paint, clip, text, 0, bytesCount, count, path,
3336 SkXfermode::Mode mode, bool ignoreTransform, bool dirty, bool clip) {
3366 if (clip && quickReject(left, top, right, bottom)) {