gfx/skia/trunk/src/pathops/SkPathOpsLine.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     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 #ifndef SkPathOpsLine_DEFINED
     8 #define SkPathOpsLine_DEFINED
    10 #include "SkPathOpsPoint.h"
    12 struct SkDLine {
    13     SkDPoint fPts[2];
    15     const SkDPoint& operator[](int n) const { SkASSERT(n >= 0 && n < 2); return fPts[n]; }
    16     SkDPoint& operator[](int n) { SkASSERT(n >= 0 && n < 2); return fPts[n]; }
    18     void set(const SkPoint pts[2]) {
    19         fPts[0] = pts[0];
    20         fPts[1] = pts[1];
    21     }
    23     static SkDLine SubDivide(const SkPoint a[2], double t1, double t2) {
    24         SkDLine line;
    25         line.set(a);
    26         return line.subDivide(t1, t2);
    27     }
    29     double exactPoint(const SkDPoint& xy) const;
    30     static double ExactPointH(const SkDPoint& xy, double left, double right, double y);
    31     static double ExactPointV(const SkDPoint& xy, double top, double bottom, double x);
    32     double isLeft(const SkDPoint& pt) const;
    33     double nearPoint(const SkDPoint& xy) const;
    34     bool nearRay(const SkDPoint& xy) const;
    35     static double NearPointH(const SkDPoint& xy, double left, double right, double y);
    36     static double NearPointV(const SkDPoint& xy, double top, double bottom, double x);
    37     static bool NearRay(double dx1, double dy1, double dx2, double dy2);
    38     SkDPoint ptAtT(double t) const;
    39     SkDLine subDivide(double t1, double t2) const;
    41 #ifdef SK_DEBUG
    42     void dump();
    43 #endif
    44 private:
    45     SkDVector tangent() const { return fPts[0] - fPts[1]; }
    46 };
    48 #endif

mercurial