build method

Widget build(
  1. _LayoutP layoutp,
  2. MenuLayout menu
)

Implementation

Widget build(_LayoutP layoutp, MenuLayout menu) {
  return GestureDetector(
    behavior: HitTestBehavior.translucent,
    onTap: () {
      dismiss();
    },
    onVerticalDragStart: (DragStartDetails details) {
      dismiss();
    },
    onHorizontalDragStart: (DragStartDetails details) {
      dismiss();
    },
    child: Material(
        color: Colors.transparent,
        child: Container(
          child: Stack(
            children: <Widget>[
              // triangle arrow
              Positioned(
                left: layoutp.attachRect.left +
                    layoutp.attachRect.width / 2.0 -
                    7.5,
                top: layoutp.isDown
                    ? layoutp.offset.dy + layoutp.height
                    : layoutp.offset.dy - config.arrowHeight,
                child: CustomPaint(
                  size: Size(15.0, config.arrowHeight),
                  painter: TrianglePainter(
                      isDown: layoutp.isDown, color: config.backgroundColor),
                ),
              ),
              // menu content
              Positioned(
                left: layoutp.offset.dx,
                top: layoutp.offset.dy,
                child: menu.build(),
              )
            ],
          ),
        )),
  );
}