aboutsummaryrefslogtreecommitdiff
path: root/samplecode/SampleMipMap.cpp
diff options
context:
space:
mode:
authorreed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-07-17 02:42:41 +0000
committerreed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-07-17 02:42:41 +0000
commit83f7bc30af2837c985934e14597caec332899a1c (patch)
tree6b0073319ee92c866009939133d6ab105e4c5a5e /samplecode/SampleMipMap.cpp
parent48534f96b9ccb747cecbdf3818bfbd3523a4d034 (diff)
remove conditional build flag for mipmaps
remove obsolete SkBitmapShader.cpp file git-svn-id: http://skia.googlecode.com/svn/trunk@271 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleMipMap.cpp')
-rw-r--r--samplecode/SampleMipMap.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/samplecode/SampleMipMap.cpp b/samplecode/SampleMipMap.cpp
index 21bf0f0fe5..5885591637 100644
--- a/samplecode/SampleMipMap.cpp
+++ b/samplecode/SampleMipMap.cpp
@@ -3,6 +3,7 @@
#include "SkCanvas.h"
#include "SkDevice.h"
#include "SkPaint.h"
+#include "SkShader.h"
static SkBitmap createBitmap(int n) {
SkBitmap bitmap;
@@ -30,7 +31,7 @@ static SkBitmap createBitmap(int n) {
class MipMapView : public SkView {
SkBitmap fBitmap;
enum {
- N = 128
+ N = 90
};
public:
MipMapView() {
@@ -117,11 +118,24 @@ protected:
canvas->drawBitmapRect(fBitmap, NULL, dst, NULL);
canvas->translate(SkIntToScalar(N + 8), 0);
canvas->drawBitmapRect(fBitmap, NULL, dst, &paint);
- canvas->translate(SkIntToScalar(N + 8), 0);
+ canvas->translate(-SkIntToScalar(N + 8), SkIntToScalar(N + 8));
canvas->drawBitmapRect(bitmap, NULL, dst, NULL);
canvas->translate(SkIntToScalar(N + 8), 0);
canvas->drawBitmapRect(bitmap, NULL, dst, &paint);
+ SkShader* s = SkShader::CreateBitmapShader(bitmap,
+ SkShader::kRepeat_TileMode,
+ SkShader::kRepeat_TileMode);
+ paint.setShader(s)->unref();
+ SkMatrix m;
+ m.setScale(SkIntToScalar(fWidth) / N,
+ SkIntToScalar(fWidth) / N);
+ s->setLocalMatrix(m);
+ SkRect r;
+ r.set(0, 0, SkIntToScalar(4*N), SkIntToScalar(5*N/2));
+ r.offset(SkIntToScalar(N + 12), -SkIntToScalar(N + 4));
+ canvas->drawRect(r, paint);
+
this->inval(NULL);
}