| Index: trunk/src/tools/gn/standard_out.cc
|
| ===================================================================
|
| --- trunk/src/tools/gn/standard_out.cc (revision 214322)
|
| +++ trunk/src/tools/gn/standard_out.cc (working copy)
|
| @@ -1,84 +0,0 @@
|
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "tools/gn/standard_out.h"
|
| -
|
| -#include "build/build_config.h"
|
| -
|
| -#if defined(OS_WIN)
|
| -#include <windows.h>
|
| -#else
|
| -#include <stdio.h>
|
| -#endif
|
| -
|
| -namespace {
|
| -
|
| -bool initialized = false;
|
| -
|
| -#if defined(OS_WIN)
|
| -HANDLE hstdout;
|
| -WORD default_attributes;
|
| -
|
| -bool is_console = false;
|
| -#endif
|
| -
|
| -void EnsureInitialized() {
|
| - if (initialized)
|
| - return;
|
| - initialized = true;
|
| -
|
| -#if defined(OS_WIN)
|
| - hstdout = ::GetStdHandle(STD_OUTPUT_HANDLE);
|
| - CONSOLE_SCREEN_BUFFER_INFO info;
|
| - is_console = !!::GetConsoleScreenBufferInfo(hstdout, &info);
|
| - default_attributes = info.wAttributes;
|
| -#endif
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -#if defined(OS_WIN)
|
| -
|
| -void OutputString(const std::string& output, TextDecoration dec) {
|
| - EnsureInitialized();
|
| - if (is_console) {
|
| - switch (dec) {
|
| - case DECORATION_NONE:
|
| - break;
|
| - case DECORATION_BOLD:
|
| - ::SetConsoleTextAttribute(hstdout, FOREGROUND_INTENSITY);
|
| - break;
|
| - case DECORATION_RED:
|
| - ::SetConsoleTextAttribute(hstdout,
|
| - FOREGROUND_RED | FOREGROUND_INTENSITY);
|
| - break;
|
| - case DECORATION_GREEN:
|
| - // Keep green non-bold.
|
| - ::SetConsoleTextAttribute(hstdout, FOREGROUND_GREEN);
|
| - break;
|
| - case DECORATION_BLUE:
|
| - ::SetConsoleTextAttribute(hstdout,
|
| - FOREGROUND_BLUE | FOREGROUND_INTENSITY);
|
| - break;
|
| - case DECORATION_YELLOW:
|
| - ::SetConsoleTextAttribute(hstdout,
|
| - FOREGROUND_RED | FOREGROUND_GREEN);
|
| - break;
|
| - }
|
| - }
|
| -
|
| - DWORD written = 0;
|
| - ::WriteFile(hstdout, output.c_str(), output.size(), &written, NULL);
|
| -
|
| - if (is_console)
|
| - ::SetConsoleTextAttribute(hstdout, default_attributes);
|
| -}
|
| -
|
| -#else
|
| -
|
| -void OutputString(const std::string& output, TextDecoration dec) {
|
| - printf("%s", output.c_str());
|
| -}
|
| -
|
| -#endif
|
|
|