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)