Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(386)

Side by Side Diff: skia/include/SkPorterDuff.h

Issue 93093: Implement canvas's globalCompositeOperation lighter properly.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « skia/include/SkMask.h ('k') | skia/sgl/SkDraw.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 The Android Open Source Project 2 * Copyright (C) 2006 The Android Open Source Project
3 * 3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License. 5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at 6 * You may obtain a copy of the License at
7 * 7 *
8 * http://www.apache.org/licenses/LICENSE-2.0 8 * http://www.apache.org/licenses/LICENSE-2.0
9 * 9 *
10 * Unless required by applicable law or agreed to in writing, software 10 * Unless required by applicable law or agreed to in writing, software
(...skipping 30 matching lines...) Expand all
41 kDstIn_Mode, //!< [Sa * Da, Sa * Dc] 41 kDstIn_Mode, //!< [Sa * Da, Sa * Dc]
42 kSrcOut_Mode, //!< [Sa * (1 - Da), Sc * (1 - Da)] 42 kSrcOut_Mode, //!< [Sa * (1 - Da), Sc * (1 - Da)]
43 kDstOut_Mode, //!< [Da * (1 - Sa), Dc * (1 - Sa)] 43 kDstOut_Mode, //!< [Da * (1 - Sa), Dc * (1 - Sa)]
44 kSrcATop_Mode, //!< [Da, Sc * Da + (1 - Sa) * Dc] 44 kSrcATop_Mode, //!< [Da, Sc * Da + (1 - Sa) * Dc]
45 kDstATop_Mode, //!< [Sa, Sa * Dc + Sc * (1 - Da)] 45 kDstATop_Mode, //!< [Sa, Sa * Dc + Sc * (1 - Da)]
46 kXor_Mode, //!< [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc] 46 kXor_Mode, //!< [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc]
47 kDarken_Mode, //!< [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + min(S c, Dc)] 47 kDarken_Mode, //!< [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + min(S c, Dc)]
48 kLighten_Mode, //!< [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + max(S c, Dc)] 48 kLighten_Mode, //!< [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + max(S c, Dc)]
49 kMultiply_Mode, //!< [Sa * Da, Sc * Dc] 49 kMultiply_Mode, //!< [Sa * Da, Sc * Dc]
50 kScreen_Mode, //!< [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] 50 kScreen_Mode, //!< [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
51 kAdd_Mode, //!< Saturate(S + D)
51 52
52 kModeCount 53 kModeCount
53 }; 54 };
54 /** Return an SkXfermode object for the specified mode. 55 /** Return an SkXfermode object for the specified mode.
55 */ 56 */
56 static SkXfermode* CreateXfermode(Mode mode); 57 static SkXfermode* CreateXfermode(Mode mode);
57 58
58 /** Return a function pointer to a routine that applies the specified 59 /** Return a function pointer to a routine that applies the specified
59 porter-duff transfer mode. 60 porter-duff transfer mode.
60 */ 61 */
61 static SkXfermodeProc GetXfermodeProc(Mode mode); 62 static SkXfermodeProc GetXfermodeProc(Mode mode);
62 63
63 /** Return a function pointer to a routine that applies the specified 64 /** Return a function pointer to a routine that applies the specified
64 porter-duff transfer mode and srcColor to a 16bit device color. Note, 65 porter-duff transfer mode and srcColor to a 16bit device color. Note,
65 if the mode+srcColor might return a non-opaque color, then there is not 66 if the mode+srcColor might return a non-opaque color, then there is not
66 16bit proc, and this will return NULL. 67 16bit proc, and this will return NULL.
67 */ 68 */
68 static SkXfermodeProc16 GetXfermodeProc16(Mode mode, SkColor srcColor); 69 static SkXfermodeProc16 GetXfermodeProc16(Mode mode, SkColor srcColor);
69 70
70 /** If the specified xfermode advertises itself as one of the porterduff 71 /** If the specified xfermode advertises itself as one of the porterduff
71 modes (via SkXfermode::Coeff), return true and if not null, set mode 72 modes (via SkXfermode::Coeff), return true and if not null, set mode
72 to the corresponding porterduff mode. If it is not recognized as a one, 73 to the corresponding porterduff mode. If it is not recognized as a one,
73 return false and ignore the mode parameter. 74 return false and ignore the mode parameter.
74 */ 75 */
75 static bool IsMode(SkXfermode*, Mode* mode); 76 static bool IsMode(SkXfermode*, Mode* mode);
76 }; 77 };
77 78
78 #endif 79 #endif
79 80
OLDNEW
« no previous file with comments | « skia/include/SkMask.h ('k') | skia/sgl/SkDraw.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698