1182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski/* 2908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen * Copyright (C) 2011 The Android Open Source Project 3182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * 4182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 5182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * you may not use this file except in compliance with the License. 6182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * You may obtain a copy of the License at 7182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * 8182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 9182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * 10182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * Unless required by applicable law or agreed to in writing, software 11182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 12182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * See the License for the specific language governing permissions and 14182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * limitations under the License. 15182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski */ 16182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski 17182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski#ifndef ANDROID_RS_PROGRAM_BASE_H 18182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski#define ANDROID_RS_PROGRAM_BASE_H 19908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 20182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski#include "rsObjectBase.h" 21182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski#include "rsElement.h" 22908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 23908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen// --------------------------------------------------------------------------- 24908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassennamespace android { 25182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinskinamespace renderscript { 26908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 27908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassenclass ProgramBase : public ObjectBase { 28908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassenpublic: 29908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen explicit ProgramBase(Context *rsc) : ObjectBase(rsc) { 30908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen mDirty = true; 31908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen } 32908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 33908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen void forceDirty() const {mDirty = true;} 34908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 35908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassenprotected: 36908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen mutable bool mDirty; 37908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen}; 38908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 39908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen} // namespace renderscript 40908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen} // namespace android 41908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen#endif // ANDROID_RS_PROGRAM_BASE_H 42908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 43908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 44908b86c796443ba4ec55c669e8a0297fc80574a6Justin Klaassen 45182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski