@Override
  public void draw(Canvas canvas) {
    final Drawable background = mBackground;
    if (background != null) {
      final int scrollX = mScrollX;
      final int scrollY = mScrollY;

      if (mBackgroundSizeChanged) {
        background.setBounds(0, 0, mRight - mLeft, mBottom - mTop);
        mBackgroundSizeChanged = false;
      }

      if ((scrollX | scrollY) == 0) {
        background.draw(canvas);
      } else {
        canvas.translate(scrollX, scrollY);
        background.draw(canvas);
        canvas.translate(-scrollX, -scrollY);
      }
    }
    // We enhance the shadow by drawing the shadow twice
    getPaint().setShadowLayer(SHADOW_LARGE_RADIUS, 0.0f, SHADOW_Y_OFFSET, SHADOW_LARGE_COLOUR);
    super.draw(canvas);
    canvas.save(Canvas.CLIP_SAVE_FLAG);
    canvas.clipRect(
        mScrollX,
        mScrollY + getExtendedPaddingTop(),
        mScrollX + getWidth(),
        mScrollY + getHeight(),
        Region.Op.INTERSECT);
    getPaint().setShadowLayer(SHADOW_SMALL_RADIUS, 0.0f, 0.0f, SHADOW_SMALL_COLOUR);
    super.draw(canvas);
    canvas.restore();
  }
  private void drawLocalityLabel(Canvas canvas) {
    TextView textView = new TextView(getContext());
    int width = this.width;
    int height = (int) (60);
    textView.layout(0, 0, width, height);

    switch (currentLocationID) {
      case 0:
        textView.setText("Current Locality: Room 340");
        break;
      case 1:
        textView.setText("Current Locality: Room 343");
        break;
      case 2:
        textView.setText("Current Locality: Room 344");
        break;
      case 3:
        textView.setText("Current Locality: Hallway");
        break;
    }
    textView.setBackgroundColor(Color.parseColor(borderColor));
    textView.setTextColor(Color.WHITE);
    textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 22);
    // textView.setTextAlignment(TEXT_ALIGNMENT_CENTER);
    textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
    Bitmap bitmapText = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas canvasText = new Canvas(bitmapText);
    textView.draw(canvasText);

    canvas.drawBitmap(bitmapText, 0, this.height - 160, null);
  }
  @Override
  public void draw(Canvas canvas) {
    if (!mCustomShadowsEnabled) {
      super.draw(canvas);
      return;
    }

    final Drawable background = mBackground;
    if (background != null) {
      final int scrollX = getScrollX();
      final int scrollY = getScrollY();

      if (mBackgroundSizeChanged) {
        background.setBounds(0, 0, getRight() - getLeft(), getBottom() - getTop());
        mBackgroundSizeChanged = false;
      }

      if ((scrollX | scrollY) == 0) {
        background.draw(canvas);
      } else {
        canvas.translate(scrollX, scrollY);
        background.draw(canvas);
        canvas.translate(-scrollX, -scrollY);
      }
    }

    // If text is transparent, don't draw any shadow
    if (getCurrentTextColor() == getResources().getColor(android.R.color.transparent)) {
      getPaint().clearShadowLayer();
      super.draw(canvas);
      return;
    }

    // We enhance the shadow by drawing the shadow twice
    getPaint().setShadowLayer(SHADOW_LARGE_RADIUS, 0.0f, SHADOW_Y_OFFSET, SHADOW_LARGE_COLOUR);
    super.draw(canvas);
    canvas.save(Canvas.CLIP_SAVE_FLAG);
    canvas.clipRect(
        getScrollX(),
        getScrollY() + getExtendedPaddingTop(),
        getScrollX() + getWidth(),
        getScrollY() + getHeight(),
        Region.Op.INTERSECT);
    getPaint().setShadowLayer(SHADOW_SMALL_RADIUS, 0.0f, 0.0f, SHADOW_SMALL_COLOUR);
    super.draw(canvas);
    canvas.restore();
  }
 @Override
 public void draw(Canvas canvas) {
   // TODO Auto-generated method stub
   canvas.setDrawFilter(pfd);
   canvas.drawCircle(
       getWidth() / 2, getHeight() / 2, Math.max(getWidth(), getHeight()) / 2, mBgPaint);
   super.draw(canvas);
 }
Esempio n. 5
0
 @Override
 public void draw(Canvas canvas) {
   if (topDown) {
     canvas.translate(getHeight(), 0);
     canvas.rotate(90);
   } else {
     canvas.translate(0, getWidth());
     canvas.rotate(-90);
   }
   canvas.clipRect(0, 0, getWidth(), getHeight(), android.graphics.Region.Op.REPLACE);
   super.draw(canvas);
 }
Esempio n. 6
0
  @Override
  protected void onDraw(Canvas c, OpenStreetMapView osmv) {
    if (this.mLocation != null) {
      mT.setText(mDescr);
      mT.measure(0, 0);
      mT.layout(0, 0, mT.getMeasuredWidth(), mT.getMeasuredHeight());

      final OpenStreetMapViewProjection pj = osmv.getProjection();
      final Point screenCoords = new Point();
      pj.toPixels(this.mLocation, screenCoords);

      c.save();
      c.rotate(osmv.getBearing(), screenCoords.x, screenCoords.y);
      c.translate(screenCoords.x - 12, screenCoords.y - mT.getMeasuredHeight() + 2);
      mT.draw(c);
      c.restore();
    }
  }
Esempio n. 7
0
  @Override
  public void draw(Canvas canvas) {

    Layout layout = getLayout();

    RectF rectf = mrectf;

    int left = getCompoundPaddingLeft();
    int top = getExtendedPaddingTop();

    rectf.set(
        left + layout.getLineLeft(0) - mPaddingH,
        top + layout.getLineTop(0) - mPaddingV,
        Math.min(
            left + layout.getLineRight(0), getScrollX() + getWidth() - getCompoundPaddingRight()),
        top + layout.getLineBottom(0) + mPaddingV);
    canvas.drawRoundRect(rectf, mCornerRadius, mCornerRadius, mpaint);
    super.draw(canvas);
  }