odin-blend2d

Odin bindings to Blend2D
Log | Files | Refs | README | LICENSE

README.md (3616B)


      1 Blend2D
      2 -------
      3 
      4 2D Vector Graphics Powered by a JIT Compiler.
      5 
      6   * [Official Home Page (blend2d.com)](https://blend2d.com)
      7   * [Official Repository (blend2d/blend2d)](https://github.com/blend2d/blend2d)
      8   * [Public Chat Channel](https://gitter.im/blend2d/blend2d)
      9   * [Zlib License](./LICENSE.md)
     10 
     11 See [blend2d.com](https://blend2d.com) page for more details.
     12 
     13 Project Organization
     14 --------------------
     15 
     16   * **`/`**                - Project root, contains this README.md, other markdown files, CMakeLists.txt, and scripts for developers
     17     * **src**              - Source code (always point include path in here)
     18       * **blend2d**        - Blend2D source code and headers, all core classes and public headers are here
     19         * **codec**        - Image codecs and codec utilities (BMP, JPEG, PNG, and QOI)
     20         * **compression**  - Implementation of compression and decompression algorithms (DEFLATE)
     21         * **opentype**     - TrueType and OpenType font support
     22         * **pipeline**     - 2D rendering pipeline definitions and implementations (reference and JIT)
     23         * **pixelops**     - Pixel operations helpers
     24         * **raster**       - 2D rendering context implementation
     25         * **simd**         - SIMD abstraction library Blend2D uses
     26         * **support**      - Support classes and utilities (arena allocator & containers, bit operations, string operations, ...)
     27         * **simd**         - SIMD abstraction library Blend2D uses
     28         * **tables**       - Lookup tables and SIMD constants
     29         * **threading**    - Multithreading abstraction (POSIX threads or Windows threads)
     30         * **unicode**      - Support for unicode and conversion between various unicode encodings
     31     * **testing**          - Testing, benchmarking, samples, and interactive demos (don't embed in your project)
     32     * **3rdparty**         - Place where to clone [asmjit](https://github.com/asmjit/asmjit) to enable JIT code generation or where to add dependencies for testing and benchmarking purposes
     33 
     34 Roadmap
     35 -------
     36 
     37   * See [Roadmap](https://asmjit.com/roadmap.html) page for more details
     38 
     39 Documentation
     40 -------------
     41 
     42   * [Documentation Index](https://blend2d.com/doc/index.html)
     43 
     44 Contributing Guidelines
     45 -----------------------
     46 
     47   * [CONTRIBUTING.md](./CONTRIBUTING.md)
     48 
     49 Building
     50 --------
     51 
     52 Blend2D is almost self-containing library. The only dependency is AsmJit, which is only required by when JIT is enabled.
     53 
     54 To fetch both Blend2D and AsmJit, type:
     55 
     56 ```bash
     57 $ git clone https://github.com/blend2d/blend2d
     58 $ git clone https://github.com/asmjit/asmjit blend2d/3rdparty/asmjit
     59 ```
     60 
     61 Then you can simply configure and build blend2d with CMake:
     62 
     63 ```bash
     64 $ cmake -S blend2d -B blend2d/build/Release -DCMAKE_BUILD_TYPE=Release -DBLEND2D_TEST=ON
     65 $ cmake --build blend2d/build/Release
     66 ```
     67 
     68 And run samples:
     69 
     70 ```
     71 $ blend2d/build/Release/bl_sample_1
     72 $ blend2d/build/Release/bl_sample_2
     73 ...
     74 ```
     75 
     76 To build Blend2D with interactive demos and with benchmark targeting Qt and other libraries, use `BLEND2D_DEMOS=ON`
     77 
     78 ```bash
     79 $ cmake -S blend2d -B blend2d/build/Release -DCMAKE_BUILD_TYPE=Release -DBLEND2D_TEST=ON -DBLEND2D_DEMOS=ON
     80 $ cmake --build blend2d/build/Release
     81 ```
     82 
     83 Please note that to build interactive demos and benchmarking backends, you need to have Qt installed, in addition to all rendering libraries you would like to benchmark.
     84 
     85 For more information, visit [https://blend2d.com/doc/build-instructions.html](Build Instructions)
     86 
     87 Bindings
     88 --------
     89 
     90   * [Download Page](https://blend2d.com/download.html#Bindings) provides a list of Blend2D bindings
     91 
     92 License
     93 -------
     94 
     95   * [LICENSE.md](./LICENSE.md)