summaryrefslogtreecommitdiffstats
path: root/skia/include/SkPorterDuff.h
diff options
context:
space:
mode:
authorsenorblanco@chromium.org <senorblanco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 13:16:52 +0000
committersenorblanco@chromium.org <senorblanco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 13:16:52 +0000
commitd5282e72b2da0b27b2a487d8376c44ad795736dc (patch)
tree7296767f5fcfa3b1cdd46f122e14dfaca1dd7e4a /skia/include/SkPorterDuff.h
parent3ac3f51f8261910dbc38ccfa4cdf3d491ba7ecdb (diff)
downloadchromium_src-d5282e72b2da0b27b2a487d8376c44ad795736dc.zip
chromium_src-d5282e72b2da0b27b2a487d8376c44ad795736dc.tar.gz
chromium_src-d5282e72b2da0b27b2a487d8376c44ad795736dc.tar.bz2
This CL updates chrome to the latest version of skia, retrieved via DEPS, and
placed in third_party. All relevant skia changes (for all 3 platforms) have been upstreamed. Most of this CL is mind-numbingly repetitive. Things of interest are: skia.gyp (now points at third_party versions), DEPS, and SkUserConfig.h. stdint.h: Skia now requires C99 integer types, which MSVC doesn't support natively. I have put typedefs in config/win/stdint.h. Note that the new version of skia appears to render rects whose coordinates are "backwards" (ie., x2 < x1 or y2 < y1), which were formerly culled. There were a couple obvious instances of this in the code which I fixed, but there may be more. There were ~35 layout test failures due to minor pixel differences which I rebaselined on Windows and Linux, and 8 genuine failures related to masks and stroked text, which I have put in text_expectations.txt and assigned to myself. (There was another change which broke ~1700 tests on each platform, but I put that change behind an #ifdef for now). R=brettw Review URL: http://codereview.chromium.org/65012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15949 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia/include/SkPorterDuff.h')
-rw-r--r--skia/include/SkPorterDuff.h80
1 files changed, 0 insertions, 80 deletions
diff --git a/skia/include/SkPorterDuff.h b/skia/include/SkPorterDuff.h
deleted file mode 100644
index 44c5477..0000000
--- a/skia/include/SkPorterDuff.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SkPorterDuff_DEFINED
-#define SkPorterDuff_DEFINED
-
-#include "SkColor.h"
-
-class SkXfermode;
-
-class SkPorterDuff {
-public:
- /** List of predefined xfermodes. In general, the algebra for the modes
- uses the following symbols:
- Sa, Sc - source alpha and color
- Da, Dc - destination alpha and color (before compositing)
- [a, c] - Resulting (alpha, color) values
- For these equations, the colors are in premultiplied state.
- If no xfermode is specified, kSrcOver is assumed.
- */
- enum Mode {
- kClear_Mode, //!< [0, 0]
- kSrc_Mode, //!< [Sa, Sc]
- kDst_Mode, //!< [Da, Dc]
- kSrcOver_Mode, //!< [Sa + Da - Sa*Da, Rc = Sc + (1 - Sa)*Dc]
- kDstOver_Mode, //!< [Sa + Da - Sa*Da, Rc = Dc + (1 - Da)*Sc]
- kSrcIn_Mode, //!< [Sa * Da, Sc * Da]
- kDstIn_Mode, //!< [Sa * Da, Sa * Dc]
- kSrcOut_Mode, //!< [Sa * (1 - Da), Sc * (1 - Da)]
- kDstOut_Mode, //!< [Da * (1 - Sa), Dc * (1 - Sa)]
- kSrcATop_Mode, //!< [Da, Sc * Da + (1 - Sa) * Dc]
- kDstATop_Mode, //!< [Sa, Sa * Dc + Sc * (1 - Da)]
- kXor_Mode, //!< [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc]
- kDarken_Mode, //!< [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + min(Sc, Dc)]
- kLighten_Mode, //!< [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + max(Sc, Dc)]
- kMultiply_Mode, //!< [Sa * Da, Sc * Dc]
- kScreen_Mode, //!< [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
- kAdd_Mode, //!< Saturate(S + D)
-
- kModeCount
- };
- /** Return an SkXfermode object for the specified mode.
- */
- static SkXfermode* CreateXfermode(Mode mode);
-
- /** Return a function pointer to a routine that applies the specified
- porter-duff transfer mode.
- */
- static SkXfermodeProc GetXfermodeProc(Mode mode);
-
- /** Return a function pointer to a routine that applies the specified
- porter-duff transfer mode and srcColor to a 16bit device color. Note,
- if the mode+srcColor might return a non-opaque color, then there is not
- 16bit proc, and this will return NULL.
- */
- static SkXfermodeProc16 GetXfermodeProc16(Mode mode, SkColor srcColor);
-
- /** If the specified xfermode advertises itself as one of the porterduff
- modes (via SkXfermode::Coeff), return true and if not null, set mode
- to the corresponding porterduff mode. If it is not recognized as a one,
- return false and ignore the mode parameter.
- */
- static bool IsMode(SkXfermode*, Mode* mode);
-};
-
-#endif
-