12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #include "include/core/SkBitmap.h"
- #include "include/core/SkCanvas.h"
- #include "include/core/SkPath.h"
- #include "include/core/SkRegion.h"
- #include "include/core/SkShader.h"
- #include "include/effects/SkCornerPathEffect.h"
- #include "include/effects/SkGradientShader.h"
- #include "samplecode/Sample.h"
- #include "src/utils/SkUTF.h"
- static void create_bitmap(SkBitmap* bitmap) {
- const int W = 100;
- const int H = 100;
- bitmap->allocN32Pixels(W, H);
- SkCanvas canvas(*bitmap);
- canvas.drawColor(SK_ColorRED);
- SkPaint paint;
- paint.setColor(SK_ColorBLUE);
- canvas.drawCircle(SkIntToScalar(W)/2, SkIntToScalar(H)/2, SkIntToScalar(W)/2, paint);
- }
- class WritePixelsView : public Sample {
- SkPath fPath;
- public:
- WritePixelsView() {}
- protected:
- virtual SkString name() { return SkString("WritePixels"); }
- virtual void onDrawContent(SkCanvas* canvas) {
- SkBitmap bitmap;
- create_bitmap(&bitmap);
- int x = bitmap.width() / 2;
- int y = bitmap.height() / 2;
- SkBitmap subset;
- bitmap.extractSubset(&subset, SkIRect::MakeXYWH(x, y, x, y));
- canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
- canvas->writePixels(bitmap, 0, 0);
- canvas->writePixels(subset, 0, 0);
- }
- private:
- typedef Sample INHERITED;
- };
- //////////////////////////////////////////////////////////////////////////////
- DEF_SAMPLE( return new WritePixelsView(); )
|