예제 #1
0
        protected override bool OnButtonPressEvent(Gdk.EventButton args)
        {
            if (args.Button == 3)
            {
                return(DrawOrderMenu(args));
            }

            double x = args.X + action.X;
            double y = args.Y + action.Y;

            if (glass.Contains(x, y))
            {
                glass.StartDrag(x, y, args.Time);
            }
            else if (has_limits && min_limit.Contains(x, y))
            {
                min_limit.StartDrag(x, y, args.Time);
            }
            else if (has_limits && max_limit.Contains(x, y))
            {
                max_limit.StartDrag(x, y, args.Time);
            }
            else
            {
                int position;
                if (BoxHit(x, y, out position))
                {
                    BoxXHitFilled(x, out position);
                    glass.UpdateGlass = true;
                    glass.SetPosition(position);
                    glass.UpdateGlass = false;
                    return(true);
                }
            }

            return(base.OnButtonPressEvent(args));
        }