| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright 2011 Google Inc. |    2  * Copyright 2011 Google Inc. | 
|    3  * |    3  * | 
|    4  * Use of this source code is governed by a BSD-style license that can be |    4  * Use of this source code is governed by a BSD-style license that can be | 
|    5  * found in the LICENSE file. |    5  * found in the LICENSE file. | 
|    6  */ |    6  */ | 
|    7  |    7  | 
|    8 #include "gm.h" |    8 #include "gm.h" | 
 |    9  | 
 |   10 #include "Resources.h" | 
 |   11 #include "SkBitmapProcState.h" | 
 |   12 #include "SkBitmapScaler.h" | 
|    9 #include "SkGradientShader.h" |   13 #include "SkGradientShader.h" | 
|   10  |   14 #include "SkImageDecoder.h" | 
 |   15 #include "SkImageEncoder.h" | 
 |   16 #include "SkStream.h" | 
|   11 #include "SkTypeface.h" |   17 #include "SkTypeface.h" | 
|   12 #include "SkImageDecoder.h" |  | 
|   13 #include "SkStream.h" |  | 
|   14  |  | 
|   15 #include "SkImageEncoder.h" |  | 
|   16 #include "SkBitmapScaler.h" |  | 
|   17 #include "SkBitmapProcState.h" |  | 
|   18  |   18  | 
|   19 static SkSize computeSize(const SkBitmap& bm, const SkMatrix& mat) { |   19 static SkSize computeSize(const SkBitmap& bm, const SkMatrix& mat) { | 
|   20     SkRect bounds = SkRect::MakeWH(SkIntToScalar(bm.width()), |   20     SkRect bounds = SkRect::MakeWH(SkIntToScalar(bm.width()), | 
|   21                                    SkIntToScalar(bm.height())); |   21                                    SkIntToScalar(bm.height())); | 
|   22     mat.mapRect(&bounds); |   22     mat.mapRect(&bounds); | 
|   23     return SkSize::Make(bounds.width(), bounds.height()); |   23     return SkSize::Make(bounds.width(), bounds.height()); | 
|   24 } |   24 } | 
|   25  |   25  | 
|   26 static void draw_row(SkCanvas* canvas, const SkBitmap& bm, const SkMatrix& mat, 
     SkScalar dx) { |   26 static void draw_row(SkCanvas* canvas, const SkBitmap& bm, const SkMatrix& mat, 
     SkScalar dx) { | 
|   27     SkPaint paint; |   27     SkPaint paint; | 
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   97  |   97  | 
|   98   protected: |   98   protected: | 
|   99       SkString fFilename; |   99       SkString fFilename; | 
|  100       int fSize; |  100       int fSize; | 
|  101  |  101  | 
|  102       SkScalar getScale() { |  102       SkScalar getScale() { | 
|  103           return 192.f/fSize; |  103           return 192.f/fSize; | 
|  104       } |  104       } | 
|  105  |  105  | 
|  106       void makeBitmap() { |  106       void makeBitmap() { | 
|  107           SkString path(skiagm::GM::gResourcePath); |  107           SkString resourcePath = GetResourcePath(); | 
|  108           path.append("/"); |  108           resourcePath.append("/"); | 
|  109           path.append(fFilename); |  109           resourcePath.append(fFilename); | 
|  110  |  110  | 
|  111           SkImageDecoder *codec = NULL; |  111           SkImageDecoder* codec = NULL; | 
|  112           SkFILEStream stream(path.c_str()); |  112           SkFILEStream stream(resourcePath.c_str()); | 
|  113           if (stream.isValid()) { |  113           if (stream.isValid()) { | 
|  114               codec = SkImageDecoder::Factory(&stream); |  114               codec = SkImageDecoder::Factory(&stream); | 
|  115           } |  115           } | 
|  116           if (codec) { |  116           if (codec) { | 
|  117               stream.rewind(); |  117               stream.rewind(); | 
|  118               codec->decode(&stream, &fBM, kN32_SkColorType, SkImageDecoder::kDe
     codePixels_Mode); |  118               codec->decode(&stream, &fBM, kN32_SkColorType, SkImageDecoder::kDe
     codePixels_Mode); | 
|  119               SkDELETE(codec); |  119               SkDELETE(codec); | 
|  120           } else { |  120           } else { | 
|  121               fBM.allocN32Pixels(1, 1); |  121               fBM.allocN32Pixels(1, 1); | 
|  122               *(fBM.getAddr32(0,0)) = 0xFF0000FF; // red == bad |  122               *(fBM.getAddr32(0,0)) = 0xFF0000FF; // red == bad | 
|  123           } |  123           } | 
|  124           fSize = fBM.height(); |  124           fSize = fBM.height(); | 
|  125       } |  125       } | 
|  126   private: |  126   private: | 
|  127     typedef skiagm::GM INHERITED; |  127     typedef skiagm::GM INHERITED; | 
|  128 }; |  128 }; | 
|  129  |  129  | 
|  130 ////////////////////////////////////////////////////////////////////////////// |  130 ////////////////////////////////////////////////////////////////////////////// | 
|  131  |  131  | 
|  132  |  132  | 
|  133 DEF_GM( return new FilterIndiaBoxGM("box.gif"); ) |  133 DEF_GM( return new FilterIndiaBoxGM("box.gif"); ) | 
| OLD | NEW |