package com.akjava.gwt.html5.client.speechsynthesis;
import com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisBoundaryListener;
import com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisEndListener;
import com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisErrorListener;
import com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisMarkListener;
import com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisPauseListener;
import com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisResumeListener;
import com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisStartListener;
import com.google.gwt.core.client.JavaScriptObject;
//TODO support event
public class SpeechSynthesisUtterance extends JavaScriptObject{
protected SpeechSynthesisUtterance(){}
public static final native SpeechSynthesisUtterance create()/*-{
return new $wnd.SpeechSynthesisUtterance();
}-*/;
public static final native SpeechSynthesisUtterance create(String text)/*-{
return new $wnd.SpeechSynthesisUtterance(text);
}-*/;
public final native void setText(String text)/*-{
this.text=text;
}-*/;
public final native void setLang(String lang)/*-{
this.lang=lang;
}-*/;
public final native void setVoiceURI(String voiceURI)/*-{
this.voiceURI=voiceURI;
}-*/;
public final native void setVolume(double volume)/*-{
this.volume=volume;
}-*/;
public final native void setRate(double rate)/*-{
this.rate=rate;
}-*/;
public final native void setPitch(double pitch)/*-{
this.pitch=pitch;
}-*/;
public final native void setVoice(Voice voice)/*-{
this.voice=voice;
}-*/;
public final native void setOnEnd(SpeechSynthesisEndListener listener)/*-{
this.onend=function (event) {
listener.@com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisEndListener::onEnd(Lcom/akjava/gwt/html5/client/speechsynthesis/SpeechSynthesisEvent;)(event);
};
}-*/;
public final native void setOnStart(SpeechSynthesisStartListener listener)/*-{
this.onstart=function (event) {
listener.@com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisStartListener::onStart(Lcom/akjava/gwt/html5/client/speechsynthesis/SpeechSynthesisEvent;)(event);
};
}-*/;
public final native void setOnBoundary(SpeechSynthesisBoundaryListener listener)/*-{
this.onboundary=function (event) {
listener.@com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisBoundaryListener::onBoundary(Lcom/akjava/gwt/html5/client/speechsynthesis/SpeechSynthesisEvent;)(event);
};
}-*/;
public final native void setOnError(SpeechSynthesisErrorListener listener)/*-{
this.onerror=function (event) {
listener.@com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisErrorListener::onError(Lcom/akjava/gwt/html5/client/speechsynthesis/SpeechSynthesisEvent;)(event);
};
}-*/;
public final native void setOnMark(SpeechSynthesisMarkListener listener)/*-{
this.onmark=function (event) {
listener.@com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisMarkListener::onMark(Lcom/akjava/gwt/html5/client/speechsynthesis/SpeechSynthesisEvent;)(event);
};
}-*/;
public final native void setOnPause(SpeechSynthesisPauseListener listener)/*-{
this.onpause=function (event) {
listener.@com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisPauseListener::onPause(Lcom/akjava/gwt/html5/client/speechsynthesis/SpeechSynthesisEvent;)(event);
};
}-*/;
public final native void setOnResume(SpeechSynthesisResumeListener listener)/*-{
this.onresume=function (event) {
listener.@com.akjava.gwt.html5.client.speechsynthesis.listeners.SpeechSynthesisResumeListener::onResume(Lcom/akjava/gwt/html5/client/speechsynthesis/SpeechSynthesisEvent;)(event);
};
}-*/;
}