fugue 0.1.0
fugue: ^0.1.0 copied to clipboard
The complete Fugue icon set by Yusuke Kamiyamane (3,571 glyphs, 16/32/48 px, shadow and shadowless) for Flutter. Unofficial repackage maintained by NativeMind.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:fugue/fugue.dart';
void main() => runApp(const FugueBrowser());
/// A searchable grid of every Fugue glyph.
class FugueBrowser extends StatefulWidget {
/// Creates the browser app.
const FugueBrowser({super.key});
@override
State<FugueBrowser> createState() => _FugueBrowserState();
}
class _FugueBrowserState extends State<FugueBrowser> {
String _query = '';
bool _shadowless = false;
@override
Widget build(BuildContext context) {
final names = Fugue.byName.keys.where((n) => n.contains(_query.toLowerCase())).toList();
return MaterialApp(
title: 'Fugue',
home: Scaffold(
appBar: AppBar(
title: TextField(
decoration: InputDecoration(hintText: 'Search ${Fugue.byName.length} glyphs'),
onChanged: (v) => setState(() => _query = v),
),
actions: [
Row(
children: [
const Text('Shadowless'),
Switch(value: _shadowless, onChanged: (v) => setState(() => _shadowless = v)),
],
),
],
),
body: GridView.builder(
padding: const EdgeInsets.all(12),
gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(maxCrossAxisExtent: 40, mainAxisSpacing: 8, crossAxisSpacing: 8),
itemCount: names.length,
itemBuilder: (context, i) => Tooltip(
message: names[i],
child: Center(child: FugueImage(Fugue.byName[names[i]]!, shadowless: _shadowless)),
),
),
),
);
}
}