Sobre o projeto

LunaSVG é uma biblioteca C++ para renderizar e manipular arquivos Scalable Vector Graphics (SVG), projetada para ser leve e portátil. Ela tem como alvo a renderização estática e suporta quase todos os recursos gráficos das especificações SVG 1.1 e SVG 1.2 Tiny, com as exceções notáveis de animação, filtros e scripts. É improvável que a animação seja adicionada, pois a biblioteca se concentra em saída estática, embora o suporte a filtros possa vir mais tarde. Capacidades principais: - Carregar documentos SVG de arquivos ou dados em memória e renderizá-los em bitmaps, com exportação PNG. - Aplicar folhas de estilo CSS externas em tempo de execução para reestilizar um documento antes da renderização, permitindo variantes como temas sazonais a partir de uma única fonte SVG. - Teste de hit via elementFromPoint(x, y), que retorna o elemento sob uma coordenada; atributos como stroke, stroke-width e transform podem então ser modificados e re-renderizados. - Cobertura ampla de elementos, incluindo a, circle, clipPath, defs, ellipse, g, image, line, linearGradient, marker, mask, path, pattern, polygon, polyline, radialGradient, rect, stop, style, svg, symbol, text, tspan e use. Instalação e integração: - Compilar com CMake ou Meson. Usuários de CMake podem instalar e consumir via find_package(lunasvg) e linkar lunasvg::lunasvg, ou puxá-lo com FetchContent. Usuários de Meson podem usar dependency('lunasvg') ou um arquivo wrap. - Uma opção de compilação USE_SYSTEM_PLUTOVG (padrão OFF) permite vincular contra um plutovg de sistema 1.0.0+ em vez do submódulo incluído, recorrendo ao submódulo se não for encontrado. Ferramentas: - Um utilitário de linha de comando svg2png converte arquivos SVG em PNG, aceitando uma resolução opcional (ex.: 512x512) e cor de fundo (ex.: 0xff00ffff). Adoção: O README lista projetos que usam LunaSVG, incluindo OpenSiv3D, PICsimLab, MoneyManagerEx, RmlUi, EKA2L1, ObEngine, OTTO, EmulationStation-DE, Dear ImGui, Multi Theft Auto: San Andreas, CARLA Simulator, AUI Framework, node-canvas e pillow-lunasvg. Licença: MIT.