public int getIndicatorColor() { return mPaint.getColor(); } }
public int getColor() { return paint.getColor(); }
@Override protected void onColorChange(int color) { final Paint paint = mPaint; if (paint != null && paint.getColor() != color) paint.setColor(color); }
private OvalPaintHistoryEvent(RectF oval, Paint paint) { this.oval = new RectF(oval); this.paint = new Paint(paint); this.paint.setColor(paint.getColor()); this.paint.setStrokeWidth(paint.getStrokeWidth()); } }
private LinePaintHistoryEvent( float startX, float startY, float stopX, float stopY, Paint paint) { this.paint = new Paint(paint); this.paint.setColor(paint.getColor()); this.paint.setStrokeWidth(paint.getStrokeWidth()); this.startX = startX; this.startY = startY; this.stopX = stopX; this.stopY = stopY; } }
@Override public void drawLeadingMargin(Canvas c, Paint p, int x, int dir, int top, int baseline, int bottom, CharSequence text, int start, int end, boolean first, Layout layout) { final Style style = p.getStyle(); final int color = p.getColor(); p.setStyle(FILL); p.setColor(this.color); c.drawRect(x, top, x + dir * 6, bottom, p); p.setStyle(style); p.setColor(color); } }
void setClippingColor(int clippingColor) { if (mCornerPaint.getColor() == clippingColor) { return; } mCornerPaint.setColor(clippingColor); mDirty = true; invalidateSelf(); }
private void drawGlyph(Path path, Paint paint, Canvas canvas) { if (paint.getColor() == Color.TRANSPARENT) { return; } if (paint.getStyle() == Paint.Style.STROKE && paint.getStrokeWidth() == 0) { return; } canvas.drawPath(path, paint); }
void setBackgroundColor(int backgroundColor) { if (mBackgroundPaint.getColor() == backgroundColor) { return; } mBackgroundPaint.setColor(backgroundColor); invalidateSelf(); }
private void drawCharacter(char[] character, Paint paint, Canvas canvas) { if (paint.getColor() == Color.TRANSPARENT) { return; } if (paint.getStyle() == Paint.Style.STROKE && paint.getStrokeWidth() == 0) { return; } canvas.drawText(character, 0, 1, 0, 0, paint); }
public void drawLeadingMargin(Canvas c, Paint p, int x, int dir, int top, int baseline, int bottom, CharSequence text, int start, int end, boolean first, Layout layout) { Paint.Style prevStyle = p.getStyle(); int prevColor = p.getColor(); p.setStyle(Paint.Style.FILL); p.setColor(lineColor); c.drawRect(x, top, x + dir * lineWidth, bottom, p); p.setStyle(prevStyle); p.setColor(prevColor); } }
@Override public void draw(Canvas canvas, Paint paint) { if (mRadius > 0) { canvas.drawCircle(mPaintX, mPaintY, mRadius, paint); } else if (mAlpha > 0) { setPaintAlpha(paint, mAlpha); canvas.drawColor(paint.getColor()); } }
private RectPaintHistoryEvent( float left, float top, float right, float bottom, Paint paint){ this.rect = new RectF(left, top, right, bottom); this.paint = new Paint(paint); this.paint.setColor(paint.getColor()); this.paint.setStrokeWidth(paint.getStrokeWidth()); this.paint.setTextSize(paint.getTextSize()); this.paint.setStyle(paint.getStyle()); this.left = left; this.top = top; this.right = right; this.bottom = bottom; } }
/** * Draws the provided path in filled mode with the provided color and alpha. * Special thanks to Angelo Suzuki (https://github.com/tinsukE) for this. * * @param c * @param filledPath * @param fillColor * @param fillAlpha */ protected void drawFilledPath(Canvas c, Path filledPath, int fillColor, int fillAlpha) { int color = (fillAlpha << 24) | (fillColor & 0xffffff); if (clipPathSupported()) { int save = c.save(); c.clipPath(filledPath); c.drawColor(color); c.restoreToCount(save); } else { // save Paint.Style previous = mRenderPaint.getStyle(); int previousColor = mRenderPaint.getColor(); // set mRenderPaint.setStyle(Paint.Style.FILL); mRenderPaint.setColor(color); c.drawPath(filledPath, mRenderPaint); // restore mRenderPaint.setColor(previousColor); mRenderPaint.setStyle(previous); } }
@Override protected boolean onStateChange(int[] state) { int newColor = mBorderColor.getColorForState(state, 0); if (mBorderPaint.getColor() != newColor) { mBorderPaint.setColor(newColor); return true; } else { return super.onStateChange(state); } }
@Override public void drawRect(float left, float top, float right, float bottom, Paint paint) { int color = paint.getColor(); for (int x = (int) left; x < right; x++) { for (int y = (int) top; y < bottom; y++) { setColor(color, x, y); } } }
@Test @Config(shadows = ShadowPaintForTests.class) public void testNativeMethodsAreDelegated() throws Exception { Paint paint = new Paint(); paint.setColor(1234); assertThat(paint.getColor()).isEqualTo(1234); }
@Test public void testCtorWithPaint() { Paint paint = new Paint(); paint.setColor(Color.RED); paint.setAlpha(72); paint.setFlags(2345); Paint other = new Paint(paint); assertThat(other.getColor()).isEqualTo(Color.RED); assertThat(other.getAlpha()).isEqualTo(72); assertThat(other.getFlags()).isEqualTo(2345); }
@Test public void drawOval_shouldRecordOvalHistoryEvents() throws Exception { Canvas canvas = new Canvas(); RectF oval0 = new RectF(); RectF oval1 = new RectF(); Paint paint0 = new Paint(); paint0.setColor(Color.RED); Paint paint1 = new Paint(); paint1.setColor(Color.WHITE); canvas.drawOval(oval0, paint0); canvas.drawOval(oval1, paint1); ShadowCanvas shadowCanvas = shadowOf(canvas); assertThat(shadowCanvas.getDrawnOval(0).oval).isEqualTo(oval0); assertThat(shadowCanvas.getDrawnOval(0).paint.getColor()).isEqualTo(Color.RED); assertThat(shadowCanvas.getDrawnOval(1).oval).isEqualTo(oval1); assertThat(shadowCanvas.getDrawnOval(1).paint.getColor()).isEqualTo(Color.WHITE); }