1119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck/* 2119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * Copyright (C) 2014 The Android Open Source Project 3119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * 4119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * Licensed under the Apache License, Version 2.0 (the "License"); 5119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * you may not use this file except in compliance with the License. 6119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * You may obtain a copy of the License at 7119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * 8119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * http://www.apache.org/licenses/LICENSE-2.0 9119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * 10119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * Unless required by applicable law or agreed to in writing, software 11119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * distributed under the License is distributed on an "AS IS" BASIS, 12119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * See the License for the specific language governing permissions and 14119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck * limitations under the License. 15119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck */ 16119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck#ifndef CONTEXTFACTORY_H_ 17119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck#define CONTEXTFACTORY_H_ 18119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck 19119907cd2575c56b1ebf66348b52e67aaf6a88d8John Recknamespace android { 20119907cd2575c56b1ebf66348b52e67aaf6a88d8John Recknamespace uirenderer { 21119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck 22119907cd2575c56b1ebf66348b52e67aaf6a88d8John Recknamespace renderthread { 23119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reckclass TimeLord; 24119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck} 25119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck 26119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reckclass AnimationContext; 27119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck 28119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reckclass IContextFactory { 29119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reckpublic: 30119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck virtual AnimationContext* createAnimationContext(renderthread::TimeLord& clock) = 0; 31119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck 32119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reckprotected: 33119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck virtual ~IContextFactory() {} 34119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck}; 35119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck 36119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck} /* namespace uirenderer */ 37119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck} /* namespace android */ 38119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck 39119907cd2575c56b1ebf66348b52e67aaf6a88d8John Reck#endif /* CONTEXTFACTORY_H_ */ 40