electric_shapes 1.0.11
electric_shapes: ^1.0.11 copied to clipboard
Flutter package with electric network icons and technical symbols for diagrams and utility apps.
electric_shapes #
Biblioteca Flutter com simbologia para redes elétricas, oferecendo duas formas de uso:
IconDatavia fonte customizada, ideal para uso comIcon,ElectricIcon, botões, listas e app bars.- widgets
Symboldesenhados emCustomPainter, ideais quando você precisa de mais fidelidade visual e controle fino de tamanho, cor e espessura.
O pacote foi pensado para representar elementos comuns de projetos e diagramas elétricos, como transformadores, postes, aterramentos, para-raios, chaves e redes de média e baixa tensão.
Features #
- Fonte de ícones customizada com API simples em
ElectricIcons - Widget
ElectricIconpara consumirIconDatarapidamente - Conjunto de
Symbols em Flutter puro, sem depender de imagem raster - Controle de
size,colorestrokeWidth - Separação entre elementos
ExistenteeProjetado - API unificada exportada por
package:electric_shapes/electric_shapes.dart
Instalação #
Adicione o pacote ao seu pubspec.yaml:
dependencies:
electric_shapes:
path: ../electric_shapes
Se o pacote estiver publicado, troque pelo número da versão correspondente.
Depois importe:
import 'package:electric_shapes/electric_shapes.dart';
Como usar #
1. Usando como ícone de fonte #
Se você quer a experiência tradicional de IconData, use ElectricIcons com Icon ou ElectricIcon.
Icon(
ElectricIcons.transformadorExistente,
size: 28,
color: const Color(0xFF2F3437),
)
Ou com o helper do pacote:
const ElectricIcon(
ElectricIcons.chaveFusivelProjetada,
size: 28,
color: Color(0xFF2F3437),
)
2. Usando símbolos desenhados #
Quando você precisa de uma representação mais próxima da simbologia original, use os widgets Symbol.
const ChaveFusivelExistenteSymbol(
size: 180,
color: Color(0xFF2F3437),
strokeWidth: 1.2,
)
Outro exemplo:
const RedeMediaTensaoSymbol(
size: 180,
color: Color(0xFF2F3437),
strokeWidth: 1,
)
Abordagens disponíveis #
ElectricIcons #
Use quando você quer:
- integração direta com
Icon - melhor encaixe em componentes padrão do Flutter
- consumo rápido em listas, menus e botões
- catálogo de glifos baseado em fonte
*Symbol #
Use quando você quer:
- aparência mais fiel ao desenho técnico
- proporções controladas por widget
- customização de traço
- renderização vetorial em Flutter via
CustomPainter
API pública #
O pacote exporta:
ElectricIconElectricIconsElectricShape- todos os widgets
Symboldisponíveis emshapes.dart
Ícones disponíveis em ElectricIcons #
Transformadores #
ElectricIcons.transformadorExistenteElectricIcons.transformadorProjetado
Postes #
ElectricIcons.posteConcretoDTExistenteElectricIcons.posteConcretoDTProjetadoElectricIcons.posteConcretoCircularExistenteElectricIcons.posteConcretoCircularProjetadoElectricIcons.posteFibraVidroExistenteElectricIcons.posteFibraVidroProjetadoElectricIcons.posteMadeiraExistente
Aterramentos #
ElectricIcons.aterramentoExistenteElectricIcons.aterramentoProjetado
Para-raios #
ElectricIcons.paraRaioExistenteElectricIcons.paraRaioProjetado
Chaves #
ElectricIcons.chaveFacaExistenteElectricIcons.chaveFacaProjetadaElectricIcons.chaveFusivelExistenteElectricIcons.chaveFusivelProjetadaElectricIcons.chaveReligadoraExistenteElectricIcons.chaveReligadoraProjetada
Redes #
ElectricIcons.redeMediaTensaoExistenteElectricIcons.redeMediaTensaoProjetadaElectricIcons.redeBaixaTensaoExistenteElectricIcons.redeBaixaTensaoProjetada
Widgets Symbol disponíveis #
Transformadores #
TransformadorExistenteSymbolTransformadorProjetadoSymbol
Postes #
PosteConcretoCircularExistenteSymbolPosteConcretoCircularProjetadoSymbolPosteConcretoDtExistenteSymbolPosteConcretoDtProjetadoSymbolPosteFibraVidroExistenteSymbolPosteFibraVidroProjetadoSymbolPosteMadeiraExistenteSymbol
Aterramentos #
AterramentoExistenteSymbolAterramentoProjetadoSymbol
Para-raios #
ParaRaiosExistenteSymbolParaRaiosProjetadoSymbol
Chaves #
ChaveFacaExistenteSymbolChaveFacaProjetadaSymbolChaveFusivelExistenteSymbolChaveFusivelProjetadaSymbolChaveReligadoraExistenteSymbolChaveReligadoraProjetadaSymbol
Redes #
RedeMediaTensaoSymbolRedeBaixaTensaoSymbol
Exemplo de composição #
class ElectricLegend extends StatelessWidget {
const ElectricLegend({super.key});
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: const [
Row(
children: [
ElectricIcon(ElectricIcons.transformadorExistente, size: 20),
SizedBox(width: 8),
Text('Transformador existente'),
],
),
SizedBox(height: 12),
ChaveFusivelProjetadaSymbol(size: 120),
],
);
}
}
Personalização #
A maioria dos símbolos expõe:
size: controla a escala principal do símbolocolor: define a cor do desenhostrokeWidth: ajusta a espessura do traço
Exemplo:
const ParaRaiosProjetadoSymbol(
size: 96,
color: Colors.red,
strokeWidth: 1.5,
)
Quando usar cada opção #
Use ElectricIcons quando a prioridade for integração com a UI padrão do Flutter.
Use Symbols quando a prioridade for fidelidade visual da simbologia elétrica.
Em muitos casos, faz sentido usar os dois:
IconDatapara barras, menus e listasSymbolpara telas técnicas, diagramas, catálogos e legendas
Estrutura do pacote #
lib/
electric_shapes.dart
src/
electric_icon.dart
electric_icons.dart
shapes/
shapes.dart
...
Estado atual #
O pacote já oferece uma base sólida para simbologia elétrica em Flutter, mas ainda pode evoluir com:
- catálogo visual de todos os símbolos
- screenshots no README
- exemplo completo em
/example - geração automatizada de parte do catálogo de ícones
Contribuição #
Se você for evoluir o pacote, vale manter estes critérios:
- nomes consistentes entre
IconDataeSymbol - fidelidade visual entre fonte e desenho técnico
- widgets com
constsempre que possível - API simples de consumir em aplicações Flutter
Licença #
Defina aqui a licença do projeto antes da publicação.
