gfx/skia/trunk/src/effects/gradients/SkClampRange.h

Wed, 31 Dec 2014 06:55:46 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:46 +0100
changeset 1
ca08bd8f51b2
permissions
-rw-r--r--

Added tag TORBROWSER_REPLICA for changeset 6474c204b198

     2 /*
     3  * Copyright 2011 Google Inc.
     4  *
     5  * Use of this source code is governed by a BSD-style license that can be
     6  * found in the LICENSE file.
     7  */
    10 #ifndef SkClampRange_DEFINED
    11 #define SkClampRange_DEFINED
    13 #include "SkFixed.h"
    15 /**
    16  *  Iteration fixed fx by dx, clamping as you go to [0..0xFFFF], this class
    17  *  computes the (up to) 3 spans there are:
    18  *
    19  *  range0: use constant value V0
    20  *  range1: iterate as usual fx += dx
    21  *  range2: use constant value V1
    22  */
    23 struct SkClampRange {
    24     int fCount0;    // count for fV0
    25     int fCount1;    // count for interpolating (fV0...fV1)
    26     int fCount2;    // count for fV1
    27     SkFixed fFx1;   // initial fx value for the fCount1 range.
    28                     // only valid if fCount1 > 0
    29     int fV0, fV1;
    30     bool fOverflowed;   // true if we had to clamp due to numerical overflow
    32     void init(SkFixed fx, SkFixed dx, int count, int v0, int v1);
    34 private:
    35     void initFor1(SkFixed fx);
    36 };
    38 #endif

mercurial