1/*
2 * Copyright 2010-2012, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include "Colors.h"
8
9#include <Catalog.h>
10
11
12#undef B_TRANSLATION_CONTEXT
13#define B_TRANSLATION_CONTEXT "Terminal colors scheme"
14
15
16// Standard colors
17const rgb_color kBlack = { 0, 0, 0, 255 };
18const rgb_color kGreen = { 0, 255, 0, 255 };
19const rgb_color kWhite = { 255, 255, 255, 255 };
20const rgb_color kYellow = { 255, 255, 0, 255 };
21
22
23const struct color_scheme kColorSchemeDefault = {
24	B_TRANSLATE("Default"),
25	kBlack,
26	kWhite,
27	kWhite,
28	kBlack,
29	kWhite,
30	kBlack
31};
32
33const struct color_scheme kColorSchemeBlue = {
34	B_TRANSLATE("Blue"),
35	kYellow,
36	{ 0, 0, 139, 255 },
37	kBlack,
38	kYellow,
39	kBlack,
40	{ 0, 139, 139, 255 },
41};
42
43const struct color_scheme kColorSchemeMidnight = {
44	B_TRANSLATE("Midnight"),
45	kWhite,
46	kBlack,
47	kBlack,
48	kWhite,
49	kBlack,
50	kWhite
51};
52
53const struct color_scheme kColorSchemeProfessional = {
54	B_TRANSLATE("Professional"),
55	kWhite,
56	{ 8, 8, 8, 255 },
57	{ 50, 50, 50, 255 },
58	kWhite,
59	kWhite,
60	{ 50, 50, 50, 255 },
61};
62
63const struct color_scheme kColorSchemeRetro = {
64	B_TRANSLATE("Retro"),
65	kGreen,
66	kBlack,
67	kBlack,
68	kGreen,
69	kBlack,
70	kGreen
71};
72
73const struct color_scheme kColorSchemeSlate = {
74	B_TRANSLATE("Slate"),
75	kWhite,
76	{ 20, 20, 28, 255 },
77	{ 70, 70, 70, 255 },
78	{ 255, 200, 0, 255 },
79	kWhite,
80	{ 70, 70, 70, 255 },
81};
82
83struct color_scheme gCustomColorScheme = {
84	B_TRANSLATE("Custom")
85};
86
87const color_scheme* gPredefinedColorSchemes[] = {
88	&kColorSchemeDefault,
89	&kColorSchemeBlue,
90	&kColorSchemeMidnight,
91	&kColorSchemeProfessional,
92	&kColorSchemeRetro,
93	&kColorSchemeSlate,
94	&gCustomColorScheme,
95	NULL
96};
97
98
99bool
100color_scheme::operator==(const color_scheme& scheme)
101{
102	return text_fore_color == scheme.text_fore_color
103		&& text_back_color == scheme.text_back_color
104		&& cursor_fore_color == scheme.cursor_fore_color
105		&& cursor_back_color == scheme.cursor_back_color
106		&& select_fore_color == scheme.select_fore_color
107		&& select_back_color == scheme.select_back_color;
108}
109