Minor cleanup of SkLightingShader
Fix: PM component swizzling on Macs Serialization Review URL: https://codereview.chromium.org/1270533003
This commit is contained in:
parent
f684a78d9e
commit
c3eb50cd9e
@ -15,7 +15,7 @@
|
|||||||
#include "SkReadBuffer.h"
|
#include "SkReadBuffer.h"
|
||||||
#include "SkWriteBuffer.h"
|
#include "SkWriteBuffer.h"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SkLightingShader TODOs:
|
SkLightingShader TODOs:
|
||||||
@ -93,7 +93,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
SK_TO_STRING_OVERRIDE()
|
SK_TO_STRING_OVERRIDE()
|
||||||
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(LightingShader)
|
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingShaderImpl)
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void flatten(SkWriteBuffer&) const override;
|
void flatten(SkWriteBuffer&) const override;
|
||||||
@ -105,6 +105,8 @@ private:
|
|||||||
SkLightingShader::Light fLight;
|
SkLightingShader::Light fLight;
|
||||||
SkColor fAmbientColor; // linear (unpremul) color
|
SkColor fAmbientColor; // linear (unpremul) color
|
||||||
|
|
||||||
|
friend class SkLightingShader;
|
||||||
|
|
||||||
typedef SkShader INHERITED;
|
typedef SkShader INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -447,9 +449,9 @@ void SkLightingShaderImpl::LightingShaderContext::shadeSpan(int x, int y,
|
|||||||
|
|
||||||
for (int i = 0; i < n; ++i) {
|
for (int i = 0; i < n; ++i) {
|
||||||
SkASSERT(0xFF == SkColorGetA(tmpNormal2[i])); // opaque -> unpremul
|
SkASSERT(0xFF == SkColorGetA(tmpNormal2[i])); // opaque -> unpremul
|
||||||
norm.set(SkIntToScalar(SkColorGetR(tmpNormal2[i]))-127.0f,
|
norm.set(SkIntToScalar(SkGetPackedR32(tmpNormal2[i]))-127.0f,
|
||||||
SkIntToScalar(SkColorGetG(tmpNormal2[i]))-127.0f,
|
SkIntToScalar(SkGetPackedG32(tmpNormal2[i]))-127.0f,
|
||||||
SkIntToScalar(SkColorGetB(tmpNormal2[i]))-127.0f);
|
SkIntToScalar(SkGetPackedB32(tmpNormal2[i]))-127.0f);
|
||||||
norm.normalize();
|
norm.normalize();
|
||||||
|
|
||||||
SkColor diffColor = SkUnPreMultiply::PMColorToColor(tmpColor2[i]);
|
SkColor diffColor = SkUnPreMultiply::PMColorToColor(tmpColor2[i]);
|
||||||
@ -582,3 +584,9 @@ SkShader* SkLightingShader::Create(const SkBitmap& diffuse, const SkBitmap& norm
|
|||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingShader)
|
||||||
|
SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingShaderImpl)
|
||||||
|
SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
#include "SkLayerRasterizer.h"
|
#include "SkLayerRasterizer.h"
|
||||||
#include "SkLerpXfermode.h"
|
#include "SkLerpXfermode.h"
|
||||||
#include "SkLightingImageFilter.h"
|
#include "SkLightingImageFilter.h"
|
||||||
|
#include "../effects/SkLightingShader.h"
|
||||||
#include "SkLocalMatrixShader.h"
|
#include "SkLocalMatrixShader.h"
|
||||||
#include "SkLumaColorFilter.h"
|
#include "SkLumaColorFilter.h"
|
||||||
#include "SkMagnifierImageFilter.h"
|
#include "SkMagnifierImageFilter.h"
|
||||||
@ -132,6 +133,7 @@ public:
|
|||||||
SkColorFilter::InitializeFlattenables();
|
SkColorFilter::InitializeFlattenables();
|
||||||
SkGradientShader::InitializeFlattenables();
|
SkGradientShader::InitializeFlattenables();
|
||||||
SkLightingImageFilter::InitializeFlattenables();
|
SkLightingImageFilter::InitializeFlattenables();
|
||||||
|
SkLightingShader::InitializeFlattenables();
|
||||||
SkTableColorFilter::InitializeFlattenables();
|
SkTableColorFilter::InitializeFlattenables();
|
||||||
SkXfermode::InitializeFlattenables();
|
SkXfermode::InitializeFlattenables();
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include "SkLayerRasterizer.h"
|
#include "SkLayerRasterizer.h"
|
||||||
#include "SkLerpXfermode.h"
|
#include "SkLerpXfermode.h"
|
||||||
#include "SkLightingImageFilter.h"
|
#include "SkLightingImageFilter.h"
|
||||||
|
#include "../effects/SkLightingShader.h"
|
||||||
#include "SkLocalMatrixShader.h"
|
#include "SkLocalMatrixShader.h"
|
||||||
#include "SkLumaColorFilter.h"
|
#include "SkLumaColorFilter.h"
|
||||||
#include "SkMagnifierImageFilter.h"
|
#include "SkMagnifierImageFilter.h"
|
||||||
@ -111,6 +112,7 @@ public:
|
|||||||
SkColorFilter::InitializeFlattenables();
|
SkColorFilter::InitializeFlattenables();
|
||||||
SkGradientShader::InitializeFlattenables();
|
SkGradientShader::InitializeFlattenables();
|
||||||
SkLightingImageFilter::InitializeFlattenables();
|
SkLightingImageFilter::InitializeFlattenables();
|
||||||
|
SkLightingShader::InitializeFlattenables();
|
||||||
SkTableColorFilter::InitializeFlattenables();
|
SkTableColorFilter::InitializeFlattenables();
|
||||||
SkXfermode::InitializeFlattenables();
|
SkXfermode::InitializeFlattenables();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user