Color to AColor
svn: r6892
This commit is contained in:
parent
e4f5dfa8ce
commit
aa18a7498a
|
@ -6,16 +6,16 @@ class SW extends World {
|
|||
int x = 50;
|
||||
int y;
|
||||
int low;
|
||||
Color c;
|
||||
Color white = new White();
|
||||
AColor c;
|
||||
AColor white = new White();
|
||||
|
||||
SW(int y, int low, Color c) { this.y = y; this.low = low; this.c = c; }
|
||||
SW(int y, int low, AColor c) { this.y = y; this.low = low; this.c = c; }
|
||||
|
||||
boolean go() { return this.bigBang(100,100,.1); }
|
||||
|
||||
World onTick() {
|
||||
if (y >= low)
|
||||
return endOfWorld();
|
||||
return endOfWorld("the end");
|
||||
else
|
||||
return new SW(this.y+1,this.low,this.c);
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ import geometry.*;
|
|||
class SW extends World {
|
||||
int x = 50;
|
||||
int y;
|
||||
Color red = new Red();
|
||||
Color white = new White();
|
||||
AColor red = new Red();
|
||||
AColor white = new White();
|
||||
|
||||
SW(int v) { y = v; }
|
||||
|
||||
|
@ -21,7 +21,7 @@ class SW extends World {
|
|||
|
||||
World onKeyEvent(String ke) {
|
||||
if (ke.equals("s"))
|
||||
return this.endOfWorld();
|
||||
return this.endOfWorld("the end");
|
||||
else if (ke.equals("*"))
|
||||
return new SW(99);
|
||||
else
|
||||
|
|
3
collects/htdch/colors/AColor.java
Normal file
3
collects/htdch/colors/AColor.java
Normal file
|
@ -0,0 +1,3 @@
|
|||
package colors;
|
||||
|
||||
public abstract class AColor { }
|
|
@ -1,3 +1,3 @@
|
|||
package colors;
|
||||
|
||||
public class Black extends Color { }
|
||||
public class Black extends AColor { }
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
package colors;
|
||||
|
||||
public class Blue extends Color { }
|
||||
public class Blue extends AColor { }
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
package colors;
|
||||
|
||||
public abstract class Color { }
|
|
@ -1,3 +1,3 @@
|
|||
package colors;
|
||||
|
||||
public class Green extends Color { }
|
||||
public class Green extends AColor { }
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
package colors;
|
||||
|
||||
public class Red extends Color { }
|
||||
public class Red extends AColor { }
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
package colors;
|
||||
|
||||
public class White extends Color { }
|
||||
public class White extends AColor { }
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
package colors;
|
||||
|
||||
public class Yellow extends Color { }
|
||||
public class Yellow extends AColor { }
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
(compile-java 'file 'file 'full
|
||||
(build-path draw-path file)
|
||||
#f #f)))))
|
||||
(javac "Color.java")
|
||||
(javac "AColor.java")
|
||||
(javac "Red.java")
|
||||
(javac "White.java")
|
||||
(javac "Blue.java")
|
||||
|
|
|
@ -34,13 +34,13 @@ public class Canvas {
|
|||
|
||||
public native boolean xshow();
|
||||
public native boolean xclose();
|
||||
public native boolean drawCircle(Posn p, int r, Color c);
|
||||
public native boolean drawDisk(Posn p, int r, Color c);
|
||||
public native boolean drawRect(Posn p, int width, int height, Color c);
|
||||
public native boolean drawLine(Posn p0, Posn p1, Color c);
|
||||
public native boolean drawCircle(Posn p, int r, AColor c);
|
||||
public native boolean drawDisk(Posn p, int r, AColor c);
|
||||
public native boolean drawRect(Posn p, int width, int height, AColor c);
|
||||
public native boolean drawLine(Posn p0, Posn p1, AColor c);
|
||||
public native boolean drawString(Posn p, String s);
|
||||
public native boolean clearCircle(Posn p, int r, Color c);
|
||||
public native boolean clearDisk(Posn p, int r, Color c);
|
||||
public native boolean clearRect(Posn p, int width, int height, Color c);
|
||||
public native boolean clearLine(Posn p0, Posn p1, Color c);
|
||||
public native boolean clearCircle(Posn p, int r, AColor c);
|
||||
public native boolean clearDisk(Posn p, int r, AColor c);
|
||||
public native boolean clearRect(Posn p, int width, int height, AColor c);
|
||||
public native boolean clearLine(Posn p0, Posn p1, AColor c);
|
||||
}
|
||||
|
|
|
@ -21,15 +21,15 @@
|
|||
xclose-native
|
||||
stop-native
|
||||
copy-native
|
||||
drawCircle-geometry.Posn-int-colors.Color-native
|
||||
drawDisk-geometry.Posn-int-colors.Color-native
|
||||
drawRect-geometry.Posn-int-int-colors.Color-native
|
||||
drawLine-geometry.Posn-geometry.Posn-colors.Color-native
|
||||
drawCircle-geometry.Posn-int-colors.AColor-native
|
||||
drawDisk-geometry.Posn-int-colors.AColor-native
|
||||
drawRect-geometry.Posn-int-int-colors.AColor-native
|
||||
drawLine-geometry.Posn-geometry.Posn-colors.AColor-native
|
||||
drawString-geometry.Posn-java.lang.String-native
|
||||
clearCircle-geometry.Posn-int-colors.Color-native
|
||||
clearDisk-geometry.Posn-int-colors.Color-native
|
||||
clearRect-geometry.Posn-int-int-colors.Color-native
|
||||
clearLine-geometry.Posn-geometry.Posn-colors.Color-native))
|
||||
clearCircle-geometry.Posn-int-colors.AColor-native
|
||||
clearDisk-geometry.Posn-int-colors.AColor-native
|
||||
clearRect-geometry.Posn-int-int-colors.AColor-native
|
||||
clearLine-geometry.Posn-geometry.Posn-colors.AColor-native))
|
||||
|
||||
(define-signature support^ (void-or-true imperative))
|
||||
|
||||
|
@ -120,23 +120,23 @@
|
|||
(define (copy-native this accs gets privates)
|
||||
(wrap-start-check ([hash-table-get privates 'copy])))
|
||||
|
||||
(define (drawCircle-geometry.Posn-int-colors.Color-native this accs gets privates posn r c)
|
||||
(define (drawCircle-geometry.Posn-int-colors.AColor-native this accs gets privates posn r c)
|
||||
(wrap-start-check
|
||||
(check-arg r "drawCircle(Posn, int, Color)" "second")
|
||||
(check-arg r "drawCircle(Posn, int, AColor)" "second")
|
||||
([hash-table-get privates '%draw-circle] (build-posn posn) r (color->symbol c))))
|
||||
|
||||
(define (drawDisk-geometry.Posn-int-colors.Color-native this accs gets privates posn r c)
|
||||
(define (drawDisk-geometry.Posn-int-colors.AColor-native this accs gets privates posn r c)
|
||||
(wrap-start-check
|
||||
(check-arg r "drawDisk(Posn, int, Color)" "second")
|
||||
(check-arg r "drawDisk(Posn, int, AColor)" "second")
|
||||
([hash-table-get privates '%draw-solid-disk] (build-posn posn) r (color->symbol c))))
|
||||
|
||||
(define (drawRect-geometry.Posn-int-int-colors.Color-native this accs gets privates posn w h c)
|
||||
(define (drawRect-geometry.Posn-int-int-colors.AColor-native this accs gets privates posn w h c)
|
||||
(wrap-start-check
|
||||
(check-arg w "drawRect(Posn, int, int, Color)" "second")
|
||||
(check-arg h "drawRect(Posn, int, int, Color)" "third")
|
||||
(check-arg w "drawRect(Posn, int, int, AColor)" "second")
|
||||
(check-arg h "drawRect(Posn, int, int, AColor)" "third")
|
||||
([hash-table-get privates '%draw-solid-rect] (build-posn posn) w h (color->symbol c))))
|
||||
|
||||
(define (drawLine-geometry.Posn-geometry.Posn-colors.Color-native this accs gets privates p0 p1 c)
|
||||
(define (drawLine-geometry.Posn-geometry.Posn-colors.AColor-native this accs gets privates p0 p1 c)
|
||||
(wrap-start-check
|
||||
([hash-table-get privates '%draw-solid-line] (build-posn p0) (build-posn p1) (color->symbol c))))
|
||||
|
||||
|
@ -146,23 +146,23 @@
|
|||
(wrap-start-check
|
||||
([hash-table-get privates '%draw-string] (build-posn p) s*)))
|
||||
|
||||
(define (clearCircle-geometry.Posn-int-colors.Color-native this accs gets privates p r c)
|
||||
(define (clearCircle-geometry.Posn-int-colors.AColor-native this accs gets privates p r c)
|
||||
(wrap-start-check
|
||||
(check-arg r "clearCircle(Posn, int, Color)" "second")
|
||||
(check-arg r "clearCircle(Posn, int, AColor)" "second")
|
||||
([hash-table-get privates '%clear-circle] (build-posn p) r (color->symbol c))))
|
||||
|
||||
(define (clearDisk-geometry.Posn-int-colors.Color-native this accs gets privates p r c)
|
||||
(define (clearDisk-geometry.Posn-int-colors.AColor-native this accs gets privates p r c)
|
||||
(wrap-start-check
|
||||
(check-arg r "clearDisk(Posn, int, Color)" "second")
|
||||
(check-arg r "clearDisk(Posn, int, AColor)" "second")
|
||||
([hash-table-get privates '%clear-solid-disk] (build-posn p) r (color->symbol c))))
|
||||
|
||||
(define (clearRect-geometry.Posn-int-int-colors.Color-native this accs gets privates p w h c)
|
||||
(define (clearRect-geometry.Posn-int-int-colors.AColor-native this accs gets privates p w h c)
|
||||
(wrap-start-check
|
||||
(check-arg w "clearRect(Posn, int, int, Color)" "second")
|
||||
(check-arg h "clearRect(Posn, int, int, Color)" "third")
|
||||
(check-arg w "clearRect(Posn, int, int, AColor)" "second")
|
||||
(check-arg h "clearRect(Posn, int, int, AColor)" "third")
|
||||
([hash-table-get privates '%clear-solid-rect] (build-posn p) w h (color->symbol c))))
|
||||
|
||||
(define (clearLine-geometry.Posn-geometry.Posn-colors.Color-native this accs gets privates p0 p1 c)
|
||||
(define (clearLine-geometry.Posn-geometry.Posn-colors.AColor-native this accs gets privates p0 p1 c)
|
||||
(wrap-start-check
|
||||
([hash-table-get privates '%clear-solid-line] (build-posn p0) (build-posn p1) (color->symbol c))))
|
||||
)
|
||||
|
@ -209,7 +209,8 @@
|
|||
(define (endOfWorld-java.lang.String-native this accs gets privates s)
|
||||
(define theCanvas ((hash-table-get accs 'theCanvas) this))
|
||||
(define _ (check-string s "endOfWorld(String)" "first"))
|
||||
(message-box "end of world" (send s get-mzscheme-string))
|
||||
(parameterize ([current-eventspace (make-eventspace)])
|
||||
(message-box "end of world" (send s get-mzscheme-string)))
|
||||
(send theCanvas stop)
|
||||
this))
|
||||
)
|
||||
|
|
|
@ -35,13 +35,13 @@ public class Canvas {
|
|||
|
||||
public native void xshow();
|
||||
public native void xclose();
|
||||
public native void drawCircle(Posn p, int r, Color c);
|
||||
public native void drawDisk(Posn p, int r, Color c);
|
||||
public native void drawRect(Posn p, int width, int height, Color c);
|
||||
public native void drawLine(Posn p0, Posn p1, Color c);
|
||||
public native void drawCircle(Posn p, int r, AColor c);
|
||||
public native void drawDisk(Posn p, int r, AColor c);
|
||||
public native void drawRect(Posn p, int width, int height, AColor c);
|
||||
public native void drawLine(Posn p0, Posn p1, AColor c);
|
||||
public native void drawString(Posn p, String s);
|
||||
public native void clearCircle(Posn p, int r, Color c);
|
||||
public native void clearDisk(Posn p, int r, Color c);
|
||||
public native void clearRect(Posn p, int width, int height, Color c);
|
||||
public native void clearLine(Posn p0, Posn p1, Color c);
|
||||
public native void clearCircle(Posn p, int r, AColor c);
|
||||
public native void clearDisk(Posn p, int r, AColor c);
|
||||
public native void clearRect(Posn p, int width, int height, AColor c);
|
||||
public native void clearLine(Posn p0, Posn p1, AColor c);
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
(javac "World.java")
|
||||
#|
|
||||
(javac "Posn.java")
|
||||
(javac "Color.java")
|
||||
(javac "AColor.java")
|
||||
(javac "Red.java")
|
||||
(javac "White.java")
|
||||
(javac "Blue.java")
|
||||
|
|
Loading…
Reference in New Issue
Block a user