public override Offset getOffset(ScaffoldPrelayoutGeometry scaffoldGeometry)
        {
            float fabX = FloatingActionButtonLocationUtils._endOffset(scaffoldGeometry);

            float contentBottom     = scaffoldGeometry.contentBottom;
            float bottomSheetHeight = scaffoldGeometry.bottomSheetSize.height;
            float fabHeight         = scaffoldGeometry.floatingActionButtonSize.height;
            float snackBarHeight    = scaffoldGeometry.snackBarSize.height;

            float fabY = contentBottom - fabHeight - FloatingActionButtonLocationUtils.kFloatingActionButtonMargin;

            if (snackBarHeight > 0.0f)
            {
                fabY = Mathf.Min(fabY,
                                 contentBottom - snackBarHeight - fabHeight -
                                 FloatingActionButtonLocationUtils.kFloatingActionButtonMargin);
            }

            if (bottomSheetHeight > 0.0f)
            {
                fabY = Mathf.Min(fabY, contentBottom - bottomSheetHeight - fabHeight / 2.0f);
            }

            return(new Offset(fabX, fabY));
        }
 public override Offset getOffset(ScaffoldPrelayoutGeometry scaffoldGeometry)
 {
     return(new Offset(FloatingActionButtonLocationUtils._endOffset(scaffoldGeometry),
                       FloatingActionButtonLocationUtils._straddleAppBar(scaffoldGeometry)));
 }
        public override Offset getOffset(ScaffoldPrelayoutGeometry scaffoldGeometry)
        {
            float fabX = FloatingActionButtonLocationUtils._endOffset(scaffoldGeometry);

            return(new Offset(fabX, this.getDockedY(scaffoldGeometry)));
        }