Skip to content

Commit 0e1a998

Browse files
author
Seren
committed
Initial Checkin
1 parent add48f5 commit 0e1a998

File tree

14 files changed

+18159
-0
lines changed

14 files changed

+18159
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module rename-to='processing'>
3+
<inherits name='com.google.gwt.user.User'/>
4+
<source path='client'/>
5+
<script src="processing.js"></script>
6+
</module>
7+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.processingjs.client;
2+
3+
import com.google.gwt.user.client.Element;
4+
5+
public class CanvasElement extends Element {
6+
7+
protected CanvasElement()
8+
{
9+
super();
10+
}
11+
}
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
package com.processingjs.client;
2+
3+
import com.google.gwt.http.client.Request;
4+
import com.google.gwt.http.client.RequestBuilder;
5+
import com.google.gwt.http.client.RequestCallback;
6+
import com.google.gwt.http.client.RequestException;
7+
import com.google.gwt.http.client.Response;
8+
import com.google.gwt.resources.client.ExternalTextResource;
9+
import com.google.gwt.resources.client.ResourceCallback;
10+
import com.google.gwt.resources.client.ResourceException;
11+
import com.google.gwt.resources.client.TextResource;
12+
import com.google.gwt.user.client.DOM;
13+
import com.google.gwt.user.client.Element;
14+
import com.google.gwt.user.client.ui.Widget;
15+
16+
17+
public class Processing <I extends ProcessingInstance> extends Widget {
18+
19+
20+
protected String url;
21+
protected I p_instance;
22+
protected boolean isLoaded = false;
23+
24+
public Processing() {
25+
super();
26+
Element elem = createElement();
27+
setElement(createElement());
28+
elem.setId(DOM.createUniqueId());
29+
}
30+
31+
32+
33+
protected native CanvasElement createElement() /*-{
34+
return $doc.createElement("canvas");
35+
}-*/;
36+
37+
38+
public void loadFromUrl(String url,final Runnable onLoad) throws RequestException
39+
{
40+
this.url = url;
41+
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
42+
builder.setCallback(new RequestCallback() {
43+
44+
@Override
45+
public void onResponseReceived(Request request, Response response) {
46+
load(response.getText(),onLoad);
47+
}
48+
49+
@Override
50+
public void onError(Request request, Throwable exception) {
51+
52+
}
53+
});
54+
55+
builder.send();
56+
}
57+
58+
public void load(ExternalTextResource code ,final Runnable onLoad) {
59+
try
60+
{
61+
code.getText(new ResourceCallback<TextResource>() {
62+
@Override
63+
public void onSuccess(TextResource resource) {
64+
load(resource.getText(),onLoad);
65+
}
66+
67+
@Override
68+
public void onError(ResourceException e) {
69+
}
70+
});
71+
}
72+
catch (Exception e) {}
73+
}
74+
75+
public void load(String code,final Runnable onLoad)
76+
{
77+
p_instance = init(code,getElement());
78+
isLoaded = true;
79+
if (onLoad != null)
80+
onLoad.run();
81+
}
82+
83+
public I getInstance()
84+
{
85+
return p_instance;
86+
}
87+
88+
public boolean isLoaded()
89+
{
90+
return isLoaded;
91+
}
92+
93+
protected native I init(String programm,Element elem) /*-{
94+
95+
instance = new $wnd.Processing(elem,programm);
96+
$wnd.Processing.addInstance(instance);
97+
return instance;
98+
}-*/;
99+
}
100+
101+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.processingjs.client;
2+
3+
import com.google.gwt.core.client.JavaScriptObject;
4+
5+
public abstract class ProcessingInstance extends JavaScriptObject{
6+
7+
protected ProcessingInstance() {}
8+
9+
}

src/com/processingjs/public/processing.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module rename-to='processing'>
3+
<inherits name='com.google.gwt.user.User'/>
4+
<source path='client'/>
5+
<script src="processing.js"></script>
6+
</module>
7+
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)