| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- // SPDX-License-Identifier: LGPL-3.0-linking-exception
- {
- Material Design color pallete from
- https://material.google.com/style/color.html#color-color-palette
- }
- {******************************* CONTRIBUTOR(S) ******************************
- - Edivando S. Santos Brasil | [email protected]
- (Compatibility with delphi VCL 11/2018)
- ***************************** END CONTRIBUTOR(S) *****************************}
- unit MaterialColors;
- {$I bgracontrols.inc}
- {$IFDEF FPC}
- {$MODESWITCH ADVANCEDRECORDS}
- {$ENDIF}
- interface
- uses
- Classes, SysUtils, BGRABitmap, BGRABitmapTypes, {$IFDEF FPC}FGL{$ELSE}Generics.Collections{$ENDIF};
- type
- { TMaterialColors }
- TMaterialColors = record
- M50: TBGRAPixel;
- M100: TBGRAPixel;
- M200: TBGRAPixel;
- M300: TBGRAPixel;
- M400: TBGRAPixel;
- M500: TBGRAPixel;
- M600: TBGRAPixel;
- M700: TBGRAPixel;
- M800: TBGRAPixel;
- M900: TBGRAPixel;
- A100: TBGRAPixel;
- A200: TBGRAPixel;
- A400: TBGRAPixel;
- A700: TBGRAPixel;
- procedure Create(aM50, aM100, aM200, aM300, aM400, aM500, aM600,
- aM700, aM800, aM900, aA100, aA200, aA400, aA700: string);
- end;
- {$IFDEF FPC}
- TMaterialColorsList = TFPGMap<string, TMaterialColors>;
- {$ELSE}
- TMaterialColorsList = TDictionary<string, TMaterialColors>;
- {$ENDIF}
- procedure MaterialColorsListStr(AList: TStrings);
- var
- MaterialBlack: TBGRAPixel;
- MaterialWhite: TBGRAPixel;
- MaterialRed, MaterialPink, MaterialPurple, MaterialDeepPurple,
- MaterialIndigo, MaterialBlue, MaterialLightBlue, MaterialCyan,
- MaterialTeal, MaterialGreen, MaterialLightGreen, MaterialLime,
- MaterialYellow, MaterialAmber, MaterialOrange, MaterialDeepOrange,
- MaterialBrown, MaterialGrey, MaterialBlueGrey: TMaterialColors;
- MaterialColorsList: TMaterialColorsList;
- implementation
- procedure MaterialColorsListStr(AList: TStrings);
- begin
- with AList do
- begin
- Add('Red');
- Add('Pink');
- Add('Purple');
- Add('Deep Purple');
- Add('Indigo');
- Add('Blue');
- Add('Light Blue');
- Add('Cyan');
- Add('Teal');
- Add('Green');
- Add('Light Green');
- Add('Lime');
- Add('Yellow');
- Add('Amber');
- Add('Orange');
- Add('Deep Orange');
- Add('Brown');
- Add('Grey');
- Add('Blue Grey');
- end;
- end;
- { TMaterialColors }
- procedure TMaterialColors.Create(aM50, aM100, aM200, aM300, aM400,
- aM500, aM600, aM700, aM800, aM900, aA100, aA200, aA400, aA700: string);
- begin
- self.M50 := StrToBGRA(aM50);
- self.M100 := StrToBGRA(aM100);
- self.M200 := StrToBGRA(aM200);
- self.M300 := StrToBGRA(aM300);
- self.M400 := StrToBGRA(aM400);
- self.M500 := StrToBGRA(aM500);
- self.M600 := StrToBGRA(aM600);
- self.M700 := StrToBGRA(aM700);
- self.M800 := StrToBGRA(aM800);
- self.M900 := StrToBGRA(aM900);
- self.A100 := StrToBGRA(aA100);
- self.A200 := StrToBGRA(aA200);
- self.A400 := StrToBGRA(aA400);
- self.A700 := StrToBGRA(aA700);
- end;
- initialization
- MaterialBlack := BGRABlack;
- MaterialWhite := BGRAWhite;
- MaterialRed.Create('#FFEBEE', '#FFCDD2', '#EF9A9A', '#E57373', '#EF5350',
- '#F44336', '#E53935', '#D32F2F', '#C62828', '#B71C1C', '#FF8A80',
- '#FF5252', '#FF1744', '#D50000');
- MaterialPink.Create('#FCE4EC', '#F8BBD0', '#F48FB1', '#F06292',
- '#EC407A', '#E91E63', '#D81B60', '#C2185B', '#AD1457', '#880E4F',
- '#FF80AB', '#FF4081', '#F50057', '#C51162');
- MaterialPurple.Create('#F3E5F5', '#E1BEE7', '#CE93D8', '#BA68C8', '#AB47BC',
- '#9C27B0', '#8E24AA', '#7B1FA2', '#6A1B9A', '#4A148C',
- '#EA80FC', '#E040FB', '#D500F9', '#AA00FF');
- MaterialDeepPurple.Create('#EDE7F6', '#D1C4E9', '#B39DDB', '#9575CD', '#7E57C2',
- '#673AB7', '#5E35B1', '#512DA8', '#4527A0',
- '#311B92', '#B388FF', '#7C4DFF', '#651FFF', '#6200EA');
- MaterialIndigo.Create('#E8EAF6', '#C5CAE9', '#9FA8DA', '#7986CB', '#5C6BC0',
- '#3F51B5', '#3949AB', '#303F9F', '#283593', '#1A237E',
- '#8C9EFF', '#536DFE', '#3D5AFE', '#304FFE');
- MaterialBlue.Create('#E3F2FD', '#BBDEFB', '#90CAF9', '#64B5F6', '#42A5F5',
- '#2196F3', '#1E88E5', '#1976D2', '#1565C0', '#0D47A1',
- '#82B1FF', '#448AFF', '#2979FF', '#2962FF');
- MaterialLightBlue.Create('#E1F5FE', '#B3E5FC', '#81D4FA', '#4FC3F7', '#29B6F6',
- '#03A9F4', '#039BE5', '#0288D1', '#0277BD', '#01579B',
- '#80D8FF', '#40C4FF', '#00B0FF', '#0091EA');
- MaterialCyan.Create('#E0F7FA', '#B2EBF2', '#80DEEA', '#4DD0E1', '#26C6DA',
- '#00BCD4', '#00ACC1', '#0097A7', '#00838F', '#006064',
- '#84FFFF', '#18FFFF', '#00E5FF', '#00B8D4');
- MaterialTeal.Create('#E0F2F1', '#B2DFDB', '#80CBC4', '#4DB6AC', '#26A69A',
- '#009688', '#00897B', '#00796B', '#00695C', '#004D40',
- '#A7FFEB', '#64FFDA', '#1DE9B6', '#00BFA5');
- MaterialGreen.Create('#E8F5E9', '#C8E6C9', '#A5D6A7', '#81C784', '#66BB6A',
- '#4CAF50', '#43A047', '#388E3C', '#2E7D32', '#1B5E20',
- '#B9F6CA', '#69F0AE', '#00E676', '#00C853');
- MaterialLightGreen.Create('#F1F8E9', '#DCEDC8', '#C5E1A5', '#AED581', '#9CCC65',
- '#8BC34A', '#7CB342', '#689F38', '#558B2F', '#33691E',
- '#CCFF90', '#B2FF59', '#76FF03', '#64DD17');
- MaterialLime.Create('#F9FBE7', '#F0F4C3', '#E6EE9C', '#DCE775', '#D4E157',
- '#CDDC39', '#C0CA33', '#AFB42B', '#9E9D24', '#827717',
- '#F4FF81', '#EEFF41', '#C6FF00', '#AEEA00');
- MaterialYellow.Create('#FFFDE7', '#FFF9C4', '#FFF59D', '#FFF176', '#FFEE58',
- '#FFEB3B', '#FDD835', '#FBC02D', '#F9A825', '#F57F17',
- '#FFFF8D', '#FFFF00', '#FFEA00', '#FFD600');
- MaterialAmber.Create('#FFF8E1', '#FFECB3', '#FFE082', '#FFD54F', '#FFCA28',
- '#FFC107', '#FFB300', '#FFA000', '#FF8F00', '#FF6F00',
- '#FFE57F', '#FFD740', '#FFC400', '#FFAB00');
- MaterialOrange.Create('#FFF3E0', '#FFE0B2', '#FFCC80', '#FFB74D', '#FFA726',
- '#FF9800', '#FB8C00', '#F57C00', '#EF6C00', '#E65100',
- '#FFD180', '#FFAB40', '#FF9100', '#FF6D00');
- MaterialDeepOrange.Create('#FBE9E7', '#FFCCBC', '#FFAB91', '#FF8A65', '#FF7043',
- '#FF5722', '#F4511E', '#E64A19', '#D84315', '#BF360C',
- '#FF9E80', '#FF6E40', '#FF3D00', '#DD2C00');
- MaterialBrown.Create('#EFEBE9', '#D7CCC8', '#BCAAA4', '#A1887F', '#8D6E63',
- '#795548', '#6D4C41', '#5D4037', '#4E342E', '#3E2723',
- '', '', '', '');
- MaterialGrey.Create('#FAFAFA', '#F5F5F5', '#EEEEEE', '#E0E0E0', '#BDBDBD',
- '#9E9E9E', '#757575', '#616161', '#424242', '#212121',
- '', '', '', '');
- MaterialBlueGrey.Create('#ECEFF1', '#CFD8DC', '#B0BEC5', '#90A4AE', '#78909C',
- '#607D8B', '#546E7A', '#455A64', '#37474F', '#263238',
- '', '', '', '');
- MaterialColorsList := TMaterialColorsList.Create;
- with MaterialColorsList do
- begin
- Add('Red', MaterialRed);
- Add('Pink', MaterialPink);
- Add('Purple', MaterialPurple);
- Add('Deep Purple', MaterialDeepPurple);
- Add('Indigo', MaterialIndigo);
- Add('Blue', MaterialBlue);
- Add('Light Blue', MaterialLightBlue);
- Add('Cyan', MaterialCyan);
- Add('Teal', MaterialTeal);
- Add('Green', MaterialGreen);
- Add('Light Green', MaterialLightGreen);
- Add('Lime', MaterialLime);
- Add('Yellow', MaterialYellow);
- Add('Amber', MaterialAmber);
- Add('Orange', MaterialOrange);
- Add('Deep Orange', MaterialDeepOrange);
- Add('Brown', MaterialBrown);
- Add('Grey', MaterialGrey);
- Add('Blue Grey', MaterialBlueGrey);
- end;
- finalization
- MaterialColorsList.Free;
- end.
|