diff options
Diffstat (limited to 'libs/rs/rsProgramRaster.h')
| -rw-r--r-- | libs/rs/rsProgramRaster.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/libs/rs/rsProgramRaster.h b/libs/rs/rsProgramRaster.h index 7958af90fb0f..045a7c1883ff 100644 --- a/libs/rs/rsProgramRaster.h +++ b/libs/rs/rsProgramRaster.h @@ -30,23 +30,31 @@ public: ProgramRaster(Context *rsc, bool pointSmooth, bool lineSmooth, - bool pointSprite); + bool pointSprite, + float lineWidth, + RsCullMode cull); virtual ~ProgramRaster(); - virtual void setupGL2(const Context *, ProgramRasterState *); + virtual void setup(const Context *, ProgramRasterState *); virtual void serialize(OStream *stream) const; virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_RASTER; } static ProgramRaster *createFromStream(Context *rsc, IStream *stream); - void setLineWidth(float w); - void setCullMode(RsCullMode mode); + struct Hal { + mutable void *drv; + + struct State { + bool pointSmooth; + bool lineSmooth; + bool pointSprite; + float lineWidth; + RsCullMode cull; + }; + State state; + }; + Hal mHal; protected: - bool mPointSmooth; - bool mLineSmooth; - bool mPointSprite; - float mLineWidth; - RsCullMode mCull; }; class ProgramRasterState { |