clipper2 0.0.3 copy "clipper2: ^0.0.3" to clipboard
clipper2: ^0.0.3 copied to clipboard

The clipper2 library performs intersection, union, difference and xor boolean operations on both simple and complex polygons. It also performs polygon offsetting.

example/lib/main.dart

import 'package:flutter/material.dart';

import 'clipper_page.dart';
import 'minkowski_page.dart';
import 'offset_page.dart';

void main() {
  runApp(const ClipperApp());
}

class ClipperApp extends StatelessWidget {
  const ClipperApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Clipper2 Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
      ),
      home: const HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  var _tab = _Tab.clipper;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text('Clipper2 Demo'),
      ),
      body: Column(
        children: [
          Expanded(
            child: switch (_tab) {
              _Tab.clipper => const ClipperPage(),
              _Tab.offset => const OffsetPage(),
              _Tab.minkowski => const MinkowskiPage(),
            },
          ),
          NavigationBar(
            selectedIndex: _tab.index,
            onDestinationSelected:
                (index) => setState(() => _tab = _Tab.values[index]),
            destinations: [
              NavigationDestination(
                icon: const Icon(Icons.cut),
                label: 'Clipper',
              ),
              NavigationDestination(
                icon: const Icon(Icons.expand),
                label: 'Offset',
              ),
              NavigationDestination(
                icon: const Icon(Icons.star_border),
                label: 'Minkowski',
              ),
            ],
          ),
        ],
      ),
    );
  }
}

enum _Tab { clipper, offset, minkowski }
1
likes
160
points
276
downloads

Publisher

verified publishernatlink.fi

Weekly Downloads

The clipper2 library performs intersection, union, difference and xor boolean operations on both simple and complex polygons. It also performs polygon offsetting.

Repository

Documentation

API reference

License

BSL-1.0 (license)

Dependencies

collection

More

Packages that depend on clipper2