eccolourscheme.pas 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. unit eccolourscheme;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, Graphics, ecstringiser;
  6. type
  7. { TEcColourScheme }
  8. TEcColourScheme = class
  9. public
  10. function GetBgColour: TColor; virtual;
  11. function GetTextColour(Index: TEcColour): TColor; virtual;
  12. function GetSelBgColour: TColor; virtual;
  13. function GetSelTextColour(Index: TEcColour): TColor; virtual;
  14. property BgColour: TColor read GetBgColour;
  15. property TextColour[Index: TEcColour]: TColor read GetTextColour;
  16. end;
  17. { TEcLightColourScheme }
  18. TEcLightColourScheme = class(TEcColourScheme)
  19. public
  20. function GetBgColour: TColor; override;
  21. function GetTextColour(Index: TEcColour): TColor; override;
  22. end;
  23. implementation
  24. { TEcLightColourScheme }
  25. function TEcLightColourScheme.GetBgColour: TColor;
  26. begin
  27. GetBgColour := clWhite;
  28. end;
  29. function TEcLightColourScheme.GetTextColour(Index: TEcColour): TColor;
  30. begin
  31. case Index of
  32. ecDefault: GetTextColour := clBlack;
  33. ecString: GetTextColour := $940714;
  34. ecCode, ecFaded: GetTextColour := clGray;
  35. ecInvisible: GetTextColour := clWhite;
  36. ecMessage: GetTextColour := $8b0b4e;
  37. ecProgression: GetTextColour := $0b09ff;
  38. ecFlow: GetTextColour := $fd0b3a;
  39. ecComment: GetTextColour := $2f8a0c;
  40. ecParty, ecActor:
  41. GetTextColour := $3098ff;
  42. ecMove, ecChar:
  43. GetTextColour := $0d0882;
  44. ecPic: GetTextColour := $8a1184;
  45. ecWait: GetTextColour := $4c23dc;
  46. ecScreen: GetTextColour := $0c8381;
  47. ecAudioVideo: GetTextColour := $828018;
  48. ecScene: GetTextColour := $fd9430;
  49. ecSystem: GetTextColour := $ff19ff;
  50. ecMap: GetTextColour := $981aff;
  51. ecBattle: GetTextColour := $d50997;
  52. ecAdvanced: GetTextColour := $88044d;
  53. else
  54. GetTextColour := clBlack;
  55. end;
  56. end;
  57. { TEcColourScheme }
  58. function TEcColourScheme.GetBgColour: TColor;
  59. begin
  60. GetBgColour := clWindow
  61. end;
  62. function TEcColourScheme.GetTextColour(Index: TEcColour): TColor;
  63. begin
  64. GetTextColour := clWindowText
  65. end;
  66. function TEcColourScheme.GetSelBgColour: TColor;
  67. begin
  68. GetSelBgColour := clHighlight
  69. end;
  70. function TEcColourScheme.GetSelTextColour(Index: TEcColour): TColor;
  71. begin
  72. GetSelTextColour := clHighlightText
  73. end;
  74. end.