From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id ED5EEBC75 for ; Tue, 22 Feb 2005 23:15:05 +0100 (CET) Received: from ptb-relay01.plus.net (ptb-relay01.plus.net [212.159.14.212]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j1MMF5it018859 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 22 Feb 2005 23:15:05 +0100 Received: from [80.229.56.224] (helo=chetara) by ptb-relay01.plus.net with esmtp (Exim) id 1D3iJ5-000MJY-Vw for caml-list@yquem.inria.fr; Tue, 22 Feb 2005 22:15:04 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Cross-platform "Hello, World" graphical application in OCaml Date: Tue, 22 Feb 2005 22:16:25 +0000 User-Agent: KMail/1.7.1 References: <20050222120308.GA2975@furbychan.cocan.org> <20050222202426.GA25230@furbychan.cocan.org> <421BA39F.20907@ntlworld.com> In-Reply-To: <421BA39F.20907@ntlworld.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200502222216.25721.jon@jdh30.plus.com> X-Miltered: at nez-perce with ID 421BAEE9.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 wrote:01 widget:01 widget:01 ocaml:01 hash:01 byte-code:01 26,:98 smoke:98 smoke:98 plug-in:98 ...:98 frog:98 opengl:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: On Tuesday 22 February 2005 21:26, chris.danx wrote: > At first, I read it as GUI but then I thought maybe John Harrop meant > canvas. Not sure. You could use the wxwidgets gl canvas widget to > create a "rich canvas widget". To clarify, here's an example of what I'm talking about: http://www.ffconsultancy.com/temp/smoke.png This is a screenshot of a cross-platform vector graphics editor I've been writing. The GUI is done entirely in OpenGL, overlaid on the vector graphics being edited. As it is based upon Smoke, the entire editor is only 2,166 lines of straightforward OCaml code. It features: 1. Vector graphics editing (the "cursor" and "line" tools). 2. An optionally-visible, snapable grid (the "hash" tool). 3. Smooth panning and zooming (the "eye" tool). 4. Native-format import and export. 5. EPS and SVG export. 6. Dynamically-loadable OCaml byte-code tools for the tool-bar (so users can create their own plug-in tools and sell them). Of course, awesome performance, anti-aliasing, transparency, gradient and radial fills and many other features are inherited from Smoke. I'd have thought that seasoned OCaml hackers would be able to knock out ass- kickingly good commercial applications in no time with a library like this... -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://ffconsultancy.com