static void draw_checks(SkCanvas* canvas, int width, int height) {
SkPaint paint;
paint.setColor(SK_ColorRED);
- canvas->drawRectCoords(0, 0, width / 2, height / 2, paint);
+ canvas->drawRectCoords(SkIntToScalar(0), SkIntToScalar(0),
+ SkIntToScalar(width / 2), SkIntToScalar(height / 2), paint);
paint.setColor(SK_ColorGREEN);
- canvas->drawRectCoords(width / 2, 0, width, height / 2, paint);
+ canvas->drawRectCoords(SkIntToScalar(width / 2), SkIntToScalar(0),
+ SkIntToScalar(width), SkIntToScalar(height / 2), paint);
paint.setColor(SK_ColorBLUE);
- canvas->drawRectCoords(0, height / 2, width / 2, height, paint);
+ canvas->drawRectCoords(SkIntToScalar(0), SkIntToScalar(height / 2),
+ SkIntToScalar(width / 2), SkIntToScalar(height), paint);
paint.setColor(SK_ColorYELLOW);
- canvas->drawRectCoords(width / 2, height / 2, width, height, paint);
+ canvas->drawRectCoords(SkIntToScalar(width / 2), SkIntToScalar(height / 2),
+ SkIntToScalar(width), SkIntToScalar(height), paint);
}
class BitmapCopyGM : public GM {
for (int x = 0; x < width; ++x) {
SkPaint paint;
paint.setColor(SkColorSetARGB(255, x * 255 / width, y * 255 / height, 0));
- canvas.drawRect(SkRect::MakeXYWH(x, y, 1, 1), paint);
+ canvas.drawRect(SkRect::MakeXYWH(SkIntToScalar(x),
+ SkIntToScalar(y), SK_Scalar1, SK_Scalar1), paint);
}
}
return bm;
int x = rand() % WIDTH;
int y = rand() % HEIGHT;
paint.setColor(rand() % 0x1000000 | 0xFF000000);
- paint.setTextSize(rand() % 300);
- canvas->drawText(str, strlen(str), x, y, paint);
+ paint.setTextSize(SkIntToScalar(rand() % 300));
+ canvas->drawText(str, strlen(str), SkIntToScalar(x),
+ SkIntToScalar(y), paint);
}
canvas->restore();
}
paint.setTextSize(textHeight);
canvas->drawText(string.c_str(), string.size(), y,
- alignment == SkPaint::kLeft_Align ? 10 : 240, paint);
+ SkIntToScalar(alignment == SkPaint::kLeft_Align ? 10 : 240),
+ paint);
y += textHeight;
}
SkMorphologyImageFilter::SkMorphologyImageFilter(SkFlattenableReadBuffer& buffer)
: INHERITED(buffer) {
- fRadius.fWidth = buffer.readScalar();
- fRadius.fHeight = buffer.readScalar();
+ fRadius.fWidth = buffer.readInt();
+ fRadius.fHeight = buffer.readInt();
}
SkMorphologyImageFilter::SkMorphologyImageFilter(int radiusX, int radiusY)
void SkMorphologyImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
- buffer.writeScalar(fRadius.fWidth);
- buffer.writeScalar(fRadius.fHeight);
+ buffer.writeInt(fRadius.fWidth);
+ buffer.writeInt(fRadius.fHeight);
}
static void erode(const SkPMColor* src, SkPMColor* dst,
void SkTraceHR(const char* file, unsigned long line,
HRESULT hr, const char* msg) {
- if (NULL != msg) SkDEBUGF(("%s\n", msg));
+ SkDEBUGCODE(if (NULL != msg) SkDEBUGF(("%s\n", msg)));
SkDEBUGF(("%s(%lu) : error 0x%x: ", file, line, hr));
LPSTR errorText = NULL;
int expected_lines = 5;
clip.set(0, height - expected_lines, width, height);
path.moveTo(0.0, 0.0);
- path.quadTo(width/2, height, width, 0.0);
+ path.quadTo(SkIntToScalar(width/2), SkIntToScalar(height),
+ SkIntToScalar(width), 0.0);
path.close();
path.setFillType(SkPath::kInverseWinding_FillType);
SkScan::FillPath(path, clip, &blitter);
static void unittest_isfinite(skiatest::Reporter* reporter) {
#ifdef SK_SCALAR_IS_FLOAT
float nan = sk_float_asin(2);
- float inf = 1.0 / make_zero();
- float big = 3.40282e+038;
+ float inf = 1.0f / make_zero();
+ float big = 3.40282e+038f;
REPORTER_ASSERT(reporter, !SkScalarIsNaN(inf));
REPORTER_ASSERT(reporter, !SkScalarIsNaN(-inf));
for (i = 0; i < 10000; i++) {
SkPoint p;
- p.setLength(rand.nextS(), rand.nextS(), SK_Scalar1);
+ // These random values are being treated as 32-bit-patterns, not as
+ // ints; calling SkIntToScalar() here produces crashes.
+ p.setLength(rand.nextS(),
+ rand.nextS(), SK_Scalar1);
check_length(reporter, p, SK_Scalar1);
- p.setLength(rand.nextS() >> 13, rand.nextS() >> 13, SK_Scalar1);
+ p.setLength(rand.nextS() >> 13,
+ rand.nextS() >> 13, SK_Scalar1);
check_length(reporter, p, SK_Scalar1);
}
void PointTest(skiatest::Reporter* reporter) {
test_length(reporter, SkIntToScalar(3), SkIntToScalar(4), SkIntToScalar(5));
- test_length(reporter, SkFloatToScalar(0.6), SkFloatToScalar(0.8),
+ test_length(reporter, SkFloatToScalar(0.6f), SkFloatToScalar(0.8f),
SK_Scalar1);
test_Normalize(reporter, SkIntToScalar(3), SkIntToScalar(4));
- test_Normalize(reporter, SkFloatToScalar(0.6), SkFloatToScalar(0.8));
+ test_Normalize(reporter, SkFloatToScalar(0.6f), SkFloatToScalar(0.8f));
}
#include "TestClassDef.h"