view game/IDMWidget.java @ 57:1435e9d7fd1a

Bugfix.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 23 Feb 2011 20:36:07 +0200
parents f81f76458b92
children b586ce4f6d97
line wrap: on
line source

/*
 * Ristipolku IDM base widget
 * (C) Copyright 2011 Matti 'ccr' Hämäläinen <ccr@tnsp.org>
 */
package game;

import java.awt.*;
import java.awt.event.*;


public class IDMWidget
{
    IDMPoint pos, scale;
    int keyCode;
    
    public IDMWidget()
    {
        keyCode = -1;
        this.scale = new IDMPoint(1, 1);
        this.pos = new IDMPoint(0, 0);
    }

    public IDMWidget(IDMPoint pos)
    {
        this();
        this.pos = pos;
    }

    public void move(IDMPoint pos)
    {
        this.pos = pos;
    }

    public void move(float x, float y)
    {
        this.pos = new IDMPoint(x, y);
    }

    public void setScale(IDMPoint scale)
    {
        this.scale = scale;
    }
    
    public void setScale(float x, float y)
    {
        this.setScale(new IDMPoint(x, y));
    }

    public int getScaledX()
    {
        return (int) (this.pos.x * this.scale.x);
    }

    public int getScaledY()
    {
        return (int) (this.pos.y * this.scale.y);
    }

    public void paint(Graphics2D g)
    {
    }
    
    public boolean contains(Point pos)
    {
        return false;
    }
    
    public void mousePressed(MouseEvent e)
    {
    }

    public void mouseReleased(MouseEvent e)
    {
        if (contains(e.getPoint()))
            clicked();
    }

    public void mouseEntered(MouseEvent e)
    {
    }

    public void mouseExited(MouseEvent e)
    {
    }

    // Generic key handler
    public boolean keyPressed(KeyEvent e)
    {
        if (e.getKeyCode() == keyCode)
        {
            clicked();
            return true;
        }
        else
            return false;
    }
    
    public void clicked()
    {
    }
}