jangko / nimAGG

nimAGG is a Nim port of Anti Grain Geometry(AGG)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nimAGG

nimAGG is a Nim port of Anti Grain Geometry(AGG)

High Fidelity 2D Graphics. A High Quality Rendering Engine for Nim


Build Status Build status

Screenshot

This project relying on recent bugfixes of Nim compiler, so you should use devel branch on Github, or at least Nim ver 0.18.1 to compile this project.

Those bugfixes are:

  • proc parameter shadowing inside template
  • mixin inside generic proc generated by template
  • inheriting generic object
  • inheriting partial specialization generic object
  • type alias via template
  • call proc of partial/specialized/some generic object by subtype object
  • generic proc forward declaration
  • generic object with generic field(s) type obtained via template(WIP)
  • system.ashr addition
  • deprecated '.' import path handling

How to build demos?

build all demos:

cd examples
nim e build.nims

or if you want to build single demo:

cd example
nim c ex_aa_demo

How to build command line only demos without GUI?

build all demos:

cd examples
nim e -d:platform_null build.nims

build single demo:

cd example
nim c -d:platform_null ex_compositing

the above command will produce executables without gui, and you can call it with:

ex_compositing -v
or
./ex_compositing -v

it will produce screenshot with image format BMP

if you want to use SDL instead of native API, compile like this:

nim c -d:platform_sdl ex_lion

On Linux and macOS, font renderers are freetype and AGG font renderer. On Windows, you get additional native windows truetype renderer. If you want to use freetype instead of windows native truetype renderer on windows platform, please use use_freetype compiler switch:

nim c -d:use_freetype ex_trans_curve1_ft
nim c -d:use_freetype ex_trans_curve2_ft
nim c -d:use_freetype ex_freetype_test

Dependencies

Installation

You can install this package via nimble

nimble install nimAGG

About

nimAGG is a Nim port of Anti Grain Geometry(AGG)

License:MIT License


Languages

Language:Nim 99.5%Language:Objective-C 0.5%