Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
lanthale authored Sep 30, 2021
1 parent 7c8c749 commit eafe49f
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Integration of LibRaw (https://www.libraw.org) library for JavaFX for all major operating systems (Linux, Windows, OSX).
All raw formats can be loaded with the Image class and manipulated by Pixelwriter/Pixelreader. Limitation is that the image class only supports 8-bit color deph but converts all 16bit image format to 8bit automatically.

**JDK 16 is required** because of the foreign linker API usage
**JDK 17 is required** because of the foreign linker API usage and the big changes for threading happenend in Panama in JDK17

## Status
Now the lib is in production ready status. That means it is tested on all operating systems (OSX, Linux, Win10) and under different threading scenarious.
Expand Down Expand Up @@ -45,7 +45,7 @@ Point to the maven coordinates:

- and add the following lines to your java config:
```
--add-modules jdk.incubator.foreign -Dforeign.restricted=permit
--add-modules jdk.incubator.foreign -Denable-native-access org.librawfx
--add-exports=javafx.graphics/com.sun.javafx.iio=org.librawfx
--add-exports=javafx.graphics/com.sun.javafx.iio.common=org.librawfx
```
Expand Down Expand Up @@ -78,16 +78,16 @@ You can have a look into the class TestAPP.java to see how to use it, but genera
You can also use the lib without adding the file handler. What I mean is that you can also forget the "...install" line and just load a file URL with the lib (see the `TestApp.java` to see how it works).

## Steps to create your own build:
- OpenJDKA/Adoptopenjdk 16 or newer
- JavaFX 11 or newer (15 is recommended)
- OpenJDK/Adoptium 17 or newer
- JavaFX 11 or newer (17 is recommended)
- SET JAVA_HOME variable
- Execute `mvn clean compile package -f LibRawFX/pom.xml`
- To run the example execute `mvn javafx:run@cli-default`
- IDE Integration: execute as a maven goal `javafx:run@ide-debug` or `javafx:run@ide-profile`

# Notes:
- The lib is using unoffical JavaFX interfaces
- The lib is using heavily the foreign memory API from Java 16/17 including functions from the project Panama and therefore the tool `JExtract` (Available only in JDK 17)
- The lib is using heavily the foreign memory API from Java 17 including functions from the project Panama and therefore the tool `JExtract` (Available only in JDK 17)
- All classes inside of package `org.libraw.win` / `org.libraw.linuxosx` are generated by jextract but tuned for operating system specifica
- Inside of these packages above I exposed also the raw interface to libraw
- The main class to interact with the native lib is the class `LibrawImage.java` in package `org.librawfx`
Expand Down

0 comments on commit eafe49f

Please sign in to comment.