Mercurial > hg > ristipolku
view game/IDMContainer.java @ 73:8c81a3e73a2b dev-0_5
Added custom point type for IDM widgets.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 02 Mar 2011 20:14:16 +0200 |
parents | f81f76458b92 |
children | b586ce4f6d97 |
line wrap: on
line source
/* * Ristipolku IDM widget container * (C) Copyright 2011 Matti 'ccr' Hämäläinen <ccr@tnsp.org> */ package game; import java.awt.*; import java.awt.event.*; import java.util.*; public class IDMContainer extends IDMWidget { ArrayList<IDMWidget> widgets; public IDMContainer() { widgets = new ArrayList<IDMWidget>(); } public void add(IDMWidget widget) { widgets.add(widget); } public void paint(Graphics2D g) { for (IDMWidget widget : widgets) widget.paint(g); } public void mousePressed(MouseEvent e) { for (IDMWidget widget : widgets) { if (widget.contains(e.getPoint())) widget.mousePressed(e); } } public void mouseReleased(MouseEvent e) { for (IDMWidget widget : widgets) { widget.mouseReleased(e); } } public void mouseExited(MouseEvent e) { for (IDMWidget widget : widgets) { widget.mouseExited(e); } } public void mouseEntered(MouseEvent e) { for (IDMWidget widget : widgets) { if (widget.contains(e.getPoint())) widget.mouseEntered(e); } } public boolean keyPressed(KeyEvent e) { for (IDMWidget widget : widgets) { if (widget.keyPressed(e)) return true; } return false; } public void setScale(IDMPoint scale) { for (IDMWidget widget : widgets) { widget.setScale(scale); } } }