Home | History | Annotate | Download | only in test
      1 // Copyright 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CC_TEST_SKIA_COMMON_H_
      6 #define CC_TEST_SKIA_COMMON_H_
      7 
      8 #include "base/memory/ref_counted.h"
      9 #include "base/memory/scoped_ptr.h"
     10 #include "skia/ext/lazy_pixel_ref.h"
     11 #include "third_party/skia/include/core/SkBitmap.h"
     12 #include "third_party/skia/include/core/SkFlattenable.h"
     13 
     14 namespace gfx {
     15 class Rect;
     16 class Size;
     17 }
     18 
     19 namespace cc {
     20 class Picture;
     21 
     22 class TestPixelRef : public SkPixelRef {
     23  public:
     24   TestPixelRef(int width, int height);
     25   virtual ~TestPixelRef();
     26 
     27   virtual SkFlattenable::Factory getFactory() OVERRIDE;
     28   virtual void* onLockPixels(SkColorTable** color_table) OVERRIDE;
     29   virtual void onUnlockPixels() OVERRIDE {}
     30   virtual SkPixelRef* deepCopy(
     31       SkBitmap::Config config,
     32       const SkIRect* subset) OVERRIDE;
     33  private:
     34   scoped_ptr<char[]> pixels_;
     35 };
     36 
     37 class TestLazyPixelRef : public skia::LazyPixelRef {
     38  public:
     39   TestLazyPixelRef(int width, int height);
     40   virtual ~TestLazyPixelRef();
     41 
     42   virtual SkFlattenable::Factory getFactory() OVERRIDE;
     43   virtual void* onLockPixels(SkColorTable** color_table) OVERRIDE;
     44   virtual void onUnlockPixels() OVERRIDE {}
     45   virtual bool PrepareToDecode(const PrepareParams& params) OVERRIDE;
     46   virtual bool MaybeDecoded() OVERRIDE;
     47   virtual SkPixelRef* deepCopy(
     48       SkBitmap::Config config,
     49       const SkIRect* subset) OVERRIDE;
     50   virtual void Decode() OVERRIDE {}
     51  private:
     52   scoped_ptr<char[]> pixels_;
     53 };
     54 
     55 void DrawPicture(unsigned char* buffer,
     56                  gfx::Rect layer_rect,
     57                  scoped_refptr<Picture> picture);
     58 
     59 void CreateBitmap(gfx::Size size, const char* uri, SkBitmap* bitmap);
     60 
     61 }  // namespace cc
     62 
     63 #endif  // CC_TEST_SKIA_COMMON_H_
     64