Mixed Language Programming

It may be desirable to write programs in which some X graphics is done by Prolog code using ProXL and other parts are done in C or another procedural language using Xlib. ProXL makes this possible by providing a way to translate between ProXL and Xlib resources from both C and Prolog code.

On the C side, there is a function to translate each kind of X resource into the corresponding ProXL object, and a macro to get the X resource from the ProXL object. From Prolog, there is a predicate to translate between X and ProXL displays, another to translate between X and ProXL screens, and a third to translate between XIDs and their ProXL counterparts.

ProXL does not permit ProXL GCs to be used in foreign code, nor will it allow a foreign GC to be used in ProXL. Therefore, none of these translations are available for GCs.