caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jon Harrop <jon@jdh30.plus.com>
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	[thread overview]
Message-ID: <200502222216.25721.jon@jdh30.plus.com> (raw)
In-Reply-To: <421BA39F.20907@ntlworld.com>

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


  reply	other threads:[~2005-02-22 22:15 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-22 12:03 Richard Jones
2005-02-22 12:15 ` [Caml-list] " Sven Luther
2005-02-22 12:28   ` Richard Jones
2005-02-22 12:35     ` Sven Luther
2005-02-22 12:53       ` Richard Jones
2005-02-22 14:27         ` Sven Luther
2005-02-22 13:36 ` Vincenzo Ciancia
2005-02-22 14:03   ` [Caml-list] " Richard Jones
2005-02-22 17:46     ` Christophe TROESTLER
2005-02-22 23:50       ` Oliver Bandel
2005-02-23 13:58         ` Christophe TROESTLER
2005-02-23  8:15       ` Sven Luther
2005-02-23 14:08         ` Christophe TROESTLER
2005-02-23 16:15           ` Sven Luther
2005-02-24 16:20             ` Christophe TROESTLER
2005-02-23  8:07     ` Evan Martin
2005-02-22 14:08   ` Michael Walter
2005-02-22 17:05 ` [Caml-list] " Blair Zajac
2005-02-22 17:23   ` Richard Jones
2005-02-22 19:24     ` Jon Harrop
2005-02-22 20:24       ` Richard Jones
2005-02-22 21:23         ` Jon Harrop
2005-02-22 22:13           ` chris.danx
2005-02-22 23:00             ` Jon Harrop
2005-02-23  0:18               ` Oliver Bandel
2005-02-23 17:24               ` Christopher Campbell
2005-02-22 23:38           ` Richard Jones
2005-02-22 21:26         ` chris.danx
2005-02-22 22:16           ` Jon Harrop [this message]
2005-02-22 23:30             ` Daniel Bünzli
2005-02-23  0:05               ` Jon Harrop
2005-02-23  3:05                 ` Michael Walter
2005-02-23  3:13                 ` Daniel Bünzli
2005-02-23  3:57                   ` Jon Harrop
2005-02-23  7:29                 ` Bardur Arantsson
2005-02-23 11:21                   ` Jon Harrop
2005-02-23 11:45                     ` Bardur Arantsson
2005-02-23  0:27               ` Oliver Bandel
2005-02-22 20:57       ` chris.danx
2005-02-23  9:58         ` Olivier Andrieu
2005-02-23 17:23           ` Christopher Campbell
2005-02-23  0:02       ` Oliver Bandel
2005-02-23 11:37         ` Jon Harrop
2005-03-01 14:35         ` Ingo Bormuth
2005-02-22 23:59     ` Oliver Bandel
2005-02-23 15:21       ` William D. Neumann
2005-02-24  0:44         ` Oliver Bandel
     [not found] <20050223054011.3414.28936.Mailman@yquem.inria.fr>
2005-03-02  6:36 ` Ken Rawlings
2005-03-02  6:56   ` Nicolas Cannasse
2005-03-02 11:40   ` Richard Jones
2005-03-02 12:06     ` Nicolas Cannasse
2005-03-05 12:51     ` Sven Luther
2005-03-05 12:31 Grégory Guyomarc'h
2005-03-05 13:09 Gregory Guyomarc'h

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200502222216.25721.jon@jdh30.plus.com \
    --to=jon@jdh30.plus.com \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).