import React from 'react' import { generateTransform, unitsDimension, hexToRgb, pickCursor } from 'app/views/tile/tile.utils' export default function TileGradient({ tile, box, bounds, cursors, videoBounds, viewing, onMouseDown, onDoubleClick, onMouseEnter, onMouseLeave }) { // console.log(tile) const style = { transform: generateTransform(tile, box, bounds, videoBounds), opacity: tile.settings.opacity, } // console.log(generateTransform(tile)) let className = ['tile', tile.type].join(' ') let [cursorClass, cursorStyle] = pickCursor(tile, cursors, viewing) if (cursorClass) { className += " " + cursorClass } if (cursorStyle) { style.cursor = cursorStyle } className += ' ' + tile.settings.align style.width = unitsDimension(tile, 'width', bounds, videoBounds) style.height = unitsDimension(tile, 'height', bounds, videoBounds) style.background = linearGradient(tile) return (
) } function linearGradient(tile) { let from_color = tileRGBA(tile.settings.from_color, tile.settings.from_opacity) let to_color = tileRGBA(tile.settings.to_color, tile.settings.to_opacity) let stop = parseFloat(tile.settings.stop) return [ "linear-gradient(", tile.settings.angle, "deg,", to_color, ",", stop + "%", ",", from_color, ")" ].join("") } function tileRGBA(hex, opacity) { const { r, g, b } = hexToRgb(hex) return "rgba(" + [r,g,b,opacity].join(",") + ")" }