tweaks for array functions and some notes

This commit is contained in:
benfry
2005-04-20 21:53:10 +00:00
parent 537d7e1a6c
commit 85bd68c6c9
2 changed files with 27 additions and 13 deletions
+20 -4
View File
@@ -3586,13 +3586,11 @@ public class PApplet extends Applet
}
public Object expand(Object array) {
static public Object expand(Object array) {
return expand(array, Array.getLength(array) << 1);
}
public Object expand(Object list, int newSize) {
System.out.println("using object expand");
static public Object expand(Object list, int newSize) {
Class type = list.getClass().getComponentType();
Object temp = Array.newInstance(type, newSize);
System.arraycopy(list, 0, temp, 0,
@@ -3626,6 +3624,10 @@ public class PApplet extends Applet
return expand(list, newSize);
}
static public Object contract(Object list, int newSize) {
return expand(list, newSize);
}
//
static public byte[] append(byte b[], byte value) {
@@ -3658,6 +3660,14 @@ public class PApplet extends Applet
return b;
}
/*
static public Object append(Object b, Object value) {
b = expand(b, b.length + 1);
b[b.length-1] = value;
return b;
}
*/
//
static public boolean[] shorten(boolean list[]) {
@@ -3684,6 +3694,12 @@ public class PApplet extends Applet
return contract(list, list.length-1);
}
/*
static public Object shorten(Object list) {
return contract(list, list.length-1);
}
*/
//
static final public boolean[] splice(boolean list[],
+7 -9
View File
@@ -1,5 +1,12 @@
0086 core
X typed version of expand() and contract()
_ need to complete for the others:
_ append(), shorten(), splice, slice, subset, concat, reverse
_ would be cool if could sort w/o the sort class..
_ meaning use reflection to sort objects, just by implementing a few methods
_ make a PException that extends RuntimeException but packages an ex?
_ new PGraphics2 objects are set as RGB, but on loadPixels/updatePixels
_ they're drawn as transparent and don't have their high bits set
@@ -169,15 +176,6 @@ _ check with the a_Displaying example and tint(255, 0, 0, 100);
_ Stroking a rect() leaves the upper right pixel off.
_ might be able to do a typed expand()
public Object growArray(Object array, int size) {
Class type = array.getClass().getComponentType();
Object grown = Array.newInstance(type, size);
System.arraycopy(array, 0, grown, 0,
Math.min(Array.getLength(array), size));
return grown;
}
_ beginShape()
_ don't allow you to draw stroked items unless stroke() is called
_ don't allow beginShape() if shape is already set