LCOV - code coverage report
Current view: directory - gfx/skia/include/effects - SkBlurDrawLooper.h (source / functions) Found Hit Coverage
Test: app.info Lines: 3 0 0.0 %
Date: 2012-06-02 Functions: 2 0 0.0 %

       1                 : 
       2                 : /*
       3                 :  * Copyright 2008 The Android Open Source Project
       4                 :  *
       5                 :  * Use of this source code is governed by a BSD-style license that can be
       6                 :  * found in the LICENSE file.
       7                 :  */
       8                 : 
       9                 : 
      10                 : #ifndef SkBlurDrawLooper_DEFINED
      11                 : #define SkBlurDrawLooper_DEFINED
      12                 : 
      13                 : #include "SkDrawLooper.h"
      14                 : #include "SkColor.h"
      15                 : 
      16                 : class SkMaskFilter;
      17                 : class SkColorFilter;
      18                 : 
      19                 : /** \class SkBlurDrawLooper
      20                 :     This class draws a shadow of the object (possibly offset), and then draws
      21                 :     the original object in its original position.
      22                 :     should there be an option to just draw the shadow/blur layer? webkit?
      23                 : */
      24                 : class SK_API SkBlurDrawLooper : public SkDrawLooper {
      25                 : public:
      26                 :     enum BlurFlags {
      27                 :         kNone_BlurFlag = 0x00,
      28                 :         /** 
      29                 :             The blur layer's dx/dy/radius aren't affected by the canvas 
      30                 :             transform.
      31                 :         */
      32                 :         kIgnoreTransform_BlurFlag   = 0x01,
      33                 :         kOverrideColor_BlurFlag     = 0x02,
      34                 :         kHighQuality_BlurFlag       = 0x04,
      35                 :         /** mask for all blur flags */
      36                 :         kAll_BlurFlag = 0x07
      37                 :     };
      38                 : 
      39                 :     SkBlurDrawLooper(SkScalar radius, SkScalar dx, SkScalar dy, SkColor color, 
      40                 :                      uint32_t flags = kNone_BlurFlag);
      41                 :     virtual ~SkBlurDrawLooper();
      42                 : 
      43                 :     // overrides from SkDrawLooper
      44                 :     virtual void init(SkCanvas*);
      45                 :     virtual bool next(SkCanvas*, SkPaint* paint);
      46                 : 
      47               0 :     static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
      48               0 :         return SkNEW_ARGS(SkBlurDrawLooper, (buffer));
      49                 :     }
      50                 : 
      51                 :     SK_DECLARE_FLATTENABLE_REGISTRAR()
      52                 : 
      53                 : protected:
      54                 :     SkBlurDrawLooper(SkFlattenableReadBuffer&);
      55                 :     // overrides from SkFlattenable
      56                 :     virtual void flatten(SkFlattenableWriteBuffer& );
      57               0 :     virtual Factory getFactory() { return CreateProc; }
      58                 : 
      59                 : private:
      60                 :     SkMaskFilter*   fBlur;
      61                 :     SkColorFilter*  fColorFilter;
      62                 :     SkScalar        fDx, fDy;
      63                 :     SkColor         fBlurColor;
      64                 :     uint32_t        fBlurFlags;  
      65                 : 
      66                 :     enum State {
      67                 :         kBeforeEdge,
      68                 :         kAfterEdge,
      69                 :         kDone
      70                 :     };
      71                 :     State   fState;
      72                 :     
      73                 :     typedef SkDrawLooper INHERITED;
      74                 : };
      75                 : 
      76                 : #endif

Generated by: LCOV version 1.7