+// *** Color Schemes ***
+class IDEColorScheme
+{
+ String name;
+ SyntaxColorScheme syntaxColors;
+public:
+
+ property const String name
+ {
+ set { delete name; name = CopyString(value); }
+ get { return name; }
+ }
+
+ Color selectionColor;
+ Color selectionText;
+ Color viewsBackground;
+ Color viewsText;
+ Color outputBackground;
+ Color outputText;
+ Color projectViewBackground;
+ Color projectViewText;
+ Color codeEditorBG;
+ Color codeEditorFG;
+ Color marginColor;
+ Color selectedMarginColor;
+ Color lineNumbersColor;
+ Color sheetSelectionColor;
+ Color sheetSelectionText;
+
+ property SyntaxColorScheme syntaxColors
+ {
+ set { delete syntaxColors; syntaxColors = value; if(value) incref value; }
+ get { return syntaxColors; }
+ }
+
+ ~IDEColorScheme()
+ {
+ delete syntaxColors;
+ delete name;
+ }
+}
+
+IDEColorScheme colorScheme;
+
+// Default Color Schemes
+IDEColorScheme darkColorScheme
+{
+ name = "Classic Dark";
+ selectionColor = lightYellow;
+ selectionText = Color { 30, 40, 50 };
+ viewsBackground = Color { 30, 40, 50 };
+ viewsText = lightGray;
+ outputBackground = black;
+ outputText = lime;
+ sheetSelectionColor = Color { 170, 220, 255 };
+ sheetSelectionText = black;
+ projectViewBackground = Color { 30, 40, 50 };
+ projectViewText = lightGray;
+ codeEditorBG = black;
+ codeEditorFG = ivory;
+ marginColor = Color {24, 24, 24};
+ selectedMarginColor = Color {64, 64, 64};
+ lineNumbersColor = Color {160, 160, 160};
+ syntaxColors =
+ {
+ keywordColors = [ skyBlue, skyBlue ];
+ commentColor = Color { 125, 125, 125 };
+ charLiteralColor = Color { 245, 50, 245 };
+ stringLiteralColor = Color { 245, 50, 245 };
+ preprocessorColor = { 120, 220, 140 };
+ numberColor = Color { 0, 192, 192 };
+ };
+};
+
+IDEColorScheme lightColorScheme
+{
+ name = "Classic Light";
+ selectionColor = Color { 10, 36, 106 };
+ selectionText = white;
+ viewsBackground = white;
+ viewsText = black;
+ outputBackground = white;
+ outputText = black;
+ sheetSelectionColor = Color { 170, 220, 255 };
+ sheetSelectionText = black;
+ projectViewBackground = white;
+ projectViewText = black;
+ codeEditorBG = white;
+ codeEditorFG = black;
+ marginColor = Color {230, 230, 230};
+ selectedMarginColor = Color {200, 200, 200};
+ lineNumbersColor = Color {60, 60, 60};
+ syntaxColors =
+ {
+ keywordColors = [ blue, blue ];
+ commentColor = dimGray;
+ charLiteralColor = crimson;
+ stringLiteralColor = crimson;
+ preprocessorColor = green;
+ numberColor = teal;
+ };
+};
+
+IDEColorScheme greenColorScheme
+{
+ name = "Green",
+ selectionColor = 0x00FFFFE0,
+ selectionText = 0x001E2832,
+ viewsBackground = 0x001E2832,
+ viewsText = 0x00D3D3D3,
+ outputBackground = 0x00000000,
+ outputText = 0x0000FF00,
+ projectViewBackground = 0x001E2832,
+ projectViewText = 0x00D3D3D3,
+ codeEditorBG = 0x00000000,
+ codeEditorFG = 0x00FFFFF0,
+ marginColor = 0x001100,
+ selectedMarginColor = 0x002200,
+ lineNumbersColor = 0x00FF00,
+ sheetSelectionColor = 0x00AADCFF,
+ sheetSelectionText = 0x00000000,
+ syntaxColors = {
+ commentColor = 0x008c00,
+ charLiteralColor = 0x89de00,
+ stringLiteralColor = 0x89de00,
+ preprocessorColor = 0x0078DC8C,
+ numberColor = { 8, 237, 141 },
+ keywordColors = [
+ 0x00e09d,
+ 0x00e09d
+ ]
+ }
+};
+
+IDEColorScheme grayColorScheme
+{
+ name = "Gray & Orange",
+ selectionColor = 0x00FFFFE0,
+ selectionText = 0x001E2832,
+ viewsBackground = 0x001E2832,
+ viewsText = 0x00D3D3D3,
+ outputBackground = 0x00000000,
+ outputText = 0x0000FF00,
+ projectViewBackground = 0x001E2832,
+ projectViewText = 0x00D3D3D3,
+ codeEditorBG = 0x00202020,
+ codeEditorFG = 0x00E2E2E5,
+ marginColor = 0x00303030,
+ selectedMarginColor = 0x00404040,
+ lineNumbersColor = 0x00939395,
+ sheetSelectionColor = 0x00AADCFF,
+ sheetSelectionText = 0x00000000,
+ syntaxColors = {
+ commentColor = 0x005F5F5F,
+ charLiteralColor = 0x0089DE00,
+ stringLiteralColor = 0x00707070,
+ preprocessorColor = 0x00FAF4C6,
+ numberColor = 0x00FF9800,
+ keywordColors = [
+ 0x00FF9800,
+ 0x00FF9800
+ ]
+ }
+};
+