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