WindowSystem: Forced composition should also redraw HW layers
[profile/ivi/layer-management.git] / LayerManagerPlugins / Renderers / Graphic / include / WindowSystems / BaseWindowSystem.h
1 /***************************************************************************
2  *
3  * Copyright 2010,2011 BMW Car IT GmbH
4  *
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  ****************************************************************************/
19
20 #ifndef _BASEWINDOWSYSTEM_H_
21 #define _BASEWINDOWSYSTEM_H_
22
23 #include "Scene.h"
24
25 class BaseWindowSystem
26 {
27 public:
28     BaseWindowSystem(Scene* pScene)
29     : m_pScene(pScene)
30         , m_damaged(false)
31     {
32     }
33
34     virtual ~BaseWindowSystem()
35     {
36     }
37
38     virtual bool start() = 0;
39     virtual void stop() = 0;
40     virtual void allocatePlatformSurface(Surface *surface) = 0;
41     virtual void doScreenShot(std::string fileName) = 0;
42     virtual void doScreenShotOfLayer(std::string fileName, const uint id) = 0;
43     virtual void doScreenShotOfSurface(std::string fileName, const uint id, const uint layer_id) = 0;
44
45 protected:
46     Scene* m_pScene;
47
48 public:
49     bool m_damaged;
50     bool m_forceComposition;
51 };
52
53 #endif /* _BASEWINDOWSYSTEM_H_ */