Play-/Source/ui_android/java/com/virtualapplications/play/VirtualPadButton.java

59 lines
1.3 KiB
Java
Raw Permalink Normal View History

2015-05-16 23:07:24 -04:00
package com.virtualapplications.play;
import android.graphics.*;
import android.text.*;
2015-05-16 23:07:24 -04:00
class VirtualPadButton extends VirtualPadItem
2015-05-16 23:07:24 -04:00
{
2021-07-06 12:57:48 -04:00
private final int _value;
private final Bitmap _bitmap;
private final String _caption;
2015-05-16 23:07:24 -04:00
private boolean _pressed = false;
public VirtualPadButton(RectF bounds, int value, Bitmap bitmap, String caption)
2015-05-16 23:07:24 -04:00
{
super(bounds);
_value = value;
_bitmap = bitmap;
_caption = caption;
2015-05-16 23:07:24 -04:00
}
@Override
public void onPointerDown(float x, float y)
2015-05-16 23:07:24 -04:00
{
_pressed = true;
InputManager.setButtonState(_value, true);
super.onPointerDown(x, y);
2015-05-16 23:07:24 -04:00
}
@Override
public void onPointerUp()
2015-05-16 23:07:24 -04:00
{
_pressed = false;
InputManager.setButtonState(_value, false);
super.onPointerUp();
2015-05-16 23:07:24 -04:00
}
@Override
2015-05-16 23:07:24 -04:00
public void draw(Canvas canvas)
{
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
if(_pressed)
2015-05-16 23:07:24 -04:00
{
paint.setColorFilter(new LightingColorFilter(0xFFBBBBBB, 0x00000000));
2015-05-16 23:07:24 -04:00
}
canvas.drawBitmap(_bitmap, null, _bounds, paint);
if(!TextUtils.isEmpty(_caption))
{
paint.setColor(Color.WHITE);
paint.setTextAlign(Paint.Align.CENTER);
paint.setTextSize(40);
float textOffset = (paint.descent() + paint.ascent()) / 2;
canvas.drawText(_caption, _bounds.centerX(), _bounds.centerY() - textOffset, paint);
}
2015-05-16 23:07:24 -04:00
}
2021-07-06 12:57:48 -04:00
}