diff --git a/.gitignore b/.gitignore
index 58546ca..2feadcd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,15 +6,7 @@
/freeimage4java-windows/src/main/resources/freeimage4java.dll
/freeimage4java-linux/src/main/resources/libfreeimage4java.so
/freeimage4java-macos/src/main/resources/libfreeimage4java.dylib
-/freeimage4java-macos-test/test0.png
-/freeimage4java-macos-test/test1.png
-/freeimage4java-macos-test/test2.png
-/freeimage4java-linux-test/test0.png
-/freeimage4java-linux-test/test1.png
-/freeimage4java-linux-test/test2.png
-/freeimage4java-windows-test/test0.png
-/freeimage4java-windows-test/test1.png
-/freeimage4java-windows-test/test2.png
-/freeimage4java-macos-examples/output.png
-/freeimage4java-linux-examples/output.png
-/freeimage4java-windows-examples/output.png
+/freeimage4java-examples/output.png
+/freeimage4java-tests/test0.png
+/freeimage4java-tests/test1.png
+/freeimage4java-tests/test2.png
diff --git a/Makefile b/Makefile
index f069461..052f311 100755
--- a/Makefile
+++ b/Makefile
@@ -30,8 +30,8 @@ dump:
verify:
test $(system)
@echo System = $(system)
- #MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=freeimage4java-$(system)-test/target/lib -Djextract.trace.downcalls=false -Xlog:library" mvn verify -P$(system);
- MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=freeimage4java-$(system)-test/target/lib -Djextract.trace.downcalls=false $(properties)" mvn verify -P$(system);
+ #MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=freeimage4java-tests/target/lib -Djextract.trace.downcalls=false -Xlog:library" mvn verify -P$(system);
+ MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=freeimage4java-tests/target/lib -Djextract.trace.downcalls=false $(properties)" mvn verify -P$(system);
.PHONY: copy-legal
copy-legal:
diff --git a/README.md b/README.md
index 06a659d..11fcd9c 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,10 @@
-# FreeImage4Java 3.18.0-2.1
+# FreeImage4Java 3.18.0-2.2
FreeImage4Java provides a Java wrapper of FreeImage library version 3.18.0.
+Please note that starting from version 3.18.0-2.0 the wrapper requires Java 22 and the Java FFM API (which is still in preview).
+Older versions of the wrapper still work with Java 11 or later, but they use JNI with same version of FreeImage.
+
## License
@@ -54,19 +57,19 @@ If you are using Maven, add one of the following dependencies in your POM:
com.nextbreakpoint
com.nextbreakpoint.freeimage4Java.macos
- 3.18.0-2.1
+ 3.18.0-2.2
com.nextbreakpoint
com.nextbreakpoint.freeimage4Java.linux
- 3.18.0-2.1
+ 3.18.0-2.2
com.nextbreakpoint
com.nextbreakpoint.freeimage4Java.windows
- 3.18.0-2.1
+ 3.18.0-2.2
Also, add one of the following to download the native library:
@@ -226,25 +229,25 @@ Compile and package the JARs:
The artifacts will be created in the target directory of each module:
- freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.1.jar
- freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.1-x86_64.jar
+ freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.2.jar
+ freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.2-x86_64.jar
- freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.1.jar
- freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.1-x86_64.jar
+ freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.2.jar
+ freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.2-x86_64.jar
- freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.1.jar
- freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.1-x86_64.jar
+ freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.2.jar
+ freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.2-x86_64.jar
List the content of the JAR files:
- unzip -t freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.1.jar
- unzip -t freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.1-x86_64.jar
+ unzip -t freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.2.jar
+ unzip -t freeimage4Java-macos/target/com.nextbreakpoint.freeimage4Java.macos-3.18.0-2.2-x86_64.jar
- unzip -t freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.1.jar
- unzip -t freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.1-x86_64.jar
+ unzip -t freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.2.jar
+ unzip -t freeimage4Java-linux/target/com.nextbreakpoint.freeimage4Java.linux-3.18.0-2.2-x86_64.jar
- unzip -t freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.1.jar
- unzip -t freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.1-x86_64.jar
+ unzip -t freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.2.jar
+ unzip -t freeimage4Java-windows/target/com.nextbreakpoint.freeimage4Java.windows-3.18.0-2.2-x86_64.jar
Install the artifacts in your local Maven repository:
@@ -287,15 +290,11 @@ Generate the code for Windows (must be executed on Windows):
## Code examples
-A simple example is provided for each supported system.
-
-See POM files for details about how to download the native library and execute the code:
-
- freeimage4Java-macos-examples/pom.xml
+A simple example is provided in the module freeimage4Java-examples.
- freeimage4Java-linux-examples/pom.xml
+See the POM file for details about how to download the native library and execute the example:
- freeimage4Java-windows-examples/pom.xml
+ freeimage4Java-examples/pom.xml
## References
diff --git a/freeimage4java-examples/pom.xml b/freeimage4java-examples/pom.xml
new file mode 100644
index 0000000..1524379
--- /dev/null
+++ b/freeimage4java-examples/pom.xml
@@ -0,0 +1,165 @@
+
+ 4.0.0
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java
+ 3.18.0-2.2
+
+ com.nextbreakpoint.freeimage4java.examples
+ jar
+ FreeImage4Java Examples
+ FreeImage4Java provides a Java wrapper of FreeImage library
+
+
+ macos
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.macos
+ ${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-lib
+ test-compile
+
+ unpack
+
+
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.macos
+ x86_64
+ jar
+ true
+ ${project.build.directory}/lib
+
+
+ **/*.dylib
+
+
+
+
+
+
+
+
+ linux
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.linux
+ ${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-lib
+ test-compile
+
+ unpack
+
+
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.linux
+ x86_64
+ jar
+ true
+ ${project.build.directory}/lib
+
+
+ **/*.so
+
+
+
+
+
+
+
+
+ windows
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.windows
+ ${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-lib
+ test-compile
+
+ unpack
+
+
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.windows
+ x86_64
+ jar
+ true
+ ${project.build.directory}/lib
+
+
+ **/*.dll
+
+
+
+
+
+
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+
+
+ run
+ test
+
+ exec
+
+
+ java
+
+ --enable-preview
+ --enable-native-access=ALL-UNNAMED
+ -classpath
+
+ -Djava.library.path=${project.build.directory}/lib
+ com.nextbreakpoint.freeimage4java.ConvertImageMain
+ sample.png
+ output.png
+
+
+
+
+
+
+
+
diff --git a/freeimage4java-linux-examples/sample.png b/freeimage4java-examples/sample.png
similarity index 100%
rename from freeimage4java-linux-examples/sample.png
rename to freeimage4java-examples/sample.png
diff --git a/freeimage4java-macos-examples/src/main/java/com/nextbreakpoint/freeimage4java/macos/ConvertImageMain.java b/freeimage4java-examples/src/main/java/com/nextbreakpoint/freeimage4java/ConvertImageMain.java
similarity index 64%
rename from freeimage4java-macos-examples/src/main/java/com/nextbreakpoint/freeimage4java/macos/ConvertImageMain.java
rename to freeimage4java-examples/src/main/java/com/nextbreakpoint/freeimage4java/ConvertImageMain.java
index 13a805a..ed7af2d 100644
--- a/freeimage4java-macos-examples/src/main/java/com/nextbreakpoint/freeimage4java/macos/ConvertImageMain.java
+++ b/freeimage4java-examples/src/main/java/com/nextbreakpoint/freeimage4java/ConvertImageMain.java
@@ -1,15 +1,15 @@
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.foreign.Arena;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FIF_PNG;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_ConvertToGreyscale;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Initialise;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Load;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Save;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Unload;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.PNG_DEFAULT;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.TRUE;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FIF_PNG;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_ConvertToGreyscale;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Initialise;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Load;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Save;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Unload;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.PNG_DEFAULT;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.TRUE;
import static java.lang.foreign.MemorySegment.NULL;
class ConvertImageMain {
@@ -23,8 +23,8 @@ public static void main(String[] args) {
System.out.println("Converting image...");
- System.out.println(STR."Source file \{sourceFileName}");
- System.out.println(STR."Output file \{outputFileName}");
+ System.out.printf("Source file %s%n", sourceFileName);
+ System.out.printf("Output file %s%n", outputFileName);
try (var arena = Arena.ofConfined()) {
var pSourceBitmap = NULL;
diff --git a/freeimage4java-linux-examples/pom.xml b/freeimage4java-linux-examples/pom.xml
deleted file mode 100644
index 23f5ad7..0000000
--- a/freeimage4java-linux-examples/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-
- 4.0.0
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
-
- com.nextbreakpoint.freeimage4java.linux.examples
- jar
- FreeImage4Java Linux Examples
- FreeImage4Java provides a Java wrapper of FreeImage library
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.linux
- ${project.version}
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-lib
- test-compile
-
- unpack
-
-
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.linux
- x86_64
- jar
- true
- ${project.build.directory}/lib
-
-
- **/*.so
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
-
-
- run
- test
-
- exec
-
-
- java
-
- --enable-preview
- --enable-native-access=ALL-UNNAMED
- -classpath
-
- -Djava.library.path=${project.build.directory}/lib
- com.nextbreakpoint.freeimage4java.linux.ConvertImageMain
- sample.png
- output.png
-
-
-
-
-
-
-
-
diff --git a/freeimage4java-linux-examples/src/main/java/com/nextbreakpoint/freeimage4java/linux/ConvertImageMain.java b/freeimage4java-linux-examples/src/main/java/com/nextbreakpoint/freeimage4java/linux/ConvertImageMain.java
deleted file mode 100644
index 9f73eee..0000000
--- a/freeimage4java-linux-examples/src/main/java/com/nextbreakpoint/freeimage4java/linux/ConvertImageMain.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.nextbreakpoint.freeimage4java.linux;
-
-import java.lang.foreign.Arena;
-
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FIF_PNG;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_ConvertToGreyscale;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Initialise;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Load;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Save;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Unload;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.PNG_DEFAULT;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.TRUE;
-import static java.lang.foreign.MemorySegment.NULL;
-
-class ConvertImageMain {
- public static void main(String[] args) {
- if (args.length < 2) {
- throw new IllegalArgumentException("Invalid arguments");
- }
-
- final String sourceFileName = args[0];
- final String outputFileName = args[1];
-
- System.out.println("Converting image...");
-
- System.out.println(STR."Source file \{sourceFileName}");
- System.out.println(STR."Output file \{outputFileName}");
-
- try (var arena = Arena.ofConfined()) {
- var pSourceBitmap = NULL;
- var pOutputBitmap = NULL;
-
- try {
- FreeImage_Initialise(TRUE());
-
- var pInputFileName = arena.allocateFrom(sourceFileName);
- var pOutputFileName = arena.allocateFrom(outputFileName);
-
- pSourceBitmap = FreeImage_Load(FIF_PNG(), pInputFileName, PNG_DEFAULT());
-
- pOutputBitmap = FreeImage_ConvertToGreyscale(pSourceBitmap);
-
- int result = FreeImage_Save(FIF_PNG(), pOutputBitmap, pOutputFileName, PNG_DEFAULT());
-
- if (result == TRUE()) {
- System.out.println("Image converted");
- } else {
- throw new IllegalArgumentException("Failed to process image");
- }
- }
- finally {
- if (!pSourceBitmap.equals(NULL)) {
- FreeImage_Unload(pSourceBitmap);
- }
-
- if (!pOutputBitmap.equals(NULL)) {
- FreeImage_Unload(pOutputBitmap);
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/freeimage4java-linux-test/pom.xml b/freeimage4java-linux-test/pom.xml
deleted file mode 100644
index 604f6f0..0000000
--- a/freeimage4java-linux-test/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
- 4.0.0
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
-
- com.nextbreakpoint.freeimage4java.linux.test
- jar
- FreeImage4Java Linux Test
- FreeImage4Java provides a Java wrapper of FreeImage library
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.linux
- ${project.version}
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-lib
- test-compile
-
- unpack
-
-
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.linux
- x86_64
- jar
- true
- ${project.build.directory}/lib
-
-
- **/*.so
-
-
-
-
-
-
-
diff --git a/freeimage4java-linux-test/src/test/java/com/nextbreakpoint/freeimage4java/linux/FreeImage4JavaTest.java b/freeimage4java-linux-test/src/test/java/com/nextbreakpoint/freeimage4java/linux/FreeImage4JavaTest.java
deleted file mode 100644
index 352784a..0000000
--- a/freeimage4java-linux-test/src/test/java/com/nextbreakpoint/freeimage4java/linux/FreeImage4JavaTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package com.nextbreakpoint.freeimage4java.linux;
-
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-
-import java.lang.foreign.Arena;
-import java.lang.foreign.MemorySegment;
-
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FIF_PNG;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Allocate;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_GetPixelColor;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Initialise;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Load;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Save;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_SetPixelColor;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.FreeImage_Unload;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.PNG_DEFAULT;
-import static com.nextbreakpoint.freeimage4java.linux.Libfreeimage.TRUE;
-import static java.lang.foreign.MemorySegment.NULL;
-import static org.assertj.core.api.Assertions.assertThat;
-
-class FreeImage4JavaTest {
- private static final int IMAGE_WIDTH = 256;
- private static final int IMAGE_HEIGHT = 256;
-
- private static byte[] pixels;
-
- @BeforeAll
- public static void setup() {
- FreeImage_Initialise(TRUE());
- pixels = createPixels(IMAGE_WIDTH, IMAGE_HEIGHT);
- }
-
- @Test
- public void shouldLoadImage() {
- try (var arena = Arena.ofConfined()) {
- var pBitmap = NULL;
- try {
- var inputFileName = arena.allocateFrom(getFileName("sample.png"));
- pBitmap = FreeImage_Load(FIF_PNG(), inputFileName, PNG_DEFAULT());
- assertThat(pBitmap).isNotNull();
- assertThat(pBitmap.address()).isNotZero();
- assertThat(comparePixels(arena, pBitmap, pixels, IMAGE_WIDTH, IMAGE_HEIGHT)).isZero();
- var pOutputFileName = arena.allocateFrom(getFileName("test0.png"));
- int result = FreeImage_Save(FIF_PNG(), pBitmap, pOutputFileName, PNG_DEFAULT());
- assertThat(result).isEqualTo(1);
- }
- finally {
- if (!pBitmap.equals(NULL)) {
- FreeImage_Unload(pBitmap);
- }
- }
- }
- }
-
- @Test
- public void shouldSaveImage() {
- try (var arena = Arena.ofConfined()) {
- var pBitmap = NULL;
- try {
- pBitmap = FreeImage_Allocate(IMAGE_WIDTH, IMAGE_HEIGHT, 32, 0x00FF0000, 0x0000FF00, 0x000000FF);
- assertThat(pBitmap).isNotNull();
- assertThat(pBitmap.address()).isNotZero();
- setImagePixels(arena, pBitmap, pixels, IMAGE_WIDTH, IMAGE_HEIGHT);
- var pOutputFileName = arena.allocateFrom(getFileName("test1.png"));
- int result = FreeImage_Save(FIF_PNG(), pBitmap, pOutputFileName, PNG_DEFAULT());
- assertThat(result).isEqualTo(1);
- } finally {
- if (!pBitmap.equals(NULL)) {
- FreeImage_Unload(pBitmap);
- }
- }
- }
- }
-
- @Test
- public void shouldSaveAndLoadSameImage() {
- try (var arena = Arena.ofConfined()) {
- var pSourceBitmap = NULL;
- var pOutputBitmap = NULL;
- try {
- pSourceBitmap = FreeImage_Allocate(IMAGE_WIDTH, IMAGE_HEIGHT, 32, 0x00FF0000, 0x0000FF00, 0x000000FF);
- assertThat(pSourceBitmap).isNotNull();
- assertThat(pSourceBitmap.address()).isNotZero();
- setImagePixels(arena, pSourceBitmap, pixels, IMAGE_WIDTH, IMAGE_HEIGHT);
- var pOutputFileName = arena.allocateFrom(getFileName("test2.png"));
- FreeImage_Save(FIF_PNG(), pSourceBitmap, pOutputFileName, PNG_DEFAULT());
- pOutputBitmap = FreeImage_Load(FIF_PNG(), pOutputFileName, PNG_DEFAULT());
- assertThat(pOutputBitmap).isNotNull();
- assertThat(pOutputBitmap.address()).isNotZero();
- assertThat(comparePixels(arena, pOutputBitmap, pSourceBitmap, IMAGE_WIDTH, IMAGE_HEIGHT)).isZero();
- } finally {
- if (!pSourceBitmap.equals(NULL)) {
- FreeImage_Unload(pSourceBitmap);
- }
- if (!pOutputBitmap.equals(NULL)) {
- FreeImage_Unload(pOutputBitmap);
- }
- }
- }
- }
-
- private int comparePixels(Arena arena, MemorySegment dib1, MemorySegment dib2, int imageWidth, int imageHeight) {
- MemorySegment value1 = arena.allocate(tagRGBQUAD.layout());
- MemorySegment value2 = arena.allocate(tagRGBQUAD.layout());
- int result = 0;
- for (int y = 0; y < imageHeight; y++) {
- for (int x = 0; x < imageWidth; x++) {
- FreeImage_GetPixelColor(dib1, x, y, value1);
- FreeImage_GetPixelColor(dib2, x, y, value2);
- if (tagRGBQUAD.rgbRed(value2) != tagRGBQUAD.rgbRed(value1)) {
- result += 1;
- } else if (tagRGBQUAD.rgbGreen(value2) != tagRGBQUAD.rgbGreen(value1)) {
- result += 1;
- } else if (tagRGBQUAD.rgbBlue(value2) != tagRGBQUAD.rgbBlue(value1)) {
- result += 1;
- } else if (tagRGBQUAD.rgbReserved(value2) != tagRGBQUAD.rgbReserved(value1)) {
- result += 1;
- }
- }
- }
- return result;
- }
-
- private int comparePixels(Arena arena, MemorySegment dib, byte[] pixels, int imageWidth, int imageHeight) {
- MemorySegment value = arena.allocate(tagRGBQUAD.layout());
- int result = 0;
- for (int y = 0; y < imageHeight; y++) {
- int j = y * imageWidth;
- for (int x = 0; x < imageWidth; x++) {
- int i = (j + x) * 4;
- FreeImage_GetPixelColor(dib, x, y, value);
- if (tagRGBQUAD.rgbRed(value) != pixels[i + 0]) {
- result += 1;
- } else if (tagRGBQUAD.rgbGreen(value) != pixels[i + 1]) {
- result += 1;
- } else if (tagRGBQUAD.rgbBlue(value) != pixels[i + 2]) {
- result += 1;
- } else if (tagRGBQUAD.rgbReserved(value) != pixels[i + 3]) {
- result += 1;
- }
- }
- }
- return result;
- }
-
- private void setImagePixels(Arena arena, MemorySegment dib, byte[] pixels, int imageWidth, int imageHeight) {
- MemorySegment value = arena.allocate(tagRGBQUAD.layout());
- for (int y = 0; y < imageHeight; y++) {
- int j = y * imageWidth;
- for (int x = 0; x < imageWidth; x++) {
- int i = (j + x) * 4;
- tagRGBQUAD.rgbRed(value, (pixels[i + 0]));
- tagRGBQUAD.rgbGreen(value, (pixels[i + 1]));
- tagRGBQUAD.rgbBlue(value, (pixels[i + 2]));
- tagRGBQUAD.rgbReserved(value, (pixels[i + 3]));
- FreeImage_SetPixelColor(dib, x, y, value);
- }
- }
- }
-
- private static byte[] createPixels(int imageWidth, int imageHeight) {
- byte[] pixels = new byte[imageHeight * imageWidth * 4];
- for (int y = 0; y < imageHeight; y++) {
- int j = y * imageWidth;
- for (int x = 0; x < imageWidth; x++) {
- int i = (j + x) * 4;
- pixels[i + 0] = (byte)x;
- pixels[i + 1] = (byte)y;
- pixels[i + 2] = (byte)(x+y);
- pixels[i + 3] = y < imageHeight / 2 ? (byte)255 : (byte)50;
- }
- }
- return pixels;
- }
-
- private static String getFileName(String file) {
- return STR."\{System.getProperty("basedir", ".")}/\{file}";
- }
-}
\ No newline at end of file
diff --git a/freeimage4java-linux/extract.sh b/freeimage4java-linux/extract.sh
index 7ba1a08..9227ed8 100755
--- a/freeimage4java-linux/extract.sh
+++ b/freeimage4java-linux/extract.sh
@@ -6,7 +6,7 @@ export PATH=$PATH:${JEXTRACT_HOME}/bin
jextract @includes.txt \
--output src/main/java \
- --target-package com.nextbreakpoint.freeimage4java.linux \
+ --target-package com.nextbreakpoint.freeimage4java \
--include-dir "${FREEIMAGE_HOME}" \
--use-system-load-library \
--library freeimage4java \
diff --git a/freeimage4java-linux/pom.xml b/freeimage4java-linux/pom.xml
index 1e6c9f8..c369a3e 100644
--- a/freeimage4java-linux/pom.xml
+++ b/freeimage4java-linux/pom.xml
@@ -4,7 +4,7 @@
com.nextbreakpoint
com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
+ 3.18.0-2.2
com.nextbreakpoint.freeimage4java.linux
jar
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/BITMAPINFO.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
similarity index 91%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/BITMAPINFO.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
index 3daae9d..cddb1e8 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/BITMAPINFO.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/BITMAPINFOHEADER.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
similarity index 94%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/BITMAPINFOHEADER.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
index dbc4c98..0fad903 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/BITMAPINFOHEADER.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIBITMAP.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
similarity index 98%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIBITMAP.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
index 616a107..c227c32 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIBITMAP.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FICOMPLEX.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
similarity index 91%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FICOMPLEX.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
index 968c56f..e856cc1 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FICOMPLEX.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIICCPROFILE.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIICCPROFILE.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
index 6882790..39fee37 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIICCPROFILE.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMEMORY.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
similarity index 98%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMEMORY.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
index 682ff98..c34fde5 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMEMORY.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMETADATA.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
similarity index 98%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMETADATA.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
index 40fd3bb..8895a88 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMETADATA.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMULTIBITMAP.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
similarity index 98%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMULTIBITMAP.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
index 4c7d304..c61443b 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMULTIBITMAP.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGB16.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
similarity index 91%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGB16.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
index 70d8af6..8b89f73 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGB16.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBA16.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
similarity index 91%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBA16.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
index efef688..059027b 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBA16.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBAF.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
similarity index 91%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBAF.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
index cebcd4f..e7decf8 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBAF.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBF.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
similarity index 91%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBF.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
index 01d8043..c341619 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGBF.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FITAG.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
similarity index 98%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FITAG.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
index f3ccccf..4dee6b4 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FITAG.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_CloseProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_CloseProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
index 0b4622c..a09dfb4 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_CloseProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_DescriptionProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_DescriptionProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
index a13a402..95381a9 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_DescriptionProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ExtensionListProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ExtensionListProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
index 37667e9..fb76a93 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ExtensionListProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_FormatProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_FormatProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
index d2a9604..5be5165 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_FormatProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_InitProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_InitProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
index 25d5d02..ce33a66 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_InitProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_LoadProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_LoadProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
index 2a55ee2..f9808b8 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_LoadProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_MimeProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_MimeProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
index cd936ee..6e15dfd 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_MimeProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_OpenProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_OpenProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
index e2a48cd..5fd69bb 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_OpenProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_PageCapabilityProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_PageCapabilityProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
index 590ca49..2856ddf 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_PageCapabilityProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_PageCountProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_PageCountProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
index b66a15d..1a78bbd 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_PageCountProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ReadProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ReadProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
index ce54274..d0b6364 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ReadProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_RegExprProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_RegExprProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
index f576d40..20132fc 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_RegExprProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SaveProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SaveProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
index 16576b5..eb5376f 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SaveProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SeekProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SeekProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
index 836aa62..a8a0826 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SeekProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsExportBPPProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsExportBPPProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
index b30208d..c8c2a40 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsExportBPPProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsExportTypeProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsExportTypeProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
index 15d3189..a48b9e9 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsExportTypeProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsICCProfilesProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsICCProfilesProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
index e361563..d3a75e6 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsICCProfilesProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsNoPixelsProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsNoPixelsProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
index 29634b8..82df200 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsNoPixelsProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_TellProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_TellProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
index 3c2940a..08d190b 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_TellProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ValidateProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ValidateProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
index 49ff5e5..2a4d4d5 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ValidateProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_WriteProc.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_WriteProc.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
index 0bd8a7f..905c23d 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_WriteProc.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImageIO.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImageIO.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
index 99f2469..5757977 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImageIO.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImage_OutputMessageFunction.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImage_OutputMessageFunction.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
index 71cabfd..2071084 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImage_OutputMessageFunction.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImage_OutputMessageFunctionStdCall.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImage_OutputMessageFunctionStdCall.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
index 0a3cd91..0cf5b56 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FreeImage_OutputMessageFunctionStdCall.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/Libfreeimage.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/Libfreeimage.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
index f4afe3d..b20bd1f 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/Libfreeimage.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/Plugin.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/Plugin.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
index 00b1e2e..59c4e05 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/Plugin.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/RGBQUAD.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
similarity index 92%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/RGBQUAD.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
index 36414af..a1104c8 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/RGBQUAD.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/RGBTRIPLE.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
similarity index 91%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/RGBTRIPLE.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
index 99a8b8e..f55f32d 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/RGBTRIPLE.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagBITMAPINFO.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagBITMAPINFO.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
index 31dc4ee..4b8d203 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagBITMAPINFO.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagBITMAPINFOHEADER.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagBITMAPINFOHEADER.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
index d48d5cd..a4e3519 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagBITMAPINFOHEADER.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFICOMPLEX.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
similarity index 98%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFICOMPLEX.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
index eb1817c..7ab9075 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFICOMPLEX.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGB16.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGB16.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
index 520db68..cf90b41 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGB16.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBA16.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBA16.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
index 3ed1ef1..59e27b0 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBA16.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBAF.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBAF.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
index 3fce391..80037d0 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBAF.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBF.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBF.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
index 45fc5a2..ea2de32 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBF.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagRGBQUAD.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagRGBQUAD.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
index ef49313..a2acc47 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagRGBQUAD.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagRGBTRIPLE.java b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagRGBTRIPLE.java
rename to freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
index 13ed0d4..1ab7406 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagRGBTRIPLE.java
+++ b/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/module-info.java b/freeimage4java-linux/src/main/java/module-info.java
index 435988f..192fcc2 100644
--- a/freeimage4java-linux/src/main/java/module-info.java
+++ b/freeimage4java-linux/src/main/java/module-info.java
@@ -1,3 +1,3 @@
-module com.nextbreakpoint.freeimage4java.linux {
- exports com.nextbreakpoint.freeimage4java.linux;
+module com.nextbreakpoint.freeimage4java {
+ exports com.nextbreakpoint.freeimage4java;
}
\ No newline at end of file
diff --git a/freeimage4java-macos-examples/pom.xml b/freeimage4java-macos-examples/pom.xml
deleted file mode 100644
index 49384ab..0000000
--- a/freeimage4java-macos-examples/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-
- 4.0.0
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
-
- com.nextbreakpoint.freeimage4java.macos.examples
- jar
- FreeImage4Java MacOS Examples
- FreeImage4Java provides a Java wrapper of FreeImage library
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.macos
- ${project.version}
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-lib
- test-compile
-
- unpack
-
-
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.macos
- x86_64
- jar
- true
- ${project.build.directory}/lib
-
-
- **/*.dylib
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
-
-
- run
- test
-
- exec
-
-
- java
-
- --enable-preview
- --enable-native-access=ALL-UNNAMED
- -classpath
-
- -Djava.library.path=${project.build.directory}/lib
- com.nextbreakpoint.freeimage4java.macos.ConvertImageMain
- sample.png
- output.png
-
-
-
-
-
-
-
-
diff --git a/freeimage4java-macos-examples/sample.png b/freeimage4java-macos-examples/sample.png
deleted file mode 100644
index e8aeac5..0000000
Binary files a/freeimage4java-macos-examples/sample.png and /dev/null differ
diff --git a/freeimage4java-macos-test/pom.xml b/freeimage4java-macos-test/pom.xml
deleted file mode 100644
index 5b59660..0000000
--- a/freeimage4java-macos-test/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
- 4.0.0
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
-
- com.nextbreakpoint.freeimage4java.macos.test
- jar
- FreeImage4Java MacOS Test
- FreeImage4Java provides a Java wrapper of FreeImage library
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.macos
- ${project.version}
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-lib
- test-compile
-
- unpack
-
-
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.macos
- x86_64
- jar
- true
- ${project.build.directory}/lib
-
-
- **/*.dylib
-
-
-
-
-
-
-
diff --git a/freeimage4java-macos-test/sample.png b/freeimage4java-macos-test/sample.png
deleted file mode 100644
index e8aeac5..0000000
Binary files a/freeimage4java-macos-test/sample.png and /dev/null differ
diff --git a/freeimage4java-macos/extract.sh b/freeimage4java-macos/extract.sh
index 900ae05..9227ed8 100755
--- a/freeimage4java-macos/extract.sh
+++ b/freeimage4java-macos/extract.sh
@@ -6,7 +6,7 @@ export PATH=$PATH:${JEXTRACT_HOME}/bin
jextract @includes.txt \
--output src/main/java \
- --target-package com.nextbreakpoint.freeimage4java.macos \
+ --target-package com.nextbreakpoint.freeimage4java \
--include-dir "${FREEIMAGE_HOME}" \
--use-system-load-library \
--library freeimage4java \
diff --git a/freeimage4java-macos/pom.xml b/freeimage4java-macos/pom.xml
index a1a11f0..bc7345a 100644
--- a/freeimage4java-macos/pom.xml
+++ b/freeimage4java-macos/pom.xml
@@ -4,7 +4,7 @@
com.nextbreakpoint
com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
+ 3.18.0-2.2
com.nextbreakpoint.freeimage4java.macos
jar
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/BITMAPINFO.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
similarity index 91%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/BITMAPINFO.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
index 29452ae..cddb1e8 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/BITMAPINFO.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/BITMAPINFOHEADER.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
similarity index 94%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/BITMAPINFOHEADER.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
index fd5edfc..0fad903 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/BITMAPINFOHEADER.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIBITMAP.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
similarity index 98%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIBITMAP.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
index d32214b..c227c32 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIBITMAP.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FICOMPLEX.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
similarity index 91%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FICOMPLEX.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
index d98580b..e856cc1 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FICOMPLEX.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIICCPROFILE.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIICCPROFILE.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
index 9003720..39fee37 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIICCPROFILE.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMEMORY.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
similarity index 98%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMEMORY.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
index d75a29b..c34fde5 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMEMORY.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMETADATA.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
similarity index 98%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMETADATA.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
index f9c8439..8895a88 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIMETADATA.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMULTIBITMAP.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
similarity index 98%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMULTIBITMAP.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
index fe25c21..c61443b 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIMULTIBITMAP.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGB16.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
similarity index 91%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGB16.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
index 3774ae8..8b89f73 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FIRGB16.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBA16.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
similarity index 91%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBA16.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
index 0c807cb..059027b 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBA16.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBAF.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
similarity index 91%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBAF.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
index dbbc3bd..e7decf8 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBAF.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBF.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
similarity index 91%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBF.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
index 0631ec8..c341619 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FIRGBF.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FITAG.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
similarity index 98%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FITAG.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
index 73e6ac5..4dee6b4 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FITAG.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_CloseProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_CloseProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
index eaae44a..a09dfb4 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_CloseProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_DescriptionProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_DescriptionProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
index ec49872..95381a9 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_DescriptionProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ExtensionListProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ExtensionListProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
index 1b3fe8f..fb76a93 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ExtensionListProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_FormatProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_FormatProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
index 32f09f6..5be5165 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_FormatProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_InitProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_InitProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
index 0412a63..ce33a66 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_InitProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_LoadProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_LoadProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
index 6f69597..f9808b8 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_LoadProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_MimeProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_MimeProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
index 9047512..6e15dfd 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_MimeProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_OpenProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_OpenProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
index 4d566dc..5fd69bb 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_OpenProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_PageCapabilityProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_PageCapabilityProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
index 4721d11..2856ddf 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_PageCapabilityProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_PageCountProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_PageCountProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
index 5a2476b..1a78bbd 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_PageCountProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ReadProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ReadProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
index 16d0641..d0b6364 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_ReadProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_RegExprProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_RegExprProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
index 876abb5..20132fc 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_RegExprProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SaveProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SaveProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
index 5bc829f..eb5376f 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SaveProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SeekProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SeekProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
index c9514a7..a8a0826 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SeekProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsExportBPPProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsExportBPPProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
index 25f1907..c8c2a40 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsExportBPPProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsExportTypeProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsExportTypeProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
index 1bb6152..a48b9e9 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsExportTypeProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsICCProfilesProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsICCProfilesProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
index 5609d1e..d3a75e6 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_SupportsICCProfilesProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsNoPixelsProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsNoPixelsProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
index 20573fb..82df200 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FI_SupportsNoPixelsProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_TellProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_TellProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
index 0a008a8..08d190b 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_TellProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ValidateProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ValidateProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
index 3f35204..2a4d4d5 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_ValidateProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_WriteProc.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
similarity index 97%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_WriteProc.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
index 20cb362..905c23d 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/FI_WriteProc.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImageIO.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImageIO.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
index 44bbc18..5757977 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImageIO.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImage_OutputMessageFunction.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImage_OutputMessageFunction.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
index 895253a..2071084 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImage_OutputMessageFunction.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImage_OutputMessageFunctionStdCall.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
similarity index 97%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImage_OutputMessageFunctionStdCall.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
index 5ba1f0a..0cf5b56 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/FreeImage_OutputMessageFunctionStdCall.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/Libfreeimage.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/Libfreeimage.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
index 2c42675..d07932c 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/Libfreeimage.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/Plugin.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/Plugin.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
index 6fe12fa..59c4e05 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/Plugin.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/RGBQUAD.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
similarity index 92%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/RGBQUAD.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
index 5a60633..a1104c8 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/RGBQUAD.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/RGBTRIPLE.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
similarity index 91%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/RGBTRIPLE.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
index 638e794..f55f32d 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/RGBTRIPLE.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagBITMAPINFO.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagBITMAPINFO.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
index 12b19e9..4b8d203 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagBITMAPINFO.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagBITMAPINFOHEADER.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagBITMAPINFOHEADER.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
index aa431ab..a4e3519 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagBITMAPINFOHEADER.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFICOMPLEX.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
similarity index 98%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFICOMPLEX.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
index a7f94ed..7ab9075 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFICOMPLEX.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGB16.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGB16.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
index 09414ad..cf90b41 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGB16.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBA16.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBA16.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
index e4a38bf..59e27b0 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagFIRGBA16.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBAF.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBAF.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
index d7706dd..80037d0 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBAF.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBF.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
similarity index 99%
rename from freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBF.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
index e23f2a4..ea2de32 100644
--- a/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/macos/tagFIRGBF.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagRGBQUAD.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagRGBQUAD.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
index 070e5b6..a2acc47 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagRGBQUAD.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagRGBTRIPLE.java b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
similarity index 99%
rename from freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagRGBTRIPLE.java
rename to freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
index aad6d3f..1ab7406 100644
--- a/freeimage4java-linux/src/main/java/com/nextbreakpoint/freeimage4java/linux/tagRGBTRIPLE.java
+++ b/freeimage4java-macos/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.linux;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-macos/src/main/java/module-info.java b/freeimage4java-macos/src/main/java/module-info.java
index 0ec2329..192fcc2 100644
--- a/freeimage4java-macos/src/main/java/module-info.java
+++ b/freeimage4java-macos/src/main/java/module-info.java
@@ -1,3 +1,3 @@
-module com.nextbreakpoint.freeimage4java.macos {
- exports com.nextbreakpoint.freeimage4java.macos;
+module com.nextbreakpoint.freeimage4java {
+ exports com.nextbreakpoint.freeimage4java;
}
\ No newline at end of file
diff --git a/freeimage4java-tests/pom.xml b/freeimage4java-tests/pom.xml
new file mode 100644
index 0000000..b3a505d
--- /dev/null
+++ b/freeimage4java-tests/pom.xml
@@ -0,0 +1,135 @@
+
+ 4.0.0
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java
+ 3.18.0-2.2
+
+ com.nextbreakpoint.freeimage4java.tests
+ jar
+ FreeImage4Java Tests
+ FreeImage4Java provides a Java wrapper of FreeImage library
+
+
+ macos
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.macos
+ ${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-lib
+ test-compile
+
+ unpack
+
+
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.macos
+ x86_64
+ jar
+ true
+ ${project.build.directory}/lib
+
+
+ **/*.dylib
+
+
+
+
+
+
+
+
+ linux
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.linux
+ ${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-lib
+ test-compile
+
+ unpack
+
+
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.linux
+ x86_64
+ jar
+ true
+ ${project.build.directory}/lib
+
+
+ **/*.so
+
+
+
+
+
+
+
+
+ windows
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.windows
+ ${project.version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-lib
+ test-compile
+
+ unpack
+
+
+
+
+ com.nextbreakpoint
+ com.nextbreakpoint.freeimage4java.windows
+ x86_64
+ jar
+ true
+ ${project.build.directory}/lib
+
+
+ **/*.dll
+
+
+
+
+
+
+
+
+
diff --git a/freeimage4java-linux-test/sample.png b/freeimage4java-tests/sample.png
similarity index 100%
rename from freeimage4java-linux-test/sample.png
rename to freeimage4java-tests/sample.png
diff --git a/freeimage4java-macos-test/src/test/java/com/nextbreakpoint/freeimage4java/macos/FreeImage4JavaTest.java b/freeimage4java-tests/src/test/java/com/nextbreakpoint/freeimage4java/FreeImage4JavaTest.java
similarity index 87%
rename from freeimage4java-macos-test/src/test/java/com/nextbreakpoint/freeimage4java/macos/FreeImage4JavaTest.java
rename to freeimage4java-tests/src/test/java/com/nextbreakpoint/freeimage4java/FreeImage4JavaTest.java
index c01b82b..a23ae0d 100644
--- a/freeimage4java-macos-test/src/test/java/com/nextbreakpoint/freeimage4java/macos/FreeImage4JavaTest.java
+++ b/freeimage4java-tests/src/test/java/com/nextbreakpoint/freeimage4java/FreeImage4JavaTest.java
@@ -1,4 +1,4 @@
-package com.nextbreakpoint.freeimage4java.macos;
+package com.nextbreakpoint.freeimage4java;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -6,16 +6,16 @@
import java.lang.foreign.Arena;
import java.lang.foreign.MemorySegment;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FIF_PNG;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Allocate;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_GetPixelColor;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Initialise;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Load;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Save;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_SetPixelColor;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.FreeImage_Unload;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.PNG_DEFAULT;
-import static com.nextbreakpoint.freeimage4java.macos.Libfreeimage.TRUE;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FIF_PNG;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Allocate;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_GetPixelColor;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Initialise;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Load;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Save;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_SetPixelColor;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.FreeImage_Unload;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.PNG_DEFAULT;
+import static com.nextbreakpoint.freeimage4java.Libfreeimage.TRUE;
import static java.lang.foreign.MemorySegment.NULL;
import static org.assertj.core.api.Assertions.assertThat;
@@ -175,6 +175,6 @@ private static byte[] createPixels(int imageWidth, int imageHeight) {
}
private static String getFileName(String file) {
- return STR."\{System.getProperty("basedir", ".")}/\{file}";
+ return "%s/%s".formatted(System.getProperty("basedir", "."), file);
}
}
\ No newline at end of file
diff --git a/freeimage4java-windows-examples/pom.xml b/freeimage4java-windows-examples/pom.xml
deleted file mode 100644
index df61dbb..0000000
--- a/freeimage4java-windows-examples/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-
- 4.0.0
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
-
- com.nextbreakpoint.freeimage4java.windows.examples
- jar
- FreeImage4Java Windows Examples
- FreeImage4Java provides a Java wrapper of FreeImage library
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.windows
- ${project.version}
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-lib
- test-compile
-
- unpack
-
-
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.windows
- x86_64
- jar
- true
- ${project.build.directory}/lib
-
-
- **/*.dll
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
-
-
- run
- test
-
- exec
-
-
- java
-
- --enable-preview
- --enable-native-access=ALL-UNNAMED
- -classpath
-
- -Djava.library.path=${project.build.directory}/lib
- com.nextbreakpoint.freeimage4java.windows.ConvertImageMain
- sample.png
- output.png
-
-
-
-
-
-
-
-
diff --git a/freeimage4java-windows-examples/sample.png b/freeimage4java-windows-examples/sample.png
deleted file mode 100644
index e8aeac5..0000000
Binary files a/freeimage4java-windows-examples/sample.png and /dev/null differ
diff --git a/freeimage4java-windows-examples/src/main/java/com/nextbreakpoint/freeimage4java/windows/ConvertImageMain.java b/freeimage4java-windows-examples/src/main/java/com/nextbreakpoint/freeimage4java/windows/ConvertImageMain.java
deleted file mode 100644
index 371c836..0000000
--- a/freeimage4java-windows-examples/src/main/java/com/nextbreakpoint/freeimage4java/windows/ConvertImageMain.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.nextbreakpoint.freeimage4java.windows;
-
-import java.lang.foreign.Arena;
-
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FIF_PNG;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_ConvertToGreyscale;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Initialise;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Load;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Save;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Unload;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.PNG_DEFAULT;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.TRUE;
-import static java.lang.foreign.MemorySegment.NULL;
-
-class ConvertImageMain {
- public static void main(String[] args) {
- if (args.length < 2) {
- throw new IllegalArgumentException("Invalid arguments");
- }
-
- final String sourceFileName = args[0];
- final String outputFileName = args[1];
-
- System.out.println("Converting image...");
-
- System.out.println(STR."Source file \{sourceFileName}");
- System.out.println(STR."Output file \{outputFileName}");
-
- try (var arena = Arena.ofConfined()) {
- var pSourceBitmap = NULL;
- var pOutputBitmap = NULL;
-
- try {
- FreeImage_Initialise(TRUE());
-
- var pInputFileName = arena.allocateFrom(sourceFileName);
- var pOutputFileName = arena.allocateFrom(outputFileName);
-
- pSourceBitmap = FreeImage_Load(FIF_PNG(), pInputFileName, PNG_DEFAULT());
-
- pOutputBitmap = FreeImage_ConvertToGreyscale(pSourceBitmap);
-
- int result = FreeImage_Save(FIF_PNG(), pOutputBitmap, pOutputFileName, PNG_DEFAULT());
-
- if (result == TRUE()) {
- System.out.println("Image converted");
- } else {
- throw new IllegalArgumentException("Failed to process image");
- }
- }
- finally {
- if (!pSourceBitmap.equals(NULL)) {
- FreeImage_Unload(pSourceBitmap);
- }
-
- if (!pOutputBitmap.equals(NULL)) {
- FreeImage_Unload(pOutputBitmap);
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/freeimage4java-windows-test/pom.xml b/freeimage4java-windows-test/pom.xml
deleted file mode 100644
index a3890d1..0000000
--- a/freeimage4java-windows-test/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
- 4.0.0
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
-
- com.nextbreakpoint.freeimage4java.windows.test
- jar
- FreeImage4Java Windows Test
- FreeImage4Java provides a Java wrapper of FreeImage library
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.windows
- ${project.version}
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-lib
- test-compile
-
- unpack
-
-
-
-
- com.nextbreakpoint
- com.nextbreakpoint.freeimage4java.windows
- x86_64
- jar
- true
- ${project.build.directory}/lib
-
-
- **/*.dll
-
-
-
-
-
-
-
diff --git a/freeimage4java-windows-test/sample.png b/freeimage4java-windows-test/sample.png
deleted file mode 100644
index e8aeac5..0000000
Binary files a/freeimage4java-windows-test/sample.png and /dev/null differ
diff --git a/freeimage4java-windows-test/src/test/java/com/nextbreakpoint/freeimage4java/windows/FreeImage4JavaTest.java b/freeimage4java-windows-test/src/test/java/com/nextbreakpoint/freeimage4java/windows/FreeImage4JavaTest.java
deleted file mode 100644
index 0486814..0000000
--- a/freeimage4java-windows-test/src/test/java/com/nextbreakpoint/freeimage4java/windows/FreeImage4JavaTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package com.nextbreakpoint.freeimage4java.windows;
-
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-
-import java.lang.foreign.Arena;
-import java.lang.foreign.MemorySegment;
-
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FIF_PNG;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Allocate;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_GetPixelColor;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Initialise;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Load;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Save;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_SetPixelColor;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.FreeImage_Unload;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.PNG_DEFAULT;
-import static com.nextbreakpoint.freeimage4java.windows.Libfreeimage.TRUE;
-import static java.lang.foreign.MemorySegment.NULL;
-import static org.assertj.core.api.Assertions.assertThat;
-
-class FreeImage4JavaTest {
- private static final int IMAGE_WIDTH = 256;
- private static final int IMAGE_HEIGHT = 256;
-
- private static byte[] pixels;
-
- @BeforeAll
- public static void setup() {
- FreeImage_Initialise(TRUE());
- pixels = createPixels(IMAGE_WIDTH, IMAGE_HEIGHT);
- }
-
- @Test
- public void shouldLoadImage() {
- try (var arena = Arena.ofConfined()) {
- var pBitmap = NULL;
- try {
- var inputFileName = arena.allocateFrom(getFileName("sample.png"));
- pBitmap = FreeImage_Load(FIF_PNG(), inputFileName, PNG_DEFAULT());
- assertThat(pBitmap).isNotNull();
- assertThat(pBitmap.address()).isNotZero();
- assertThat(comparePixels(arena, pBitmap, pixels, IMAGE_WIDTH, IMAGE_HEIGHT)).isZero();
- var pOutputFileName = arena.allocateFrom(getFileName("test0.png"));
- int result = FreeImage_Save(FIF_PNG(), pBitmap, pOutputFileName, PNG_DEFAULT());
- assertThat(result).isEqualTo(1);
- }
- finally {
- if (!pBitmap.equals(NULL)) {
- FreeImage_Unload(pBitmap);
- }
- }
- }
- }
-
- @Test
- public void shouldSaveImage() {
- try (var arena = Arena.ofConfined()) {
- var pBitmap = NULL;
- try {
- pBitmap = FreeImage_Allocate(IMAGE_WIDTH, IMAGE_HEIGHT, 32, 0x00FF0000, 0x0000FF00, 0x000000FF);
- assertThat(pBitmap).isNotNull();
- assertThat(pBitmap.address()).isNotZero();
- setImagePixels(arena, pBitmap, pixels, IMAGE_WIDTH, IMAGE_HEIGHT);
- var pOutputFileName = arena.allocateFrom(getFileName("test1.png"));
- int result = FreeImage_Save(FIF_PNG(), pBitmap, pOutputFileName, PNG_DEFAULT());
- assertThat(result).isEqualTo(1);
- } finally {
- if (!pBitmap.equals(NULL)) {
- FreeImage_Unload(pBitmap);
- }
- }
- }
- }
-
- @Test
- public void shouldSaveAndLoadSameImage() {
- try (var arena = Arena.ofConfined()) {
- var pSourceBitmap = NULL;
- var pOutputBitmap = NULL;
- try {
- pSourceBitmap = FreeImage_Allocate(IMAGE_WIDTH, IMAGE_HEIGHT, 32, 0x00FF0000, 0x0000FF00, 0x000000FF);
- assertThat(pSourceBitmap).isNotNull();
- assertThat(pSourceBitmap.address()).isNotZero();
- setImagePixels(arena, pSourceBitmap, pixels, IMAGE_WIDTH, IMAGE_HEIGHT);
- var pOutputFileName = arena.allocateFrom(getFileName("test2.png"));
- FreeImage_Save(FIF_PNG(), pSourceBitmap, pOutputFileName, PNG_DEFAULT());
- pOutputBitmap = FreeImage_Load(FIF_PNG(), pOutputFileName, PNG_DEFAULT());
- assertThat(pOutputBitmap).isNotNull();
- assertThat(pOutputBitmap.address()).isNotZero();
- assertThat(comparePixels(arena, pOutputBitmap, pSourceBitmap, IMAGE_WIDTH, IMAGE_HEIGHT)).isZero();
- } finally {
- if (!pSourceBitmap.equals(NULL)) {
- FreeImage_Unload(pSourceBitmap);
- }
- if (!pOutputBitmap.equals(NULL)) {
- FreeImage_Unload(pOutputBitmap);
- }
- }
- }
- }
-
- private int comparePixels(Arena arena, MemorySegment dib1, MemorySegment dib2, int imageWidth, int imageHeight) {
- MemorySegment value1 = arena.allocate(tagRGBQUAD.layout());
- MemorySegment value2 = arena.allocate(tagRGBQUAD.layout());
- int result = 0;
- for (int y = 0; y < imageHeight; y++) {
- for (int x = 0; x < imageWidth; x++) {
- FreeImage_GetPixelColor(dib1, x, y, value1);
- FreeImage_GetPixelColor(dib2, x, y, value2);
- if (tagRGBQUAD.rgbRed(value2) != tagRGBQUAD.rgbRed(value1)) {
- result += 1;
- } else if (tagRGBQUAD.rgbGreen(value2) != tagRGBQUAD.rgbGreen(value1)) {
- result += 1;
- } else if (tagRGBQUAD.rgbBlue(value2) != tagRGBQUAD.rgbBlue(value1)) {
- result += 1;
- } else if (tagRGBQUAD.rgbReserved(value2) != tagRGBQUAD.rgbReserved(value1)) {
- result += 1;
- }
- }
- }
- return result;
- }
-
- private int comparePixels(Arena arena, MemorySegment dib, byte[] pixels, int imageWidth, int imageHeight) {
- MemorySegment value = arena.allocate(tagRGBQUAD.layout());
- int result = 0;
- for (int y = 0; y < imageHeight; y++) {
- int j = y * imageWidth;
- for (int x = 0; x < imageWidth; x++) {
- int i = (j + x) * 4;
- FreeImage_GetPixelColor(dib, x, y, value);
- if (tagRGBQUAD.rgbRed(value) != pixels[i + 0]) {
- result += 1;
- } else if (tagRGBQUAD.rgbGreen(value) != pixels[i + 1]) {
- result += 1;
- } else if (tagRGBQUAD.rgbBlue(value) != pixels[i + 2]) {
- result += 1;
- } else if (tagRGBQUAD.rgbReserved(value) != pixels[i + 3]) {
- result += 1;
- }
- }
- }
- return result;
- }
-
- private void setImagePixels(Arena arena, MemorySegment dib, byte[] pixels, int imageWidth, int imageHeight) {
- MemorySegment value = arena.allocate(tagRGBQUAD.layout());
- for (int y = 0; y < imageHeight; y++) {
- int j = y * imageWidth;
- for (int x = 0; x < imageWidth; x++) {
- int i = (j + x) * 4;
- tagRGBQUAD.rgbRed(value, (pixels[i + 0]));
- tagRGBQUAD.rgbGreen(value, (pixels[i + 1]));
- tagRGBQUAD.rgbBlue(value, (pixels[i + 2]));
- tagRGBQUAD.rgbReserved(value, (pixels[i + 3]));
- FreeImage_SetPixelColor(dib, x, y, value);
- }
- }
- }
-
- private static byte[] createPixels(int imageWidth, int imageHeight) {
- byte[] pixels = new byte[imageHeight * imageWidth * 4];
- for (int y = 0; y < imageHeight; y++) {
- int j = y * imageWidth;
- for (int x = 0; x < imageWidth; x++) {
- int i = (j + x) * 4;
- pixels[i + 0] = (byte)x;
- pixels[i + 1] = (byte)y;
- pixels[i + 2] = (byte)(x+y);
- pixels[i + 3] = y < imageHeight / 2 ? (byte)255 : (byte)50;
- }
- }
- return pixels;
- }
-
- private static String getFileName(String file) {
- return STR."\{System.getProperty("basedir", ".")}/\{file}";
- }
-}
\ No newline at end of file
diff --git a/freeimage4java-windows/extract.sh b/freeimage4java-windows/extract.sh
index caa7277..7d05c07 100755
--- a/freeimage4java-windows/extract.sh
+++ b/freeimage4java-windows/extract.sh
@@ -7,7 +7,7 @@ export PATH=$PATH:${JEXTRACT_HOME}/bin
jextract @includes.txt \
--output src/main/java \
- --target-package com.nextbreakpoint.freeimage4java.windows \
+ --target-package com.nextbreakpoint.freeimage4java \
--include-dir "${FREEIMAGE_HOME}" \
--include-dir "${INCLUDE_PATH}" \
--use-system-load-library \
diff --git a/freeimage4java-windows/pom.xml b/freeimage4java-windows/pom.xml
index 42d2413..244b898 100644
--- a/freeimage4java-windows/pom.xml
+++ b/freeimage4java-windows/pom.xml
@@ -4,7 +4,7 @@
com.nextbreakpoint
com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
+ 3.18.0-2.2
com.nextbreakpoint.freeimage4java.windows
jar
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/BITMAPINFO.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/BITMAPINFO.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
index 3b47b43..cddb1e8 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/BITMAPINFO.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/BITMAPINFOHEADER.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
similarity index 94%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/BITMAPINFOHEADER.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
index 51e9851..0fad903 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/BITMAPINFOHEADER.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/BITMAPINFOHEADER.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIBITMAP.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
similarity index 98%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIBITMAP.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
index 005c329..c227c32 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIBITMAP.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIBITMAP.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FICOMPLEX.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FICOMPLEX.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
index 2a8b62c..e856cc1 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FICOMPLEX.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FICOMPLEX.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIICCPROFILE.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIICCPROFILE.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
index 422f912..d3fef07 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIICCPROFILE.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIICCPROFILE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMEMORY.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
similarity index 98%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMEMORY.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
index dc45d5c..c34fde5 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMEMORY.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMEMORY.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMETADATA.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
similarity index 98%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMETADATA.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
index fc5b425..8895a88 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMETADATA.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMETADATA.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMULTIBITMAP.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
similarity index 98%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMULTIBITMAP.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
index dcd5696..c61443b 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIMULTIBITMAP.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIMULTIBITMAP.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGB16.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGB16.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
index d3830c8..8b89f73 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGB16.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGB16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBA16.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBA16.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
index a02a6de..059027b 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBA16.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBA16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBAF.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBAF.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
index 0745f2c..e7decf8 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBAF.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBAF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBF.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBF.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
index 656cbe9..c341619 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FIRGBF.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FIRGBF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FITAG.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
similarity index 98%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FITAG.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
index 310cf38..4dee6b4 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FITAG.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FITAG.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_CloseProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_CloseProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
index 5fcb0bf..b556167 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_CloseProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_CloseProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_DescriptionProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_DescriptionProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
index e496a90..11564c6 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_DescriptionProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_DescriptionProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ExtensionListProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ExtensionListProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
index 647751b..43cf5ff 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ExtensionListProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ExtensionListProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_FormatProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_FormatProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
index 496a480..240d392 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_FormatProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_FormatProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_InitProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_InitProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
index 9bfb130..cf00579 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_InitProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_InitProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_LoadProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_LoadProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
index 9c75c1e..a15ee20 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_LoadProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_LoadProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_MimeProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_MimeProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
index 0fa8aa9..80cec0f 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_MimeProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_MimeProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_OpenProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_OpenProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
index 585e051..266bfd4 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_OpenProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_OpenProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_PageCapabilityProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_PageCapabilityProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
index df4f492..90a91f7 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_PageCapabilityProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCapabilityProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_PageCountProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_PageCountProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
index dc75252..21eddf3 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_PageCountProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_PageCountProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ReadProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ReadProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
index d4d8843..2e99b63 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ReadProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ReadProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_RegExprProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_RegExprProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
index 34cbe1b..b92da52 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_RegExprProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_RegExprProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SaveProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SaveProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
index 76064e4..7125d41 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SaveProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SaveProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SeekProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SeekProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
index 7009b51..b17a82f 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SeekProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SeekProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsExportBPPProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsExportBPPProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
index b34ffcc..89b1f07 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsExportBPPProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportBPPProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsExportTypeProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsExportTypeProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
index e9cde50..a2fedbd 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsExportTypeProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsExportTypeProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsICCProfilesProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsICCProfilesProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
index 8230d51..a053aaf 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsICCProfilesProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsICCProfilesProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsNoPixelsProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsNoPixelsProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
index 9e0a102..dbca5b8 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_SupportsNoPixelsProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_SupportsNoPixelsProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_TellProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_TellProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
index 0cc7546..000825f 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_TellProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_TellProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ValidateProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ValidateProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
index 8e996a2..21b92ad 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_ValidateProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_ValidateProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_WriteProc.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_WriteProc.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
index e847e42..2a291ca 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FI_WriteProc.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FI_WriteProc.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImageIO.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImageIO.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
index 5594a28..5757977 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImageIO.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImageIO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImage_OutputMessageFunction.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImage_OutputMessageFunction.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
index 620e68d..864bfc7 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImage_OutputMessageFunction.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunction.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImage_OutputMessageFunctionStdCall.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
similarity index 97%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImage_OutputMessageFunctionStdCall.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
index 77e873d..cbe30c0 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/FreeImage_OutputMessageFunctionStdCall.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/FreeImage_OutputMessageFunctionStdCall.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/Libfreeimage.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/Libfreeimage.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
index 5563db4..f9f50e1 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/Libfreeimage.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/Libfreeimage.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/Plugin.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/Plugin.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
index f46ab3e..59c4e05 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/Plugin.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/Plugin.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/RGBQUAD.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/RGBQUAD.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
index 6538bf0..a1104c8 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/RGBQUAD.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/RGBQUAD.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/RGBTRIPLE.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
similarity index 91%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/RGBTRIPLE.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
index 37fcccf..f55f32d 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/RGBTRIPLE.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/RGBTRIPLE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagBITMAPINFO.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagBITMAPINFO.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
index 8c72eb0..4b8d203 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagBITMAPINFO.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFO.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagBITMAPINFOHEADER.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagBITMAPINFOHEADER.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
index 8de7864..e152bb8 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagBITMAPINFOHEADER.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagBITMAPINFOHEADER.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFICOMPLEX.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
similarity index 98%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFICOMPLEX.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
index 6820b07..7ab9075 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFICOMPLEX.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFICOMPLEX.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGB16.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGB16.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
index 898952f..cf90b41 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGB16.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGB16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBA16.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBA16.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
index e5f7179..59e27b0 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBA16.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBA16.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBAF.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBAF.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
index ce65017..80037d0 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBAF.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBAF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBF.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBF.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
index 6353b76..ea2de32 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagFIRGBF.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagFIRGBF.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagRGBQUAD.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagRGBQUAD.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
index f699ef4..a2acc47 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagRGBQUAD.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBQUAD.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagRGBTRIPLE.java b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
similarity index 99%
rename from freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagRGBTRIPLE.java
rename to freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
index 0d84012..1ab7406 100644
--- a/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/windows/tagRGBTRIPLE.java
+++ b/freeimage4java-windows/src/main/java/com/nextbreakpoint/freeimage4java/tagRGBTRIPLE.java
@@ -1,6 +1,6 @@
// Generated by jextract
-package com.nextbreakpoint.freeimage4java.windows;
+package com.nextbreakpoint.freeimage4java;
import java.lang.invoke.*;
import java.lang.foreign.*;
diff --git a/freeimage4java-windows/src/main/java/module-info.java b/freeimage4java-windows/src/main/java/module-info.java
index 4d1f906..192fcc2 100644
--- a/freeimage4java-windows/src/main/java/module-info.java
+++ b/freeimage4java-windows/src/main/java/module-info.java
@@ -1,3 +1,3 @@
-module com.nextbreakpoint.freeimage4java.windows {
- exports com.nextbreakpoint.freeimage4java.windows;
+module com.nextbreakpoint.freeimage4java {
+ exports com.nextbreakpoint.freeimage4java;
}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 8c9b0b2..c893679 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.nextbreakpoint
com.nextbreakpoint.freeimage4java
- 3.18.0-2.1
+ 3.18.0-2.2
pom
FreeImage4Java
FreeImage4Java provides a Java wrapper of FreeImage library
@@ -270,14 +270,14 @@
- windows
+ macos
x86_64
- windows
+ macos
- freeimage4java-windows-test
- freeimage4java-windows-examples
+ freeimage4java-tests
+ freeimage4java-examples
@@ -287,19 +287,19 @@
linux
- freeimage4java-linux-test
- freeimage4java-linux-examples
+ freeimage4java-tests
+ freeimage4java-examples
- macos
+ windows
x86_64
- macos
+ windows
- freeimage4java-macos-test
- freeimage4java-macos-examples
+ freeimage4java-tests
+ freeimage4java-examples
@@ -369,8 +369,6 @@
${project.basedir}
**/target/${project.artifactId}-${project.version}-x86_64.jar
- **/target/${project.artifactId}-${project.version}-x86_64.jar
- **/target/${project.artifactId}-${project.version}-x86_64.jar