package com.akjava.gwt.hangout.test2.client;
import com.akjava.gwt.lib.hangouts.client.av.effects.Effects;
import com.akjava.gwt.lib.hangouts.client.av.effects.Effects.ScaleReference;
import com.akjava.gwt.lib.hangouts.client.av.effects.ImageResource;
import com.akjava.gwt.lib.hangouts.client.av.effects.Overlay;
import com.akjava.gwt.lib.hangouts.client.av.effects.OverlayParameter;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
public class OverlayTest extends VerticalPanel{
public OverlayTest(){
HorizontalPanel inputs=new HorizontalPanel();
final TextBox url=new TextBox();
add(url);
add(inputs);
url.setText("http://www.xucker.jpn.org/test/resources/color.png");
url.setWidth("300px");
//position
HorizontalPanel positions=new HorizontalPanel();
positions.add(new Label("Pos-X:"));
add(positions);
final ListBox posX=new ListBox();
posX.addItem("-1");
posX.addItem("-0.5");
posX.addItem("0");
posX.addItem("0.5");
posX.addItem("1");
posX.setSelectedIndex(2);
positions.add(posX);
positions.add(new Label("Pos-Y:"));
final ListBox posY=new ListBox();
posY.addItem("-1");
posY.addItem("-0.5");
posY.addItem("0");
posY.addItem("0.5");
posY.addItem("1");
posY.setSelectedIndex(2);
positions.add(posY);
//scale,reference
HorizontalPanel scales=new HorizontalPanel();
add(scales);
scales.add(new Label("Scale:"));
final ListBox scale=new ListBox();
scale.addItem("0.1");
scale.addItem("0.5");
scale.addItem("1");
scale.addItem("2");
scale.setSelectedIndex(2);
scales.add(scale);
final ListBox reference=new ListBox();
reference.addItem(ScaleReference.WIDTH);
reference.addItem(ScaleReference.HEIGHT);
reference.setSelectedIndex(0);
scales.add(reference);
//rotation
//TODO change
Button set=new Button("Overlay");
inputs.add(set);
set.addClickHandler(new ClickHandler() {
private Overlay overlay;
@Override
public void onClick(ClickEvent event) {
ImageResource imageR=Effects.creatImageResource(url.getText());
double x=Double.parseDouble(posX.getValue(posX.getSelectedIndex()));
double y=Double.parseDouble(posY.getValue(posY.getSelectedIndex()));
double sc=Double.parseDouble(scale.getValue(scale.getSelectedIndex()));
String ref=reference.getValue(reference.getSelectedIndex());
OverlayParameter param=OverlayParameter.create().position(x, y).scale(sc, ref);
Test2.log("param:"+param);
if(overlay!=null){
overlay.setVisible(false);
}
overlay = imageR.createOverlay(param);
overlay.setVisible(true);
Test2.log(overlay.getScale());
}
});
}
}