1 /***************************************************************************
3 * Copyright 2012 BMW Car IT GmbH
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 ****************************************************************************/
20 #include "TextRenderer.h"
21 #include "Configuration.h"
26 TextRenderer::TextRenderer(ICommandExecutor& executor, Configuration& config)
27 : BaseRenderer(executor, config)
31 LOG_DEBUG("TextRenderer", "created");
34 bool TextRenderer::start(int width, int height, const char* displayname)
39 LOG_DEBUG("TextRenderer", "start("
41 << ", height=" << height
42 << ", displayname=" << displayname << ")");
46 void TextRenderer::stop()
48 LOG_DEBUG("TextRenderer", "stop");
51 TextRenderer::~TextRenderer()
53 LOG_DEBUG("TextRenderer", "destroyed");
56 void TextRenderer::doScreenShot(std::string fileToSave)
58 LOG_DEBUG("TextRenderer", "doScreenShot("
59 << "fileToSave=" << fileToSave << ")");
60 std::fstream file(fileToSave.c_str());
63 void TextRenderer::doScreenShotOfLayer(std::string fileToSave,uint id)
65 LOG_DEBUG("TextRenderer", "doScreenShotOfLayer("
66 << "fileToSave=" << fileToSave
67 << ", id=" << id << ")");
68 std::fstream file(fileToSave.c_str());
71 void TextRenderer::doScreenShotOfSurface(std::string fileToSave, uint id, uint layer_id)
73 LOG_DEBUG("TextRenderer", "doScreenShotOfSurface("
74 << "fileToSave=" << fileToSave
76 << ", layer_id=" << layer_id << ")");
77 std::fstream file(fileToSave.c_str());
80 uint TextRenderer::getNumberOfHardwareLayers(uint screenID)
82 LOG_DEBUG("TextRenderer", "getNumberOfHardwareLayers(screenID=" << screenID << ")");
86 uint* TextRenderer::getScreenResolution(uint screenID)
88 LOG_DEBUG("TextRenderer", "getScreenResolution(screenID=" << screenID << ")");
90 uint * resolution = new uint[2];
91 resolution[0] = m_width;
92 resolution[1] = m_height;
96 uint* TextRenderer::getScreenIDs(uint* length)
98 LOG_DEBUG("TextRenderer", "getScreenIDs");
100 // Screens in X11 can be addresses/accessed by just the number - we must only know how many there are
101 uint numberOfScreens = 1;
102 uint* screenIDS = new uint[numberOfScreens];
103 for (uint i = 0; i < numberOfScreens; i++)
107 *length = numberOfScreens;
111 void TextRenderer::signalWindowSystemRedraw()
113 LOG_DEBUG("TextRenderer", "signalWindowSystemRedraw");
116 void TextRenderer::forceCompositionWindowSystem()
118 LOG_DEBUG("TextRenderer", "forceCompositionWindowSystem");
121 bool TextRenderer::setOptimizationMode(OptimizationType id, OptimizationModeType mode)
123 LOG_DEBUG("TextRenderer", "setOptimizationMode("
125 << ", mode=" << mode << ")");
126 m_optimizationMode = mode;
130 bool TextRenderer::getOptimizationMode(OptimizationType id, OptimizationModeType* mode)
133 LOG_DEBUG("TextRenderer", "getOptimizationMode("
134 << "id=" << id << ")");
135 *mode = m_optimizationMode;
139 HealthCondition TextRenderer::pluginGetHealth()
141 return HealthRunning;
144 t_ilm_const_string TextRenderer::pluginGetName() const
146 return "TextRenderer";
149 DECLARE_LAYERMANAGEMENT_PLUGIN(TextRenderer)