Effective February 22, 2024, Google Groups will no longer support new Usenet content. Posting and subscribing will be disallowed, and new content from Usenet peers will not appear. Viewing and searching of historical data will still be supported as it is done today.
Dismiss

[Caml-list] [ANN]Amthing - a multi-threaded GUI library

20 views
Skip to first unread message

Satoshi Ogasawara

unread,
Apr 14, 2009, 1:09:40 AM4/14/09
to caml...@inria.fr
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: ogas...@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

David MENTRE

unread,
Apr 14, 2009, 3:58:33 AM4/14/09
to Satoshi Ogasawara, caml...@inria.fr
Hello,

On Tue, Apr 14, 2009 at 07:11, Satoshi Ogasawara <ogas...@itpl.co.jp> wrote:
> - Multi-threaded design using Concurrent ML style message passing.
> - Time-line animation and functional reactive sprite system.
> - X11 Binding.
> - 2D vector rendering by cairo.

1. Are there any screenshots?

2. Is there a widget system like in GTK/Qt?

3. What is the domain space covered by this library? Was it made for
a specific purpose? IT Planning, Inc. is apparently a Japanese company
using OCaml but the main software is using Java Swing GUI.

Sincerely yours,
david

Satoshi Ogasawara

unread,
Apr 14, 2009, 4:53:36 AM4/14/09
to David MENTRE, caml...@inria.fr
Hello,

On 2009/04/14, at 16:58, David MENTRE wrote:
> 1. Are there any screenshots?

I've just take it.
http://www.itpl.co.jp/amthing/concurrent_example.png

> 2. Is there a widget system like in GTK/Qt?

Widgets are under developing. We will support button, label, textbox,
checkbox, radio button, tab, listbox, tree, grid,..etc. We already supports
Pango and XIM for textbox.

> 3. What is the domain space covered by this library? Was it made for
> a specific purpose? IT Planning, Inc. is apparently a Japanese company
> using OCaml but the main software is using Java Swing GUI.

The main purpose is to develop an ordinary desktop application covered
by GTK/Qt. In addition, Amthing is applicable to rich client which access
to internet services. Animation makes application rich. Concurrent environment
helps us to write asynchronous communications.

best regards,


---
Ogasawara Satoshi
| - Email: ogas...@itpl.co.jp

_______________________________________________

Alp Mestan

unread,
Apr 14, 2009, 5:11:43 AM4/14/09
to Satoshi Ogasawara, caml...@inria.fr
Have you planned to write a little introductory tutorial so that we could do
some tests and give feedback about Amthing ?

Thanks.

--
Alp Mestan
In charge of the C++ section on Developpez.com.

Alp Mestan

unread,
Apr 14, 2009, 7:05:06 AM4/14/09
to Satoshi Ogasawara, caml...@inria.fr
On Tue, Apr 14, 2009 at 12:29 PM, Satoshi Ogasawara <ogas...@itpl.co.jp>wrote:

>
> On 2009/04/14, at 18:11, Alp Mestan wrote:
> > Have you planned to write a little introductory tutorial so that we could
> do some tests and give feedback about Amthing ?
>
>

> Thank you for your help.
> We plan for write some webpages including build sequence, tutorial and API
> document
> in a month.
>

Great. Keep us updated :-)

Reply all
Reply to author
Forward
0 new messages