18e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary/* 28e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary * Copyright 2016 Google Inc. 38e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary * 48e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary * Use of this source code is governed by a BSD-style license that can be 58e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary * found in the LICENSE file. 68e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary */ 78e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary 88e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary#include "gm.h" 98e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary 108e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary// clipRect and drawLine should line up exactly when they use the same point. 118e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary// When SkPDF rounds large floats, this doesn't always happen. 128e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanaryDEF_SIMPLE_GM(skbug_4868, canvas, 32, 32) { 138e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary canvas->translate(-68.0f, -3378.0f); 148e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary SkPaint paint; 158e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary paint.setAntiAlias(true); 168e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary paint.setStyle(SkPaint::kStroke_Style); 178e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary canvas->scale(0.56692914f, 0.56692914f); 188e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary SkRect rc = SkRect::MakeLTRB(158.0f, 5994.80273f, 165.0f, 5998.80225f); 198e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary canvas->clipRect(rc); 208e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary canvas->clear(0xFFCECFCE); 218e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary canvas->drawLine(rc.left(), rc.top(), rc.right(), rc.bottom(), paint); 228e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary canvas->drawLine(rc.right(), rc.top(), rc.left(), rc.bottom(), paint); 238e9f5e39d774198a5a5d9345bc9f863e855c593bhalcanary} 24