getCanvasListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void display() {
+ repaint();
+ }
+
+ @Override
+ public IAnimator getAnimation() {
+ return null;
+ }
+
+}
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Cylinder.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Cylinder.java
new file mode 100644
index 000000000..18522abd6
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Cylinder.java
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.*;
+import static org.lwjglx.util.glu.GLU.*;
+
+/**
+ * Cylinder.java
+ *
+ *
+ * Created 23-dec-2003
+ * @author Erik Duijs
+ */
+public class Cylinder extends Quadric {
+
+ /**
+ * Constructor for Cylinder.
+ */
+ public Cylinder() {
+ super();
+ }
+
+ /**
+ * draws a cylinder oriented along the z axis. The base of the
+ * cylinder is placed at z = 0, and the top at z=height. Like a sphere, a
+ * cylinder is subdivided around the z axis into slices, and along the z axis
+ * into stacks.
+ *
+ * Note that if topRadius is set to zero, then this routine will generate a
+ * cone.
+ *
+ * If the orientation is set to GLU.OUTSIDE (with glu.quadricOrientation), then
+ * any generated normals point away from the z axis. Otherwise, they point
+ * toward the z axis.
+ *
+ * If texturing is turned on (with glu.quadricTexture), then texture
+ * coordinates are generated so that t ranges linearly from 0.0 at z = 0 to
+ * 1.0 at z = height, and s ranges from 0.0 at the +y axis, to 0.25 at the +x
+ * axis, to 0.5 at the -y axis, to 0.75 at the -x axis, and back to 1.0 at the
+ * +y axis.
+ *
+ * @param baseRadius Specifies the radius of the cylinder at z = 0.
+ * @param topRadius Specifies the radius of the cylinder at z = height.
+ * @param height Specifies the height of the cylinder.
+ * @param slices Specifies the number of subdivisions around the z axis.
+ * @param stacks Specifies the number of subdivisions along the z axis.
+ */
+ public void draw(float baseRadius, float topRadius, float height, int slices, int stacks) {
+
+ float da, r, dr, dz;
+ float x, y, z, nz, nsign;
+ int i, j;
+
+ if (super.orientation == GLU_INSIDE) {
+ nsign = -1.0f;
+ } else {
+ nsign = 1.0f;
+ }
+
+ da = 2.0f * PI / slices;
+ dr = (topRadius - baseRadius) / stacks;
+ dz = height / stacks;
+ nz = (baseRadius - topRadius) / height;
+ // Z component of normal vectors
+
+ if (super.drawStyle == GLU_POINT) {
+ glBegin(GL_POINTS);
+ for (i = 0; i < slices; i++) {
+ x = cos((i * da));
+ y = sin((i * da));
+ normal3f(x * nsign, y * nsign, nz * nsign);
+
+ z = 0.0f;
+ r = baseRadius;
+ for (j = 0; j <= stacks; j++) {
+ glVertex3f((x * r), (y * r), z);
+ z += dz;
+ r += dr;
+ }
+ }
+ glEnd();
+ } else if (super.drawStyle == GLU_LINE || super.drawStyle == GLU_SILHOUETTE) {
+ // Draw rings
+ if (super.drawStyle == GLU_LINE) {
+ z = 0.0f;
+ r = baseRadius;
+ for (j = 0; j <= stacks; j++) {
+ glBegin(GL_LINE_LOOP);
+ for (i = 0; i < slices; i++) {
+ x = cos((i * da));
+ y = sin((i * da));
+ normal3f(x * nsign, y * nsign, nz * nsign);
+ glVertex3f((x * r), (y * r), z);
+ }
+ glEnd();
+ z += dz;
+ r += dr;
+ }
+ } else {
+ // draw one ring at each end
+ if (baseRadius != 0.0) {
+ glBegin(GL_LINE_LOOP);
+ for (i = 0; i < slices; i++) {
+ x = cos((i * da));
+ y = sin((i * da));
+ normal3f(x * nsign, y * nsign, nz * nsign);
+ glVertex3f((x * baseRadius), (y * baseRadius), 0.0f);
+ }
+ glEnd();
+ glBegin(GL_LINE_LOOP);
+ for (i = 0; i < slices; i++) {
+ x = cos((i * da));
+ y = sin((i * da));
+ normal3f(x * nsign, y * nsign, nz * nsign);
+ glVertex3f((x * topRadius), (y * topRadius), height);
+ }
+ glEnd();
+ }
+ }
+ // draw length lines
+ glBegin(GL_LINES);
+ for (i = 0; i < slices; i++) {
+ x = cos((i * da));
+ y = sin((i * da));
+ normal3f(x * nsign, y * nsign, nz * nsign);
+ glVertex3f((x * baseRadius), (y * baseRadius), 0.0f);
+ glVertex3f((x * topRadius), (y * topRadius), (height));
+ }
+ glEnd();
+ } else if (super.drawStyle == GLU_FILL) {
+ float ds = 1.0f / slices;
+ float dt = 1.0f / stacks;
+ float t = 0.0f;
+ z = 0.0f;
+ r = baseRadius;
+ for (j = 0; j < stacks; j++) {
+ float s = 0.0f;
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= slices; i++) {
+ if (i == slices) {
+ x = sin(0.0f);
+ y = cos(0.0f);
+ } else {
+ x = sin((i * da));
+ y = cos((i * da));
+ }
+ if (nsign == 1.0f) {
+ normal3f((x * nsign), (y * nsign), (nz * nsign));
+ TXTR_COORD(s, t);
+ glVertex3f((x * r), (y * r), z);
+ normal3f((x * nsign), (y * nsign), (nz * nsign));
+ TXTR_COORD(s, t + dt);
+ glVertex3f((x * (r + dr)), (y * (r + dr)), (z + dz));
+ } else {
+ normal3f(x * nsign, y * nsign, nz * nsign);
+ TXTR_COORD(s, t);
+ glVertex3f((x * r), (y * r), z);
+ normal3f(x * nsign, y * nsign, nz * nsign);
+ TXTR_COORD(s, t + dt);
+ glVertex3f((x * (r + dr)), (y * (r + dr)), (z + dz));
+ }
+ s += ds;
+ } // for slices
+ glEnd();
+ r += dr;
+ t += dt;
+ z += dz;
+ } // for stacks
+ }
+ }
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Disk.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Disk.java
new file mode 100644
index 000000000..4d842b919
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Disk.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.*;
+import static org.lwjglx.util.glu.GLU.*;
+
+/**
+ * Disk.java
+ *
+ *
+ * Created 23-dec-2003
+ * @author Erik Duijs
+ */
+public class Disk extends Quadric {
+
+ /**
+ * Constructor for Disk.
+ */
+ public Disk() {
+ super();
+ }
+
+ /**
+ * renders a disk on the z = 0 plane. The disk has a radius of
+ * outerRadius, and contains a concentric circular hole with a radius of
+ * innerRadius. If innerRadius is 0, then no hole is generated. The disk is
+ * subdivided around the z axis into slices (like pizza slices), and also
+ * about the z axis into rings (as specified by slices and loops,
+ * respectively).
+ *
+ * With respect to orientation, the +z side of the disk is considered to be
+ * "outside" (see glu.quadricOrientation). This means that if the orientation
+ * is set to GLU.OUTSIDE, then any normals generated point along the +z axis.
+ * Otherwise, they point along the -z axis.
+ *
+ * If texturing is turned on (with glu.quadricTexture), texture coordinates are
+ * generated linearly such that where r=outerRadius, the value at (r, 0, 0) is
+ * (1, 0.5), at (0, r, 0) it is (0.5, 1), at (-r, 0, 0) it is (0, 0.5), and at
+ * (0, -r, 0) it is (0.5, 0).
+ */
+ public void draw(float innerRadius, float outerRadius, int slices, int loops)
+ {
+ float da, dr;
+
+ /* Normal vectors */
+ if (super.normals != GLU_NONE) {
+ if (super.orientation == GLU_OUTSIDE) {
+ glNormal3f(0.0f, 0.0f, +1.0f);
+ }
+ else {
+ glNormal3f(0.0f, 0.0f, -1.0f);
+ }
+ }
+
+ da = 2.0f * PI / slices;
+ dr = (outerRadius - innerRadius) / loops;
+
+ switch (super.drawStyle) {
+ case GLU_FILL:
+ {
+ /* texture of a gluDisk is a cut out of the texture unit square
+ * x, y in [-outerRadius, +outerRadius]; s, t in [0, 1]
+ * (linear mapping)
+ */
+ float dtc = 2.0f * outerRadius;
+ float sa, ca;
+ float r1 = innerRadius;
+ int l;
+ for (l = 0; l < loops; l++) {
+ float r2 = r1 + dr;
+ if (super.orientation == GLU_OUTSIDE) {
+ int s;
+ glBegin(GL_QUAD_STRIP);
+ for (s = 0; s <= slices; s++) {
+ float a;
+ if (s == slices)
+ a = 0.0f;
+ else
+ a = s * da;
+ sa = sin(a);
+ ca = cos(a);
+ TXTR_COORD(0.5f + sa * r2 / dtc, 0.5f + ca * r2 / dtc);
+ glVertex2f(r2 * sa, r2 * ca);
+ TXTR_COORD(0.5f + sa * r1 / dtc, 0.5f + ca * r1 / dtc);
+ glVertex2f(r1 * sa, r1 * ca);
+ }
+ glEnd();
+ }
+ else {
+ int s;
+ glBegin(GL_QUAD_STRIP);
+ for (s = slices; s >= 0; s--) {
+ float a;
+ if (s == slices)
+ a = 0.0f;
+ else
+ a = s * da;
+ sa = sin(a);
+ ca = cos(a);
+ TXTR_COORD(0.5f - sa * r2 / dtc, 0.5f + ca * r2 / dtc);
+ glVertex2f(r2 * sa, r2 * ca);
+ TXTR_COORD(0.5f - sa * r1 / dtc, 0.5f + ca * r1 / dtc);
+ glVertex2f(r1 * sa, r1 * ca);
+ }
+ glEnd();
+ }
+ r1 = r2;
+ }
+ break;
+ }
+ case GLU_LINE:
+ {
+ int l, s;
+ /* draw loops */
+ for (l = 0; l <= loops; l++) {
+ float r = innerRadius + l * dr;
+ glBegin(GL_LINE_LOOP);
+ for (s = 0; s < slices; s++) {
+ float a = s * da;
+ glVertex2f(r * sin(a), r * cos(a));
+ }
+ glEnd();
+ }
+ /* draw spokes */
+ for (s = 0; s < slices; s++) {
+ float a = s * da;
+ float x = sin(a);
+ float y = cos(a);
+ glBegin(GL_LINE_STRIP);
+ for (l = 0; l <= loops; l++) {
+ float r = innerRadius + l * dr;
+ glVertex2f(r * x, r * y);
+ }
+ glEnd();
+ }
+ break;
+ }
+ case GLU_POINT:
+ {
+ int s;
+ glBegin(GL_POINTS);
+ for (s = 0; s < slices; s++) {
+ float a = s * da;
+ float x = sin(a);
+ float y = cos(a);
+ int l;
+ for (l = 0; l <= loops; l++) {
+ float r = innerRadius * l * dr;
+ glVertex2f(r * x, r * y);
+ }
+ }
+ glEnd();
+ break;
+ }
+ case GLU_SILHOUETTE:
+ {
+ if (innerRadius != 0.0) {
+ float a;
+ glBegin(GL_LINE_LOOP);
+ for (a = 0.0f; a < 2.0 * PI; a += da) {
+ float x = innerRadius * sin(a);
+ float y = innerRadius * cos(a);
+ glVertex2f(x, y);
+ }
+ glEnd();
+ }
+ {
+ float a;
+ glBegin(GL_LINE_LOOP);
+ for (a = 0; a < 2.0f * PI; a += da) {
+ float x = outerRadius * sin(a);
+ float y = outerRadius * cos(a);
+ glVertex2f(x, y);
+ }
+ glEnd();
+ }
+ break;
+ }
+ default:
+ return;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLU.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLU.java
new file mode 100644
index 000000000..b76aaef65
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLU.java
@@ -0,0 +1,428 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import java.nio.ByteBuffer;
+import java.nio.FloatBuffer;
+import java.nio.IntBuffer;
+
+
+import static org.lwjgl.opengl.GL11.*;
+
+/**
+ * GLU.java
+ *
+ *
+ * Created 23-dec-2003
+ * @author Erik Duijs
+ */
+public class GLU {
+ static final float PI = (float)Math.PI;
+
+ /* Errors: (return value 0 = no error) */
+ public static final int GLU_INVALID_ENUM = 100900;
+ public static final int GLU_INVALID_VALUE = 100901;
+ public static final int GLU_OUT_OF_MEMORY = 100902;
+ public static final int GLU_INCOMPATIBLE_GL_VERSION = 100903;
+
+ /* StringName */
+ public static final int GLU_VERSION = 100800;
+ public static final int GLU_EXTENSIONS = 100801;
+
+ /* Boolean */
+ public static final boolean GLU_TRUE = true;
+ public static final boolean GLU_FALSE = false;
+
+
+ /**** Quadric constants ****/
+
+ /* QuadricNormal */
+ public static final int GLU_SMOOTH = 100000;
+ public static final int GLU_FLAT = 100001;
+ public static final int GLU_NONE = 100002;
+
+ /* QuadricDrawStyle */
+ public static final int GLU_POINT = 100010;
+ public static final int GLU_LINE = 100011;
+ public static final int GLU_FILL = 100012;
+ public static final int GLU_SILHOUETTE = 100013;
+
+ /* QuadricOrientation */
+ public static final int GLU_OUTSIDE = 100020;
+ public static final int GLU_INSIDE = 100021;
+
+ /* Callback types: */
+ /* ERROR = 100103 */
+
+
+ /**** Tesselation constants ****/
+
+ public static final double GLU_TESS_MAX_COORD = 1.0e150;
+ public static final double TESS_MAX_COORD = 1.0e150;
+
+ /* TessProperty */
+ public static final int GLU_TESS_WINDING_RULE = 100140;
+ public static final int GLU_TESS_BOUNDARY_ONLY = 100141;
+ public static final int GLU_TESS_TOLERANCE = 100142;
+
+ /* TessWinding */
+ public static final int GLU_TESS_WINDING_ODD = 100130;
+ public static final int GLU_TESS_WINDING_NONZERO = 100131;
+ public static final int GLU_TESS_WINDING_POSITIVE = 100132;
+ public static final int GLU_TESS_WINDING_NEGATIVE = 100133;
+ public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
+
+ /* TessCallback */
+ public static final int GLU_TESS_BEGIN = 100100; /* void (CALLBACK*)(GLenum type) */
+ public static final int GLU_TESS_VERTEX = 100101; /* void (CALLBACK*)(void *data) */
+ public static final int GLU_TESS_END = 100102; /* void (CALLBACK*)(void) */
+ public static final int GLU_TESS_ERROR = 100103; /* void (CALLBACK*)(GLenum errno) */
+ public static final int GLU_TESS_EDGE_FLAG = 100104; /* void (CALLBACK*)(GLboolean boundaryEdge) */
+ public static final int GLU_TESS_COMBINE = 100105; /* void (CALLBACK*)(GLdouble coords[3],
+ void *data[4],
+ GLfloat weight[4],
+ void **dataOut) */
+ public static final int GLU_TESS_BEGIN_DATA = 100106; /* void (CALLBACK*)(GLenum type,
+ void *polygon_data) */
+ public static final int GLU_TESS_VERTEX_DATA = 100107; /* void (CALLBACK*)(void *data,
+ void *polygon_data) */
+ public static final int GLU_TESS_END_DATA = 100108; /* void (CALLBACK*)(void *polygon_data) */
+ public static final int GLU_TESS_ERROR_DATA = 100109; /* void (CALLBACK*)(GLenum errno,
+ void *polygon_data) */
+ public static final int GLU_TESS_EDGE_FLAG_DATA = 100110; /* void (CALLBACK*)(GLboolean boundaryEdge,
+ void *polygon_data) */
+ public static final int GLU_TESS_COMBINE_DATA = 100111; /* void (CALLBACK*)(GLdouble coords[3],
+ void *data[4],
+ GLfloat weight[4],
+ void **dataOut,
+ void *polygon_data) */
+
+ /* TessError */
+ public static final int GLU_TESS_ERROR1 = 100151;
+ public static final int GLU_TESS_ERROR2 = 100152;
+ public static final int GLU_TESS_ERROR3 = 100153;
+ public static final int GLU_TESS_ERROR4 = 100154;
+ public static final int GLU_TESS_ERROR5 = 100155;
+ public static final int GLU_TESS_ERROR6 = 100156;
+ public static final int GLU_TESS_ERROR7 = 100157;
+ public static final int GLU_TESS_ERROR8 = 100158;
+
+ public static final int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
+ public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
+ public static final int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
+ public static final int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
+ public static final int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
+ public static final int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
+
+ /**** NURBS constants ****/
+
+ /* NurbsProperty */
+ public static final int GLU_AUTO_LOAD_MATRIX = 100200;
+ public static final int GLU_CULLING = 100201;
+ public static final int GLU_SAMPLING_TOLERANCE = 100203;
+ public static final int GLU_DISPLAY_MODE = 100204;
+ public static final int GLU_PARAMETRIC_TOLERANCE = 100202;
+ public static final int GLU_SAMPLING_METHOD = 100205;
+ public static final int GLU_U_STEP = 100206;
+ public static final int GLU_V_STEP = 100207;
+
+ /* NurbsSampling */
+ public static final int GLU_PATH_LENGTH = 100215;
+ public static final int GLU_PARAMETRIC_ERROR = 100216;
+ public static final int GLU_DOMAIN_DISTANCE = 100217;
+
+
+ /* NurbsTrim */
+ public static final int GLU_MAP1_TRIM_2 = 100210;
+ public static final int GLU_MAP1_TRIM_3 = 100211;
+
+ /* NurbsDisplay */
+ /* FILL = 100012 */
+ public static final int GLU_OUTLINE_POLYGON = 100240;
+ public static final int GLU_OUTLINE_PATCH = 100241;
+
+ /* NurbsCallback */
+ /* ERROR = 100103 */
+
+ /* NurbsErrors */
+ public static final int GLU_NURBS_ERROR1 = 100251;
+ public static final int GLU_NURBS_ERROR2 = 100252;
+ public static final int GLU_NURBS_ERROR3 = 100253;
+ public static final int GLU_NURBS_ERROR4 = 100254;
+ public static final int GLU_NURBS_ERROR5 = 100255;
+ public static final int GLU_NURBS_ERROR6 = 100256;
+ public static final int GLU_NURBS_ERROR7 = 100257;
+ public static final int GLU_NURBS_ERROR8 = 100258;
+ public static final int GLU_NURBS_ERROR9 = 100259;
+ public static final int GLU_NURBS_ERROR10 = 100260;
+ public static final int GLU_NURBS_ERROR11 = 100261;
+ public static final int GLU_NURBS_ERROR12 = 100262;
+ public static final int GLU_NURBS_ERROR13 = 100263;
+ public static final int GLU_NURBS_ERROR14 = 100264;
+ public static final int GLU_NURBS_ERROR15 = 100265;
+ public static final int GLU_NURBS_ERROR16 = 100266;
+ public static final int GLU_NURBS_ERROR17 = 100267;
+ public static final int GLU_NURBS_ERROR18 = 100268;
+ public static final int GLU_NURBS_ERROR19 = 100269;
+ public static final int GLU_NURBS_ERROR20 = 100270;
+ public static final int GLU_NURBS_ERROR21 = 100271;
+ public static final int GLU_NURBS_ERROR22 = 100272;
+ public static final int GLU_NURBS_ERROR23 = 100273;
+ public static final int GLU_NURBS_ERROR24 = 100274;
+ public static final int GLU_NURBS_ERROR25 = 100275;
+ public static final int GLU_NURBS_ERROR26 = 100276;
+ public static final int GLU_NURBS_ERROR27 = 100277;
+ public static final int GLU_NURBS_ERROR28 = 100278;
+ public static final int GLU_NURBS_ERROR29 = 100279;
+ public static final int GLU_NURBS_ERROR30 = 100280;
+ public static final int GLU_NURBS_ERROR31 = 100281;
+ public static final int GLU_NURBS_ERROR32 = 100282;
+ public static final int GLU_NURBS_ERROR33 = 100283;
+ public static final int GLU_NURBS_ERROR34 = 100284;
+ public static final int GLU_NURBS_ERROR35 = 100285;
+ public static final int GLU_NURBS_ERROR36 = 100286;
+ public static final int GLU_NURBS_ERROR37 = 100287;
+
+ /* Contours types -- obsolete! */
+ public static final int GLU_CW = 100120;
+ public static final int GLU_CCW = 100121;
+ public static final int GLU_INTERIOR = 100122;
+ public static final int GLU_EXTERIOR = 100123;
+ public static final int GLU_UNKNOWN = 100124;
+
+ /* Names without "TESS_" prefix */
+ public static final int GLU_BEGIN = GLU_TESS_BEGIN;
+ public static final int GLU_VERTEX = GLU_TESS_VERTEX;
+ public static final int GLU_END = GLU_TESS_END;
+ public static final int GLU_ERROR = GLU_TESS_ERROR;
+ public static final int GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
+
+ /**
+ * Method gluLookAt
+ * @param eyex
+ * @param eyey
+ * @param eyez
+ * @param centerx
+ * @param centery
+ * @param centerz
+ * @param upx
+ * @param upy
+ * @param upz
+ */
+ public static void gluLookAt(
+ float eyex,
+ float eyey,
+ float eyez,
+ float centerx,
+ float centery,
+ float centerz,
+ float upx,
+ float upy,
+ float upz) {
+
+ Project.gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz);
+ }
+
+ /**
+ * Method gluOrtho2D
+ * @param left
+ * @param right
+ * @param bottom
+ * @param top
+ */
+ public static void gluOrtho2D(
+ float left,
+ float right,
+ float bottom,
+ float top) {
+
+ glOrtho(left, right, bottom, top, -1.0, 1.0);
+ }
+
+ /**
+ * Method gluPerspective
+ * @param fovy
+ * @param aspect
+ * @param zNear
+ * @param zFar
+ */
+ public static void gluPerspective(
+ float fovy,
+ float aspect,
+ float zNear,
+ float zFar) {
+
+ Project.gluPerspective(fovy, aspect, zNear, zFar);
+ }
+
+ /**
+ * Method gluProject
+ * @param objx
+ * @param objy
+ * @param objz
+ * @param modelMatrix
+ * @param projMatrix
+ * @param viewport
+ * @param win_pos
+ */
+ public static boolean gluProject(float objx, float objy, float objz,
+ FloatBuffer modelMatrix,
+ FloatBuffer projMatrix,
+ IntBuffer viewport,
+ FloatBuffer win_pos)
+ {
+ return Project.gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, win_pos);
+ }
+
+ /**
+ * Method gluUnproject
+ * @param winx
+ * @param winy
+ * @param winz
+ * @param modelMatrix
+ * @param projMatrix
+ * @param viewport
+ * @param obj_pos
+ */
+ public static boolean gluUnProject(float winx, float winy, float winz,
+ FloatBuffer modelMatrix,
+ FloatBuffer projMatrix,
+ IntBuffer viewport,
+ FloatBuffer obj_pos)
+ {
+ return Project.gluUnProject(winx, winy, winz, modelMatrix, projMatrix, viewport, obj_pos);
+ }
+
+ /**
+ * Method gluPickMatrix
+ * @param x
+ * @param y
+ * @param width
+ * @param height
+ * @param viewport
+ */
+ public static void gluPickMatrix(
+ float x,
+ float y,
+ float width,
+ float height,
+ IntBuffer viewport) {
+
+ Project.gluPickMatrix(x, y, width, height, viewport);
+ }
+
+ /**
+ * Method gluGetString.
+ * @param name
+ * @return String
+ */
+ public static String gluGetString(int name) {
+ return Registry.gluGetString(name);
+ }
+
+ /**
+ * Method gluCheckExtension.
+ * @param extName
+ * @param extString
+ * @return boolean
+ */
+ public static boolean gluCheckExtension(String extName, String extString) {
+ return Registry.gluCheckExtension(extName, extString);
+ }
+
+ /**
+ * Method gluBuild2DMipmaps
+ * @param target
+ * @param components
+ * @param width
+ * @param height
+ * @param format
+ * @param type
+ * @param data
+ * @return int
+ */
+ public static int gluBuild2DMipmaps(
+ int target,
+ int components,
+ int width,
+ int height,
+ int format,
+ int type,
+ ByteBuffer data) {
+
+ return MipMap.gluBuild2DMipmaps(target, components, width, height, format, type, data);
+ }
+
+ /**
+ * Method gluScaleImage.
+ * @param format
+ * @param widthIn
+ * @param heightIn
+ * @param typeIn
+ * @param dataIn
+ * @param widthOut
+ * @param heightOut
+ * @param typeOut
+ * @param dataOut
+ * @return int
+ */
+ public static int gluScaleImage(
+ int format,
+ int widthIn,
+ int heightIn,
+ int typeIn,
+ ByteBuffer dataIn,
+ int widthOut,
+ int heightOut,
+ int typeOut,
+ ByteBuffer dataOut) {
+
+ return MipMap.gluScaleImage(format, widthIn, heightIn, typeIn, dataIn, widthOut, heightOut, typeOut, dataOut);
+ }
+
+ public static String gluErrorString(int error_code) {
+ switch (error_code) {
+ case GLU_INVALID_ENUM:
+ return "Invalid enum (glu)";
+ case GLU_INVALID_VALUE:
+ return "Invalid value (glu)";
+ case GLU_OUT_OF_MEMORY:
+ return "Out of memory (glu)";
+ default:
+ return "OpenGL error : " + error_code;//Util.translateGLErrorString(error_code);
+ }
+ }
+
+ public static GLUtessellator gluNewTess() {
+ return null;//new GLUtessellatorImpl();
+ }
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellator.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellator.java
new file mode 100644
index 000000000..0bb13dd80
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellator.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.lwjglx.util.glu;
+
+public interface GLUtessellator {
+
+ void gluDeleteTess();
+
+ void gluTessProperty(int which, double value);
+
+ /* Returns tessellator property */
+ void gluGetTessProperty(int which, double[] value,
+ int value_offset); /* gluGetTessProperty() */
+
+ void gluTessNormal(double x, double y, double z);
+
+ void gluTessCallback(int which,
+ GLUtessellatorCallback aCallback);
+
+ void gluTessVertex(double[] coords, int coords_offset,
+ Object vertexData);
+
+ void gluTessBeginPolygon(Object data);
+
+ void gluTessBeginContour();
+
+ void gluTessEndContour();
+
+ void gluTessEndPolygon();
+
+ /*******************************************************/
+
+ /* Obsolete calls -- for backward compatibility */
+
+ void gluBeginPolygon();
+
+ /*ARGSUSED*/
+ void gluNextContour(int type);
+
+ void gluEndPolygon();
+
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellatorCallback.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellatorCallback.java
new file mode 100644
index 000000000..49a929c07
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellatorCallback.java
@@ -0,0 +1,341 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+* Portions Copyright (C) 2003-2006 Sun Microsystems, Inc.
+* All rights reserved.
+*/
+
+package org.lwjglx.util.glu;
+
+/**
+ * GLUtessellatorCallback interface provides methods that the user will
+ * override to define the callbacks for a tessellation object.
+ *
+ * @author Eric Veach, July 1994
+ * @author Java Port: Pepijn Van Eeckhoudt, July 2003
+ * @author Java Port: Nathan Parker Burg, August 2003
+ */
+public interface GLUtessellatorCallback {
+ /**
+ * The begin callback method is invoked like
+ * {@link javax.media.opengl.GL#glBegin glBegin} to indicate the start of a
+ * (triangle) primitive. The method takes a single argument of type int. If
+ * the GLU_TESS_BOUNDARY_ONLY property is set to GL_FALSE, then
+ * the argument is set to either GL_TRIANGLE_FAN,
+ * GL_TRIANGLE_STRIP, or GL_TRIANGLES. If the
+ * GLU_TESS_BOUNDARY_ONLY property is set to GL_TRUE, then the
+ * argument will be set to GL_LINE_LOOP.
+ *
+ * @param type
+ * Specifics the type of begin/end pair being defined. The following
+ * values are valid: GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP,
+ * GL_TRIANGLES or GL_LINE_LOOP.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #end end
+ * @see #begin begin
+ */
+ void begin(int type);
+
+ /**
+ * The same as the {@link #begin begin} callback method except that
+ * it takes an additional reference argument. This reference is
+ * identical to the opaque reference provided when {@link
+ * GLU#gluTessBeginPolygon gluTessBeginPolygon} was called.
+ *
+ * @param type
+ * Specifics the type of begin/end pair being defined. The following
+ * values are valid: GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP,
+ * GL_TRIANGLES or GL_LINE_LOOP.
+ * @param polygonData
+ * Specifics a reference to user-defined data.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #endData endData
+ * @see #begin begin
+ */
+ void beginData(int type, Object polygonData);
+
+
+ /**
+ * The edgeFlag callback method is similar to
+ * {@link javax.media.opengl.GL#glEdgeFlag glEdgeFlag}. The method takes
+ * a single boolean boundaryEdge that indicates which edges lie on the
+ * polygon boundary. If the boundaryEdge is GL_TRUE, then each vertex
+ * that follows begins an edge that lies on the polygon boundary, that is,
+ * an edge that separates an interior region from an exterior one. If the
+ * boundaryEdge is GL_FALSE, then each vertex that follows begins an
+ * edge that lies in the polygon interior. The edge flag callback (if
+ * defined) is invoked before the first vertex callback.
+ *
+ * Since triangle fans and triangle strips do not support edge flags, the
+ * begin callback is not called with GL_TRIANGLE_FAN or
+ * GL_TRIANGLE_STRIP if a non-null edge flag callback is provided.
+ * (If the callback is initialized to null, there is no impact on
+ * performance). Instead, the fans and strips are converted to independent
+ * triangles.
+ *
+ * @param boundaryEdge
+ * Specifics which edges lie on the polygon boundary.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #edgeFlagData edgeFlagData
+ */
+ void edgeFlag(boolean boundaryEdge);
+
+
+ /**
+ * The same as the {@link #edgeFlag edgeFlage} callback method
+ * except that it takes an additional reference argument. This
+ * reference is identical to the opaque reference provided when
+ * {@link GLU#gluTessBeginPolygon gluTessBeginPolygon} was called.
+ *
+ * @param boundaryEdge
+ * Specifics which edges lie on the polygon boundary.
+ * @param polygonData
+ * Specifics a reference to user-defined data.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #edgeFlag edgeFlag
+ */
+ void edgeFlagData(boolean boundaryEdge, Object polygonData);
+
+
+ /**
+ * The vertex callback method is invoked between the {@link
+ * #begin begin} and {@link #end end} callback methods. It is
+ * similar to {@link javax.media.opengl.GL#glVertex3f glVertex3f},
+ * and it defines the vertices of the triangles created by the
+ * tessellation process. The method takes a reference as its only
+ * argument. This reference is identical to the opaque reference
+ * provided by the user when the vertex was described (see {@link
+ * GLU#gluTessVertex gluTessVertex}).
+ *
+ * @param vertexData
+ * Specifics a reference to the vertices of the triangles created
+ * byt the tessellatin process.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #vertexData vertexData
+ */
+ void vertex(Object vertexData);
+
+
+ /**
+ * The same as the {@link #vertex vertex} callback method except
+ * that it takes an additional reference argument. This reference is
+ * identical to the opaque reference provided when {@link
+ * GLU#gluTessBeginPolygon gluTessBeginPolygon} was called.
+ *
+ * @param vertexData
+ * Specifics a reference to the vertices of the triangles created
+ * byt the tessellatin process.
+ * @param polygonData
+ * Specifics a reference to user-defined data.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #vertex vertex
+ */
+ void vertexData(Object vertexData, Object polygonData);
+
+
+ /**
+ * The end callback serves the same purpose as
+ * {@link javax.media.opengl.GL#glEnd glEnd}. It indicates the end of a
+ * primitive and it takes no arguments.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #begin begin
+ * @see #endData endData
+ */
+ void end();
+
+
+ /**
+ * The same as the {@link #end end} callback method except that it
+ * takes an additional reference argument. This reference is
+ * identical to the opaque reference provided when {@link
+ * GLU#gluTessBeginPolygon gluTessBeginPolygon} was called.
+ *
+ * @param polygonData
+ * Specifics a reference to user-defined data.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #beginData beginData
+ * @see #end end
+ */
+ void endData(Object polygonData);
+
+
+ /**
+ * The combine callback method is called to create a new vertex when
+ * the tessellation detects an intersection, or wishes to merge features. The
+ * method takes four arguments: an array of three elements each of type
+ * double, an array of four references, an array of four elements each of
+ * type float, and a reference to a reference.
+ *
+ * The vertex is defined as a linear combination of up to four existing
+ * vertices, stored in data. The coefficients of the linear combination
+ * are given by weight; these weights always add up to 1. All vertex
+ * pointers are valid even when some of the weights are 0. coords gives
+ * the location of the new vertex.
+ *
+ * The user must allocate another vertex, interpolate parameters using
+ * data and weight, and return the new vertex pointer in
+ * outData. This handle is supplied during rendering callbacks. The
+ * user is responsible for freeing the memory some time after
+ * {@link GLU#gluTessEndPolygon gluTessEndPolygon} is
+ * called.
+ *
+ * For example, if the polygon lies in an arbitrary plane in 3-space, and a
+ * color is associated with each vertex, the GLU_TESS_COMBINE
+ * callback might look like this:
+ *
+ *
+ * void myCombine(double[] coords, Object[] data,
+ * float[] weight, Object[] outData)
+ * {
+ * MyVertex newVertex = new MyVertex();
+ *
+ * newVertex.x = coords[0];
+ * newVertex.y = coords[1];
+ * newVertex.z = coords[2];
+ * newVertex.r = weight[0]*data[0].r +
+ * weight[1]*data[1].r +
+ * weight[2]*data[2].r +
+ * weight[3]*data[3].r;
+ * newVertex.g = weight[0]*data[0].g +
+ * weight[1]*data[1].g +
+ * weight[2]*data[2].g +
+ * weight[3]*data[3].g;
+ * newVertex.b = weight[0]*data[0].b +
+ * weight[1]*data[1].b +
+ * weight[2]*data[2].b +
+ * weight[3]*data[3].b;
+ * newVertex.a = weight[0]*data[0].a +
+ * weight[1]*data[1].a +
+ * weight[2]*data[2].a +
+ * weight[3]*data[3].a;
+ * outData = newVertex;
+ * }
+ *
+ * @param coords
+ * Specifics the location of the new vertex.
+ * @param data
+ * Specifics the vertices used to create the new vertex.
+ * @param weight
+ * Specifics the weights used to create the new vertex.
+ * @param outData
+ * Reference user the put the coodinates of the new vertex.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #combineData combineData
+ */
+ void combine(double[] coords, Object[] data,
+ float[] weight, Object[] outData);
+
+
+ /**
+ * The same as the {@link #combine combine} callback method except
+ * that it takes an additional reference argument. This reference is
+ * identical to the opaque reference provided when {@link
+ * GLU#gluTessBeginPolygon gluTessBeginPolygon} was called.
+ *
+ * @param coords
+ * Specifics the location of the new vertex.
+ * @param data
+ * Specifics the vertices used to create the new vertex.
+ * @param weight
+ * Specifics the weights used to create the new vertex.
+ * @param outData
+ * Reference user the put the coodinates of the new vertex.
+ * @param polygonData
+ * Specifics a reference to user-defined data.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #combine combine
+ */
+ void combineData(double[] coords, Object[] data,
+ float[] weight, Object[] outData,
+ Object polygonData);
+
+
+ /**
+ * The error callback method is called when an error is encountered.
+ * The one argument is of type int; it indicates the specific error that
+ * occurred and will be set to one of GLU_TESS_MISSING_BEGIN_POLYGON,
+ * GLU_TESS_MISSING_END_POLYGON, GLU_TESS_MISSING_BEGIN_CONTOUR,
+ * GLU_TESS_MISSING_END_CONTOUR, GLU_TESS_COORD_TOO_LARGE,
+ * GLU_TESS_NEED_COMBINE_CALLBACK or GLU_OUT_OF_MEMORY.
+ * Character strings describing these errors can be retrieved with the
+ * {@link GLU#gluErrorString gluErrorString} call.
+ *
+ * The GLU library will recover from the first four errors by inserting the
+ * missing call(s). GLU_TESS_COORD_TOO_LARGE indicates that some
+ * vertex coordinate exceeded the predefined constant
+ * GLU_TESS_MAX_COORD in absolute value, and that the value has been
+ * clamped. (Coordinate values must be small enough so that two can be
+ * multiplied together without overflow.)
+ * GLU_TESS_NEED_COMBINE_CALLBACK indicates that the tessellation
+ * detected an intersection between two edges in the input data, and the
+ * GLU_TESS_COMBINE or GLU_TESS_COMBINE_DATA callback was not
+ * provided. No output is generated. GLU_OUT_OF_MEMORY indicates that
+ * there is not enough memory so no output is generated.
+ *
+ * @param errnum
+ * Specifics the error number code.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #errorData errorData
+ */
+ void error(int errnum);
+
+
+ /**
+ * The same as the {@link #error error} callback method except that
+ * it takes an additional reference argument. This reference is
+ * identical to the opaque reference provided when {@link
+ * GLU#gluTessBeginPolygon gluTessBeginPolygon} was called.
+ *
+ * @param errnum
+ * Specifics the error number code.
+ * @param polygonData
+ * Specifics a reference to user-defined data.
+ *
+ * @see GLU#gluTessCallback gluTessCallback
+ * @see #error error
+ */
+ void errorData(int errnum, Object polygonData);
+
+ //void mesh(com.sun.opengl.impl.tessellator.GLUmesh mesh);
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellatorCallbackAdapter.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellatorCallbackAdapter.java
new file mode 100644
index 000000000..70ccc5f0e
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/GLUtessellatorCallbackAdapter.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+* Portions Copyright (C) 2003-2006 Sun Microsystems, Inc.
+* All rights reserved.
+*/
+
+package org.lwjglx.util.glu;
+
+/**
+ * The GLUtessellatorCallbackAdapter provides a default implementation of
+ * {@link GLUtessellatorCallback GLUtessellatorCallback}
+ * with empty callback methods. This class can be extended to provide user
+ * defined callback methods.
+ *
+ * @author Eric Veach, July 1994
+ * @author Java Port: Pepijn Van Eechhoudt, July 2003
+ * @author Java Port: Nathan Parker Burg, August 2003
+ */
+
+public class GLUtessellatorCallbackAdapter implements GLUtessellatorCallback {
+ public void begin(int type) {}
+ public void edgeFlag(boolean boundaryEdge) {}
+ public void vertex(Object vertexData) {}
+ public void end() {}
+// public void mesh(com.sun.opengl.impl.tessellator.GLUmesh mesh) {}
+ public void error(int errnum) {}
+ public void combine(double[] coords, Object[] data,
+ float[] weight, Object[] outData) {}
+ public void beginData(int type, Object polygonData) {}
+ public void edgeFlagData(boolean boundaryEdge,
+ Object polygonData) {}
+ public void vertexData(Object vertexData, Object polygonData) {}
+ public void endData(Object polygonData) {}
+ public void errorData(int errnum, Object polygonData) {}
+ public void combineData(double[] coords, Object[] data,
+ float[] weight, Object[] outData,
+ Object polygonData) {}
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/MipMap.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/MipMap.java
new file mode 100644
index 000000000..24ed0c991
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/MipMap.java
@@ -0,0 +1,353 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import java.nio.ByteBuffer;
+
+import org.lwjgl.BufferUtils;
+
+import static org.lwjgl.opengl.GL11.*;
+import static org.lwjglx.util.glu.GLU.*;
+
+/**
+ * MipMap.java
+ *
+ *
+ * Created 11-jan-2004
+ * @author Erik Duijs
+ */
+public class MipMap extends Util {
+
+ /**
+ * Method gluBuild2DMipmaps
+ *
+ * @param target
+ * @param components
+ * @param width
+ * @param height
+ * @param format
+ * @param type
+ * @param data
+ * @return int
+ */
+ public static int gluBuild2DMipmaps(final int target,
+ final int components, final int width, final int height,
+ final int format, final int type, final ByteBuffer data) {
+ if ( width < 1 || height < 1 ) return GLU_INVALID_VALUE;
+
+ final int bpp = bytesPerPixel(format, type);
+ if ( bpp == 0 )
+ return GLU_INVALID_ENUM;
+
+ final int maxSize = glGetIntegerv(GL_MAX_TEXTURE_SIZE);
+
+ int w = nearestPower(width);
+ if ( w > maxSize )
+ w = maxSize;
+
+ int h = nearestPower(height);
+ if ( h > maxSize )
+ h = maxSize;
+
+ // Get current glPixelStore state
+ PixelStoreState pss = new PixelStoreState();
+
+ // set pixel packing
+ glPixelStorei(GL_PACK_ROW_LENGTH, 0);
+ glPixelStorei(GL_PACK_ALIGNMENT, 1);
+ glPixelStorei(GL_PACK_SKIP_ROWS, 0);
+ glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
+
+ ByteBuffer image;
+ int retVal = 0;
+ boolean done = false;
+
+ if ( w != width || h != height ) {
+ // must rescale image to get "top" mipmap texture image
+ image = BufferUtils.createByteBuffer((w + 4) * h * bpp);
+ int error = gluScaleImage(format, width, height, type, data, w, h, type, image);
+ if ( error != 0 ) {
+ retVal = error;
+ done = true;
+ }
+
+ /* set pixel unpacking */
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
+ glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
+ } else {
+ image = data;
+ }
+
+ ByteBuffer bufferA = null;
+ ByteBuffer bufferB = null;
+
+ int level = 0;
+ while ( !done ) {
+ if (image != data) {
+ /* set pixel unpacking */
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
+ glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
+ }
+
+ glTexImage2D(target, level, components, w, h, 0, format, type, image);
+
+ if ( w == 1 && h == 1 )
+ break;
+
+ final int newW = (w < 2) ? 1 : w >> 1;
+ final int newH = (h < 2) ? 1 : h >> 1;
+
+ final ByteBuffer newImage;
+
+ if ( bufferA == null )
+ newImage = (bufferA = BufferUtils.createByteBuffer((newW + 4) * newH * bpp));
+ else if ( bufferB == null )
+ newImage = (bufferB = BufferUtils.createByteBuffer((newW + 4) * newH * bpp));
+ else
+ newImage = bufferB;
+
+ int error = gluScaleImage(format, w, h, type, image, newW, newH, type, newImage);
+ if ( error != 0 ) {
+ retVal = error;
+ done = true;
+ }
+
+ image = newImage;
+ if ( bufferB != null )
+ bufferB = bufferA;
+
+ w = newW;
+ h = newH;
+ level++;
+ }
+
+ // Restore original glPixelStore state
+ pss.save();
+
+ return retVal;
+ }
+
+ /**
+ * Method gluScaleImage.
+ * @param format
+ * @param widthIn
+ * @param heightIn
+ * @param typein
+ * @param dataIn
+ * @param widthOut
+ * @param heightOut
+ * @param typeOut
+ * @param dataOut
+ * @return int
+ */
+ public static int gluScaleImage(int format,
+ int widthIn, int heightIn, int typein, ByteBuffer dataIn,
+ int widthOut, int heightOut, int typeOut, ByteBuffer dataOut) {
+
+ final int components = compPerPix(format);
+ if ( components == -1 )
+ return GLU_INVALID_ENUM;
+
+ int i, j, k;
+ float[] tempIn, tempOut;
+ float sx, sy;
+ int sizein, sizeout;
+ int rowstride, rowlen;
+
+ // temp image data
+ tempIn = new float[widthIn * heightIn * components];
+ tempOut = new float[widthOut * heightOut * components];
+
+ // Determine bytes per input type
+ switch ( typein ) {
+ case GL_UNSIGNED_BYTE:
+ sizein = 1;
+ break;
+ case GL_FLOAT:
+ sizein = 4;
+ break;
+ default:
+ return GL_INVALID_ENUM;
+ }
+
+ // Determine bytes per output type
+ switch ( typeOut ) {
+ case GL_UNSIGNED_BYTE:
+ sizeout = 1;
+ break;
+ case GL_FLOAT:
+ sizeout = 4;
+ break;
+ default:
+ return GL_INVALID_ENUM;
+ }
+
+ // Get glPixelStore state
+ PixelStoreState pss = new PixelStoreState();
+
+ //Unpack the pixel data and convert to floating point
+ if ( pss.unpackRowLength > 0 )
+ rowlen = pss.unpackRowLength;
+ else
+ rowlen = widthIn;
+
+ if ( sizein >= pss.unpackAlignment )
+ rowstride = components * rowlen;
+ else
+ rowstride = pss.unpackAlignment / sizein * ceil(components * rowlen * sizein, pss.unpackAlignment);
+
+ switch ( typein ) {
+ case GL_UNSIGNED_BYTE:
+ k = 0;
+ dataIn.rewind();
+ for ( i = 0; i < heightIn; i++ ) {
+ int ubptr = i * rowstride + pss.unpackSkipRows * rowstride + pss.unpackSkipPixels * components;
+ for ( j = 0; j < widthIn * components; j++ ) {
+ tempIn[k++] = dataIn.get(ubptr++) & 0xff;
+ }
+ }
+ break;
+ case GL_FLOAT:
+ k = 0;
+ dataIn.rewind();
+ for ( i = 0; i < heightIn; i++ )
+ {
+ int fptr = 4 * (i * rowstride + pss.unpackSkipRows * rowstride + pss.unpackSkipPixels * components);
+ for ( j = 0; j < widthIn * components; j++ )
+ {
+ tempIn[k++] = dataIn.getFloat(fptr);
+ fptr += 4;
+ }
+ }
+ break;
+ default:
+ return GLU_INVALID_ENUM;
+ }
+
+ // Do scaling
+ sx = (float)widthIn / (float)widthOut;
+ sy = (float)heightIn / (float)heightOut;
+
+ float[] c = new float[components];
+ int src, dst;
+
+ for ( int iy = 0; iy < heightOut; iy++ ) {
+ for ( int ix = 0; ix < widthOut; ix++ ) {
+ int x0 = (int)(ix * sx);
+ int x1 = (int)((ix + 1) * sx);
+ int y0 = (int)(iy * sy);
+ int y1 = (int)((iy + 1) * sy);
+
+ int readPix = 0;
+
+ // reset weighted pixel
+ for ( int ic = 0; ic < components; ic++ ) {
+ c[ic] = 0;
+ }
+
+ // create weighted pixel
+ for ( int ix0 = x0; ix0 < x1; ix0++ ) {
+ for ( int iy0 = y0; iy0 < y1; iy0++ ) {
+
+ src = (iy0 * widthIn + ix0) * components;
+
+ for ( int ic = 0; ic < components; ic++ ) {
+ c[ic] += tempIn[src + ic];
+ }
+
+ readPix++;
+ }
+ }
+
+ // store weighted pixel
+ dst = (iy * widthOut + ix) * components;
+
+ if ( readPix == 0 ) {
+ // Image is sized up, caused by non power of two texture as input
+ src = (y0 * widthIn + x0) * components;
+ for ( int ic = 0; ic < components; ic++ ) {
+ tempOut[dst++] = tempIn[src + ic];
+ }
+ } else {
+ // sized down
+ for ( k = 0; k < components; k++ ) {
+ tempOut[dst++] = c[k] / readPix;
+ }
+ }
+ }
+ }
+
+
+ // Convert temp output
+ if ( pss.packRowLength > 0 )
+ rowlen = pss.packRowLength;
+ else
+ rowlen = widthOut;
+
+ if ( sizeout >= pss.packAlignment )
+ rowstride = components * rowlen;
+ else
+ rowstride = pss.packAlignment / sizeout * ceil(components * rowlen * sizeout, pss.packAlignment);
+
+ switch ( typeOut ) {
+ case GL_UNSIGNED_BYTE:
+ k = 0;
+ for ( i = 0; i < heightOut; i++ ) {
+ int ubptr = i * rowstride + pss.packSkipRows * rowstride + pss.packSkipPixels * components;
+
+ for ( j = 0; j < widthOut * components; j++ ) {
+ dataOut.put(ubptr++, (byte)tempOut[k++]);
+ }
+ }
+ break;
+ case GL_FLOAT:
+ k = 0;
+ for ( i = 0; i < heightOut; i++ ) {
+ int fptr = 4 * (i * rowstride + pss.unpackSkipRows * rowstride + pss.unpackSkipPixels * components);
+
+ for ( j = 0; j < widthOut * components; j++ ) {
+ dataOut.putFloat(fptr, tempOut[k++]);
+ fptr += 4;
+ }
+ }
+ break;
+ default:
+ return GLU_INVALID_ENUM;
+ }
+
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/PartialDisk.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/PartialDisk.java
new file mode 100644
index 000000000..643734409
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/PartialDisk.java
@@ -0,0 +1,358 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.*;
+import static org.lwjglx.util.glu.GLU.*;
+
+/**
+ * PartialDisk.java
+ *
+ *
+ * Created 23-dec-2003
+ *
+ * @author Erik Duijs
+ */
+public class PartialDisk extends Quadric {
+
+ private static final int CACHE_SIZE = 240;
+
+ /**
+ * Constructor for PartialDisk.
+ */
+ public PartialDisk() {
+ super();
+ }
+
+ /**
+ * renders a partial disk on the z=0 plane. A partial disk is similar to a
+ * full disk, except that only the subset of the disk from startAngle
+ * through startAngle + sweepAngle is included (where 0 degrees is along
+ * the +y axis, 90 degrees along the +x axis, 180 along the -y axis, and
+ * 270 along the -x axis).
+ *
+ * The partial disk has a radius of outerRadius, and contains a concentric
+ * circular hole with a radius of innerRadius. If innerRadius is zero, then
+ * no hole is generated. The partial disk is subdivided around the z axis
+ * into slices (like pizza slices), and also about the z axis into rings
+ * (as specified by slices and loops, respectively).
+ *
+ * With respect to orientation, the +z side of the partial disk is
+ * considered to be outside (see gluQuadricOrientation). This means that if
+ * the orientation is set to GLU.GLU_OUTSIDE, then any normals generated point
+ * along the +z axis. Otherwise, they point along the -z axis.
+ *
+ * If texturing is turned on (with gluQuadricTexture), texture coordinates
+ * are generated linearly such that where r=outerRadius, the value at (r, 0, 0)
+ * is (1, 0.5), at (0, r, 0) it is (0.5, 1), at (-r, 0, 0) it is (0, 0.5),
+ * and at (0, -r, 0) it is (0.5, 0).
+ */
+ public void draw(
+ float innerRadius,
+ float outerRadius,
+ int slices,
+ int loops,
+ float startAngle,
+ float sweepAngle) {
+
+ int i, j;
+ float[] sinCache = new float[CACHE_SIZE];
+ float[] cosCache = new float[CACHE_SIZE];
+ float angle;
+ float sintemp, costemp;
+ float deltaRadius;
+ float radiusLow, radiusHigh;
+ float texLow = 0, texHigh = 0;
+ float angleOffset;
+ int slices2;
+ int finish;
+
+ if (slices >= CACHE_SIZE)
+ slices = CACHE_SIZE - 1;
+ if (slices < 2
+ || loops < 1
+ || outerRadius <= 0.0f
+ || innerRadius < 0.0f
+ || innerRadius > outerRadius) {
+ //gluQuadricError(qobj, GLU.GLU_INVALID_VALUE);
+ System.err.println("PartialDisk: GLU_INVALID_VALUE");
+ return;
+ }
+
+ if (sweepAngle < -360.0f)
+ sweepAngle = 360.0f;
+ if (sweepAngle > 360.0f)
+ sweepAngle = 360.0f;
+ if (sweepAngle < 0) {
+ startAngle += sweepAngle;
+ sweepAngle = -sweepAngle;
+ }
+
+ if (sweepAngle == 360.0f) {
+ slices2 = slices;
+ } else {
+ slices2 = slices + 1;
+ }
+
+ /* Compute length (needed for normal calculations) */
+ deltaRadius = outerRadius - innerRadius;
+
+ /* Cache is the vertex locations cache */
+
+ angleOffset = startAngle / 180.0f * PI;
+ for (i = 0; i <= slices; i++) {
+ angle = angleOffset + ((PI * sweepAngle) / 180.0f) * i / slices;
+ sinCache[i] = sin(angle);
+ cosCache[i] = cos(angle);
+ }
+
+ if (sweepAngle == 360.0f) {
+ sinCache[slices] = sinCache[0];
+ cosCache[slices] = cosCache[0];
+ }
+
+ switch (super.normals) {
+ case GLU_FLAT :
+ case GLU_SMOOTH :
+ if (super.orientation == GLU_OUTSIDE) {
+ glNormal3f(0.0f, 0.0f, 1.0f);
+ } else {
+ glNormal3f(0.0f, 0.0f, -1.0f);
+ }
+ break;
+ default :
+ case GLU_NONE :
+ break;
+ }
+
+ switch (super.drawStyle) {
+ case GLU_FILL :
+ if (innerRadius == .0f) {
+ finish = loops - 1;
+ /* Triangle strip for inner polygons */
+ glBegin(GL_TRIANGLE_FAN);
+ if (super.textureFlag) {
+ glTexCoord2f(0.5f, 0.5f);
+ }
+ glVertex3f(0.0f, 0.0f, 0.0f);
+ radiusLow = outerRadius - deltaRadius * ((float) (loops - 1) / loops);
+ if (super.textureFlag) {
+ texLow = radiusLow / outerRadius / 2;
+ }
+
+ if (super.orientation == GLU_OUTSIDE) {
+ for (i = slices; i >= 0; i--) {
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sinCache[i], radiusLow * cosCache[i], 0.0f);
+ }
+ } else {
+ for (i = 0; i <= slices; i++) {
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sinCache[i], radiusLow * cosCache[i], 0.0f);
+ }
+ }
+ glEnd();
+ } else {
+ finish = loops;
+ }
+ for (j = 0; j < finish; j++) {
+ radiusLow = outerRadius - deltaRadius * ((float) j / loops);
+ radiusHigh = outerRadius - deltaRadius * ((float) (j + 1) / loops);
+ if (super.textureFlag) {
+ texLow = radiusLow / outerRadius / 2;
+ texHigh = radiusHigh / outerRadius / 2;
+ }
+
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= slices; i++) {
+ if (super.orientation == GLU_OUTSIDE) {
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sinCache[i], radiusLow * cosCache[i], 0.0f);
+
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texHigh * sinCache[i] + 0.5f,
+ texHigh * cosCache[i] + 0.5f);
+ }
+ glVertex3f(
+ radiusHigh * sinCache[i],
+ radiusHigh * cosCache[i],
+ 0.0f);
+ } else {
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texHigh * sinCache[i] + 0.5f,
+ texHigh * cosCache[i] + 0.5f);
+ }
+ glVertex3f(
+ radiusHigh * sinCache[i],
+ radiusHigh * cosCache[i],
+ 0.0f);
+
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sinCache[i], radiusLow * cosCache[i], 0.0f);
+ }
+ }
+ glEnd();
+ }
+ break;
+ case GLU_POINT :
+ glBegin(GL_POINTS);
+ for (i = 0; i < slices2; i++) {
+ sintemp = sinCache[i];
+ costemp = cosCache[i];
+ for (j = 0; j <= loops; j++) {
+ radiusLow = outerRadius - deltaRadius * ((float) j / loops);
+
+ if (super.textureFlag) {
+ texLow = radiusLow / outerRadius / 2;
+
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sintemp, radiusLow * costemp, 0.0f);
+ }
+ }
+ glEnd();
+ break;
+ case GLU_LINE :
+ if (innerRadius == outerRadius) {
+ glBegin(GL_LINE_STRIP);
+
+ for (i = 0; i <= slices; i++) {
+ if (super.textureFlag) {
+ glTexCoord2f(sinCache[i] / 2 + 0.5f, cosCache[i] / 2 + 0.5f);
+ }
+ glVertex3f(innerRadius * sinCache[i], innerRadius * cosCache[i], 0.0f);
+ }
+ glEnd();
+ break;
+ }
+ for (j = 0; j <= loops; j++) {
+ radiusLow = outerRadius - deltaRadius * ((float) j / loops);
+ if (super.textureFlag) {
+ texLow = radiusLow / outerRadius / 2;
+ }
+
+ glBegin(GL_LINE_STRIP);
+ for (i = 0; i <= slices; i++) {
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sinCache[i], radiusLow * cosCache[i], 0.0f);
+ }
+ glEnd();
+ }
+ for (i = 0; i < slices2; i++) {
+ sintemp = sinCache[i];
+ costemp = cosCache[i];
+ glBegin(GL_LINE_STRIP);
+ for (j = 0; j <= loops; j++) {
+ radiusLow = outerRadius - deltaRadius * ((float) j / loops);
+ if (super.textureFlag) {
+ texLow = radiusLow / outerRadius / 2;
+ }
+
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sintemp, radiusLow * costemp, 0.0f);
+ }
+ glEnd();
+ }
+ break;
+ case GLU_SILHOUETTE :
+ if (sweepAngle < 360.0f) {
+ for (i = 0; i <= slices; i += slices) {
+ sintemp = sinCache[i];
+ costemp = cosCache[i];
+ glBegin(GL_LINE_STRIP);
+ for (j = 0; j <= loops; j++) {
+ radiusLow = outerRadius - deltaRadius * ((float) j / loops);
+
+ if (super.textureFlag) {
+ texLow = radiusLow / outerRadius / 2;
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sintemp, radiusLow * costemp, 0.0f);
+ }
+ glEnd();
+ }
+ }
+ for (j = 0; j <= loops; j += loops) {
+ radiusLow = outerRadius - deltaRadius * ((float) j / loops);
+ if (super.textureFlag) {
+ texLow = radiusLow / outerRadius / 2;
+ }
+
+ glBegin(GL_LINE_STRIP);
+ for (i = 0; i <= slices; i++) {
+ if (super.textureFlag) {
+ glTexCoord2f(
+ texLow * sinCache[i] + 0.5f,
+ texLow * cosCache[i] + 0.5f);
+ }
+ glVertex3f(radiusLow * sinCache[i], radiusLow * cosCache[i], 0.0f);
+ }
+ glEnd();
+ if (innerRadius == outerRadius)
+ break;
+ }
+ break;
+ default :
+ break;
+ }
+ }
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/PixelStoreState.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/PixelStoreState.java
new file mode 100644
index 000000000..e19b39ed1
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/PixelStoreState.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.*;
+
+/**
+ * PixelStoreState.java
+ *
+ *
+ * Created 11-jan-2004
+ * @author Erik Duijs
+ */
+class PixelStoreState extends Util {
+
+ public int unpackRowLength;
+ public int unpackAlignment;
+ public int unpackSkipRows;
+ public int unpackSkipPixels;
+ public int packRowLength;
+ public int packAlignment;
+ public int packSkipRows;
+ public int packSkipPixels;
+
+ /**
+ * Constructor for PixelStoreState.
+ */
+ PixelStoreState() {
+ super();
+ load();
+ }
+
+ public void load() {
+ unpackRowLength = glGetIntegerv(GL_UNPACK_ROW_LENGTH);
+ unpackAlignment = glGetIntegerv(GL_UNPACK_ALIGNMENT);
+ unpackSkipRows = glGetIntegerv(GL_UNPACK_SKIP_ROWS);
+ unpackSkipPixels = glGetIntegerv(GL_UNPACK_SKIP_PIXELS);
+ packRowLength = glGetIntegerv(GL_PACK_ROW_LENGTH);
+ packAlignment = glGetIntegerv(GL_PACK_ALIGNMENT);
+ packSkipRows = glGetIntegerv(GL_PACK_SKIP_ROWS);
+ packSkipPixels = glGetIntegerv(GL_PACK_SKIP_PIXELS);
+ }
+
+ public void save() {
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, unpackRowLength);
+ glPixelStorei(GL_UNPACK_ALIGNMENT, unpackAlignment);
+ glPixelStorei(GL_UNPACK_SKIP_ROWS, unpackSkipRows);
+ glPixelStorei(GL_UNPACK_SKIP_PIXELS, unpackSkipPixels);
+ glPixelStorei(GL_PACK_ROW_LENGTH, packRowLength);
+ glPixelStorei(GL_PACK_ALIGNMENT, packAlignment);
+ glPixelStorei(GL_PACK_SKIP_ROWS, packSkipRows);
+ glPixelStorei(GL_PACK_SKIP_PIXELS, packSkipPixels);
+ }
+
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Project.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Project.java
new file mode 100644
index 000000000..5f27f6c5f
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Project.java
@@ -0,0 +1,416 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.glMultMatrixf;
+import static org.lwjgl.opengl.GL11.glScalef;
+import static org.lwjgl.opengl.GL11.glTranslatef;
+import java.nio.FloatBuffer;
+import java.nio.IntBuffer;
+import org.jzy3d.maths.Array;
+import org.lwjgl.BufferUtils;
+import org.lwjgl.opengl.GL11;
+
+/**
+ * Project.java
+ *
+ *
+ * Created 11-jan-2004
+ *
+ * @author Erik Duijs
+ */
+public class Project extends Util {
+
+ private static final float[] IDENTITY_MATRIX =
+ new float[] {
+ 1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f };
+
+ private static final FloatBuffer matrix = BufferUtils.createFloatBuffer(16);
+ private static final FloatBuffer finalMatrix = BufferUtils.createFloatBuffer(16);
+
+ private static final FloatBuffer tempMatrix = BufferUtils.createFloatBuffer(16);
+ private static final float[] in = new float[4];
+ private static final float[] out = new float[4];
+
+ private static final float[] forward = new float[3];
+ private static final float[] side = new float[3];
+ private static final float[] up = new float[3];
+
+ /**
+ * Make matrix an identity matrix
+ */
+ private static void __gluMakeIdentityf(FloatBuffer m) {
+ int oldPos = m.position();
+ m.put(IDENTITY_MATRIX);
+ m.position(oldPos);
+ }
+
+ /**
+ * Method __gluMultMatrixVecf
+ *
+ * @param finalMatrix
+ * @param in
+ * @param out
+ */
+ private static void __gluMultMatrixVecf(FloatBuffer m, float[] in, float[] out) {
+ for (int i = 0; i < 4; i++) {
+ out[i] =
+ in[0] * m.get(m.position() + 0*4 + i)
+ + in[1] * m.get(m.position() + 1*4 + i)
+ + in[2] * m.get(m.position() + 2*4 + i)
+ + in[3] * m.get(m.position() + 3*4 + i);
+
+ }
+ }
+
+ /**
+ * @param src
+ * @param inverse
+ *
+ * @return true if the matrix was succesfully inverted
+ */
+ private static boolean __gluInvertMatrixf(FloatBuffer src, FloatBuffer inverse) {
+ int i, j, k, swap;
+ float t;
+ FloatBuffer temp = Project.tempMatrix;
+
+
+ for (i = 0; i < 16; i++) {
+ temp.put(i, src.get(i + src.position()));
+ }
+ __gluMakeIdentityf(inverse);
+
+ for (i = 0; i < 4; i++) {
+ /*
+ * * Look for largest element in column
+ */
+ swap = i;
+ for (j = i + 1; j < 4; j++) {
+ /*
+ * if (fabs(temp[j][i]) > fabs(temp[i][i])) { swap = j;
+ */
+ if (Math.abs(temp.get(j*4 + i)) > Math.abs(temp.get(i* 4 + i))) {
+ swap = j;
+ }
+ }
+
+ if (swap != i) {
+ /*
+ * * Swap rows.
+ */
+ for (k = 0; k < 4; k++) {
+ t = temp.get(i*4 + k);
+ temp.put(i*4 + k, temp.get(swap*4 + k));
+ temp.put(swap*4 + k, t);
+
+ t = inverse.get(i*4 + k);
+ inverse.put(i*4 + k, inverse.get(swap*4 + k));
+ //inverse.put((i << 2) + k, inverse.get((swap << 2) + k));
+ inverse.put(swap*4 + k, t);
+ //inverse.put((swap << 2) + k, t);
+ }
+ }
+
+ if (temp.get(i*4 + i) == 0) {
+ /*
+ * * No non-zero pivot. The matrix is singular, which shouldn't *
+ * happen. This means the user gave us a bad matrix.
+ */
+ return false;
+ }
+
+ t = temp.get(i*4 + i);
+ for (k = 0; k < 4; k++) {
+ temp.put(i*4 + k, temp.get(i*4 + k)/t);
+ inverse.put(i*4 + k, inverse.get(i*4 + k)/t);
+ }
+ for (j = 0; j < 4; j++) {
+ if (j != i) {
+ t = temp.get(j*4 + i);
+ for (k = 0; k < 4; k++) {
+ temp.put(j*4 + k, temp.get(j*4 + k) - temp.get(i*4 + k) * t);
+ inverse.put(j*4 + k, inverse.get(j*4 + k) - inverse.get(i*4 + k) * t);
+ /*inverse.put(
+ (j << 2) + k,
+ inverse.get((j << 2) + k) - inverse.get((i << 2) + k) * t);*/
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ * @param a
+ * @param b
+ * @param r
+ */
+ private static void __gluMultMatricesf(FloatBuffer a, FloatBuffer b, FloatBuffer r) {
+ for (int i = 0; i < 4; i++) {
+ for (int j = 0; j < 4; j++) {
+ r.put(r.position() + i*4 + j,
+ a.get(a.position() + i*4 + 0) * b.get(b.position() + 0*4 + j) + a.get(a.position() + i*4 + 1) * b.get(b.position() + 1*4 + j) + a.get(a.position() + i*4 + 2) * b.get(b.position() + 2*4 + j) + a.get(a.position() + i*4 + 3) * b.get(b.position() + 3*4 + j));
+ }
+ }
+ }
+
+ /**
+ * Method gluPerspective.
+ *
+ * @param fovy
+ * @param aspect
+ * @param zNear
+ * @param zFar
+ */
+ public static void gluPerspective(float fovy, float aspect, float zNear, float zFar) {
+ float sine, cotangent, deltaZ;
+ float radians = fovy / 2 * GLU.PI / 180;
+
+ deltaZ = zFar - zNear;
+ sine = (float) Math.sin(radians);
+
+ if ((deltaZ == 0) || (sine == 0) || (aspect == 0)) {
+ return;
+ }
+
+ cotangent = (float) Math.cos(radians) / sine;
+
+ __gluMakeIdentityf(matrix);
+
+ matrix.put(0 * 4 + 0, cotangent / aspect);
+ matrix.put(1 * 4 + 1, cotangent);
+ matrix.put(2 * 4 + 2, - (zFar + zNear) / deltaZ);
+ matrix.put(2 * 4 + 3, -1);
+ matrix.put(3 * 4 + 2, -2 * zNear * zFar / deltaZ);
+ matrix.put(3 * 4 + 3, 0);
+
+ glMultMatrixf(matrix);
+ }
+
+ /**
+ * Method gluLookAt
+ *
+ * @param eyex
+ * @param eyey
+ * @param eyez
+ * @param centerx
+ * @param centery
+ * @param centerz
+ * @param upx
+ * @param upy
+ * @param upz
+ */
+ public static void gluLookAt(
+ float eyex,
+ float eyey,
+ float eyez,
+ float centerx,
+ float centery,
+ float centerz,
+ float upx,
+ float upy,
+ float upz) {
+ float[] forward = Project.forward;
+ float[] side = Project.side;
+ float[] up = Project.up;
+
+ forward[0] = centerx - eyex;
+ forward[1] = centery - eyey;
+ forward[2] = centerz - eyez;
+
+ up[0] = upx;
+ up[1] = upy;
+ up[2] = upz;
+
+ normalize(forward);
+
+ /* Side = forward x up */
+ cross(forward, up, side);
+ normalize(side);
+
+ /* Recompute up as: up = side x forward */
+ cross(side, forward, up);
+
+ __gluMakeIdentityf(matrix);
+
+ matrix.put(0 * 4 + 0, side[0]);
+ matrix.put(1 * 4 + 0, side[1]);
+ matrix.put(2 * 4 + 0, side[2]);
+
+ matrix.put(0 * 4 + 1, up[0]);
+ matrix.put(1 * 4 + 1, up[1]);
+ matrix.put(2 * 4 + 1, up[2]);
+
+ matrix.put(0 * 4 + 2, -forward[0]);
+ matrix.put(1 * 4 + 2, -forward[1]);
+ matrix.put(2 * 4 + 2, -forward[2]);
+
+ //matrix.rewind();
+
+ glMultMatrixf(matrix);
+ glTranslatef(-eyex, -eyey, -eyez);
+ }
+
+ /**
+ * Method gluProject
+ *
+ * @param objx
+ * @param objy
+ * @param objz
+ * @param modelMatrix
+ * @param projMatrix
+ * @param viewport
+ * @param win_pos
+ */
+ public static boolean gluProject(
+ float objx,
+ float objy,
+ float objz,
+ FloatBuffer modelMatrix,
+ FloatBuffer projMatrix,
+ IntBuffer viewport,
+ FloatBuffer win_pos) {
+
+ float[] in = Project.in;
+ float[] out = Project.out;
+
+ in[0] = objx;
+ in[1] = objy;
+ in[2] = objz;
+ in[3] = 1.0f;
+
+ __gluMultMatrixVecf(modelMatrix, in, out);
+ __gluMultMatrixVecf(projMatrix, out, in);
+
+ if (in[3] == 0.0)
+ return false;
+
+ in[3] = (1.0f / in[3]) * 0.5f;
+
+ // Map x, y and z to range 0-1
+ in[0] = in[0] * in[3] + 0.5f;
+ in[1] = in[1] * in[3] + 0.5f;
+ in[2] = in[2] * in[3] + 0.5f;
+
+ // Map x,y to viewport
+ win_pos.put(0, in[0] * viewport.get(viewport.position() + 2) + viewport.get(viewport.position() + 0));
+ win_pos.put(1, in[1] * viewport.get(viewport.position() + 3) + viewport.get(viewport.position() + 1));
+ win_pos.put(2, in[2]);
+
+ return true;
+ }
+
+ /**
+ * Method gluUnproject
+ *
+ * @param winx
+ * @param winy
+ * @param winz
+ * @param modelMatrix
+ * @param projMatrix
+ * @param viewport
+ * @param obj_pos
+ */
+ public static boolean gluUnProject(
+ float winx,
+ float winy,
+ float winz,
+ FloatBuffer modelMatrix,
+ FloatBuffer projMatrix,
+ IntBuffer viewport,
+ FloatBuffer obj_pos) {
+ float[] in = Project.in;
+ float[] out = Project.out;
+
+ __gluMultMatricesf(modelMatrix, projMatrix, finalMatrix);
+
+ if (!__gluInvertMatrixf(finalMatrix, finalMatrix))
+ return false;
+
+ in[0] = winx;
+ in[1] = winy;
+ in[2] = winz;
+ in[3] = 1.0f;
+
+ // Map x and y from window coordinates
+ in[0] = (in[0] - viewport.get(viewport.position() + 0)) / viewport.get(viewport.position() + 2);
+ in[1] = (in[1] - viewport.get(viewport.position() + 1)) / viewport.get(viewport.position() + 3);
+
+ // Map to range -1 to 1
+ in[0] = in[0] * 2 - 1;
+ in[1] = in[1] * 2 - 1;
+ in[2] = in[2] * 2 - 1;
+
+ __gluMultMatrixVecf(finalMatrix, in, out);
+
+ if (out[3] == 0.0)
+ return false;
+
+ out[3] = 1.0f / out[3];
+
+ obj_pos.put(obj_pos.position() + 0, out[0] * out[3]);
+ obj_pos.put(obj_pos.position() + 1, out[1] * out[3]);
+ obj_pos.put(obj_pos.position() + 2, out[2] * out[3]);
+
+ return true;
+ }
+
+ /**
+ * Method gluPickMatrix
+ *
+ * @param x
+ * @param y
+ * @param deltaX
+ * @param deltaY
+ * @param viewport
+ */
+ public static void gluPickMatrix(
+ float x,
+ float y,
+ float deltaX,
+ float deltaY,
+ IntBuffer viewport) {
+ if (deltaX <= 0 || deltaY <= 0) {
+ return;
+ }
+
+ /* Translate and scale the picked region to the entire window */
+ glTranslatef(
+ (viewport.get(viewport.position() + 2) - 2 * (x - viewport.get(viewport.position() + 0))) / deltaX,
+ (viewport.get(viewport.position() + 3) - 2 * (y - viewport.get(viewport.position() + 1))) / deltaY,
+ 0);
+ glScalef(viewport.get(viewport.position() + 2) / deltaX, viewport.get(viewport.position() + 3) / deltaY, 1.0f);
+ }
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Quadric.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Quadric.java
new file mode 100644
index 000000000..d69dd2b05
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Quadric.java
@@ -0,0 +1,199 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.*;
+import static org.lwjglx.util.glu.GLU.*;
+
+/**
+ * Quadric.java
+ *
+ *
+ * Created 22-dec-2003
+ * @author Erik Duijs
+ */
+public class Quadric {
+
+ protected int drawStyle;
+ protected int orientation;
+ protected boolean textureFlag;
+ protected int normals;
+
+ /**
+ * Constructor for Quadric.
+ */
+ public Quadric() {
+ super();
+
+ drawStyle = GLU_FILL;
+ orientation = GLU_OUTSIDE;
+ textureFlag = false;
+ normals = GLU_SMOOTH;
+ }
+
+ /**
+ * Call glNormal3f after scaling normal to unit length.
+ *
+ * @param x
+ * @param y
+ * @param z
+ */
+ protected void normal3f(float x, float y, float z) {
+ float mag;
+
+ mag = (float)Math.sqrt(x * x + y * y + z * z);
+ if (mag > 0.00001F) {
+ x /= mag;
+ y /= mag;
+ z /= mag;
+ }
+ glNormal3f(x, y, z);
+ }
+
+ /**
+ * specifies the draw style for quadrics.
+ *
+ * The legal values are as follows:
+ *
+ * GLU.FILL: Quadrics are rendered with polygon primitives. The polygons
+ * are drawn in a counterclockwise fashion with respect to
+ * their normals (as defined with glu.quadricOrientation).
+ *
+ * GLU.LINE: Quadrics are rendered as a set of lines.
+ *
+ * GLU.SILHOUETTE: Quadrics are rendered as a set of lines, except that edges
+ * separating coplanar faces will not be drawn.
+ *
+ * GLU.POINT: Quadrics are rendered as a set of points.
+ *
+ * @param drawStyle The drawStyle to set
+ */
+ public void setDrawStyle(int drawStyle) {
+ this.drawStyle = drawStyle;
+ }
+
+ /**
+ * specifies what kind of normals are desired for quadrics.
+ * The legal values are as follows:
+ *
+ * GLU.NONE: No normals are generated.
+ *
+ * GLU.FLAT: One normal is generated for every facet of a quadric.
+ *
+ * GLU.SMOOTH: One normal is generated for every vertex of a quadric. This
+ * is the default.
+ *
+ * @param normals The normals to set
+ */
+ public void setNormals(int normals) {
+ this.normals = normals;
+ }
+
+ /**
+ * specifies what kind of orientation is desired for.
+ * The orientation values are as follows:
+ *
+ * GLU.OUTSIDE: Quadrics are drawn with normals pointing outward.
+ *
+ * GLU.INSIDE: Normals point inward. The default is GLU.OUTSIDE.
+ *
+ * Note that the interpretation of outward and inward depends on the quadric
+ * being drawn.
+ *
+ * @param orientation The orientation to set
+ */
+ public void setOrientation(int orientation) {
+ this.orientation = orientation;
+ }
+
+ /**
+ * specifies if texture coordinates should be generated for
+ * quadrics rendered with qobj. If the value of textureCoords is true,
+ * then texture coordinates are generated, and if textureCoords is false,
+ * they are not.. The default is false.
+ *
+ * The manner in which texture coordinates are generated depends upon the
+ * specific quadric rendered.
+ *
+ * @param textureFlag The textureFlag to set
+ */
+ public void setTextureFlag(boolean textureFlag) {
+ this.textureFlag = textureFlag;
+ }
+
+
+ /**
+ * Returns the drawStyle.
+ * @return int
+ */
+ public int getDrawStyle() {
+ return drawStyle;
+ }
+
+ /**
+ * Returns the normals.
+ * @return int
+ */
+ public int getNormals() {
+ return normals;
+ }
+
+ /**
+ * Returns the orientation.
+ * @return int
+ */
+ public int getOrientation() {
+ return orientation;
+ }
+
+ /**
+ * Returns the textureFlag.
+ * @return boolean
+ */
+ public boolean getTextureFlag() {
+ return textureFlag;
+ }
+
+ protected void TXTR_COORD(float x, float y) {
+ if (textureFlag) glTexCoord2f(x,y);
+ }
+
+
+ protected float sin(float r) {
+ return (float)Math.sin(r);
+ }
+
+ protected float cos(float r) {
+ return (float)Math.cos(r);
+ }
+
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Registry.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Registry.java
new file mode 100644
index 000000000..58931cc33
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Registry.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjglx.util.glu.GLU.*;
+
+/**
+ * Registry.java
+ *
+ *
+ * Created 11-jan-2004
+ * @author Erik Duijs
+ */
+public class Registry extends Util {
+
+ private static final String versionString = "1.3";
+ private static final String extensionString =
+ "GLU_EXT_nurbs_tessellator " + "GLU_EXT_object_space_tess ";
+
+ /**
+ * Method gluGetString
+ * @param name
+ * @return String
+ */
+ public static String gluGetString(int name) {
+
+ if (name == GLU_VERSION) {
+ return versionString;
+ } else if (name == GLU_EXTENSIONS) {
+ return extensionString;
+ }
+ return null;
+ }
+
+ /**
+ * Method gluCheckExtension
+ *
+ * @param extName is an extension name.
+ * @param extString is a string of extensions separated by blank(s). There may or
+ * may not be leading or trailing blank(s) in extString.
+ * This works in cases of extensions being prefixes of another like
+ * GL_EXT_texture and GL_EXT_texture3D.
+ * @return boolean true if extName is found otherwise it returns false.
+ */
+ public static boolean gluCheckExtension(String extName, String extString) {
+ if (extString == null || extName == null)
+ return false;
+
+ return extString.indexOf(extName) != -1;
+ }
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Sphere.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Sphere.java
new file mode 100644
index 000000000..54e9ab351
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Sphere.java
@@ -0,0 +1,229 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.*;
+import static org.lwjglx.util.glu.GLU.*;
+
+/**
+ * Sphere.java
+ *
+ *
+ * Created 23-dec-2003
+ * @author Erik Duijs
+ */
+public class Sphere extends Quadric {
+
+ /**
+ * Constructor
+ */
+ public Sphere() {
+ super();
+ }
+
+ /**
+ * draws a sphere of the given radius centered around the origin.
+ * The sphere is subdivided around the z axis into slices and along the z axis
+ * into stacks (similar to lines of longitude and latitude).
+ *
+ * If the orientation is set to GLU.OUTSIDE (with glu.quadricOrientation), then
+ * any normals generated point away from the center of the sphere. Otherwise,
+ * they point toward the center of the sphere.
+
+ * If texturing is turned on (with glu.quadricTexture), then texture
+ * coordinates are generated so that t ranges from 0.0 at z=-radius to 1.0 at
+ * z=radius (t increases linearly along longitudinal lines), and s ranges from
+ * 0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the -y axis, to 0.75
+ * at the -x axis, and back to 1.0 at the +y axis.
+ */
+ public void draw(float radius, int slices, int stacks) {
+ // TODO
+
+ float rho, drho, theta, dtheta;
+ float x, y, z;
+ float s, t, ds, dt;
+ int i, j, imin, imax;
+ boolean normals;
+ float nsign;
+
+ normals = super.normals != GLU_NONE;
+
+ if (super.orientation == GLU_INSIDE) {
+ nsign = -1.0f;
+ } else {
+ nsign = 1.0f;
+ }
+
+ drho = PI / stacks;
+ dtheta = 2.0f * PI / slices;
+
+ if (super.drawStyle == GLU_FILL) {
+ if (!super.textureFlag) {
+ // draw +Z end as a triangle fan
+ glBegin(GL_TRIANGLE_FAN);
+ glNormal3f(0.0f, 0.0f, 1.0f);
+ glVertex3f(0.0f, 0.0f, nsign * radius);
+ for (j = 0; j <= slices; j++) {
+ theta = (j == slices) ? 0.0f : j * dtheta;
+ x = -sin(theta) * sin(drho);
+ y = cos(theta) * sin(drho);
+ z = nsign * cos(drho);
+ if (normals) {
+ glNormal3f(x * nsign, y * nsign, z * nsign);
+ }
+ glVertex3f(x * radius, y * radius, z * radius);
+ }
+ glEnd();
+ }
+
+ ds = 1.0f / slices;
+ dt = 1.0f / stacks;
+ t = 1.0f; // because loop now runs from 0
+ if (super.textureFlag) {
+ imin = 0;
+ imax = stacks;
+ } else {
+ imin = 1;
+ imax = stacks - 1;
+ }
+
+ // draw intermediate stacks as quad strips
+ for (i = imin; i < imax; i++) {
+ rho = i * drho;
+ glBegin(GL_QUAD_STRIP);
+ s = 0.0f;
+ for (j = 0; j <= slices; j++) {
+ theta = (j == slices) ? 0.0f : j * dtheta;
+ x = -sin(theta) * sin(rho);
+ y = cos(theta) * sin(rho);
+ z = nsign * cos(rho);
+ if (normals) {
+ glNormal3f(x * nsign, y * nsign, z * nsign);
+ }
+ TXTR_COORD(s, t);
+ glVertex3f(x * radius, y * radius, z * radius);
+ x = -sin(theta) * sin(rho + drho);
+ y = cos(theta) * sin(rho + drho);
+ z = nsign * cos(rho + drho);
+ if (normals) {
+ glNormal3f(x * nsign, y * nsign, z * nsign);
+ }
+ TXTR_COORD(s, t - dt);
+ s += ds;
+ glVertex3f(x * radius, y * radius, z * radius);
+ }
+ glEnd();
+ t -= dt;
+ }
+
+ if (!super.textureFlag) {
+ // draw -Z end as a triangle fan
+ glBegin(GL_TRIANGLE_FAN);
+ glNormal3f(0.0f, 0.0f, -1.0f);
+ glVertex3f(0.0f, 0.0f, -radius * nsign);
+ rho = PI - drho;
+ s = 1.0f;
+ for (j = slices; j >= 0; j--) {
+ theta = (j == slices) ? 0.0f : j * dtheta;
+ x = -sin(theta) * sin(rho);
+ y = cos(theta) * sin(rho);
+ z = nsign * cos(rho);
+ if (normals)
+ glNormal3f(x * nsign, y * nsign, z * nsign);
+ s -= ds;
+ glVertex3f(x * radius, y * radius, z * radius);
+ }
+ glEnd();
+ }
+ } else if (
+ super.drawStyle == GLU_LINE
+ || super.drawStyle == GLU_SILHOUETTE) {
+ // draw stack lines
+ for (i = 1;
+ i < stacks;
+ i++) { // stack line at i==stacks-1 was missing here
+ rho = i * drho;
+ glBegin(GL_LINE_LOOP);
+ for (j = 0; j < slices; j++) {
+ theta = j * dtheta;
+ x = cos(theta) * sin(rho);
+ y = sin(theta) * sin(rho);
+ z = cos(rho);
+ if (normals)
+ glNormal3f(x * nsign, y * nsign, z * nsign);
+ glVertex3f(x * radius, y * radius, z * radius);
+ }
+ glEnd();
+ }
+ // draw slice lines
+ for (j = 0; j < slices; j++) {
+ theta = j * dtheta;
+ glBegin(GL_LINE_STRIP);
+ for (i = 0; i <= stacks; i++) {
+ rho = i * drho;
+ x = cos(theta) * sin(rho);
+ y = sin(theta) * sin(rho);
+ z = cos(rho);
+ if (normals)
+ glNormal3f(x * nsign, y * nsign, z * nsign);
+ glVertex3f(x * radius, y * radius, z * radius);
+ }
+ glEnd();
+ }
+ } else if (super.drawStyle == GLU_POINT) {
+ // top and bottom-most points
+ glBegin(GL_POINTS);
+ if (normals)
+ glNormal3f(0.0f, 0.0f, nsign);
+ glVertex3f(0.0f, 0.0f, radius);
+ if (normals)
+ glNormal3f(0.0f, 0.0f, -nsign);
+ glVertex3f(0.0f, 0.0f, -radius);
+
+ // loop over stacks
+ for (i = 1; i < stacks - 1; i++) {
+ rho = i * drho;
+ for (j = 0; j < slices; j++) {
+ theta = j * dtheta;
+ x = cos(theta) * sin(rho);
+ y = sin(theta) * sin(rho);
+ z = cos(rho);
+ if (normals)
+ glNormal3f(x * nsign, y * nsign, z * nsign);
+ glVertex3f(x * radius, y * radius, z * radius);
+ }
+ }
+ glEnd();
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Util.java b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Util.java
new file mode 100644
index 000000000..bbe2d9cb8
--- /dev/null
+++ b/jzy3d-native-lwjgl/src/main/java/org/lwjglx/util/glu/Util.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright (c) 2002-2008 LWJGL Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'LWJGL' nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.lwjglx.util.glu;
+
+import static org.lwjgl.opengl.GL11.GL_ALPHA;
+import static org.lwjgl.opengl.GL11.GL_BITMAP;
+import static org.lwjgl.opengl.GL11.GL_BLUE;
+import static org.lwjgl.opengl.GL11.GL_BYTE;
+import static org.lwjgl.opengl.GL11.GL_COLOR_INDEX;
+import static org.lwjgl.opengl.GL11.GL_DEPTH_COMPONENT;
+import static org.lwjgl.opengl.GL11.GL_FLOAT;
+import static org.lwjgl.opengl.GL11.GL_GREEN;
+import static org.lwjgl.opengl.GL11.GL_INT;
+import static org.lwjgl.opengl.GL11.GL_LUMINANCE;
+import static org.lwjgl.opengl.GL11.GL_LUMINANCE_ALPHA;
+import static org.lwjgl.opengl.GL11.GL_RED;
+import static org.lwjgl.opengl.GL11.GL_RGB;
+import static org.lwjgl.opengl.GL11.GL_RGBA;
+import static org.lwjgl.opengl.GL11.GL_SHORT;
+import static org.lwjgl.opengl.GL11.GL_STENCIL_INDEX;
+import static org.lwjgl.opengl.GL11.GL_UNSIGNED_BYTE;
+import static org.lwjgl.opengl.GL11.GL_UNSIGNED_INT;
+import static org.lwjgl.opengl.GL11.GL_UNSIGNED_SHORT;
+import static org.lwjgl.opengl.GL12.GL_BGR;
+import static org.lwjgl.opengl.GL12.GL_BGRA;
+import java.nio.IntBuffer;
+import org.lwjgl.BufferUtils;
+import org.lwjgl.opengl.GL11;
+
+/**
+ * Util.java
+ *
+ *
+ * Created 7-jan-2004
+ *
+ * @author Erik Duijs
+ */
+public class Util {
+
+ /**
+ * temp IntBuffer of one for getting an int from some GL functions
+ */
+ private static IntBuffer scratch = BufferUtils.createIntBuffer(16);
+
+ /**
+ * Return ceiling of integer division
+ *
+ * @param a
+ * @param b
+ *
+ * @return int
+ */
+ protected static int ceil(int a, int b) {
+ return (a % b == 0 ? a / b : a / b + 1);
+ }
+
+ /**
+ * Normalize vector
+ *
+ * @param v
+ *
+ * @return float[]
+ */
+ protected static float[] normalize(float[] v) {
+ float r;
+
+ r = (float)Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
+ if ( r == 0.0 )
+ return v;
+
+ r = 1.0f / r;
+
+ v[0] *= r;
+ v[1] *= r;
+ v[2] *= r;
+
+ return v;
+ }
+
+ /**
+ * Calculate cross-product
+ *
+ * @param v1
+ * @param v2
+ * @param result
+ */
+ protected static void cross(float[] v1, float[] v2, float[] result) {
+ result[0] = v1[1] * v2[2] - v1[2] * v2[1];
+ result[1] = v1[2] * v2[0] - v1[0] * v2[2];
+ result[2] = v1[0] * v2[1] - v1[1] * v2[0];
+ }
+
+ /**
+ * Method compPerPix.
+ *
+ * @param format
+ *
+ * @return int
+ */
+ protected static int compPerPix(int format) {
+ /* Determine number of components per pixel */
+ switch ( format ) {
+ case GL_COLOR_INDEX:
+ case GL_STENCIL_INDEX:
+ case GL_DEPTH_COMPONENT:
+ case GL_RED:
+ case GL_GREEN:
+ case GL_BLUE:
+ case GL_ALPHA:
+ case GL_LUMINANCE:
+ return 1;
+ case GL_LUMINANCE_ALPHA:
+ return 2;
+ case GL_RGB:
+ case GL_BGR:
+ return 3;
+ case GL_RGBA:
+ case GL_BGRA:
+ return 4;
+ default :
+ return -1;
+ }
+ }
+
+ /**
+ * Method nearestPower.
+ *
+ * Compute the nearest power of 2 number. This algorithm is a little strange, but it works quite well.
+ *
+ * @param value
+ *
+ * @return int
+ */
+ protected static int nearestPower(int value) {
+ int i;
+
+ i = 1;
+
+ /* Error! */
+ if ( value == 0 )
+ return -1;
+
+ for ( ; ; ) {
+ if ( value == 1 ) {
+ return i;
+ } else if ( value == 3 ) {
+ return i << 2;
+ }
+ value >>= 1;
+ i <<= 1;
+ }
+ }
+
+ /**
+ * Method bytesPerPixel.
+ *
+ * @param format
+ * @param type
+ *
+ * @return int
+ */
+ protected static int bytesPerPixel(int format, int type) {
+ int n, m;
+
+ switch ( format ) {
+ case GL_COLOR_INDEX:
+ case GL_STENCIL_INDEX:
+ case GL_DEPTH_COMPONENT:
+ case GL_RED:
+ case GL_GREEN:
+ case GL_BLUE:
+ case GL_ALPHA:
+ case GL_LUMINANCE:
+ n = 1;
+ break;
+ case GL_LUMINANCE_ALPHA:
+ n = 2;
+ break;
+ case GL_RGB:
+ case GL_BGR:
+ n = 3;
+ break;
+ case GL_RGBA:
+ case GL_BGRA:
+ n = 4;
+ break;
+ default :
+ n = 0;
+ }
+
+ switch ( type ) {
+ case GL_UNSIGNED_BYTE:
+ m = 1;
+ break;
+ case GL_BYTE:
+ m = 1;
+ break;
+ case GL_BITMAP:
+ m = 1;
+ break;
+ case GL_UNSIGNED_SHORT:
+ m = 2;
+ break;
+ case GL_SHORT:
+ m = 2;
+ break;
+ case GL_UNSIGNED_INT:
+ m = 4;
+ break;
+ case GL_INT:
+ m = 4;
+ break;
+ case GL_FLOAT:
+ m = 4;
+ break;
+ default :
+ m = 0;
+ }
+
+ return n * m;
+ }
+
+ /**
+ * Convenience method for returning an int, rather than getting it out of a buffer yourself.
+ *
+ * @param what
+ *
+ * @return int
+ */
+ protected static int glGetIntegerv(int what) {
+ //scratch.rewind();
+ //glGetInteger(what, scratch);
+ return GL11.glGetInteger(what);//scratch.get();
+ }
+
+}
\ No newline at end of file
diff --git a/jzy3d-tester/src/main/java/org/jzy3d/debug/View2DLayout_Debug.java b/jzy3d-tester/src/main/java/org/jzy3d/debug/View2DLayout_Debug.java
deleted file mode 100644
index 8838e3753..000000000
--- a/jzy3d-tester/src/main/java/org/jzy3d/debug/View2DLayout_Debug.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package org.jzy3d.debug;
-
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import org.jzy3d.colors.AWTColor;
-import org.jzy3d.colors.Color;
-import org.jzy3d.painters.AWTFont;
-import org.jzy3d.plot2d.rendering.AWTGraphicsUtils;
-import org.jzy3d.plot3d.primitives.axis.layout.AxisLayout;
-import org.jzy3d.plot3d.rendering.view.AWTRenderer2d;
-import org.jzy3d.plot3d.rendering.view.AWTView;
-import org.jzy3d.plot3d.rendering.view.AbstractAWTRenderer2d;
-import org.jzy3d.plot3d.rendering.view.View;
-import org.jzy3d.plot3d.rendering.view.View2DLayout;
-
-public class View2DLayout_Debug extends AbstractAWTRenderer2d implements AWTRenderer2d{
-
- View2DLayout layout;
- AxisLayout axisLayout;
-
- public View2DLayout_Debug() {
- }
-
- @Override
- public void setView(AWTView view) {
- super.setView(view);
-
- this.layout = view.get2DLayout();
- this.axisLayout = view.getAxis().getLayout();
- }
-
-
- @Override
- public void paint(Graphics g, int canvasWidth, int canvasHeight) {
- Graphics2D g2d = (Graphics2D) g;
-
-
- // Cancel the HiDPI scaling consideration to draw debug stuff properly
- //
-
- Font font = AWTFont.toAWT(axisLayout.getFont());
-
- // Native
- if(view.getCanvas().isNative()) {
- g2d.scale(1/view.getPixelScale().x, 1/view.getPixelScale().y);
- }
- // EmulGL
- else {
- int newSize = (int)(font.getSize() / view.getPixelScale().y);
- font = new Font(font.getName(), font.getStyle(), newSize);
- }
-
- g2d.setColor(AWTColor.toAWT(Color.BLUE));
- g2d.setFont(font);
-
- // Text and aliasing settings
- AWTGraphicsUtils.configureRenderingHints(g2d);
-
-
- // ------------------------
- // Draw debug info
-
- int height = view.getCanvas().getRendererHeight();
- int width = view.getCanvas().getRendererWidth();
-
- // ------------------------
- // Horizontal lines
-
- int txtSize = axisLayout.getFont().getHeight();
-
- drawHorizontalLines(g2d, height, width, txtSize);
-
-
- // ------------------------
- // Vertical lines
-
- int lineHeight = txtSize + 8;
-
- drawVerticalLines(g2d, height, lineHeight);
-
- }
-
-
-
- private void drawHorizontalLines(Graphics2D g2d, int height, int width, int txtSize) {
- FontMetrics fm = g2d.getFontMetrics();
-
- int x;
- int y;
- // under axis label
- y = height-(int)layout.getMarginBottom();
- g2d.drawLine(0, y, width, y);
-
- x = (int)layout.getMarginLeft();
-
- String info = "Axis Label Bottom";
- g2d.drawString(info, x, y);
- int shift = fm.stringWidth(info);
-
-
- // up to axis label
- y = height-(int)(layout.getMarginBottom()+txtSize);
- g2d.drawLine(0, y, width, y);
-
- info = "Axis Label Top";
- g2d.drawString(info, shift, y);
- shift += fm.stringWidth(info);
-
- // down to tick label
- y = height-(int)(layout.getMarginBottom()+txtSize+layout.getxAxisLabelsDistance());
- g2d.drawLine(0, y, width, y);
-
- info = "Tick Label Bottom";
- g2d.drawString(info, shift, y);
- shift += fm.stringWidth(info);
-
- // up to tick label
- y = height-(int)(layout.getMarginBottom()+txtSize+layout.getxAxisLabelsDistance()+txtSize);
- g2d.drawLine(0, y, width, y);
-
- info = "Tick Label Top";
- g2d.drawString(info, shift, y);
- shift += fm.stringWidth(info);
-
- // up to tick label margin
- y = height-(int)(layout.getMarginBottom()+txtSize+layout.getxAxisLabelsDistance()+txtSize+layout.getxTickLabelsDistance());
- g2d.drawLine(0, y, width, y);
-
- info = "Chart bottom border";
- g2d.drawString(info, shift, y);
- shift += fm.stringWidth(info);
-
- // Horizontal top margin
- y = (int)layout.getMarginTop();
- g2d.drawLine(0, y, width, y);
-
- info = "Chart top border";
- g2d.drawString(info, shift, y);
-
- }
-
-
-
- private void drawVerticalLines(Graphics2D g2d, int height, int lineHeight) {
- FontMetrics fm = g2d.getFontMetrics();
-
- int x;
- // left to axis label
- x = (int)layout.getMarginLeft();
- g2d.drawLine(x, 0, x, height);
-
- g2d.drawString("Axis Label Left Side / Left Margin (" + x + ")", x, lineHeight*1);
-
- // right to axis label
- x = (int)(layout.getMarginLeft()+view.get2DProcessing().getAxisTextHorizontal());
- g2d.drawLine(x, 0, x, height);
-
- g2d.drawString("Axis Label Right Side (" + x + ")", x, lineHeight*2);
-
-
- // left to tick label
- x = (int)(x+layout.getyAxisLabelsDistance());
- g2d.drawLine(x, 0, x, height);
-
- g2d.drawString("Tick Label Left Side (" + x + ")", x, lineHeight*3);
-
-
- // right to tick label
- x = (int)(x+view.get2DProcessing().getTickTextHorizontal());
- g2d.drawLine(x, 0, x, height);
-
- g2d.drawString("Tick Label Right Side (" + x + ")", x, lineHeight*4);
-
- // on chart border
- x = (int)(x+layout.getxTickLabelsDistance());
- g2d.drawLine(x, 0, x, height);
-
- g2d.drawString("Chart left border (" + x + ")", x, lineHeight*5);
-
- x = (int)(view.getCamera().getLastViewPort().getWidth()-layout.getMarginRight());
-
- g2d.drawLine(x, 0, x, height);
-
- String txt = "Chart right border (" + x + ")";
-
- g2d.drawString(txt, x - fm.stringWidth(txt), lineHeight*6);
- }
-
-}
diff --git a/jzy3d-tester/src/main/java/org/jzy3d/junit/ChartTester.java b/jzy3d-tester/src/main/java/org/jzy3d/junit/ChartTester.java
index 98abb87de..b76ffd86f 100644
--- a/jzy3d-tester/src/main/java/org/jzy3d/junit/ChartTester.java
+++ b/jzy3d-tester/src/main/java/org/jzy3d/junit/ChartTester.java
@@ -232,8 +232,6 @@ public void test(Chart chart, String testImage) throws IOException {
}
}
-
-
public void assertSimilar(IColorMap colormap, String testImage) {
try {
execute(colormap, testImage);
@@ -344,15 +342,17 @@ protected void highlightPixel(BufferedImage expected, List diffs
doHighlightPixels(expected, diff, highlight);
}
- expected.getSubimage(minX, minY, maxX - minX, maxY - minY);
-
- Graphics2D g2d = (Graphics2D) expected.createGraphics();
- g2d.setColor(java.awt.Color.RED);
- g2d.setStroke(new BasicStroke(1f));
- g2d.drawRect(minX, minY, maxX - minX, maxY - minY);
-
- System.err
- .println("Erroneous Area : x[" + minX + ", " + maxX + "] y[" + minY + " " + maxY + "]");
+ if(minX<=maxX && minY<=maxY) {
+ //expected.getSubimage(minX, minY, maxX - minX, maxY - minY);
+
+ Graphics2D g2d = (Graphics2D) expected.createGraphics();
+ g2d.setColor(java.awt.Color.RED);
+ g2d.setStroke(new BasicStroke(1f));
+ g2d.drawRect(minX, minY, maxX - minX, maxY - minY);
+
+ System.err
+ .println("Erroneous Area : x[" + minX + ", " + maxX + "] y[" + minY + " " + maxY + "]");
+ }
}
@@ -395,10 +395,17 @@ protected BufferedImage getErroneousArea(BufferedImage expected, List
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -38,20 +38,20 @@ This is a summary of existing baseline images for tests, which was generated on
# Scatter
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -67,23 +67,23 @@ This is a summary of existing baseline images for tests, which was generated on
* Font=AppleChancery24
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
-Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
+ |
|
|
|
@@ -95,20 +95,20 @@ This is a summary of existing baseline images for tests, which was generated on
# Text : whenDrawableTextRenderer
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -123,23 +123,23 @@ This is a summary of existing baseline images for tests, which was generated on
# AxisLabelRotateLayout
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
-Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
+ |
|
|
|
@@ -148,23 +148,23 @@ This is a summary of existing baseline images for tests, which was generated on
-# Colorbar : Shrink
+# Colorbar : IsModifiedByCustomFont
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -176,23 +176,23 @@ This is a summary of existing baseline images for tests, which was generated on
-# Colorbar : ShrinkBigFont
+# 2D_Colorbar : View=XY
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -204,54 +204,26 @@ This is a summary of existing baseline images for tests, which was generated on
-# Colorbar : IsModifiedByCustomFont
+# 2D_Colorbar : View=XZ
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
-
-
-Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
- |
- |
- |
- |
- |
-
-
-
-# Colorbar : HasMinimumWidth
-
-
EmulGL_AWT HiDPI:ON |
EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
-Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
+ |
|
|
|
@@ -260,28 +232,23 @@ This is a summary of existing baseline images for tests, which was generated on
-# 2D Layout
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=0
-* AxisLabel=0
-* TextAddMargin=false
+# 2D_Colorbar : View=YZ
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -293,6 +260,7 @@ This is a summary of existing baseline images for tests, which was generated on
+# 2D Layout
## 2D : when2DLayoutConfig_ThenApplyMargins
* BorderMargin=0
* TickLabel=0
@@ -300,52 +268,20 @@ This is a summary of existing baseline images for tests, which was generated on
* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
-
-
-Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
- |
- |
- |
- |
- |
-
-
-
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=0
-* AxisLabel=10
-* TextAddMargin=false
-
-
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
+ |
+ |
|
@@ -364,23 +300,23 @@ This is a summary of existing baseline images for tests, which was generated on
* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
- |
+Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
|
|
|
@@ -393,55 +329,23 @@ This is a summary of existing baseline images for tests, which was generated on
* BorderMargin=0
* TickLabel=10
* AxisLabel=0
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
-
-
- |
- |
- |
- |
- |
- |
-
-
-
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=10
-* AxisLabel=0
-* TextAddMargin=true
-
-
EmulGL_AWT HiDPI:ON |
EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -457,55 +361,23 @@ This is a summary of existing baseline images for tests, which was generated on
* BorderMargin=0
* TickLabel=10
* AxisLabel=10
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
-
-
- |
- |
- |
- |
- |
- |
-
-
-
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=10
-* AxisLabel=10
-* TextAddMargin=true
-
-
EmulGL_AWT HiDPI:ON |
EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -521,55 +393,23 @@ This is a summary of existing baseline images for tests, which was generated on
* BorderMargin=20
* TickLabel=0
* AxisLabel=0
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
-
-
- |
- |
- |
- |
- |
- |
-
-
-
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
-* TickLabel=0
-* AxisLabel=0
-* TextAddMargin=true
-
-
EmulGL_AWT HiDPI:ON |
EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -585,55 +425,23 @@ This is a summary of existing baseline images for tests, which was generated on
* BorderMargin=20
* TickLabel=0
* AxisLabel=10
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
-
-
- |
- |
- |
- |
- |
- |
-
-
-
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
-* TickLabel=0
-* AxisLabel=10
-* TextAddMargin=true
-
-
EmulGL_AWT HiDPI:ON |
EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -649,55 +457,23 @@ This is a summary of existing baseline images for tests, which was generated on
* BorderMargin=20
* TickLabel=10
* AxisLabel=0
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
-
-
- |
- |
- |
- |
- |
- |
-
-
-
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
-* TickLabel=10
-* AxisLabel=0
-* TextAddMargin=true
-
-
EmulGL_AWT HiDPI:ON |
EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -713,55 +489,23 @@ This is a summary of existing baseline images for tests, which was generated on
* BorderMargin=20
* TickLabel=10
* AxisLabel=10
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
-
-
- |
- |
- |
- |
- |
- |
-
-
-
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
-* TickLabel=10
-* AxisLabel=10
-* TextAddMargin=true
-
-
EmulGL_AWT HiDPI:ON |
EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -777,23 +521,23 @@ This is a summary of existing baseline images for tests, which was generated on
* yAxisOrientation=VERTICAL
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
-Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
+Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
|
|
|
@@ -806,51 +550,20 @@ This is a summary of existing baseline images for tests, which was generated on
* yAxisOrientation=HORIZONTAL
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
-
-
- |
- |
- |
- |
- |
- |
-
-
-
-## 2D : whenAxisRotated_ThenApplyMargins
-* yAxisOrientation=PARALLEL
-* TO
-* AXIS
-
-
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
-Native_AWT HiDPI:ON |
-Native_AWT HiDPI:OFF |
-Native_Swing HiDPI:ON |
-Native_Swing HiDPI:OFF |
-
-
- |
- |
- |
- |
- |
- |
+ |
+ |
|
@@ -870,24 +583,24 @@ This is a summary of existing baseline images for tests, which was generated on
* RIGHT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
- |
+Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
|
|
|
@@ -902,20 +615,20 @@ This is a summary of existing baseline images for tests, which was generated on
* RIGHT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -934,20 +647,20 @@ This is a summary of existing baseline images for tests, which was generated on
* LEFT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -966,20 +679,20 @@ This is a summary of existing baseline images for tests, which was generated on
* LEFT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
diff --git a/jzy3d-tests-java9/BASELINE_macosx_11.4_AppleM1.md b/jzy3d-tests-java9/BASELINE_macosx_11.4_AppleM1.md
index 9d1f0be7d..6d22f48af 100644
--- a/jzy3d-tests-java9/BASELINE_macosx_11.4_AppleM1.md
+++ b/jzy3d-tests-java9/BASELINE_macosx_11.4_AppleM1.md
@@ -3,27 +3,27 @@ jzy3d-test-java9-generated
This is a summary of existing baseline images for tests, which was generated on
* OS Name : mac os x
* OS Version : 11.4
-* Java Version : 17.0.1
-* CPU : aarch64
+* Java Version : 17-panama
+* CPU : x86_64
* GPU : AppleM1
# Surface
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -38,20 +38,20 @@ This is a summary of existing baseline images for tests, which was generated on
# Scatter
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -67,20 +67,20 @@ This is a summary of existing baseline images for tests, which was generated on
* Font=AppleChancery24
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -95,20 +95,20 @@ This is a summary of existing baseline images for tests, which was generated on
# Text : whenDrawableTextRenderer
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -123,20 +123,20 @@ This is a summary of existing baseline images for tests, which was generated on
# AxisLabelRotateLayout
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -148,23 +148,23 @@ This is a summary of existing baseline images for tests, which was generated on
-# Colorbar : Shrink
+# Colorbar : IsModifiedByCustomFont
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -176,51 +176,51 @@ This is a summary of existing baseline images for tests, which was generated on
-# Colorbar : ShrinkBigFont
+# 2D_FlipAxis : View=XY_Flip=None
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|
|
- |
+Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
|
-# Colorbar : IsModifiedByCustomFont
+# 2D_FlipAxis : View=XY_Flip=X
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -232,23 +232,23 @@ This is a summary of existing baseline images for tests, which was generated on
-# Colorbar : HasMinimumWidth
+# 2D_FlipAxis : View=XY_Flip=Y
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -260,28 +260,23 @@ This is a summary of existing baseline images for tests, which was generated on
-# 2D Layout
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=0
-* AxisLabel=0
-* TextAddMargin=false
+# 2D_FlipAxis : View=XY_Flip=Both
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -293,27 +288,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=0
-* AxisLabel=0
-* TextAddMargin=true
+# 2D_FlipAxis : View=YZ_Flip=None
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -325,27 +316,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=0
-* AxisLabel=10
-* TextAddMargin=false
+# 2D_FlipAxis : View=YZ_Flip=X
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -357,27 +344,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=0
-* AxisLabel=10
-* TextAddMargin=true
+# 2D_FlipAxis : View=YZ_Flip=Y
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -389,27 +372,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=10
-* AxisLabel=0
-* TextAddMargin=false
+# 2D_FlipAxis : View=YZ_Flip=Both
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -421,27 +400,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=10
-* AxisLabel=0
-* TextAddMargin=true
+# 2D_FlipAxis : View=XZ_Flip=None
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -453,27 +428,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=10
-* AxisLabel=10
-* TextAddMargin=false
+# 2D_FlipAxis : View=XZ_Flip=X
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -485,27 +456,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=0
-* TickLabel=10
-* AxisLabel=10
-* TextAddMargin=true
+# 2D_FlipAxis : View=XZ_Flip=Y
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -517,27 +484,23 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
-* TickLabel=0
-* AxisLabel=0
-* TextAddMargin=false
+# 2D_FlipAxis : View=XZ_Flip=Both
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -549,27 +512,28 @@ This is a summary of existing baseline images for tests, which was generated on
+# 2D Layout
## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
+* BorderMargin=0
* TickLabel=0
* AxisLabel=0
* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -582,26 +546,26 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
+* BorderMargin=0
* TickLabel=0
* AxisLabel=10
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -614,26 +578,26 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
-* TickLabel=0
-* AxisLabel=10
+* BorderMargin=0
+* TickLabel=10
+* AxisLabel=0
* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -646,29 +610,29 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : when2DLayoutConfig_ThenApplyMargins
-* BorderMargin=20
+* BorderMargin=0
* TickLabel=10
-* AxisLabel=0
-* TextAddMargin=false
+* AxisLabel=10
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
- |
+Diff chart:
 Actual chart:
 Zoom on error:
 Following tests of the same section have been skipped. |
|
|
|
@@ -679,25 +643,25 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : when2DLayoutConfig_ThenApplyMargins
* BorderMargin=20
-* TickLabel=10
+* TickLabel=0
* AxisLabel=0
* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -711,25 +675,25 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : when2DLayoutConfig_ThenApplyMargins
* BorderMargin=20
-* TickLabel=10
+* TickLabel=0
* AxisLabel=10
-* TextAddMargin=false
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -744,24 +708,24 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : when2DLayoutConfig_ThenApplyMargins
* BorderMargin=20
* TickLabel=10
-* AxisLabel=10
+* AxisLabel=0
* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -773,24 +737,27 @@ This is a summary of existing baseline images for tests, which was generated on
-## 2D : whenAxisRotated_ThenApplyMargins
-* yAxisOrientation=VERTICAL
+## 2D : when2DLayoutConfig_ThenApplyMargins
+* BorderMargin=20
+* TickLabel=10
+* AxisLabel=10
+* TextAddMargin=true
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -803,23 +770,23 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : whenAxisRotated_ThenApplyMargins
-* yAxisOrientation=HORIZONTAL
+* yAxisOrientation=VERTICAL
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -832,25 +799,23 @@ This is a summary of existing baseline images for tests, which was generated on
## 2D : whenAxisRotated_ThenApplyMargins
-* yAxisOrientation=PARALLEL
-* TO
-* AXIS
+* yAxisOrientation=HORIZONTAL
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -870,20 +835,20 @@ This is a summary of existing baseline images for tests, which was generated on
* RIGHT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -902,20 +867,20 @@ This is a summary of existing baseline images for tests, which was generated on
* RIGHT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -934,20 +899,20 @@ This is a summary of existing baseline images for tests, which was generated on
* LEFT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
@@ -966,20 +931,20 @@ This is a summary of existing baseline images for tests, which was generated on
* LEFT
-EmulGL_AWT HiDPI:ON |
-EmulGL_AWT HiDPI:OFF |
Native_AWT HiDPI:ON |
Native_AWT HiDPI:OFF |
Native_Swing HiDPI:ON |
Native_Swing HiDPI:OFF |
+EmulGL_AWT HiDPI:ON |
+EmulGL_AWT HiDPI:OFF |
- |
- |
 |
 |
 |
 |
+ |
+ |
|
diff --git a/jzy3d-tests-java9/pom.xml b/jzy3d-tests-java9/pom.xml
index 5b3779ce4..c4d0c77db 100644
--- a/jzy3d-tests-java9/pom.xml
+++ b/jzy3d-tests-java9/pom.xml
@@ -18,37 +18,7 @@
${project.groupId}
- jzy3d-native-jogl-awt
- ${project.version}
-
-
-
- ${project.groupId}
- jzy3d-native-jogl-swing
- ${project.version}
-
-
-
- ${project.groupId}
- jzy3d-native-jogl-newt
- ${project.version}
-
-
-
- ${project.groupId}
- jzy3d-emul-gl-awt
- ${project.version}
-
-
-
- ${project.groupId}
- jzy3d-tester-native
- ${project.version}
-
-
-
- ${project.groupId}
- jzy3d-io-xls
+ jzy3d-everything
${project.version}
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/performance/polygons/BenchmarkPlot.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/performance/polygons/BenchmarkPlot.java
index b1883a431..f6728b4da 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/performance/polygons/BenchmarkPlot.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/performance/polygons/BenchmarkPlot.java
@@ -8,7 +8,6 @@
import org.jzy3d.chart.factories.AWTChartFactory;
import org.jzy3d.chart.factories.ChartFactory;
import org.jzy3d.colors.Color;
-import org.jzy3d.debug.View2DLayout_Debug;
import org.jzy3d.io.xls.ExcelBuilder;
import org.jzy3d.maths.BoundingBox3d;
import org.jzy3d.maths.Coord3d;
@@ -21,6 +20,7 @@
import org.jzy3d.plot3d.rendering.canvas.Quality;
import org.jzy3d.plot3d.rendering.view.AWTView;
import org.jzy3d.plot3d.rendering.view.View2DLayout;
+import org.jzy3d.plot3d.rendering.view.View2DLayout_Debug;
public class BenchmarkPlot implements BenchmarkXLS {
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest.java
index 5aa9b480a..8984bb937 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest.java
@@ -56,13 +56,24 @@ public enum WT {
// //
// Toolkit and resolutions to apply to all tests using the forEach operator
- protected WT[] toolkits = {WT.EmulGL_AWT, WT.Native_AWT, WT.Native_Swing};
+ protected WT[] toolkits = {WT.Native_AWT, WT.Native_Swing, WT.EmulGL_AWT};
protected HiDPI[] resolutions = {HiDPI.ON, HiDPI.OFF};
+ protected WT[] toolkitsAWT = {WT.Native_AWT, WT.EmulGL_AWT};
+
/**
* Run a test for each possible registered toolkit and resolution.
*/
protected void forEach(ITTestInstance task) {
+ /*for (WT toolkit : toolkits) {
+ for (HiDPI resolution : resolutions) {
+ task.run(toolkit, resolution);
+ }
+ }*/
+ forEach(task, toolkits);
+ }
+
+ protected void forEach(ITTestInstance task, WT[] toolkits) {
for (WT toolkit : toolkits) {
for (HiDPI resolution : resolutions) {
task.run(toolkit, resolution);
@@ -70,6 +81,7 @@ protected void forEach(ITTestInstance task) {
}
}
+
public static interface ITTestInstance {
public void run(WT toolkit, HiDPI resolution);
}
@@ -104,11 +116,31 @@ public void markdownAllTests() throws IOException {
section(sb, "AxisLabelRotateLayout");
// Colorbar tests
- section(sb, "Colorbar", "Shrink", null);
- section(sb, "Colorbar", "ShrinkBigFont", null);
+ //section(sb, "Colorbar", "Shrink", null);
+ //section(sb, "Colorbar", "ShrinkBigFont", null);
section(sb, "Colorbar", "IsModifiedByCustomFont", null);
- section(sb, "Colorbar", "HasMinimumWidth", null);
+ //section(sb, "Colorbar", "HasMinimumWidth", null);
+ //section(sb, "2D_Colorbar", "View"+KV+"XY", null);
+ //section(sb, "2D_Colorbar", "View"+KV+"XZ", null);
+ //section(sb, "2D_Colorbar", "View"+KV+"YZ", null);
+
+ section(sb, "2D_FlipAxis", "View"+KV+"XY"+SEP_PROP+"Flip"+KV+"None", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"XY"+SEP_PROP+"Flip"+KV+"X", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"XY"+SEP_PROP+"Flip"+KV+"Y", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"XY"+SEP_PROP+"Flip"+KV+"Both", null);
+
+ section(sb, "2D_FlipAxis", "View"+KV+"YZ"+SEP_PROP+"Flip"+KV+"None", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"YZ"+SEP_PROP+"Flip"+KV+"X", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"YZ"+SEP_PROP+"Flip"+KV+"Y", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"YZ"+SEP_PROP+"Flip"+KV+"Both", null);
+
+ section(sb, "2D_FlipAxis", "View"+KV+"XZ"+SEP_PROP+"Flip"+KV+"None", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"XZ"+SEP_PROP+"Flip"+KV+"X", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"XZ"+SEP_PROP+"Flip"+KV+"Y", null);
+ section(sb, "2D_FlipAxis", "View"+KV+"XZ"+SEP_PROP+"Flip"+KV+"Both", null);
+
+
// 2D tests
line(sb, "# 2D Layout");
@@ -302,8 +334,7 @@ public static Chart chart(ChartFactory factory, HiDPI hidpi, Rectangle offscreen
public static Quality quality(HiDPI hidpi) {
Quality q = Quality.Advanced();
- q.setHiDPIEnabled(HiDPI.ON.equals(hidpi) ? true : false); // Enable HiDPI if available on
- // computer
+ q.setHiDPI(hidpi);
q.setAnimated(false);
return q;
}
@@ -340,9 +371,7 @@ public static void assertChart(Chart chart, String name) {
// processing remain stable (I observed bugs where a margin may reduce
// after each rendering, hence the colorbar moves)
int nRefresh = 6;
- for (int i = 0; i < nRefresh; i++) {
- chart.render();
- }
+ chart.render(nRefresh);
// Verify
ChartTester tester = new ChartTester();
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D.java
index 9f3754c0d..3f548dcfb 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D.java
@@ -19,7 +19,7 @@ public class ITTest_2D extends ITTest {
protected static int[] margins = {0, 20};
protected static int[] tickLabelDists = {0, 10};
protected static int[] axisLabelDists = {0, 10};
- protected static boolean[] textAddMargin = {false, true};
+ protected static boolean[] textAddMargin = {true};
/** Toolkit and resolution iterator */
@Test
@@ -82,7 +82,7 @@ public static void forEach(ITTest2D_Margin_Instance runner) {
static String caseAxisRotated = "whenAxisRotated_ThenApplyMargins";
protected static LabelOrientation[] yOrientations =
- {LabelOrientation.VERTICAL, LabelOrientation.HORIZONTAL, LabelOrientation.PARALLEL_TO_AXIS};
+ {LabelOrientation.VERTICAL, LabelOrientation.HORIZONTAL};
/** Toolkit and resolution iterator */
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D_Colorbar.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D_Colorbar.java
new file mode 100644
index 000000000..81075fc5b
--- /dev/null
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D_Colorbar.java
@@ -0,0 +1,203 @@
+package org.jzy3d.tests.integration;
+
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import javax.imageio.ImageIO;
+import org.junit.Test;
+import org.jzy3d.chart.AWTChart;
+import org.jzy3d.chart.Chart;
+import org.jzy3d.maths.Margin;
+import org.jzy3d.maths.Range;
+import org.jzy3d.painters.Font;
+import org.jzy3d.plot2d.rendering.AWTGraphicsUtils;
+import org.jzy3d.plot3d.primitives.SampleGeom;
+import org.jzy3d.plot3d.primitives.Shape;
+import org.jzy3d.plot3d.primitives.axis.layout.AxisLayout;
+import org.jzy3d.plot3d.primitives.axis.layout.fonts.HiDPIProportionalFontSizePolicy;
+import org.jzy3d.plot3d.primitives.axis.layout.providers.RegularTickProvider;
+import org.jzy3d.plot3d.primitives.axis.layout.renderers.DefaultDecimalTickRenderer;
+import org.jzy3d.plot3d.rendering.legends.colorbars.AWTColorbarLegend;
+import org.jzy3d.plot3d.rendering.legends.overlay.LegendLayout;
+import org.jzy3d.plot3d.rendering.view.AWTImageRenderer;
+import org.jzy3d.plot3d.rendering.view.AWTView;
+import org.jzy3d.plot3d.rendering.view.HiDPI;
+import org.jzy3d.plot3d.rendering.view.View2D;
+import org.jzy3d.plot3d.rendering.view.View2DLayout;
+import org.jzy3d.plot3d.rendering.view.View2DLayout_Debug;
+
+public class ITTest_2D_Colorbar extends ITTest {
+ public static void main(String[] args) {
+ open(new ITTest_2D_Colorbar().when2DChartWithColorbarAndMargins(WT.EmulGL_AWT, HiDPI.ON, View2D.XY));
+ //open(new ITTest_AxisLabelRotateLayout().whenAxisLabelOrientationNotHorizontal(WT.Native_AWT, HiDPI.ON));
+ }
+
+
+ // ----------------------------------------------------
+ // TEST MULTIPLE AXIS ORIENTATION SETTINGS
+ // ----------------------------------------------------
+
+ View2D[] views = {View2D.XY, View2D.XZ, View2D.YZ};
+
+ @Test
+ public void when2DChartWithColorbarAndMargins() {
+ System.out.println("ITTest : when2DChartWithColorbarAndMargins");
+
+ forEach((toolkit, resolution) -> {
+ for(View2D view2d: views) {
+ when2DChartWithColorbarAndMargins(toolkit, resolution, view2d);
+ }
+ });
+ }
+
+
+
+ protected Chart when2DChartWithColorbarAndMargins(WT wt, HiDPI hidpi, View2D viewMode) {
+ // Given a chart with long Y axis name
+ AWTChart chart = (AWTChart)chart(wt, hidpi);
+
+ // ---------------------------------------
+ // CHART CONTENT
+ // ---------------------------------------
+
+ // Create a chart
+ //AWTChart chart = (AWTChart) f.newChart(Quality.Advanced().setHiDPI(hidpi));
+ AWTView view = (AWTView) chart.getView();
+
+ // Surface
+ Shape surface = SampleGeom.surface(new Range(-3, 1), new Range(-1, 3), 1f);
+ surface.setWireframeDisplayed(false);
+ chart.add(surface);
+
+
+ DefaultDecimalTickRenderer tickRenderer = new DefaultDecimalTickRenderer(12);
+
+ // Colorbar
+ AWTColorbarLegend colorbar = chart.colorbar(surface);
+ // TODO https://github.com/jzy3d/jzy3d-api/issues/273
+ colorbar.getImageGenerator().setTickRenderer(tickRenderer);
+
+
+
+ // Logo
+ BufferedImage logo = null;
+ try {
+ logo = ImageIO.read(new File("src/test/resources/icons/martin.jpeg"));
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ logo = AWTGraphicsUtils.scale(logo, .25f, .25f);
+
+ AWTImageRenderer imageRenderer = new AWTImageRenderer(logo);
+ view.addRenderer2d(imageRenderer);
+
+
+ // ---------------------------------------
+ // LAYOUT CONFIGURATION
+ // ---------------------------------------
+
+ int minMargin = 10;
+ int defaultDistances = 10;
+ boolean spaceForRightMostTick = false;
+ boolean spaceForLogo = false;
+ // TODO : fix AWTImageViewport.renderImage to properly work for any x axis/tick label distance
+ boolean colorbarBottomAlignWithChartView = false;
+
+
+ // Axis layout configuration
+ AxisLayout axisLayout = view.getAxisLayout();
+ axisLayout.setTickLineDisplayed(true);
+ axisLayout.setYAxisLabel("Y axis is a bit longer than usual");
+ axisLayout.setZTickProvider(new RegularTickProvider(5));
+ axisLayout.setZTickRenderer(tickRenderer);
+
+ //axisLayout.setXAxisLabelDisplayed(false);
+
+
+ axisLayout.setFont(new Font("Arial", 14));
+ axisLayout.setFontSizePolicy(new HiDPIProportionalFontSizePolicy(chart.getView()));
+ axisLayout.setAxisLabelOffsetAuto(true);
+
+ // Logo layout configuration
+ LegendLayout legendLayout = imageRenderer.getLayout();
+ legendLayout.setCorner(LegendLayout.Corner.BOTTOM_LEFT);
+
+ // View layout configuration
+ View2DLayout viewLayout = view.get2DLayout();
+ viewLayout.setMargin(new Margin(minMargin, minMargin*2, minMargin*3, minMargin*4));
+ viewLayout.setTickLabelDistance(defaultDistances);
+ viewLayout.setAxisLabelDistance(defaultDistances*2);
+ viewLayout.setSymetricVerticalMargin(false);
+
+ // View layout with a bit more space on the left for the logo
+ if(spaceForLogo) {
+ int marginL = Math.round(logo.getWidth(null) + legendLayout.getMargin().getLeft()) / 2;
+ viewLayout.getMargin().setLeft(marginL);
+ }
+
+ // View layout avoid covering tick label with colorbar, or configure space for symetry
+ if(spaceForRightMostTick) {
+ if (surface.hasLegend()) {
+ // viewLayout.getMargin().setRight(minMargin + 15);
+
+ // NOT EXACT WHEN GROWING FONT!
+ int xWidth = axisLayout.getRightMostXTickLabelWidth(view.getPainter());
+
+ // distance between axis right border, and view main viewport border (distance to colorbar
+ // border)
+ viewLayout.getMargin().setRight(xWidth / 2);
+ } else {
+ viewLayout.setSymetricHorizontalMargin(true);
+ }
+ }
+
+
+ // Colorbar Layout
+ //ViewAndColorbarsLayout viewportLayout = (ViewAndColorbarsLayout) view.getLayout();
+
+
+ Margin viewMargin = viewLayout.getMargin();
+ int bottom = (int) viewMargin.getBottom();
+
+ if (colorbarBottomAlignWithChartView) {
+
+ bottom += viewLayout.getHorizontalTickLabelsDistance();
+ bottom += axisLayout.getFont().getHeight();
+ bottom += viewLayout.getHorizontalAxisLabelsDistance();
+ bottom += axisLayout.getFont().getHeight();
+ }
+
+ // SI RIGHT MARGIN NON NUL ET LEFT NULL, IMAGE MAL CENTREE
+ Margin colorbarMargin = new Margin(minMargin * 1, minMargin * 1, viewMargin.getTop(), bottom);
+ colorbar.setMargin(colorbarMargin);
+
+
+ view.addRenderer2d(new View2DLayout_Debug());
+
+
+ // Enable 2D mode
+ chart.view2d(viewMode);
+
+
+
+
+ // Then
+ assertChart(chart, name(ITTest_2D_Colorbar.this, "View"+KV+viewMode, wt, hidpi));
+
+ return chart;
+ }
+
+/*
+ public static interface ITTest2D_Orientation_Instance {
+ public void run(LabelOrientation yAxisOrientation);
+ }
+
+ public static void forEach(ITTest2D_Orientation_Instance runner) {
+ for (LabelOrientation yAxisOrientation : yOrientations) {
+ runner.run(yAxisOrientation);
+ }
+ }
+*/
+
+}
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D_FlipAxis.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D_FlipAxis.java
new file mode 100644
index 000000000..ae759b41b
--- /dev/null
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_2D_FlipAxis.java
@@ -0,0 +1,234 @@
+package org.jzy3d.tests.integration;
+
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import javax.imageio.ImageIO;
+import org.junit.Test;
+import org.jzy3d.chart.AWTChart;
+import org.jzy3d.chart.Chart;
+import org.jzy3d.maths.Margin;
+import org.jzy3d.maths.Range;
+import org.jzy3d.painters.Font;
+import org.jzy3d.plot2d.rendering.AWTGraphicsUtils;
+import org.jzy3d.plot3d.primitives.SampleGeom;
+import org.jzy3d.plot3d.primitives.Shape;
+import org.jzy3d.plot3d.primitives.axis.layout.AxisLayout;
+import org.jzy3d.plot3d.primitives.axis.layout.fonts.HiDPIProportionalFontSizePolicy;
+import org.jzy3d.plot3d.primitives.axis.layout.providers.RegularTickProvider;
+import org.jzy3d.plot3d.primitives.axis.layout.renderers.DefaultDecimalTickRenderer;
+import org.jzy3d.plot3d.rendering.legends.colorbars.AWTColorbarLegend;
+import org.jzy3d.plot3d.rendering.legends.overlay.LegendLayout;
+import org.jzy3d.plot3d.rendering.view.AWTImageRenderer;
+import org.jzy3d.plot3d.rendering.view.AWTView;
+import org.jzy3d.plot3d.rendering.view.HiDPI;
+import org.jzy3d.plot3d.rendering.view.View2D;
+import org.jzy3d.plot3d.rendering.view.View2DLayout;
+import org.jzy3d.plot3d.rendering.view.View2DLayout_Debug;
+
+public class ITTest_2D_FlipAxis extends ITTest {
+ public static void main(String[] args) {
+ open(new ITTest_2D_FlipAxis().when2DChartWithFlip(WT.Native_AWT, HiDPI.ON, View2D.YZ,
+ FlipAxis.FLIP_H));
+ // open(new ITTest_AxisLabelRotateLayout().whenAxisLabelOrientationNotHorizontal(WT.Native_AWT,
+ // HiDPI.ON));
+ }
+
+
+ // ----------------------------------------------------
+ // TEST MULTIPLE AXIS ORIENTATION SETTINGS
+ // ----------------------------------------------------
+
+ //View2D[] views = {View2D.XY, View2D.XZ, View2D.YZ};
+
+ enum FlipAxis {
+ FLIP_NONE, FLIP_H, FLIP_V, FLIP_BOTH;
+ }
+
+ @Test
+ public void when2DChartWithColorbarAndMargins() {
+ System.out.println("ITTest : when2DChartWithColorbarAndMargins");
+
+ forEach((toolkit, resolution) -> {
+ for (View2D view2d : View2D.values()) {
+ for (FlipAxis flip : FlipAxis.values()) {
+ when2DChartWithFlip(toolkit, resolution, view2d, flip);
+ }
+
+
+ }
+ }, toolkitsAWT);
+ }
+
+
+
+ protected Chart when2DChartWithFlip(WT wt, HiDPI hidpi, View2D viewMode, FlipAxis flip) {
+ // Given a chart with long Y axis name
+ AWTChart chart = (AWTChart) chart(wt, hidpi);
+
+ // ---------------------------------------
+ // CHART CONTENT
+ // ---------------------------------------
+
+ // Create a chart
+ AWTView view = (AWTView) chart.getView();
+
+ // Surface
+ Shape surface = SampleGeom.surface(new Range(-3, 1), new Range(-1, 3), 1f);
+ surface.setWireframeDisplayed(false);
+ chart.add(surface);
+
+
+ DefaultDecimalTickRenderer tickRenderer = new DefaultDecimalTickRenderer(12);
+
+ // Colorbar
+ AWTColorbarLegend colorbar = chart.colorbar(surface);
+ // TODO https://github.com/jzy3d/jzy3d-api/issues/273
+ colorbar.getImageGenerator().setTickRenderer(tickRenderer);
+
+
+
+ // Logo
+ BufferedImage logo = null;
+ try {
+ logo = ImageIO.read(new File("src/test/resources/icons/martin.jpeg"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ logo = AWTGraphicsUtils.scale(logo, .25f, .25f);
+
+ AWTImageRenderer imageRenderer = new AWTImageRenderer(logo);
+ view.addRenderer2d(imageRenderer);
+
+
+ // ---------------------------------------
+ // LAYOUT CONFIGURATION
+ // ---------------------------------------
+
+ int minMargin = 10;
+ int defaultDistances = 10;
+ boolean spaceForRightMostTick = false;
+ boolean spaceForLogo = false;
+ // TODO : fix AWTImageViewport.renderImage to properly work for any x axis/tick label distance
+ boolean colorbarBottomAlignWithChartView = false;
+
+
+ // Axis layout configuration
+ AxisLayout axisLayout = view.getAxisLayout();
+ axisLayout.setTickLineDisplayed(true);
+ axisLayout.setYAxisLabel("Y axis is a bit longer than usual");
+ axisLayout.setZTickProvider(new RegularTickProvider(5));
+ axisLayout.setZTickRenderer(tickRenderer);
+
+ // axisLayout.setXAxisLabelDisplayed(false);
+
+
+ axisLayout.setFont(new Font("Arial", 14));
+ axisLayout.setFontSizePolicy(new HiDPIProportionalFontSizePolicy(chart.getView()));
+ axisLayout.setAxisLabelOffsetAuto(true);
+
+ // Logo layout configuration
+ LegendLayout legendLayout = imageRenderer.getLayout();
+ legendLayout.setCorner(LegendLayout.Corner.BOTTOM_LEFT);
+
+ // View layout configuration
+ View2DLayout viewLayout = view.get2DLayout();
+ viewLayout.setMargin(new Margin(minMargin, minMargin * 2, minMargin * 3, minMargin * 4));
+ viewLayout.setTickLabelDistance(defaultDistances);
+ viewLayout.setAxisLabelDistance(defaultDistances * 2);
+ viewLayout.setSymetricVerticalMargin(false);
+
+ // View layout with a bit more space on the left for the logo
+ if (spaceForLogo) {
+ int marginL = Math.round(logo.getWidth(null) + legendLayout.getMargin().getLeft()) / 2;
+ viewLayout.getMargin().setLeft(marginL);
+ }
+
+ // View layout avoid covering tick label with colorbar, or configure space for symetry
+ if (spaceForRightMostTick) {
+ if (surface.hasLegend()) {
+ // viewLayout.getMargin().setRight(minMargin + 15);
+
+ // NOT EXACT WHEN GROWING FONT!
+ int xWidth = axisLayout.getRightMostXTickLabelWidth(view.getPainter());
+
+ // distance between axis right border, and view main viewport border (distance to colorbar
+ // border)
+ viewLayout.getMargin().setRight(xWidth / 2);
+ } else {
+ viewLayout.setSymetricHorizontalMargin(true);
+ }
+ }
+
+
+ // Colorbar Layout
+ // ViewAndColorbarsLayout viewportLayout = (ViewAndColorbarsLayout) view.getLayout();
+
+
+ Margin viewMargin = viewLayout.getMargin();
+ int bottom = (int) viewMargin.getBottom();
+
+ if (colorbarBottomAlignWithChartView) {
+
+ bottom += viewLayout.getHorizontalTickLabelsDistance();
+ bottom += axisLayout.getFont().getHeight();
+ bottom += viewLayout.getHorizontalAxisLabelsDistance();
+ bottom += axisLayout.getFont().getHeight();
+ }
+
+ // SI RIGHT MARGIN NON NUL ET LEFT NULL, IMAGE MAL CENTREE
+ Margin colorbarMargin = new Margin(minMargin * 1, minMargin * 1, viewMargin.getTop(), bottom);
+ colorbar.setMargin(colorbarMargin);
+
+
+ View2DLayout_Debug debug = new View2DLayout_Debug();
+ debug.setEnableColorMarginDebug(false);
+ view.addRenderer2d(debug);
+
+
+ // Enable 2D mode
+ chart.view2d(viewMode);
+
+
+ if (FlipAxis.FLIP_H.equals(flip)) {
+ chart.getView().get2DLayout().setHorizontalAxisFlip(true);
+
+ // Then
+ assertChart(chart, name(ITTest_2D_FlipAxis.this,
+ "View" + KV + viewMode + SEP_PROP + "Flip" + KV + "X", wt, hidpi));
+
+ } else if (FlipAxis.FLIP_V.equals(flip)) {
+ chart.getView().get2DLayout().setVerticalAxisFlip(true);
+
+ // Then
+ assertChart(chart, name(ITTest_2D_FlipAxis.this,
+ "View" + KV + viewMode + SEP_PROP + "Flip" + KV + "Y", wt, hidpi));
+
+ } else if (FlipAxis.FLIP_BOTH.equals(flip)) {
+ chart.getView().get2DLayout().setBothAxisFlip(true);
+
+ // Then
+ assertChart(chart, name(ITTest_2D_FlipAxis.this,
+ "View" + KV + viewMode + SEP_PROP + "Flip" + KV + "Both", wt, hidpi));
+
+ } else {
+ // Then
+ assertChart(chart, name(ITTest_2D_FlipAxis.this,
+ "View" + KV + viewMode + SEP_PROP + "Flip" + KV + "None", wt, hidpi));
+
+ }
+
+
+
+ return chart;
+ }
+
+ /*
+ * public static interface ITTest2D_Orientation_Instance { public void run(LabelOrientation
+ * yAxisOrientation); }
+ *
+ * public static void forEach(ITTest2D_Orientation_Instance runner) { for (LabelOrientation
+ * yAxisOrientation : yOrientations) { runner.run(yAxisOrientation); } }
+ */
+
+}
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Colorbar.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Colorbar.java
index 6ec5fffb7..df7d6f8e2 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Colorbar.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Colorbar.java
@@ -64,7 +64,7 @@ public String font(Chart chart) {
/* ************************************************************************************************** */
- @Test
+ /*@Test
public void whenColorbar_HasMininumWidth() {
System.out.println("ITTest : whenColorbar_HasMininumWidth");
@@ -97,11 +97,11 @@ public Chart whenColorbar_HasMininumWidth(WT wt, HiDPI hidpi) {
assertChart(chart, name(this, "HasMinimumWidth", wt, chart.getQuality().getHiDPI()));
return chart;
- }
+ }*/
/* ************************************************************************************************** */
- @Test
+ /*@Test
public void whenColorbar_ShrinkBigFont() {
System.out.println("ITTest : whenColorbar_ShrinkBigFont");
@@ -121,34 +121,28 @@ public Chart whenColorbar_ShrinkBigFont(WT wt, HiDPI hidpi) {
AWTColorbarLegend legend = new AWTColorbarLegend(surface, chart.getView().getAxis().getLayout());
surface.setLegend(legend);
- //legend.setMinimumWidth(300);
String name;
if(WT.EmulGL_AWT.equals(wt)) {
EmulGLSkin skin = EmulGLSkin.on(chart);
EmulGLViewAndColorbarsLayout layout = skin.getLayout();
- layout.setShrinkColorbar(true);
name = name(this, "ShrinkBigFont", wt, chart.getQuality().getHiDPI());
}
else {
- NativeViewAndColorbarsLayout layout = (NativeViewAndColorbarsLayout)((ChartView)chart.getView()).getLayout();
- layout.setShrinkColorbar(true);
-
name = name(this, "ShrinkBigFont", wt, chart.getQuality().getHiDPI());
-
}
// Then
assertChart(chart, name);
return chart;
- }
+ }*/
/* ************************************************************************************************** */
- @Test
+ /*@Test
public void whenColorbar_Shrink() {
System.out.println("ITTest : whenColorbar_Shrink");
@@ -174,23 +168,18 @@ public Chart whenColorbar_Shrink(WT wt, HiDPI hidpi) {
if(WT.EmulGL_AWT.equals(wt)) {
EmulGLSkin skin = EmulGLSkin.on(chart);
EmulGLViewAndColorbarsLayout layout = skin.getLayout();
- layout.setShrinkColorbar(true);
name = name(this, "Shrink", wt, chart.getQuality().getHiDPI());
}
else {
- NativeViewAndColorbarsLayout layout = (NativeViewAndColorbarsLayout)((ChartView)chart.getView()).getLayout();
- layout.setShrinkColorbar(true);
-
name = name(this, "Shrink", wt, chart.getQuality().getHiDPI());
-
}
// Then
assertChart(chart, name);
return chart;
- }
+ }*/
}
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Overlay.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Overlay.java
index 75b9e5506..54e222246 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Overlay.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Overlay.java
@@ -20,7 +20,7 @@
public class ITTest_Overlay extends ITTest {
public static void main(String[] args) {
- open(new ITTest_Overlay().whenOverlayAreMoved(WT.EmulGL_AWT, HiDPI.ON));
+ open(new ITTest_Overlay().whenOverlayAreMoved(WT.Native_Swing, HiDPI.ON));
}
protected static String caseOverlayMove = "OverlayMove";
@@ -76,8 +76,8 @@ public Chart whenOverlayAreMoved(WT wt, HiDPI hidpi) {
infos.add(new Legend(line3.getName(), Color.GREEN));
OverlayLegendRenderer legend = new OverlayLegendRenderer(infos);
- legend.getLayout().setBoxMarginX(10);
- legend.getLayout().setBoxMarginY(10);
+ legend.getLayout().getMargin().setWidth(10);
+ legend.getLayout().getMargin().setHeight(10);
legend.getLayout().setBackgroundColor(Color.WHITE);
legend.getLayout().setFont(new java.awt.Font("Helvetica", java.awt.Font.PLAIN, 11));
chart.addRenderer(legend);
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Text.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Text.java
index 2206993d5..5dafca82c 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Text.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/integration/ITTest_Text.java
@@ -22,8 +22,9 @@
public class ITTest_Text extends ITTest{
/** This main method is here to test manually a chart and keep it open until one close it explicitely. */
public static void main(String[] args) {
- //open(new ITTest_Text().whenCustomFont(WT.EmulGL_AWT, HiDPI.ON));
- open(new ITTest_Text().whenDrawableTextRenderer(WT.EmulGL_AWT, HiDPI.OFF));
+ open(new ITTest_Text().whenCustomFont(WT.Native_AWT, HiDPI.ON));
+ //open(new ITTest_Text().whenDrawableTextRenderer(WT.EmulGL_AWT, HiDPI.OFF));
+ //open(new ITTest_Text().whenDrawableTextRenderer(WT.Native_AWT, HiDPI.OFF));
}
/* ************************************************************************************************** */
@@ -139,6 +140,7 @@ private static void createDrawableText(Chart chart, Font font, Coord3d position,
t1.setDefaultFont(font);
t1.setHalign(h);
t1.setValign(v);
+ //t1.setRotation(45);
Point p1 = new Point(position, positionColor);
p1.setWidth(5);
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout.java
index c4207d811..cbb812a9f 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout.java
@@ -41,6 +41,9 @@ public class MTest_Layout extends AWTAbstractAnalysis {
public MTest_Layout() {
factory = new EmulGLChartFactory();
}
+
+ Shape surface;
+ AWTColorbarLegend colorbar;
@Override
public void init() {
@@ -64,8 +67,6 @@ public void init() {
//skin.getCanvas().setProfileDisplayMethod(true);
//skin.getCanvas().setDebugEvents(true);
- skin.getLayout().setShrinkColorbar(true);
-
AdaptiveRenderingPolicy policy = new AdaptiveRenderingPolicy();
policy.renderingRateLimiter = new RateLimiterAdaptsToRenderTime();
policy.optimizeForRenderingTimeLargerThan = 130;// ms
@@ -74,10 +75,8 @@ public void init() {
skin.getMouse().setPolicy(policy);
skin.getThread().setSpeed(15);
- } else {
- ((ViewAndColorbarsLayout) ((AWTView) chart.getView()).getLayout()).setShrinkColorbar(true);
- }
-
+ }
+
AxisLayout layout = chart.getAxisLayout();
// layout.setFont(new Font("Apple Chancery", 20));
layout.setFont(new Font("Helvetica", 20));
@@ -104,7 +103,7 @@ public void init() {
// view.setMaintainAllObjectsInView(true);
view.setCameraRenderingSphereRadiusFactor(1.1f);
- AWTColorbarLegend colorbar =
+ colorbar =
new AWTColorbarLegend(surface, chart.getView().getAxis().getLayout());
surface.setLegend(colorbar);
chart.add(surface);
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout_Native.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout_Native.java
index b258e458d..e0f574ed5 100644
--- a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout_Native.java
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout_Native.java
@@ -27,9 +27,6 @@ public static void main(String[] args) {
Chart chart = d.getChart();
chart.open(800, 600);
-
- DoubleScreenManualScenario scenario = new DoubleScreenManualScenario(chart, MTest_Layout_Native.class.getSimpleName());
- scenario.start();
}
diff --git a/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout_Native_Open.java b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout_Native_Open.java
new file mode 100644
index 000000000..f5ba168bc
--- /dev/null
+++ b/jzy3d-tests-java9/src/test/java/org/jzy3d/tests/manual/layout/MTest_Layout_Native_Open.java
@@ -0,0 +1,193 @@
+package org.jzy3d.tests.manual.layout;
+
+import java.awt.image.BufferedImage;
+import org.jzy3d.chart.AWTChart;
+import org.jzy3d.chart.factories.AWTChartFactory;
+import org.jzy3d.chart.factories.ChartFactory;
+import org.jzy3d.colors.Color;
+import org.jzy3d.events.IViewLifecycleEventListener;
+import org.jzy3d.events.ViewLifecycleEvent;
+import org.jzy3d.painters.Font;
+import org.jzy3d.plot2d.primitive.AWTColorbarImageGenerator;
+import org.jzy3d.plot3d.primitives.SampleGeom;
+import org.jzy3d.plot3d.primitives.Shape;
+import org.jzy3d.plot3d.primitives.axis.layout.AxisLayout;
+import org.jzy3d.plot3d.primitives.axis.layout.LabelOrientation;
+import org.jzy3d.plot3d.primitives.axis.layout.ZAxisSide;
+import org.jzy3d.plot3d.primitives.axis.layout.fonts.HiDPIProportionalFontSizePolicy;
+import org.jzy3d.plot3d.rendering.canvas.Quality;
+import org.jzy3d.plot3d.rendering.legends.colorbars.AWTColorbarLegend;
+import org.jzy3d.plot3d.rendering.view.AWTView;
+import org.jzy3d.plot3d.rendering.view.View2DLayout_Debug;
+
+/**
+ * QTP
+ * valider avec / sans HiDPI :
+ * - le layout du texte est le même
+ * - les marges / offset sont appliquées correctement
+ * - marche côté gauche / côté droit
+ * - avec vertical / oblique / etc
+ *
+ * - Le calcul d'offset de label ne prend pas en compte la rotation du texte dans la place qu'il prend
+ *
+ * @author martin
+ *
+ */
+public class MTest_Layout_Native_Open {
+
+ static final float ALPHA_FACTOR = 0.55f;// .61f;
+
+ public static void main(String[] args) throws InterruptedException {
+ AWTChartFactory factory = new AWTChartFactory();
+ //EmulGLChartFactory factory = new EmulGLChartFactory();
+
+ new MTest_Layout_Native_Open().go(factory);
+
+
+ }
+
+ private void go(ChartFactory factory) throws InterruptedException {
+ Quality q = Quality.Advanced();
+ q.setAnimated(false);
+ q.setHiDPIEnabled(true);
+
+
+ // --------------------------------------------------------
+ // Configure chart content
+
+ Shape surface = SampleGeom.surface();
+
+ AWTChart chart = (AWTChart)factory.newChart(q);
+ AWTView view = chart.getView();
+
+//((ViewAndColorbarsLayout) chart.getView().getLayout()).setShrinkColorbar(true);
+
+ AxisLayout layout = chart.getAxisLayout();
+ // layout.setFont(new Font("Apple Chancery", 20));
+ layout.setFont(new Font("Helvetica", 20));
+ layout.setFontSizePolicy(new HiDPIProportionalFontSizePolicy(chart.getView()));
+
+ layout.setXAxisLabel("My X axis label is a little long to draw");
+ layout.setYAxisLabel("My Y axis label is a little long to draw");
+ layout.setZAxisLabel("My Z axis label is a little long to draw");
+
+ layout.setZAxisSide(ZAxisSide.LEFT);
+ layout.setZAxisLabelOrientation(LabelOrientation.VERTICAL);
+ layout.setYAxisLabelOrientation(LabelOrientation.PARALLEL_TO_AXIS);
+ layout.setXAxisLabelOrientation(LabelOrientation.PARALLEL_TO_AXIS);
+
+ layout.setAxisLabelOffsetAuto(true);
+ layout.setAxisLabelOffsetMargin(20);
+
+ layout.setXTickColor(Color.RED);
+ layout.setYTickColor(Color.GREEN);
+ layout.setZTickColor(Color.BLUE);
+
+
+ //chart.getAxisLayout().setMainColor(Color.WHITE);
+ //chart.getView().setBackgroundColor(Color.BLACK);
+
+ // view.setDisplayAxisWholeBounds(true);
+ // view.setMaintainAllObjectsInView(true);
+ //view.setCameraRenderingSphereRadiusFactor(1.1f);
+
+ // TODO : auto configure colorbar with back color?
+
+ chart.add(surface);
+
+ AWTColorbarLegend colorbar = chart.colorbar(surface);
+
+ // --------------------------------------------------------
+ // Open and enable controllers
+
+
+ chart.getKeyboard();
+ chart.getMouse();
+
+
+
+
+
+
+ view.addRenderer2d(new View2DLayout_Debug(Color.GREEN));
+
+ /*view.getCamera().setScreenGridDisplayed(true);
+ colorbar.setScreenGridDisplayed(true);*/
+
+
+ view.addViewLifecycleChangedListener(new IViewLifecycleEventListener() {
+ @Override
+ public void viewWillRender(ViewLifecycleEvent e) {
+ }
+ @Override
+ public void viewHasInit(ViewLifecycleEvent e) {
+ }
+ @Override
+ public void viewHasRendered(ViewLifecycleEvent e) {
+ info(chart, view, colorbar);
+ }
+
+
+ });
+
+
+ chart.open(800, 600);
+ chart.view2d();
+
+ //Thread.sleep(100);
+ //info(chart, view, colorbar);
+
+ }
+
+ private void info(AWTChart chart, AWTView view, AWTColorbarLegend colorbar) {
+ //System.out.println("Canvas.bounds : " + ((Component)chart.getCanvas()).getBounds());
+ System.out.println("---------------------------------");
+ System.out.println("Canvas.dims : " + chart.getCanvas().getDimension());
+ System.out.println("---");
+ System.out.println("View.cam.viewport : " + view.getCamera().getLastViewPort());
+ System.out.println("View.scale : " + view.getPixelScale());
+ System.out.println("---");
+
+ BufferedImage i = colorbar.getImage();
+
+ System.out.println("Colorbar.askedDim : " + colorbar.getWidth() + " x " + colorbar.getHeight());
+ System.out.println("Colorbar.viewport : " + colorbar.getLastViewPort());
+ System.out.println("Colorbar.margins : " + colorbar.getMargin());
+ System.out.println("Colorbar.image : " + i.getWidth(null) + " x " + i.getHeight(null));
+ System.out.println("Colorbar.minDim : " + colorbar.getMinimumDimension());
+ System.out.println("---");
+
+
+ AWTColorbarImageGenerator gen = colorbar.getImageGenerator();
+ System.out.println("Colorbar.gen.scale : " + gen.getPixelScale());
+ System.out.println("Colorbar.gen.prefWidth : " + gen.getPreferredWidth(chart.getPainter()));
+ System.out.println("Colorbar.gen.bar : " + gen.getBarWidth());
+ System.out.println("Colorbar.gen.txt2bar : " + gen.getTextToBarHorizontalMargin());
+ System.out.println("Colorbar.gen.maxTxtWidth : " + gen.getMaxTextWidth());
+ }
+
+
+
+ /*
+ *
+ if (factory instanceof EmulGLChartFactory) {
+ EmulGLSkin skin = EmulGLSkin.on(chart);
+
+ //skin.getCanvas().setProfileDisplayMethod(true);
+ //skin.getCanvas().setDebugEvents(true);
+
+ skin.getLayout().setShrinkColorbar(true);
+
+ AdaptiveRenderingPolicy policy = new AdaptiveRenderingPolicy();
+ policy.renderingRateLimiter = new RateLimiterAdaptsToRenderTime();
+ policy.optimizeForRenderingTimeLargerThan = 130;// ms
+ policy.optimizeByDroppingFaceAndKeepingWireframeWithColor = true;
+
+ skin.getMouse().setPolicy(policy);
+
+ skin.getThread().setSpeed(15);
+ } else {
+ ((ViewAndColorbarsLayout) ((AWTView) chart.getView()).getLayout()).setShrinkColorbar(true);
+ }*/
+
+}
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..fddd986bb
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..60ab91591
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..3e2f0b787
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..b681dbc56
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_Swing_HiDPI=OFF.png
new file mode 100644
index 000000000..70c1edd88
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_Swing_HiDPI=ON.png
new file mode 100644
index 000000000..261fa57c0
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..fddd986bb
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..60ab91591
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..abb801baa
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..f267b8c47
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_Swing_HiDPI=OFF.png
new file mode 100644
index 000000000..e74c2c5e6
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_Swing_HiDPI=ON.png
new file mode 100644
index 000000000..9a72e93fb
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XY_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..72646203c
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..07c96a114
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..35e1babe4
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..adda5b028
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_Swing_HiDPI=OFF.png
new file mode 100644
index 000000000..aa89de884
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_Swing_HiDPI=ON.png
new file mode 100644
index 000000000..168ad4e85
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=XZ_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..e7bea2edf
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..bc6ff7f4b
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..3e965e0c7
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..b156cf8b5
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_Swing_HiDPI=OFF.png
new file mode 100644
index 000000000..ea2264720
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_Swing_HiDPI=ON.png
new file mode 100644
index 000000000..b79d1a981
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_Colorbar_View=YZ_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 882949c30..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 126e40f83..0e5d575d7 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 4849e4459..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index f5d2bac78..cd2b7db93 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 6a5f4803b..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 9712499a3..496679f3c 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index ca53622bd..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index d19437156..750091b93 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index fd0ae3087..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index df16096b0..c0f451125 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 66800c199..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 82f3db7de..f8517c59e 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index e9e960bfa..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 27047b6ce..f3c0dfbb0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index a1f98d7a7..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index ffc10dd42..69d8e2dfa 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 06209f3a4..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 251252ea9..1c580b7d8 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 572ad545d..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index e4c6af09b..113980835 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 4259c3ae2..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 64daac7a5..21d826a6f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 1bf94df93..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index f391d619b..410baff37 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index fa99eda12..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index fb295b43e..9a102d869 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 5cc2fcad8..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index c02a4cda1..53ce54fe9 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index f58aed859..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 72522b864..e9c19ddaf 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 9ae82a921..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index b51a7716d..ce48f4abe 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 8a0952a43..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index b1c383547..9e5e99e17 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 925f0feaa..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 6e41036cc..5efcfc207 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 9c4fae7cf..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 616a4c1f3..57f4fe763 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index ce5dd2770..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index caf3ac5c9..3de722563 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index f3e9c8fbe..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index fcfb2bd58..f5e814c52 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 8d7e5c51c..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 7b5d4270b..582aa6bae 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index d9b1a90f3..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 57d1587cc..997ce127b 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 8293c8116..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index e9cb640d5..e3e2bb7d5 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 9aef6db22..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 91af5a19e..15de1507e 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 14989fd9a..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index f42b09c18..5bad0db08 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 5ae1e800c..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 3e3d7fe16..de026939d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 7953c691e..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index d7b522939..264edaf61 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index a3a9a51e7..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index be179e65d..f2f007849 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index d8076cd92..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 70667f562..fbf20f1e7 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index c377ea841..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 08c33e3d6..a4caec430 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 657dc15d5..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index bc067e9e3..bb0d9a8d0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index d923d05b5..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index bd208dca3..2f40d9800 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 61f7a4b58..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 3fd3d2cd8..264650d3e 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index a7f639bd6..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 8f35a0b92..dea4903f9 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 257787a59..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index e2048f962..97e3b5367 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 524c3d083..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 463299dce..8109110be 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 006a987fe..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 98df6defe..bd22a530b 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 0a699052e..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index b541e3b7e..d6c4c589f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 2be9830e1..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 4d76410bc..c99a70d53 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 40f2e2294..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 28a6df494..abdb92d40 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 4b9d3f5d5..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index cbb13edac..aab1f5dd3 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index b4d0cf7ac..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index fdc57abc5..5d6846f8a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index c6c82363c..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 252ffe1f9..4f4111b62 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index e0f82a384..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index b86996ea1..d04223002 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 5511b7169..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 821c15333..a0e57f0a2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 75e74d9c0..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index a3fb1e843..f8c70db8d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index b73d43cc9..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 1950889e2..e1d6146d0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 2faf2eb2d..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png
index 2faf2eb2d..98ca88e47 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png
index 669b70028..1144507f0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 5ba6af3ff..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png
index 5ba6af3ff..13781aeb7 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png
index e0130ffc6..25d038971 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 4cddd69b2..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png
index 2a9e0cf37..de549fa64 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png
index a0c6f7b96..d594686f8 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 18f05ca06..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png
index fd4db9f66..6f22c7703 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png
index 407f04543..b041632f4 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index e4088f857..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png
index 8d0c993ca..5c05aa390 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png
index 31cb592ee..d33787234 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 07bc02217..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png
index 75d25e391..e3406c949 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png
index ad676e8cd..eecf340ce 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png
index 88a3a04cb..5db5cbd26 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png
index f6df2d151..778ffc067 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png
index af4445303..18496e5e0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png
index 91993f625..593b70667 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png
index 06ee333b1..8d363ee1f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_EmulGL_AWT_HiDPI=OFF.png
deleted file mode 100644
index 7fb5b831a..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_EmulGL_AWT_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_EmulGL_AWT_HiDPI=ON.png
deleted file mode 100644
index 0fbd71fb2..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_EmulGL_AWT_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_AWT_HiDPI=OFF.png
deleted file mode 100644
index 7a8f75a12..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_AWT_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_AWT_HiDPI=ON.png
deleted file mode 100644
index 200ab71de..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_AWT_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_Swing_HiDPI=OFF.png
deleted file mode 100644
index 8a579b570..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_Swing_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_Swing_HiDPI=ON.png
deleted file mode 100644
index 969338eb5..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_HasMinimumWidth_Native_Swing_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png
index c671854f9..727b93bf5 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png
index 1569b5b09..96699d45c 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png
index 1c195b5b5..2a1fc7c8d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png
index 0330e9967..7dc9820b6 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png
index 6279732c9..f7194b82a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png
index 6c9951c4b..3a7a5903e 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_EmulGL_AWT_HiDPI=OFF.png
deleted file mode 100644
index a142d8842..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_EmulGL_AWT_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_EmulGL_AWT_HiDPI=ON.png
deleted file mode 100644
index a3234d1cb..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_EmulGL_AWT_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_AWT_HiDPI=OFF.png
deleted file mode 100644
index 1dab8d69b..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_AWT_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_AWT_HiDPI=ON.png
deleted file mode 100644
index 214604f18..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_AWT_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_Swing_HiDPI=OFF.png
deleted file mode 100644
index 99c59ae0a..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_Swing_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_Swing_HiDPI=ON.png
deleted file mode 100644
index 4c4ec8eb2..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_ShrinkBigFont_Native_Swing_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_EmulGL_AWT_HiDPI=OFF.png
deleted file mode 100644
index dcee84ba8..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_EmulGL_AWT_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_EmulGL_AWT_HiDPI=ON.png
deleted file mode 100644
index 523493f8d..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_EmulGL_AWT_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_AWT_HiDPI=OFF.png
deleted file mode 100644
index 1915065da..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_AWT_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_AWT_HiDPI=ON.png
deleted file mode 100644
index cc3c9bf93..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_AWT_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_Swing_HiDPI=OFF.png
deleted file mode 100644
index bd92c08a1..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_Swing_HiDPI=OFF.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_Swing_HiDPI=ON.png
deleted file mode 100644
index 7bcacadb1..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Colorbar_Shrink_Native_Swing_HiDPI=ON.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index fcdb18212..51c02470e 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index faa60e7ac..a37069f35 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index fd6f91606..4bff065cd 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 3e836771e..f1ee44ef6 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index 274ee5ace..f400332d5 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 0212ee18f..d4334fdd0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index 0263e1c9c..34907cc6d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 4ca3f39e2..911ddeee8 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index 83e12d5b1..534cacd96 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 7281723f2..1ff271b31 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index 992f09815..89db2821f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 8297d9f0d..a85c7aa52 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index a090f53a2..e50955696 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 988293b45..6c9a81584 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index 17df06ae5..a16f3c03b 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 35de1fc50..9090bb1bb 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index 8925b634f..877990a5c 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index f78150a33..c45dd49a6 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index 607575389..38db5816f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index d49f561f5..2484107f7 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index b7a2f889b..88b7a041f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 1960d322b..659e57bae 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index a3950ff64..8939d2156 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index b2ceb6dda..ebe953829 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png
index 3cb1fcdb6..727b93bf5 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png
index 2ec409ac2..ff7917033 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png
index e844c2cc0..eb7f3f517 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png
index 607321516..d74a55ec5 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png
index f1a5620e1..51c177e68 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png
index 87bd48119..f48568186 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_10.12.6_NVIDIAGeForceGT650MOpenGLEngine/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..ce86b9c19
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..ce86b9c19
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..e11e53865
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..b10d4d892
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_Swing_HiDPI=OFF.png
new file mode 100644
index 000000000..4e37d32d4
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_Swing_HiDPI=ON.png
new file mode 100644
index 000000000..e64992580
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XY_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..efef7085d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..efef7085d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..c30b98f7d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..bb16d9537
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_Swing_HiDPI=OFF.png
new file mode 100644
index 000000000..170198bf5
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_Swing_HiDPI=ON.png
new file mode 100644
index 000000000..e9c69820b
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=XZ_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..dfa9a092c
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..dfa9a092c
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..5ea497b40
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..5ea497b40
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_Swing_HiDPI=OFF.png
new file mode 100644
index 000000000..fd930f80a
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_Swing_HiDPI=ON.png
new file mode 100644
index 000000000..add2ca316
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_Colorbar_View=YZ_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..4c67d8f0d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..4c67d8f0d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..3e5aa3e12
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..b205d52e3
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Both_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..ce86b9c19
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..ce86b9c19
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..e7a8acc9c
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..9fdedfb0a
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=None_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..a91e23c54
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..a91e23c54
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..e9c2834d3
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..ae6eb94dc
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=X_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..36964dfb0
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..36964dfb0
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..87043b312
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..8b551b025
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XY_Flip=Y_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..af2bf3ef7
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..af2bf3ef7
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..9b5676136
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..753dd01d3
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Both_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..efef7085d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..efef7085d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..82bd34718
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..22ab0ea91
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=None_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..90b629f8d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..90b629f8d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..30f13cd5d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..f096d67ba
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=X_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..a1c3690fd
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..a1c3690fd
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..97bb03406
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..1a8523840
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=XZ_Flip=Y_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..3f432d53d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..3f432d53d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..bf7d1c695
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..7d69a973f
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Both_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..457c34084
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..457c34084
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..e822fa46b
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..2181a2c1e
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=None_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..9273eb26c
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..9273eb26c
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..05b137b52
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..b5ca5219e
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=X_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_EmulGL_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..c945ba90a
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_EmulGL_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..c945ba90a
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_Native_AWT_HiDPI=OFF.png
new file mode 100644
index 000000000..22faba783
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_Native_AWT_HiDPI=ON.png
new file mode 100644
index 000000000..cd7b5f72d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_FlipAxis_View=YZ_Flip=Y_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 2f5957c53..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index e696f1760..cc38d1582 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index b99dfa567..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 3ef64102f..624631c5a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 3008b4587..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 115b9baf4..c81ac8881 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index da382e26c..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 71fda5af5..9b2697258 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index d767f3afa..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 71601b64e..31d8b0b10 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 222ec1375..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 37b0cfc0b..9ba9995bd 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 64c0ccf3f..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 3128ac34a..eb851bee0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 5ec1727a9..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index eea12f941..bb377cb2f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 2f5957c53..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index e696f1760..cc38d1582 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index b99dfa567..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 3ef64102f..624631c5a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 3008b4587..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 115b9baf4..c81ac8881 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index da382e26c..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 71fda5af5..9b2697258 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index d767f3afa..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 71601b64e..31d8b0b10 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 222ec1375..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 37b0cfc0b..9ba9995bd 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 64c0ccf3f..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 3128ac34a..eb851bee0 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 5ec1727a9..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index eea12f941..bb377cb2f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 28e4718b5..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index c8afb7209..cb672e760 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 7d53c5907..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index fbb539875..55d52e40d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 4440fff1f..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index e37a7fb04..9e74b9b76 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 76403f7dc..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 5e64f6fab..901714797 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index e8a66b0bb..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 0d20dc202..ae9e0b3b8 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 78e779c72..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 406a05733..25be21204 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index aea965d1d..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 0f1248ab4..de314e7b9 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 133f6b8ac..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index db4fd15a2..6115ea691 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index b4fbc8f20..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 16f733eb3..f04544d3c 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 1fe2c6633..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 6f2d6c29b..03743e0e5 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index a4c06a644..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index ec1aef057..d891c3a83 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index b4626591a..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index af396290c..bd8227759 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 927ff39be..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index e801e9847..ab93f25d8 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index c9ecb983d..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 6f15788cb..74c8d808d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 3275a6219..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 469e5167d..01627a5b3 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 97d3ed729..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 347d0a1ab..1f407bcfd 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_AWT_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 12c4df009..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index dcd90b4d8..221c95783 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index fdcf10d47..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 2040bda84..767a605e5 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 6286198d7..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 4fa714aee..75f3ff8e2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 701e0ae45..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 942041561..6539c92ab 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index a0666b003..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index d62a19f41..95017d53b 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index fe6f100a2..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index f19f1b038..63a64fe22 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 38a546e42..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 7e267335d..6fd9c74d3 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index a0f284fb7..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 0e52ec390..70137b29b 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=OFF_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index d6f961fb6..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index 8d0e515a7..842f9711e 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 353563b3e..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index eed4460b4..bd96195cb 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 669eb7b92..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index f54d45a44..86f3f06fc 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index d374495ea..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index 9a16b4e2d..114d45871 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=0_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 5f72b0604..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png
index b1d36b927..b9ec5e4c7 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index 7876831ef..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png
index 4106f2eeb..c48b8d2ba 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=0_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png
deleted file mode 100644
index 4f9164686..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png
index 9111c5dc0..37496ffd2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=0_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png
deleted file mode 100644
index d60d6af3d..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=false.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png
index d5d5de9e7..749265f7d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_when2DLayoutConfig_ThenApplyMargins_Native_Swing_HiDPI=ON_BorderMargin=20_TickLabel=10_AxisLabel=10_TextAddMargin=true.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 0a11cba78..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png
index 0a11cba78..4a7bfe159 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 0a11cba78..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png
index 0a11cba78..4a7bfe159 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_EmulGL_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png
index e3bec498c..cbc3ff5cf 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 9b844dcc7..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png
index 9b844dcc7..e5a0436f8 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=OFF_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png
index dd6328453..b124117ed 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 699d14297..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png
index 699d14297..ed30dba63 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_AWT_HiDPI=ON_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png
index fea97145a..ecddcc46d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 68f0f7f38..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png
index 054c0ffa5..6f47b0cf4 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=OFF_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png
index 5c1715685..6979ecc2a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=HORIZONTAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png
deleted file mode 100644
index 054c0ffa5..000000000
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=PARALLEL_TO_AXIS.png and /dev/null differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png
index 9b844dcc7..6f47b0cf4 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/2D_whenAxisRotated_ThenApplyMargins_Native_Swing_HiDPI=ON_yAxisOrientation=VERTICAL.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png
index 0e24064c5..55ac3a351 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png
index 0e24064c5..55ac3a351 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png
index f498c5f2f..8a0da9fe2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png
index 8b814ee69..7d98762bb 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png
index a415704bb..af11acb6f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png
index f498c5f2f..ee0a4ecd7 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/AxisLabelRotateLayout_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png
index a68de8e5e..9726e5e04 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png
index a68de8e5e..9726e5e04 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png
index e76b9b6c2..902763d65 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png
index e76b9b6c2..902763d65 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png
index ddb606df6..2672e68f2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png
index ddb606df6..2672e68f2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Colorbar_IsModifiedByCustomFont_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index fe3b88261..8659308d4 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 977cde675..440686089 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index a35c8b47d..d00fad3e2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 245c0cfea..e2e963386 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index fe3b88261..8659308d4 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 977cde675..440686089 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index a35c8b47d..d00fad3e2 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 245c0cfea..e2e963386 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_EmulGL_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index f2b8f2e0d..822ba9c0f 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 1e644c969..4d6be73a1 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index a964407bd..970c766fc 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index b4753631d..c84c31222 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index fc8c6ebe3..d4a71aba7 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 0efb9e98e..d6f8b8538 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index a964407bd..8eab5393a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 9c9dae455..3d7aef768 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_AWT_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index 40a208337..d8b0c7a92 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 82e5f9a5e..1a91e465a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index 78d8481fe..9e658671a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 29d1a4edb..879e4cc1e 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=OFF_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
index 11a73d347..a29f25045 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
index 7826fb942..d2085fb74 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
index a17344504..bd8becacc 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
index 44ae13847..6c37e8a7a 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png
index a68de8e5e..9726e5e04 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=OFF_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png
index a68de8e5e..9726e5e04 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_EmulGL_AWT_HiDPI=ON_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png
index f84edc091..388ff4b3d 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=OFF_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png
index f84edc091..79312aa95 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_AWT_HiDPI=ON_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png
index dc05d933f..e3f7c04f4 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=OFF_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png
index f84edc091..a13d2dabe 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_Native_Swing_HiDPI=ON_Font=AppleChancery24.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=OFF.png
index 2bc13b41d..e4270216b 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=ON.png
index 2bc13b41d..e4270216b 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_EmulGL_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=OFF.png
index 80d208404..1924d6f46 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=ON.png
index 7259ee772..2e97db8eb 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_AWT_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=OFF.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=OFF.png
index 80d208404..e21dbe678 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=OFF.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=OFF.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=ON.png b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=ON.png
index 80d208404..1924d6f46 100644
Binary files a/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=ON.png and b/jzy3d-tests-java9/src/test/resources/macosx_11.4_AppleM1/Text_whenDrawableTextRenderer_Native_Swing_HiDPI=ON.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png
new file mode 100644
index 000000000..a293dbdfd
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_LEFT_Corner2=TOP_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png
new file mode 100644
index 000000000..f48d6e790
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=BOTTOM_RIGHT_Corner2=BOTTOM_LEFT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png
new file mode 100644
index 000000000..eee2c457b
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_LEFT_Corner2=TOP_RIGHT.png differ
diff --git a/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png
new file mode 100644
index 000000000..62e0eaf6d
Binary files /dev/null and b/jzy3d-tests-java9/src/test/resources/windows10_10.0_IntelIrisXeGraphics/Overlay_Native_Swing_HiDPI=ON_Corner1=TOP_RIGHT_Corner2=BOTTOM_RIGHT.png differ
diff --git a/jzy3d-tutorials/src/main/java/org/jzy3d/demos/chart2d/Line2D_DemoAWT.java b/jzy3d-tutorials/src/main/java/org/jzy3d/demos/chart2d/Line2D_DemoAWT.java
index 950521269..516ecee92 100644
--- a/jzy3d-tutorials/src/main/java/org/jzy3d/demos/chart2d/Line2D_DemoAWT.java
+++ b/jzy3d-tutorials/src/main/java/org/jzy3d/demos/chart2d/Line2D_DemoAWT.java
@@ -49,8 +49,8 @@ public static void main(String[] args) {
OverlayLegendRenderer legend = new OverlayLegendRenderer(infos);
LineLegendLayout layout = legend.getLayout();
- layout.setBoxMarginX(10);
- layout.setBoxMarginY(10);
+ layout.getMargin().setWidth(10);
+ layout.getMargin().setHeight(10);
layout.setBackgroundColor(Color.WHITE);
layout.setFont(new java.awt.Font("Helvetica", java.awt.Font.PLAIN, 11));
diff --git a/pom.xml b/pom.xml
index ce9ba0c79..2b9b6ef7f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,6 @@
-
+
4.0.0
org.jzy3d
@@ -47,22 +49,22 @@
jzy3d-core
jzy3d-core-awt
- jzy3d-core-swt
+
jzy3d-jGL
jzy3d-emul-gl-awt
- jzy3d-emul-gl-swt
+
+
jzy3d-native-jogl-core
jzy3d-native-jogl-awt
-
jzy3d-native-jogl-swing
jzy3d-native-jogl-swt
-
jzy3d-native-jogl-newt
-
+ jzy3d-native-lwjgl
+
jzy3d-tester
jzy3d-tester-native
@@ -76,9 +78,14 @@
jzy3d-svm-mapper
jzy3d-tools-libsvm
+
jzy3d-io-xls
jzy3d-io-reports
+
+ jzy3d-everything
+
+
jzy3d-tests-java9
@@ -106,8 +113,8 @@
-
@@ -258,8 +265,8 @@
-
@@ -282,13 +289,21 @@
-
junit
junit
4.13.2
+
+
+ com.diogonunes
+ JColor
+ 5.2.0
+
+
+
@@ -363,16 +378,16 @@
false
-
-
-Djogamp.common.utils.locks.Lock.timeout=20000
-
**/ITTest*.java
@@ -386,7 +401,7 @@
**/*Test.java
-
--add-exports java.base/java.lang=ALL-UNNAMED
--add-exports java.desktop/sun.awt=ALL-UNNAMED
@@ -517,10 +532,10 @@
maven-release-plugin
-
@@ -541,6 +556,19 @@
+
+
+
+
+
+
+ org.pitest
+ pitest-maven
+ 1.8.0
+
+
@@ -592,9 +620,9 @@
integration-tests
-
-
+
org.apache.maven.plugins
maven-surefire-plugin
3.0.0-M5
@@ -605,18 +633,18 @@
**/ITTest*.java
-
-
-