// TituloRabisco: 1 a 3 linhas em Permanent Marker, escritas da esquerda para a direita (máscara que abre) com o traço tremendo. // A linha `destaque` ganha uma faixa de marca-texto amarela que passa por trás e um sublinhado de caneta azul que se desenha. import React from 'react'; import {COR, FONTE_TITULO, LARGURA_UTIL, caber, larguraTexto, mola, seg, useF} from '../base'; import {ferver, traco} from '../lib/traco'; export type TituloRabiscoProps = {linhas: string[]; inicio?: number; intervalo?: number; y?: number; tamanho?: number; destaque?: number; fim?: number}; export const TituloRabisco: React.FC = ({linhas, inicio = 0, intervalo = 10, y = 720, tamanho = 200, destaque = 1, fim}) => { const f = useF(); const tams = linhas.map((l) => caber(l, tamanho, LARGURA_UTIL - 20, FONTE_TITULO, 400, 0)); const alts = tams.map((t) => t * 1.3); const total = alts.reduce((a, b) => a + b, 0); let acc = y - total / 2; return <>{linhas.map((l, i) => { const topo = acc; acc += alts[i]; const t0 = inicio + i * intervalo; const esc = seg(f, t0, t0 + 9); const w = larguraTexto(l, tams[i], FONTE_TITULO, 400, 0); const sai = fim === undefined ? 0 : seg(f, fim + i * 2, fim + i * 2 + 8); const hl = i === destaque ? mola(seg(f, t0 + 8, t0 + 18), 1.2) : 0; const x0 = (1080 - w) / 2; return
{i === destaque &&
}
{l}
{i === destaque && }
; })}; };