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 CAA07015; Thu, 10 Jan 2002 02:41:25 +0100 (MET) 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 CAA02037 for ; Thu, 10 Jan 2002 02:41:24 +0100 (MET) Received: from war.OCF.Berkeley.EDU (war.OCF.Berkeley.EDU [128.32.191.89]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g0A1fNP19415 for ; Thu, 10 Jan 2002 02:41:23 +0100 (MET) Received: from apocalypse.OCF.Berkeley.EDU (daemon@apocalypse.OCF.Berkeley.EDU [128.32.191.249]) by war.OCF.Berkeley.EDU (8.11.6/8.9.3) with ESMTP id g0A1fLp28565 for ; Wed, 9 Jan 2002 17:41:22 -0800 (PST) Received: from localhost (wrader@localhost) by apocalypse.OCF.Berkeley.EDU (8.11.6/8.9.3) with ESMTP id g0A1fLX19121 for ; Wed, 9 Jan 2002 17:41:21 -0800 (PST) X-Authentication-Warning: apocalypse.OCF.Berkeley.EDU: wrader owned process doing -bs Date: Wed, 9 Jan 2002 17:41:21 -0800 (PST) From: "Walter B. Rader" To: caml-list@inria.fr Subject: [Caml-list] Skinnable windowing system in OCaml Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk I'm developing a windowing system (a la X Windows) in OCaml using SDL (Simple DirectMedia Library) which is a cross-playform graphics library written in C. I want the end user to be able to configure the "look-and-feel" of the windowing system at runtime, and I'm not sure the best way to go about doing this. Currently, the window manager calls upon a class called "decorator" that performs the window decorations (title bar, frame, etc.) The decorator class could be sub-classed (or perhasp redefined?) to change the behavior. Any thoughts on the "best way"? Is it possible to compile several different modules that contain a decorator class (with, say, a Windows 95 theme, a MacOS theme, etc.) and dynamically load one? Would loading one redefine the "decorator" class that was defined prior to the loading? If I understand correctly, the dynamic loading works with byte-code compiled modules? If the main program were compiled to native code, would they work together seamlessly? Are there any resources (books, papers, how-to's about "this kind of thing" (e.g. loading modules at run-time to redefine default behavior)? I know of plenty books about designing OSs but haven't found any about writing windowing systems. Any suggestions about anything even remotely related to the above subject/questions would be more than welcome! Thanks, Walter Rader ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr