1
0
Fork 0

Update README

- Add compilation introduction for realease
- Add comparision pictures
- Add LICENSE of icons taken from haiku
This commit is contained in:
Hans-Joerg Schurr 2020-05-30 21:54:53 +02:00
parent 5d60e46cd1
commit 4b5684295d
4 changed files with 60 additions and 8 deletions

View File

@ -9,15 +9,18 @@ the file metadata. For a good technical overview of the format see
[this](http://blog.leahhanson.us/post/recursecenter2016/haiku_icons.html)
blog post by Leah Hanson. The goal of this library is to allow the
usage of this format independent of the Haiku ecosystem.
The best way to create new icons is to use the
[Icon-O-Matic](https://www.haiku-os.org/docs/userguide/en/applications/icon-o-matic.html)
tool that ships with Haiku.
The library is written in modern standard C and MIT licensed. When
finished it will feature a parser and rasterizer without any dependencies
beyond `libc`. Furthermore, a toy tool to convert *hvif* files into *png*
beyond *libc*. Furthermore, a toy tool to convert *hvif* files into *png*
files is included.
The author is not associated with the Haiku project.
## Current State
## Current Status
The library is currently under heavy development. The current parser
should be able to parse *hvif* files created with current Haiku builds,
@ -27,11 +30,38 @@ is included. The purpose of this rasterizer is testing. It is not feature
complete, but renders most real world icons reasonably well.
The next step is the preparation of a testing infrastructure. This should
be done before work on the rasterizer begins.
be done before work on the standalone rasterizer begins.
## Compiling
### Example
The build system is standard auto tools. To compile on a fresh clone run:
The `File_GoogleFS` icon from the Haiku distribution as rendered by Haiku:
![](docs/examples/File_GoogleFS_orig.png)
and as rendered with the current cairo based rasterizer:
![](docs/examples/File_GoogleFS_hviflight.png)
While not perfect, the result is quite decent.
## Building
### Release Distribution
The build system is standard auto tools. When downloading a release distribution
the usual
```bash
$ ./configure
$ make -j
```
and `make install` as root should work. Beside a recent C compiler and
`pkg-config` the *cairo* library is required for now. Since no sensible
functionality independent of *cairo* is implemented as of now, cairo is
a hard dependency.
### Development
To compile a freshly cloned repository run:
```bash
$ autoreconf -i
@ -39,9 +69,10 @@ $ ./configure
$ make -j
```
Since no sensible functionality independent of cairo is implemented as of now,
cairo is a hard dependency. On NixOS the included `shell.nix` script can be
used to bring the dependencies and a couple of development tools intos cope.
On NixOS the included `shell.nix` script can be used to bring the
dependencies and a couple of development tools into scope.
### Documentation
HTML documentation can be generated with `make html` if Doxygen is
installed.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2007-2020 Haiku, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.