@Override public boolean setItemTop(int id, int y) { // TODO Auto-generated method stub if (info != null) { if (y == info.getnStartY()) { return true; } if (y < 0 || y > SKSceneManage.getInstance().getSceneInfo().getnSceneHeight()) { return false; } int hen = y - info.getnStartY(); info.setnStartY(y); int t = items.rect.top; items.rect.top = y; items.rect.bottom = y - t + items.rect.bottom; items.mMoveRect = new Rect(); if (info.getfPointList() != null) { for (int i = 0; i < info.getfPointList().size(); i++) { PointF p = info.getfPointList().get(i); p.y = p.y + hen; } } SKSceneManage.getInstance().onRefresh(items); } else { return false; } return true; }
@Override public boolean setItemLeft(int id, int x) { // TODO Auto-generated method stub if (info != null) { if (x == info.getnStartX()) { return true; } if (x < 0 || x > SKSceneManage.getInstance().getSceneInfo().getnSceneWidth()) { return false; } int len = x - info.getnStartX(); info.setnStartX(x); int l = items.rect.left; items.rect.left = x; items.rect.right = x - l + items.rect.right; items.mMoveRect = new Rect(); if (info.getfPointList() != null) { for (int i = 0; i < info.getfPointList().size(); i++) { PointF p = info.getfPointList().get(i); p.x = p.x + len; } } SKSceneManage.getInstance().onRefresh(items); } else { return false; } return true; }
public SKFreeLine(int itemId, int sceneId, LineInfo info) { // TODO Auto-generated constructor stub this.sceneId = sceneId; this.itemId = itemId; pointList = new Vector<Point>(); isShowFlag = true; showByAddr = false; showByUser = false; mPaint = new Paint(); items = new SKItems(); this.info = info; if (info != null) { mRect = new Rect( info.getnStartX(), info.getnStartY(), info.getnStartX() + info.getnWidth(), info.getnStartY() + info.getnHeight()); items.itemId = this.itemId; items.nCollidindId = info.getnCollidindId(); items.nZvalue = info.getnZvalue(); items.sceneId = sceneId; items.rect = mRect; items.mGraphics = this; mFreeLineItem = new FreeLineItem(info.getfPointList(), info.geteLineArrow()); mFreeLineItem.setAlpha(info.getnAlpha()); mFreeLineItem.setEndArrowType(info.geteLineArrow()); mFreeLineItem.setLineColor(info.getnLineColor()); mFreeLineItem.setLineType(info.geteLineType()); mFreeLineItem.setLineWidth(info.getnLineWidth()); mFreeLineItem.setEndPointType(info.getEndPointType()); if (null != info.getShowInfo()) { if (-1 != info.getShowInfo().getnAddrId() && info.getShowInfo().isbShowByAddr()) { showByAddr = true; } if (info.getShowInfo().isbShowByUser()) { showByUser = true; } } registAddr(); } }