13e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian/* 23e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * Copyright 2013 The Android Open Source Project 33e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * 43e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * Licensed under the Apache License, Version 2.0 (the "License"); 53e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * you may not use this file except in compliance with the License. 63e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * You may obtain a copy of the License at 73e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * 83e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * http://www.apache.org/licenses/LICENSE-2.0 93e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * 103e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * Unless required by applicable law or agreed to in writing, software 113e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * distributed under the License is distributed on an "AS IS" BASIS, 123e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * See the License for the specific language governing permissions and 143e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian * limitations under the License. 153e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian */ 163e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 173e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian#ifndef ANDROID_SURFACE_FLINGER_COLORIZER_H 183e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian#define ANDROID_SURFACE_FLINGER_COLORIZER_H 193e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 203e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopiannamespace android { 213e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 223e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian// --------------------------------------------------------------------------- 233e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 243e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopianclass Colorizer { 253e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian bool mEnabled; 263e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopianpublic: 273e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian enum color { 283e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian RED = 31, 293e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian GREEN = 32, 303e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian YELLOW = 33, 313e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian BLUE = 34, 323e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian MAGENTA = 35, 333e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian CYAN = 36, 343e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian WHITE = 37 353e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian }; 363e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 373e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian Colorizer(bool enabled) 383e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian : mEnabled(enabled) { 393e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian } 403e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 413e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian void colorize(String8& out, color c) { 423e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian if (mEnabled) { 433e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian out.appendFormat("\e[%dm", c); 443e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian } 453e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian } 463e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 473e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian void bold(String8& out) { 483e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian if (mEnabled) { 493e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian out.append("\e[1m"); 503e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian } 513e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian } 523e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 533e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian void reset(String8& out) { 543e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian if (mEnabled) { 553e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian out.append("\e[0m"); 563e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian } 573e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian } 583e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian}; 593e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 603e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian// --------------------------------------------------------------------------- 613e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 623e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian}; // namespace android 633e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 643e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian 653e25fd8609b100a75721be82d1d499f0ae9083cbMathias Agopian#endif /* ANDROID_SURFACE_FLINGER_COLORIZER_H */ 66