All Projects → TamasSzekeres → cairo-cr

TamasSzekeres / cairo-cr

Licence: MIT license
Cairo bindings for Crystal language.

Programming Languages

crystal
512 projects

Projects that are alternatives of or similar to cairo-cr

Graphics32
Graphics32 is a graphics library for Delphi and Lazarus. Optimized for 32-bit pixel formats, it provides fast operations with pixels and graphic primitives. In most cases Graphics32 considerably outperforms the standard TBitmap/TCanvas methods.
Stars: ✭ 238 (+720.69%)
Mutual labels:  vector-graphics, graphics-library
Cairo
Swift library for Cairo
Stars: ✭ 33 (+13.79%)
Mutual labels:  cairo, vector-graphics
Generative-Art
A selection of generative art scripts written in Python
Stars: ✭ 284 (+879.31%)
Mutual labels:  cairo, vector-graphics
conky-for-macOS
macOS port of the Light-weight system monitor for X.
Stars: ✭ 139 (+379.31%)
Mutual labels:  cairo
vec
Vector graphics software to generate HPGL output to drive a plotter
Stars: ✭ 19 (-34.48%)
Mutual labels:  vector-graphics
TinyVG
A new format for vector graphics: Tiny vector graphics
Stars: ✭ 35 (+20.69%)
Mutual labels:  vector-graphics
graphicsvg
Graphics library authored by Chris Schankula and Dr. Christopher Anand
Stars: ✭ 42 (+44.83%)
Mutual labels:  graphics-library
cairo-by-example
Verbosely Documented, Minimal Starknet Contract Examples.
Stars: ✭ 63 (+117.24%)
Mutual labels:  cairo
tcl.gd
Feature-complete Tcl interface to GD graphics drawing library
Stars: ✭ 15 (-48.28%)
Mutual labels:  graphics-library
sdk
TinyVG software development kit
Stars: ✭ 135 (+365.52%)
Mutual labels:  vector-graphics
cala
Cross-platform system interface for hardware IO
Stars: ✭ 46 (+58.62%)
Mutual labels:  graphics-library
microgl
High-quality, no-compromise graphics library for embedded systems; currently under development.
Stars: ✭ 28 (-3.45%)
Mutual labels:  graphics-library
cairo
Package cairo provides full Go bindings for Cairo, a 2D graphics library.
Stars: ✭ 28 (-3.45%)
Mutual labels:  cairo
TrippyGL
A simple, lightweight yet highly versatile OpenGL graphics library
Stars: ✭ 71 (+144.83%)
Mutual labels:  graphics-library
ModernUI
Modern desktop framework from low-level 3D graphics API to high-level view model, for development of 2D/3D rendering software or game engine, with internationalization support and many new technologies.
Stars: ✭ 168 (+479.31%)
Mutual labels:  vector-graphics
blend2d-python
Cython wrapper for Blend2D
Stars: ✭ 13 (-55.17%)
Mutual labels:  vector-graphics
texfig
Utility to generate PGF vector files from Python's Matplotlib plots to use in LaTeX documents.
Stars: ✭ 58 (+100%)
Mutual labels:  vector-graphics
iconvg
IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji.
Stars: ✭ 626 (+2058.62%)
Mutual labels:  vector-graphics
cairo jpg
Reading and writing JPEG files from/to Cairo surfaces.
Stars: ✭ 26 (-10.34%)
Mutual labels:  cairo
Im2Vec
[CVPR 2021 Oral] Im2Vec Synthesizing Vector Graphics without Vector Supervision
Stars: ✭ 229 (+689.66%)
Mutual labels:  vector-graphics

cairo-cr

Cairo bindings for Crystal language.

Crystal CI GitHub release Docs

Installation

First install cairo:

sudo apt-get install libcairo2 libcairo2-dev

Add this to your application's shard.yml:

dependencies:
  cairo:
    github: TamasSzekeres/cairo-cr

Then run in terminal:

shards install

See also: x11-cr

Usage

require "x11"
require "cairo"

module YourModule
  include X11::C # for low-level usage
  include Cairo::C # for low-level usage
  include X11 # for high-level usage
  include Cairo # for high-level usage
end

For more details see the sample in /examples folder.

Sample

Build and run the low-level sample:

  cd examples/sample_window
  shards build
  ./bin/sample_window

Sample Window

Build and run the high-level sample:

  cd examples/sample_window_hl
  shards build
  ./bin/sample_window

Documentation

You can generate documentation for yourself:

crystal doc

Then you can open /docs/index.html in your browser.

Or you can view last commited documentation online at: https://tamasszekeres.github.io/cairo-cr/.

Contributing

  1. Fork it (https://github.com/TamasSzekeres/cairo-cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].