#ifndef MOZILLA_GFX_GRADIENTSTOPSNVPR_H_
#define MOZILLA_GFX_GRADIENTSTOPSNVPR_H_
#include "2D.h"
#include "nvpr/GL.h"
#include <mozilla/RefPtr.h>
namespace mozilla {
namespace gfx {
class GradientStopsNVpr : public GradientStops {
public:
static TemporaryRef<GradientStopsNVpr>
create(GradientStop* aRawStops, uint32_t aNumStops, ExtendMode aExtendMode)
{
return new GradientStopsNVpr(aRawStops, aNumStops, aExtendMode);
}
~GradientStopsNVpr();
virtual BackendType GetBackendType() const { return BackendType::NVPR; }
const Color& FinalColor() const { return mFinalColor; }
operator GLuint() const { return mRampTextureId; }
private:
GradientStopsNVpr(GradientStop* aRawStops, uint32_t aNumStops,
ExtendMode aExtendMode);
GLuint mRampTextureId;
Color mInitialColor;
Color mFinalColor;
};
}
}
#endif