SkPorterDuff Class Reference

#include <SkPorterDuff.h>

List of all members.

Public Types

enum  Mode {
  kClear_Mode, kSrc_Mode, kDst_Mode, kSrcOver_Mode,
  kDstOver_Mode, kSrcIn_Mode, kDstIn_Mode, kSrcOut_Mode,
  kDstOut_Mode, kSrcATop_Mode, kDstATop_Mode, kXor_Mode,
  kDarken_Mode, kLighten_Mode, kMultiply_Mode, kScreen_Mode,
  kAdd_Mode, kModeCount
}

Static Public Member Functions

static SkXfermodeCreateXfermode (Mode mode)
static SkXfermodeProc GetXfermodeProc (Mode mode)
static SkXfermodeProc16 GetXfermodeProc16 (Mode mode, SkColor srcColor)
static bool IsMode (SkXfermode *, Mode *mode)
static SkXfermode::Mode ToXfermodeMode (Mode)

Detailed Description

DEPRECATED - use SkXfermode::Mode instead

Definition at line 27 of file SkPorterDuff.h.


Member Enumeration Documentation

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.

Enumerator:
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 

Definition at line 37 of file SkPorterDuff.h.


Member Function Documentation

static SkXfermode* SkPorterDuff::CreateXfermode ( Mode  mode  )  [static]

Return an SkXfermode object for the specified mode.

static SkXfermodeProc SkPorterDuff::GetXfermodeProc ( Mode  mode  )  [static]

Return a function pointer to a routine that applies the specified porter-duff transfer mode.

static SkXfermodeProc16 SkPorterDuff::GetXfermodeProc16 ( Mode  mode,
SkColor  srcColor 
) [static]

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 bool SkPorterDuff::IsMode ( SkXfermode ,
Mode mode 
) [static]

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 SkXfermode::Mode SkPorterDuff::ToXfermodeMode ( Mode   )  [static]

Return the corersponding SkXfermode::Mode


The documentation for this class was generated from the following file:

Generated on Tue Oct 20 11:03:42 2009 for Skia by  doxygen 1.6.1