content: //package com.wanjian.sak.layer.impl_tmp;
  //
  //import android.content.Context;
  //import android.graphics.drawable.Drawable;
  //import android.support.v4.view.GestureDetectorCompat;
  //import android.view.ContextThemeWrapper;
  //import android.view.GestureDetector;
  //import android.view.MotionEvent;
  //import android.view.View;
  //import android.view.ViewGroup;
  //import android.view.WindowManager;
  //
  //import com.wanjian.sak.R;
  //import com.wanjian.sak.layer.AbsLayer;
  //import com.wanjian.sak.support.ViewEditPanel;
  //@Deprecated
  //public class ViewEditView extends AbsLayer {
  //    private View mTarget;
  //    private int[] mLocation = new int[2];
  //    private View mTouchTarget;
  //
  //    public ViewEditView(Context context) {
  //        super(context);
  //        init();
  //    }
  //
  //    @Override
  //    public Drawable icon() {
  //        return getResources().getDrawable(R.drawable.sak_edit_icon);
  //    }
  //
  //    @Override
  //    public String description() {
  //        return getContext().getString(R.string.sak_edit_view);
  //    }
  //
  //    private void init() {
  //        final GestureDetectorCompat detectorCompat = new GestureDetectorCompat(getContext(), new GestureDetector.SimpleOnGestureListener() {
  //
  //            @Override
  //            public void onLongPress(MotionEvent e) {
  //                super.onLongPress(e);
  //                View target = findPressView((int) e.getRawX(), (int) e.getRawY());
  //                final ViewEditPanel editPanel = new ViewEditPanel(new ContextThemeWrapper(getContext(), R.style.SAK_Theme));
  //                editPanel.setSizeConverter(getSizeConverter());
  //                editPanel.attachTargetView(target);
  //                WindowManager.LayoutParams params = new WindowManager.LayoutParams();
  //                showWindow(editPanel, params);
  //                editPanel.setOnConfirmClickListener(new OnClickListener() {
  //                    @Override
  //                    public void onClick(View v) {
  //                        removeWindow(editPanel);
  //                    }
  //                });
  //                if (mTouchTarget != null) {
  //                    e.setAction(MotionEvent.ACTION_CANCEL);
  //                    View root = getRootView();
  //                    e.offsetLocation(-mTouchTarget.getX() + root.getPaddingLeft(), -mTouchTarget.getY() + root.getPaddingTop());
  //                    mTouchTarget.dispatchTouchEvent(e);
  //                    mTouchTarget = null;
  //                }
  //            }
  //        });
  //        super.setOnTouchListener(new View.OnTouchListener() {
  //            @Override
  //            public boolean onTouch(View v, MotionEvent event) {
  //                return detectorCompat.onTouchEvent(event);
  //            }
  //        });
  //    }
  //
  //
  //    @Override
  //    public boolean dispatchTouchEvent(MotionEvent event) {
  //        super.dispatchTouchEvent(event);
  //        ViewGroup decorView = ((ViewGroup) getRootView());
  //        if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
  //            mTouchTarget = null;
  //            int curX = (int) event.getRawX();
  //            int curY = (int) event.getRawY();
  //
  //            for (int i = decorView.getChildCount() - 1; i > -1; i--) {
  //                View child = decorView.getChildAt(i);
  //                if (inRange(child, curX, curY) == false) {
  //                    continue;
  //                }
  //                event.offsetLocation(-child.getX() + decorView.getPaddingLeft(), -child.getY() + decorView.getPaddingTop());
  //                if (child.dispatchTouchEvent(event)) {
  //                    mTouchTarget = child;
  //                    return true;
  //                }
  //            }
  //        }
  //        if (mTouchTarget != null) {
  //            event.offsetLocation(-mTouchTarget.getX() + decorView.getPaddingLeft(), -mTouchTarget.getY() + decorView.getPaddingTop());
  //            mTouchTarget.dispatchTouchEvent(event);
  //        }
  //        return true;
  //    }
  //
  //    protected View findPressView(int x, int y) {
  //        mTarget = getRootView();
  //        traversal(mTarget, x, y);
  //        return mTarget;
  //    }
  //
  //    private void traversal(View view, int x, int y) {
  //        if (getViewFilter().filter(view) == false) {
  //            return;
  //        }
  //        if (view.getVisibility() != VISIBLE) {
  //            return;
  //
  //        }
  //        if (inRange(view, x, y) == false) {
  //            return;
  //        }
  //
  //        mTarget = view;
  //        if (view instanceof ViewGroup) {
  //            ViewGroup viewGroup = ((ViewGroup) view);
  //            for (int i = 0; i < viewGroup.getChildCount(); i++) {
  //                View child = viewGroup.getChildAt(i);
  //                traversal(child, x, y);
  //            }
  //        }
  //    }
  //
  //    private boolean inRange(View view, int x, int y) {
  //        view.getLocationOnScreen(mLocation);
  //        return (mLocation[0] <= x
  //                && mLocation[1] <= y
  //                && mLocation[0] + view.getWidth() >= x
  //                && mLocation[1] + view.getHeight() >= y);
  //    }
  //
  //    @Override
  //    public void onAttached(View view) {
  ////        Toast.makeText(getContext(), "长按编辑控件", Toast.LENGTH_LONG).show();
  //    }
  //
  //    @Override
  //    public void onDetached(View view) {
  //        mTouchTarget = mTarget = null;
  //    }
  //}
  