/*
* Copyright (c) 2012. HappyDroids LLC, All rights reserved.
*/
package com.happydroids.droidtowers.designer;
import com.badlogic.gdx.graphics.g2d.NinePatch;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Touchable;
import com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup;
import com.happydroids.droidtowers.TowerAssetManager;
import com.happydroids.droidtowers.designer.input.CanvasTouchListener;
public class Canvas extends WidgetGroup {
private final NinePatch background;
private final CanvasTouchListener touchListener;
public Canvas() {
background = TowerAssetManager.ninePatch(TowerAssetManager.WHITE_SWATCH);
setTouchable(Touchable.enabled);
touchListener = new CanvasTouchListener(this);
addListener(touchListener);
}
public void add(Actor actor) {
addActor(actor);
actor.setTouchable(Touchable.disabled);
}
@Override public float getPrefWidth() {
return 256;
}
@Override public float getPrefHeight() {
return 256;
}
@Override public void draw(SpriteBatch batch, float parentAlpha) {
batch.setColor(getColor());
float scale = getScaleX();
background.draw(batch, getX() * scale, getY() * scale, getWidth() * scale, getHeight() * scale);
super.draw(batch, parentAlpha);
}
public CanvasTouchListener getTouchListener() {
return touchListener;
}
}