Пример #1
0
  public void renderScreen() {
    if (mMovableMaskQueue.size() == 0) {
      if (mMaskType == MOVABLE_MASK) {
        mScreenView.removeAllViews();
      }
      return;
    }

    mScreenView.removeAllViews();
    Iterator<MovableMask> it = mMovableMaskQueue.iterator();
    while (it.hasNext()) {
      MovableMask mask = it.next();
      Rect rect = mask.getRect();
      mScreenView.addView(mask);
      mask.layout(rect.left, rect.top, rect.right, rect.bottom);
    }
  }
Пример #2
0
  /*
   * Add one static mask to screen
   *
   * @return true success false if fail
   */
  public boolean addStaticMask(StaticMask mask) {

    if (mask == null) {
      Utils.log(TAG, "mask is null,return");
      return false;
    }

    if (mStaticMaskQueue.size() == MAX_STATIC_MASKS) {
      StaticMask removeMask = mStaticMaskQueue.remove();
      mScreenView.removeView(removeMask);
    }
    // TODO add a mask
    Utils.log(TAG, "add a static mask");
    mStaticMaskQueue.add(mask);
    mScreenView.addView(mask);
    Rect rect = mask.getRect();
    mask.layout(rect.left, rect.top, rect.right, rect.bottom);
    return true;
  }
Пример #3
0
  public boolean addMovableMask(MovableMask mask) {
    if (mask == null) {
      Utils.log(TAG, "mask is null,return");
      return false;
    }

    if (mMovableMaskQueue.size() == MAX_MOVABLE_MASKS) {
      mMovableMaskQueue.remove();
    }

    Utils.log(TAG, "add a movable mask");
    mMovableMaskQueue.add(mask);
    mScreenView.addView(mask);
    // TODO
    Message msg = new Message();
    msg.what = MSG_KILL_MASK;
    msg.obj = mask;
    mHandler.sendMessageDelayed(msg, mask.getLife());
    Rect rect = mask.getRect();
    mask.layout(rect.left, rect.top, rect.right, rect.bottom);
    return true;
  }