LCOV - app.info - gfx/skia/include/core/SkDrawLooper.h

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

           1                 :
           2                 : /*
           3                 :  * Copyright 2011 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 SkDrawLooper_DEFINED
          11                 : #define SkDrawLooper_DEFINED
          12                 :
          13                 : #include "SkFlattenable.h"
          14                 :
          15                 : class SkCanvas;
          16                 : class SkPaint;
          17                 :
          18                 : /** \class SkDrawLooper
          19                 :     Subclasses of SkDrawLooper can be attached to a SkPaint. Where they are,
          20                 :     and something is drawn to a canvas with that paint, the looper subclass will
          21                 :     be called, allowing it to modify the canvas and/or paint for that draw call.
          22                 :     More than that, via the next() method, the looper can modify the draw to be
          23                 :     invoked multiple times (hence the name loop-er), allow it to perform effects
          24                 :     like shadows or frame/fills, that require more than one pass.
          25                 : */
          26               0 : class SK_API SkDrawLooper : public SkFlattenable {
          27                 : public:
          28                 :     /**
          29                 :      *  Called right before something is being drawn. This will be followed by
          30                 :      *  calls to next() until next() returns false.
          31                 :      */
          32                 :     virtual void init(SkCanvas*) = 0;
          33                 :
          34                 :     /**
          35                 :      *  Called in a loop (after init()). Each time true is returned, the object
          36                 :      *  is drawn (possibly with a modified canvas and/or paint). When false is
          37                 :      *  finally returned, drawing for the object stops.
          38                 :      *
          39                 :      *  On each call, the paint will be in its original state, but the canvas
          40                 :      *  will be as it was following the previous call to next() or init().
          41                 :      *
          42                 :      *  The implementation must ensure that, when next() finally returns false,
          43                 :      *  that the canvas has been restored to the state it was initially, before
          44                 :      *  init() was first called.
          45                 :      */
          46                 :     virtual bool next(SkCanvas*, SkPaint* paint) = 0;
          47                 :
          48                 : protected:
          49               0 :     SkDrawLooper() {}
          50               0 :     SkDrawLooper(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
          51                 :
          52                 : private:
          53                 :     typedef SkFlattenable INHERITED;
          54                 : };
          55                 :
          56                 : #endif

Generated by: LCOV version 1.7