caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [ANN]Amthing - a multi-threaded GUI library
@ 2009-04-14  5:11 Satoshi Ogasawara
  2009-04-14  7:58 ` [Caml-list] " David MENTRE
  0 siblings, 1 reply; 6+ messages in thread
From: Satoshi Ogasawara @ 2009-04-14  5:11 UTC (permalink / raw)
  To: caml-list

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:  ogasawara@itpl.co.jp


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-04-14 11:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-14  5:11 [ANN]Amthing - a multi-threaded GUI library Satoshi Ogasawara
2009-04-14  7:58 ` [Caml-list] " David MENTRE
2009-04-14  8:54   ` Satoshi Ogasawara
2009-04-14  9:11     ` Alp Mestan
2009-04-14 10:29       ` Satoshi Ogasawara
2009-04-14 11:04         ` Alp Mestan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).