Home | History | Annotate | Download | only in image
      1 /*
      2  * Copyright 2012 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #ifndef SkDataPixelRef_DEFINED
      9 #define SkDataPixelRef_DEFINED
     10 
     11 #include "SkPixelRef.h"
     12 
     13 class SkData;
     14 
     15 class SkDataPixelRef : public SkPixelRef {
     16 public:
     17             SkDataPixelRef(const SkImageInfo&, SkData* data);
     18     virtual ~SkDataPixelRef();
     19 
     20     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDataPixelRef)
     21 
     22 protected:
     23     virtual void* onLockPixels(SkColorTable**) SK_OVERRIDE;
     24     virtual void onUnlockPixels() SK_OVERRIDE;
     25     virtual size_t getAllocatedSizeInBytes() const SK_OVERRIDE;
     26 
     27     SkDataPixelRef(SkFlattenableReadBuffer& buffer);
     28     virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
     29 
     30 private:
     31     SkData* fData;
     32 
     33     typedef SkPixelRef INHERITED;
     34 };
     35 
     36 #endif
     37