|
ok, here it
is!
as some guys are in a hurry to get the scanner support, i'll release a beta of 2.0 at this weekend. tomorrow i'll finish converting the controls to grayscale and the Image class. but until sunday it will be ok. note that it will be a beta release, so no support yet on appletviewer (just palm os), and the dir structure may change until the final release. here is the *tiny* list of enhancements in this version: Changes in SuperWaba version 2.0 . now SuperWaba is the official release of Waba for the Palm OS platform (org.wabavm.palm package)! . new creator ID for SuperWaba: SWAB . this will help with the coexistence of multiple waba vm versions . new package structure to conform with the new Waba Specifications. the org.wabavm.palm.desktop has the classes needed to test the program in the desktop computer, and org.wabavm.palm.device has the classes, the vm itself, the docs and the bin directory; all related only to when the program runs in the device. . wextras.wababin.* now is copied to the bin directory. warp had been modified to create warp files (i removed it a long time ago) . exegen now has an option /v to write the app version information. eg: "/v 2.01" or "/v 2.0" . warp now has an option /! to not create the warp file (only the pdb file will be created) . desktop.waba.io.Catalog now correctly writes the creation date to the pdb file . desktop.waba.io.Catalog now sets the AttrBackup field if the database is modified . new methods in waba.io.Catalog: get/setAttributes. use the DB_ATTR_* masks to get/set individual bits. . new methods in waba.io.Catalog: get/setRecordAttributes. use the REC_ATTR_* masks to get/set individual bits. . now in desktop.waba.io.Catalog the date and attributes are preserved if the file was readed from disk . now in desktop.waba.io.Catalog the methods toPDB and fromPDB are non-static. Use the default constructor to get access to it if you want. . toPDB and fromPDB now has a new parameter: Vector _attr, which will hold the attributes for each record. they can be null. . the wextras 1.3 package from Rob Nielsen is now under the org.wabavm.palm.addons directory. this directory will hold all classes from third party users that may be putted together. It has a new class, IButton (unfortunatly, theres no name of the author of this class). . added TextArea from Michael Brereton to the org.wabavm.palm.addons. . corrected the Convert.toString(char c) method. it was not converting correctly the international chars. . added support for menu bar from wextras. Since SuperWaba uses the Control class instead of MenuBar, it calls menubar.setVisible(true) in order to pop it up. added the method Window.setMenuBar. added the method wextras.ui.MenuBar.setVisible(boolean b) . modified org.wabavm.palm.desktop.waba.sys.Vm.openInputStream to handle jar files. used code from Scott Cytacki @ 20010222 . modified org.wabavm.palm.device.waba.io.DataStream.readString as mike mcroberts pointed to grow the byte array if necessary . implemented Gennadi Pergament modifications to correct the fatal errors when poping up some palm dialogs. this bug is since waba 1.0. ATTENTION: to correct this error, i had to create a default form for Waba. So, be aware of this when creating waba.prc from others compilers . added the Symbol barcode scanner support implemented by Tom Cuthill (vm growed 1.5kb); added the class waba.io.Scanner.java . added support for the list icon (15x2), thanks to ed crandwel for the startup code. . corrected convertion in formatDouble, it was not formatting precision below 0.32767 . added support for double's!!! all bytecodes implemented, tested and working. . added a new constructor to StringBuffer: StringBuffer(startSize) . changed String.hashCode to match the one in jdk 1.2.2. . waba.sys.Convert: new method toDouble(String), toString(double), toLong(String), toString(long), toLong(String, radix), toString(long,radix), forDigit(i,radix), digitOf(char,radix) . new method in class String: reversed (returns the reversed of the current string) . added support for long's!!! all bytecodes implemented and working. . now SuperWaba is a multi-segment application. This means that now the sky is the limit. PS: SuperWaba still works in Palm OS 2.0 . improved class Graphics. Now it supports GRAY SCALE in all palm os versions. Support for color in next version. Lots of new methods: . colors from 0 to 3 . draw/fill circles . draw arcs . draw/fill pies . draw elliptical arcs . draw/fill elliptical pies . instant screen erase . set/get pixel . dotted line in all directions . 1,2,4,8 bit depth support for bitmaps with automatic dithering (so, adding a 8 bit color image will be dithered to 4 bit gray scale); support for rle4 and rle8 compressed bitmaps . more bitmap draw operations, including transparent bitmap color (sprite) . collisionDetect: returns true if two bitmaps collides . draw/fill round rect . getAnglePoint to get the point of an ellipse given an angle; usefull to see where to draw the pie labels . draw/fill polygons of any shape . drawText using user defined fonts (not implemented yet) . new constants in the class Color: GS_NONE, GS_LIGHT, GS_DARK, GS_BLACK to let the user specify which color to use. added method getGrayColor (static) and getGray() (non-static) that returns the color in gray scale mode that corresponds with the specified red, green and blue values. New constructor Color(int rgb); new method int getRGB(); new constant array: GS_PAL (GrayScale palette. use the constants GS_xxx as the indexes), used to get the color that represent the desired gray scale; new method equals . added class Math taked from Jump2. The methods that uses float To reduce its size, i stripped out all methods that used float; since double is much more accurate, you can compute the values using double and then cast to float. the method random was modified. . waba.sys.Convert: removed the methods add,sub,mul,div. since now there is native support, there are no needs for those methods. Also, max,min,abs,random were moved to class waba.util.Math. Added the methods doubleToLongBits and longBitsToDouble. added constants MIN_LONG_VALUE and MAX_LONG_VALUE. . new methods in waba.io.DataStream: writeDouble, readDouble, writeLong, readLong. . added method parseNative in MethodsHash so a normal method string is converted to java bytecode defs. eg: boolean clip(waba.fx.Rect r) -> waba/fx/Graphics_clip_(Lwaba/fx/Rect;)Z . also modified nativeHash to create the output with the same formatting of the waba native method table and a function prototype is also created. everything is outputted to methodshash.txt. . prc commandline: now the maximum class name length for the command line argument in the prc is 200. was 80. . user defined command line arguments: now the prc can receive command line arguments. there is no maximum length (unless specified by palm os). . warp and exegen now has an option /$ to specify the set of copy protection attribute of the prc and the pdb file. . extended the prc name from 30 to 31 bytes. . PrcFile now automatically finds all the offsets of the placeholders. it scans for strings and scans the prc file to find the offset of each bitmap record. . added a message to the Window.popupModal class if the user try to popup in the wrong way. I thoght that just reading the docs would be enough. ;-) . added a catch to waba/applet/Applet.java class to trap linkage errors. . new method Vm.getMaxColors: returns the number of colors supported by the device. . corrected errors in Vm about arrayCopy that Sean Luke WabaWalker :-) pointed out. . Added 2 methods to Object: equals and toString, this one native. changed all toString methods on the controls. . Vm.debug is modified. now the strings are sent to a memo record created with the title: "SuperWaba Debug Console". the line is writted as "<timestamp> mystring \n". at the program's end a "--- End ---" line is entered. the memo is *not* deleted at each program start. The Vm.trace strings are also sent to there. the memo is created only if you issue a Vm.debug or vm.setTrace command. it also may slowdown a little your program. dont forget to turn off your echoes when you send your program to your customer!!! . htPut in waba.c now sends a debug message to the console when it finds a duplicated hash value. . new Label.set3d method. just for fun... :-) . String.valueOf(Object) now returns obj.toString instead of "?" . String.equals(Object), if obj is not a string, now returns super.equals(obj) instead of true . new method String.indexOf(String) and String.indexOf(String, startIndex) . corrected an wrong comparision of string boundaries in String.indexOf(char,int) . in the vm, new constant STU_USE_STATIC2 so a secundary buffer is used. good for routines that needs 2 temporary buffers. expanded sbytes to 192 (was 64) . changed the behavior of setVisible in the Control class. now it sets a flag that is ignored in Container.paintChildren method . new methods and members for class control: (set/get)backColor, (set/get)foreColor. . added Color.defaultBackColor, Color.defaultForeColor so users dont have to specify the default colors of the controls. . added Graphics.draw3dRect, used in most controls. use the constants TEXTFIELD LOWERED RAISED. . new methods Color.darker, Color.brighter . new methods Image.setAsScreen, Image.offset(dx,dy). the first is used to set the image as as the active window. it is instantaneous. if the Image size is less than the screen size, the command is ignored. if its greater than the screen size, it can be panned using offset(dx,dy). . support for sprites in class Image. . new ComboBox class (just waiting to Daniel finish it) |
