Hello list, I'm please to announce the first public release of Amthing, a multi-threaded GUI library for OCaml.
Features are: - Multi-threaded design using Concurrent ML style message passing. - Time-line animation and functional reactive sprite system. - X11 Binding. - 2D vector rendering by cairo. Here's a "Hello world" example of Amthing. open Ccell open Event open Amthing.Util.Persavatives module W = Amthing.Core.Window ( Amthing.XWindow ) module K = Amthing.KeyCode module E = Amthing.WinEvent module S = Amthing.Sprite module C = Amthing.Component let wh = W.make (Amthing.XWindow.default_parameter ()) let tc = lazy (W.make_text_context wh) let _ = W.resize wh {| x = 0; y = 0; w = 200; h = 200 |}; let hello = new S.label !$tc "hello world!" +> S.set (`X 55.) +> S.set (`Y 90.) +> S.set (`Color Amthing.Color.blue) +> C.make in W.add_visible wh hello; W.set_title wh "amthing hello world!"; W.show wh; let main_loop () = match select [ Bcast.receive (W.event wh) ] with `KEY_PRESS input when E.key_code input = Some K._q -> W.close wh; exit 0 | #E.t -> () in forever main_loop () you can clone the repository from OCamlForge subversion : svn checkout svn://svn.forge.ocamlcore.org/svnroot/amthing or view souce code on the web. http://forge.ocamlcore.org/plugins/scmsvn/viewcvs.php/trunk/?root=amthing have fun, --- Ogasawara Satoshi | - Email: ogasaw...@itpl.co.jp _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs