Git Product home page Git Product logo

cl-pixman's Introduction

cl-pixman

cl-pixman is a Common Lisp wrapper for pixman written on CFFI. Pixman is a portable library for low-level pixel manipulation.

I wrote this wrapper to have an alternative to SDL2 blitting for low-level pixel operation. It directly uses CFFI pointers to avoid. Supported API is minimal (only pixman_image_* API is partially implemented) so feel free to contribute.

It is licensed under the LLGPL.

Installation

If you are using quicklisp:

cd <your quicklisp directory>/local-projects/  
git clone <me>  

Then you can just

(ql:quickload "pixman")

in your REPL.

You'll need a pixman shared object accessible to your Lisp at runtime, if you are using GNU, you can use your distro package.

Tested platforms

  • SBCL 1.3.19 on GNU/Linux on amd64.
  • CCL 1.11-r16635 on macOS 10.12.5 on amd64 through virtual machine.
  • CCL 1.11-r16635 on Windows 7 on amd64 (pixman.dll built from VS 2017).
  • LispWorks® 6.1 Personal Edition x86 on GNU/Linux on amd64.

TODO list

  • 32bits functions and structures
  • Floating point matrices
  • Image accessors callbacks and indexed images
  • pixman_filter_create_separable_convolution, pixman_image_fill_rectangles, pixman_image_fill_boxes
  • Glyphs
  • Trapezoids
  • Examples and tests
  • Simple fixed-point computations?

cl-pixman's People

Contributors

reinuseslisp avatar

Watchers

 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.