Giter Site home page Giter Site logo

ocaml-xlib's Introduction

============= SUMMARY %

OCaml bindings for the Xlib library.

============= ATTRIBUTION %

Copyright (C) 2008, 2009, 2010 Florent Monnier
Contact: <[email protected]> (replace .roll by .org)

============= LICENSE %

This library is released under the terms of the MIT license,
described in file COPYING.txt

============= ALTERNATIVE LICENSES %

If it is more convenient for you, you can also use this code
under the terms of any of these licenses:
- CC0, any kind of BSD license, WTFPL, ISC or zlib/libpng

============= HOMEPAGE %

http://www.linux-nantes.org/%7Efmonnier/OCaml/Xlib/

============= DESCRIPTION %

OCaml-Xlib is a work in progress Xlib bindings for OCaml.

It also includes a GLX module for OpenGL windowing,
and the very early beginning of Xt/Intrinsics.

There are 3 OCaml-OpenGL bindings: LablGL, GLCaml and glMLite.
The GLX module does not have any particular dependency across any
of these OpenGL bindings, so it can be used with either of them.
For exchanging pixmaps as textures GLCaml and glMLite use either
strings or bigarrays, for LablGL interoperability convert the
strings or the bigarrays with its module Raw.

Though the examples use glMLite.

============= INSTALL %

To install `make install` will only install the Xlib module.
`make install_all` will install all the Xlib, GLX and Xt modules.
If you only need X and GLX, use `make install_x install_glx`

The default prefix is `ocamlc -where`/Xlib
you can change the destination install dir with:
`make install PREFIX=/some/path`

============= DOCUMENTATION %

Get the HTML ocamldoc generated documentation with the command:
`make doc`

============= EXAMPLES %

For examples of use, run the *.sh scripts.

============= EXTENSIONS %

There is a module for the GLX extension texture_from_pixmap:
 http://www.opengl.org/registry/specs/EXT/texture_from_pixmap.txt

To build and install, run:
`make glx_p2t`
`make install_glx_p2t`

============= TODO %

XKB
On my computer the demo texture_from_pixmap.ml runs right in
interpreted mode, but segfaults in native mode.

============= FRIEND PROJECTS %

There are 2 other projects related to X programming in OCaml.
___

Fabrice Le Fessant has released an xlib library too. And it
is not a binding/wrapper of the C Xlib, it is an xlib written
natively in OCaml.
This package is the base for the projects 'EFuns' and 'GwML':
  http://caml.inria.fr/cgi-bin/hump.fr.cgi?contrib=183
  http://caml.inria.fr/cgi-bin/hump.fr.cgi?contrib=225

The license of this project is not clearly written in the archive,
I have written to its author to ask him, and it can be used under
the GPL license.

The default prefix for this pure ocaml xlib is `ocamlc -where`/xlib
(notice "xlib" != "Xlib")
_____

There is also the package "Olibrt" written by Daniel de Rauglaudre,
which contains basic bindings to the C Xlib, find it here:
  http://pauillac.inria.fr/%7Eddr/olibrt/
It is released under the BSD license.

============= CONTRIBUTORS %

Arlen Cuss, 2011-01-28: fix for the function xFetchName.
 
Alex Muscar <muscar(_)gmail.com>, 2012-01-01:
- provided a patch to add the function ml_XCreateWindowEvent_datas()
  and the type xCreateWindowEvent_contents

============= EOF %

ocaml-xlib's People

Contributors

fccm avatar timbertson avatar

Watchers

James Cloos avatar Daniel Hillerström avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.