Advertisement
chrondog

Untitled

Jan 1st, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #pragma once
  2. #include <iostream>
  3. #include <windows.h>
  4.  
  5. inline std::ostream& blue(std::ostream &s)
  6. {
  7.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  8.     SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
  9.               |FOREGROUND_GREEN|FOREGROUND_INTENSITY);
  10.     return s;
  11. }
  12.  
  13. inline std::ostream& red(std::ostream &s)
  14. {
  15.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  16.     SetConsoleTextAttribute(hStdout,
  17.                 FOREGROUND_RED|FOREGROUND_INTENSITY);
  18.     return s;
  19. }
  20.  
  21. inline std::ostream& green(std::ostream &s)
  22. {
  23.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  24.     SetConsoleTextAttribute(hStdout,
  25.               FOREGROUND_GREEN|FOREGROUND_INTENSITY);
  26.     return s;
  27. }
  28.  
  29. inline std::ostream& yellow(std::ostream &s)
  30. {
  31.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  32.     SetConsoleTextAttribute(hStdout,
  33.          FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
  34.     return s;
  35. }
  36.  
  37. inline std::ostream& white(std::ostream &s)
  38. {
  39.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  40.     SetConsoleTextAttribute(hStdout,
  41.        FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
  42.     return s;
  43. }
  44.  
  45. struct color {
  46.     color(WORD attribute):m_color(attribute){};
  47.     WORD m_color;
  48. };
  49.  
  50. template <class _Elem, class _Traits>
  51. std::basic_ostream<_Elem,_Traits>&
  52.       operator<<(std::basic_ostream<_Elem,_Traits>& i, color& c)
  53. {
  54.     HANDLE hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
  55.     SetConsoleTextAttribute(hStdout,c.m_color);
  56.     return i;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement