sprotty
Version:
A next-gen framework for graphical views
46 lines (39 loc) • 1.44 kB
text/typescript
/********************************************************************************
* Copyright (c) 2017-2018 TypeFox and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
export interface RGBColor {
red: number
green: number
blue: number
}
export function rgb(red: number, green: number, blue: number): RGBColor {
return {
red: red,
green: green,
blue: blue
};
}
export function toSVG(c: RGBColor): string {
return 'rgb(' + c.red + ',' + c.green + ',' + c.blue + ')';
}
export class ColorMap {
constructor(protected stops: RGBColor[]) {
}
getColor(t: number): RGBColor {
t = Math.max(0, Math.min(0.99999999, t));
const i = Math.floor(t * this.stops.length);
return this.stops[i];
}
}