add SkSafeRef / SkSafeUnref as inline static functions, to use in place of our
existing obj->safeRef(), which is unsafe since it can its 'if (this)' can be
optimized away by some compilers.
fix some overflows in mimpmap generation
git-svn-id: http://skia.googlecode.com/svn/trunk@181 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleLayers.cpp b/samplecode/SampleLayers.cpp
index 8666745..e6867bb 100644
--- a/samplecode/SampleLayers.cpp
+++ b/samplecode/SampleLayers.cpp
@@ -149,12 +149,26 @@
}
void drawBG(SkCanvas* canvas) {
- canvas->drawColor(SK_ColorWHITE);
+ canvas->drawColor(SK_ColorGRAY);
}
virtual void onDraw(SkCanvas* canvas) {
this->drawBG(canvas);
+ if (true) {
+ SkRect r;
+ r.set(SkIntToScalar(0), SkIntToScalar(0),
+ SkIntToScalar(220), SkIntToScalar(120));
+ SkPaint p;
+ canvas->saveLayer(&r, &p);
+ canvas->drawColor(0xFFFF0000);
+ p.setAlpha(1); // or 0
+ p.setPorterDuffXfermode(SkPorterDuff::kSrc_Mode);
+ canvas->drawOval(r, p);
+ canvas->restore();
+ return;
+ }
+
if (false) {
SkRect r;
r.set(SkIntToScalar(0), SkIntToScalar(0),