rsProgramRaster.h revision 5fd09d847586f9680b4f495413b6ca5fbb69af6e
15fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams/* 25fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * Copyright (C) 2009 The Android Open Source Project 35fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * 45fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 55fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * you may not use this file except in compliance with the License. 65fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * You may obtain a copy of the License at 75fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * 85fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * http://www.apache.org/licenses/LICENSE-2.0 95fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * 105fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * Unless required by applicable law or agreed to in writing, software 115fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 125fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * See the License for the specific language governing permissions and 145fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * limitations under the License. 155fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams */ 165fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 175fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#ifndef ANDROID_RS_PROGRAM_RASTER_H 185fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#define ANDROID_RS_PROGRAM_RASTER_H 195fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 205fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#include "rsProgram.h" 215fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 225fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams// --------------------------------------------------------------------------- 235fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsnamespace android { 245fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsnamespace renderscript { 255fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 265fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsclass ProgramRasterState; 275fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 285fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsclass ProgramRaster : public Program 295fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams{ 305fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samspublic: 315fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ProgramRaster(Element *in, 325fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams Element *out, 335fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool pointSmooth, 345fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool lineSmooth, 355fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool pointSprite); 365fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams virtual ~ProgramRaster(); 375fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 385fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams virtual void setupGL(const Context *, ProgramRasterState *); 395fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 405fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams void setLineWidth(float w); 415fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams void setPointSize(float s); 425fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 435fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsprotected: 445fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool mPointSmooth; 455fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool mLineSmooth; 465fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool mPointSprite; 475fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 485fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams float mPointSize; 495fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams float mLineWidth; 505fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 515fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 525fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}; 535fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 545fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsclass ProgramRasterState 555fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams{ 565fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samspublic: 575fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ProgramRasterState(); 585fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ~ProgramRasterState(); 595fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams void init(Context *rsc, int32_t w, int32_t h); 605fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 615fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ObjectBaseRef<ProgramRaster> mDefault; 625fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ObjectBaseRef<ProgramRaster> mLast; 635fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}; 645fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 655fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 665fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 675fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 685fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#endif 695fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 705fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 715fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 725fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 73