@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawColor(backgroundColor); if (colorWheel != null) canvas.drawBitmap(colorWheel, 0, 0, null); if (currentColorCircle != null) { float maxRadius = canvas.getWidth() / 2f - STROKE_RATIO * (1f + ColorWheelRenderer.GAP_PERCENTAGE); float size = maxRadius / density / 2; colorWheelFill.setColor( Color.HSVToColor(currentColorCircle.getHsvWithLightness(this.lightness))); colorWheelFill.setAlpha((int) (alpha * 0xff)); canvas.drawCircle( currentColorCircle.getX(), currentColorCircle.getY(), size * STROKE_RATIO, selectorStroke1); canvas.drawCircle( currentColorCircle.getX(), currentColorCircle.getY(), size * (1 + (STROKE_RATIO - 1) / 2), selectorStroke2); canvas.drawCircle( currentColorCircle.getX(), currentColorCircle.getY(), size, alphaPatternPaint); canvas.drawCircle(currentColorCircle.getX(), currentColorCircle.getY(), size, colorWheelFill); } }
public void setLightness(float lightness) { this.lightness = lightness; this.initialColor = Color.HSVToColor( Utils.alphaValueAsInt(this.alpha), currentColorCircle.getHsvWithLightness(lightness)); if (this.colorEdit != null) this.colorEdit.setText("#" + Integer.toHexString(this.initialColor).toUpperCase()); if (this.alphaSlider != null && this.initialColor != null) this.alphaSlider.setColor(this.initialColor); updateColorWheel(); invalidate(); }
public int getSelectedColor() { int color = 0; if (currentColorCircle != null) color = Color.HSVToColor(currentColorCircle.getHsvWithLightness(this.lightness)); return Utils.adjustAlpha(this.alpha, color); }