{
Gradient::Gradient()
-: mGradientUnits( OBJECT_BOUNDING_BOX ),
- mSpreadMethod( PAD )
+: mGradientUnits( Toolkit::GradientVisual::Units::OBJECT_BOUNDING_BOX ),
+ mSpreadMethod( Toolkit::GradientVisual::SpreadMethod::PAD )
{}
Gradient::~Gradient()
return mGradientStops;
}
-void Gradient::SetGradientUnits( GradientUnits gradientUnits )
+void Gradient::SetGradientUnits( Toolkit::GradientVisual::Units::Type gradientUnits )
{
mGradientUnits = gradientUnits;
}
-Gradient::GradientUnits Gradient::GetGradientUnits() const
+Toolkit::GradientVisual::Units::Type Gradient::GetGradientUnits() const
{
return mGradientUnits;
}
-void Gradient::SetSpreadMethod( SpreadMethod spread )
+void Gradient::SetSpreadMethod( Toolkit::GradientVisual::SpreadMethod::Type spread )
{
mSpreadMethod = spread;
}
-Gradient::SpreadMethod Gradient::GetSpreadMethod() const
+Toolkit::GradientVisual::SpreadMethod::Type Gradient::GetSpreadMethod() const
{
return mSpreadMethod;
}
{
tempFirstStop = true;
Vector4 firstStopColor( mGradientStops[0].mStopColor ); // If spread method is PAD or REFLECT
- if( mSpreadMethod == REPEAT )
+ if( mSpreadMethod == Toolkit::GradientVisual::SpreadMethod::REPEAT )
{
firstStopColor = ( mGradientStops[0].mStopColor * (1.f-mGradientStops[numStops-1].mOffset)
+ mGradientStops[numStops-1].mStopColor * mGradientStops[0].mOffset )
{
tempLastStop = true;
Vector4 lastStopColor( mGradientStops[numStops-1].mStopColor ); // If spread method is PAD or REFLECT
- if( mSpreadMethod == REPEAT )
+ if( mSpreadMethod == Toolkit::GradientVisual::SpreadMethod::REPEAT )
{
lastStopColor = mGradientStops[0].mStopColor;
}
for( int j = segmentStart; j<segmentEnd; j++ )
{
- float ratio = static_cast<float>(j-segmentStart)/segmentWidth;
+ float ratio = static_cast<float>(j-segmentStart)/(segmentWidth - 1);
Vector4 currentColor = mGradientStops[i].mStopColor * (1.f-ratio) + mGradientStops[i+1].mStopColor * ratio;
pixels[k*4] = static_cast<unsigned char>( 255.f * Clamp( currentColor.r, 0.f, 1.f ) );
pixels[k*4+1] = static_cast<unsigned char>( 255.f * Clamp( currentColor.g, 0.f, 1.f ) );