1558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch// found in the LICENSE file. 4558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 5558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochpackage org.chromium.ui; 6558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochimport android.content.Context; 7558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochimport android.graphics.Canvas; 8558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochimport android.graphics.Color; 9558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochimport android.graphics.Paint; 10558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochimport android.graphics.Paint.Style; 11558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochimport android.util.AttributeSet; 12558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochimport android.widget.Button; 13558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 14558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch/** 15558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch * Simple class that draws a white border around a button, purely for a UI change. 16558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch */ 17558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochpublic class ColorPickerMoreButton extends Button { 18558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 19558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch // A cache for the paint used to draw the border, so it doesn't have to be created in 20558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch // every onDraw() call. 21558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch private Paint mBorderPaint; 22558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 23558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch public ColorPickerMoreButton(Context context, AttributeSet attrs) { 24558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch super(context, attrs); 25558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch init(); 26558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch } 27558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 28558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch public ColorPickerMoreButton(Context context, AttributeSet attrs, int defStyle) { 29558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch super(context, attrs, defStyle); 30558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch init(); 31558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch } 32558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 33558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch /** 34558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch * Sets up the paint to use for drawing the border. 35558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch */ 36558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch public void init() { 37558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch mBorderPaint = new Paint(); 38558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch mBorderPaint.setStyle(Paint.Style.STROKE); 39558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch mBorderPaint.setColor(Color.WHITE); 40558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch // Set the width to one pixel. 41558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch mBorderPaint.setStrokeWidth(1.0f); 42558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch // And make sure the border doesn't bleed into the outside. 43558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch mBorderPaint.setAntiAlias(false); 44558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch } 45558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 46558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch /** 47558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch * Draws the border around the edge of the button. 48558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch * 49558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch * @param canvas The canvas to draw on. 50558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch */ 51558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch @Override 52558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch protected void onDraw(Canvas canvas) { 53558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch canvas.drawRect(0.5f, 0.5f, getWidth() - 1.5f, getHeight() - 1.5f, mBorderPaint); 54558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch super.onDraw(canvas); 55558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch } 56558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch} 57