diff options
author | Lionel Han <47760119+IGoByJoe@users.noreply.github.com> | 2020-06-11 00:22:43 -0700 |
---|---|---|
committer | Lionel Han <47760119+IGoByJoe@users.noreply.github.com> | 2020-06-11 00:22:43 -0700 |
commit | 7e3dbc157548f75e7b42367be00d32aea6469516 (patch) | |
tree | 508fe51cf873f8d10a0c71fe8dd7d9247d58592f /src/Utils.ts | |
parent | b13adb6e2620d80c019c7c8f6d344ba5ca2fcec2 (diff) | |
parent | b14c559285d579a90bd8f7282a85283201f2f65c (diff) |
merged with master
Diffstat (limited to 'src/Utils.ts')
-rw-r--r-- | src/Utils.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Utils.ts b/src/Utils.ts index ef5002bec..e527634fd 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -2,6 +2,7 @@ import v4 = require('uuid/v4'); import v5 = require("uuid/v5"); import { Socket, Room } from 'socket.io'; import { Message } from './server/Message'; +import { ColorState } from 'react-color'; export namespace Utils { export let DRAG_THRESHOLD = 4; @@ -75,6 +76,18 @@ export namespace Utils { document.body.removeChild(textArea); } + export function decimalToHexString(number: number) { + if (number < 0) { + number = 0xFFFFFFFF + number + 1; + } + return (number < 16 ? "0" : "") + number.toString(16).toUpperCase(); + } + + export function colorString(color: ColorState) { + return color.hex.startsWith("#") ? + color.hex + (color.rgb.a ? decimalToHexString(Math.round(color.rgb.a * 255)) : "ff") : color.hex; + } + export function fromRGBAstr(rgba: string) { const rm = rgba.match(/rgb[a]?\(([ 0-9]+)/); const r = rm ? Number(rm[1]) : 0; |