From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id AAA03834; Wed, 28 Aug 2002 00:37:53 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA03880 for ; Wed, 28 Aug 2002 00:37:52 +0200 (MET DST) Received: from mel-rto6.wanadoo.fr (smtp-out-6.wanadoo.fr [193.252.19.25]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g7RMbnX20343 for ; Wed, 28 Aug 2002 00:37:52 +0200 (MET DST) Received: from mel-rta8.wanadoo.fr (193.252.19.79) by mel-rto6.wanadoo.fr (6.5.007) id 3D6246E800326275 for caml-list@inria.fr; Wed, 28 Aug 2002 00:37:49 +0200 Received: from gogol (80.9.110.38) by mel-rta8.wanadoo.fr (6.5.007) id 3D49FF790092F366 for caml-list@inria.fr; Wed, 28 Aug 2002 00:37:49 +0200 Received: from berke by gogol with local (Exim 3.35 #1 (Debian)) id 17jn2r-00009e-00 for ; Tue, 27 Aug 2002 22:34:37 +0200 Date: Tue, 27 Aug 2002 22:34:37 +0200 From: Berke Durak To: caml-list@inria.fr Subject: [Caml-list] Two severe limitations in Graphics module Message-ID: <20020827203437.GA326@gogol> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4i Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hello everyone, I was wondering how many hours would coding Tetris using the Graphics module require when I noticed that the Graphics module lacks two important constructs : 1) The Graphics.wait_next_event doesn't allow you to wait for an event with a timeout, à la select(). Since in Tetris things might happen even if you don't press any key, you can't wait indefinitely. Workarounds include : -- continuously calling wait_next_event [Poll;...] and doing a small delay between each call. I think I will do this. Not very efficient, since the delay must be of the order of the screen refresh interval. -- do a horrible hack by getting the X11 file descriptor -- but then how will Microsoft-sequestrated people enjoy your delightful MLtris ? 2) There is no way to get the cursor keys. Sure that's no problem to h,j,k,l-people. Might I suggest the following bindings : -- left : '\002' (Ctrl-b) -- right : '\006' (Ctrl-f) -- up : '\011' (Ctrl-k) -- down : '\010' (Ctrl-j) or a supplementary keysym type like type keysym = Latin1 of char | Left | Right | Up | Down | ... 3) It would further be nice to be able to select() another FD plus the graphical interface, portably if possible. I know, under UNIX, simply adding a function to the Graphics module that returns the descriptor of the X11 connection would solve problems 1 and 3. That would be non portable. Has anyone managed to solve these issues cleanly (i.e. without patching the compiler) ? -- Berke ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners