diff --git a/samples/pom.xml b/samples/pom.xml
index 3346d16..7452ac2 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -72,7 +72,7 @@
src/main
- ${basedir}/src/resources
+ src/resources
diff --git a/samples/src/main/sample/atriasoft/ewol/BasicWindows.java b/samples/src/main/sample/atriasoft/ewol/BasicWindows.java
index dd28818..8c088bc 100644
--- a/samples/src/main/sample/atriasoft/ewol/BasicWindows.java
+++ b/samples/src/main/sample/atriasoft/ewol/BasicWindows.java
@@ -62,15 +62,15 @@ public class BasicWindows extends Windows {
setPropertyTitle("No title set !!! for this test");
final Sizer sizerMain = new Sizer(DisplayMode.HORIZONTAL);
- sizerMain.setPropertyExpand(Vector3b.TRUE);
- sizerMain.setPropertyFill(Vector3b.TRUE);
+ sizerMain.setPropertyExpand(Vector2b.TRUE);
+ sizerMain.setPropertyFill(Vector2b.TRUE);
setSubWidget(sizerMain);
this.sizerMenuRoot = new Sizer(DisplayMode.VERTICAL);
- this.sizerMenuRoot.setPropertyExpand(Vector3b.FALSE_TRUE_FALSE);
- this.sizerMenuRoot.setPropertyLockExpand(Vector3b.TRUE);
- this.sizerMenuRoot.setPropertyFill(Vector3b.TRUE);
- this.sizerMenuRoot.setPropertyMinSize(new Dimension3f(new Vector3f(350, 10, 10), Distance.PIXEL));
+ this.sizerMenuRoot.setPropertyExpand(Vector2b.FALSE_TRUE);
+ this.sizerMenuRoot.setPropertyLockExpand(Vector2b.TRUE);
+ this.sizerMenuRoot.setPropertyFill(Vector2b.TRUE);
+ this.sizerMenuRoot.setPropertyMinSize(new Dimension2f(new Vector2f(350, 10), Distance.PIXEL));
this.sizerMenuRoot.setPropertyGravity(Gravity.TOP);
sizerMain.subWidgetAdd(this.sizerMenuRoot);
@@ -79,42 +79,42 @@ public class BasicWindows extends Windows {
next.signalClick.connectAuto(this, BasicWindows::staticRequestNext);
this.sizerMenu = new Sizer(DisplayMode.VERTICAL);
- this.sizerMenu.setPropertyExpand(Vector3b.FALSE_TRUE_FALSE);
- this.sizerMenu.setPropertyLockExpand(Vector3b.TRUE);
- this.sizerMenu.setPropertyFill(Vector3b.TRUE);
- this.sizerMenu.setPropertyMinSize(new Dimension3f(new Vector3f(350, 10, 10), Distance.PIXEL));
+ this.sizerMenu.setPropertyExpand(Vector2b.FALSE_TRUE);
+ this.sizerMenu.setPropertyLockExpand(Vector2b.TRUE);
+ this.sizerMenu.setPropertyFill(Vector2b.TRUE);
+ this.sizerMenu.setPropertyMinSize(new Dimension2f(new Vector2f(350, 10), Distance.PIXEL));
this.sizerMenu.setPropertyGravity(Gravity.TOP);
this.sizerMenuRoot.subWidgetAdd(this.sizerMenu);
final Sizer sizerVertMain = new Sizer(DisplayMode.VERTICAL);
- sizerVertMain.setPropertyExpand(Vector3b.TRUE);
- sizerVertMain.setPropertyFill(Vector3b.TRUE);
+ sizerVertMain.setPropertyExpand(Vector2b.TRUE);
+ sizerVertMain.setPropertyFill(Vector2b.TRUE);
sizerMain.subWidgetAdd(sizerVertMain);
{
final Spacer simpleSpacer = new Spacer();
- simpleSpacer.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_128, Distance.PIXEL));
+ simpleSpacer.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_128, Distance.PIXEL));
simpleSpacer.setPropertyColor(Color.ALICE_BLUE);
- simpleSpacer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- simpleSpacer.setPropertyExpandIfFree(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
- simpleSpacer.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ simpleSpacer.setPropertyExpandIfFree(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
+ simpleSpacer.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
sizerVertMain.subWidgetAdd(simpleSpacer);
}
this.sizerTestAreaHori = new Sizer(DisplayMode.HORIZONTAL);
- this.sizerTestAreaHori.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- this.sizerTestAreaHori.setPropertyExpandIfFree(Vector3b.TRUE);
- this.sizerTestAreaHori.setPropertyFill(Vector3b.TRUE_FALSE_FALSE);
+ this.sizerTestAreaHori.setPropertyExpand(Vector2b.TRUE_FALSE);
+ this.sizerTestAreaHori.setPropertyExpandIfFree(Vector2b.TRUE);
+ this.sizerTestAreaHori.setPropertyFill(Vector2b.TRUE_FALSE);
sizerVertMain.subWidgetAdd(this.sizerTestAreaHori);
{
final Spacer simpleSpacer = new Spacer();
simpleSpacer.setPropertyColor(Color.DARK_GREEN);
- simpleSpacer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- simpleSpacer.setPropertyExpandIfFree(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
- simpleSpacer.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ simpleSpacer.setPropertyExpandIfFree(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
+ simpleSpacer.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
sizerVertMain.subWidgetAdd(simpleSpacer);
}
}
@@ -133,8 +133,8 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final Boolean value) {
final CheckBox checkBox = new CheckBox("Y");
- checkBox.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- checkBox.setPropertyFill(Vector3b.TRUE);
+ checkBox.setPropertyExpand(Vector2b.TRUE_FALSE);
+ checkBox.setPropertyFill(Vector2b.TRUE);
checkBox.setPropertyValue(value);
this.sizerMenu.subWidgetAdd(checkBox);
final Connection con = checkBox.signalValue.connect(valueButton -> {
@@ -161,13 +161,13 @@ public class BasicWindows extends Windows {
if (valueRaw instanceof final Dimension1f value) {
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -200,20 +200,20 @@ public class BasicWindows extends Windows {
if (valueRaw instanceof final Dimension2f value) {
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("X");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().x());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -233,20 +233,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Y");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().y());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -278,20 +278,20 @@ public class BasicWindows extends Windows {
if (valueRaw instanceof final Dimension3f value) {
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("X");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().x());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -311,20 +311,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Y");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().y());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -344,20 +344,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Z");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().z());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -388,8 +388,8 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final Double value) {
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) (double) value);
this.sizerMenu.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -415,8 +415,8 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final Float value) {
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) (float) value);
this.sizerMenu.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -442,9 +442,9 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final Gravity value) {
final Button buttonGravity = Button.createLabelButton("Gravity");
- buttonGravity.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- buttonGravity.setPropertyFill(Vector3b.TRUE);
- buttonGravity.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ buttonGravity.setPropertyExpand(Vector2b.TRUE_FALSE);
+ buttonGravity.setPropertyFill(Vector2b.TRUE);
+ buttonGravity.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
buttonGravity.setPropertyGravity(Gravity.CENTER);
this.sizerMenu.subWidgetAdd(buttonGravity);
final Label gravLabel = (Label) (buttonGravity.getSubWidget());
@@ -500,8 +500,8 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final Integer value) {
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue(value);
this.sizerMenu.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -528,8 +528,8 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final Long value) {
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue(value);
this.sizerMenu.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -555,8 +555,8 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final String value) {
final Entry element = new Entry();
- element.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- element.setPropertyFill(Vector3b.TRUE);
+ element.setPropertyExpand(Vector2b.TRUE_FALSE);
+ element.setPropertyFill(Vector2b.TRUE);
element.setPropertyValue(value);
this.sizerMenu.subWidgetAdd(element);
final Connection con = element.signalModify.connect(valueButton -> {
@@ -582,8 +582,8 @@ public class BasicWindows extends Windows {
}
if (valueRaw instanceof final Uri value) {
final Entry element = new Entry();
- element.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- element.setPropertyFill(Vector3b.TRUE);
+ element.setPropertyExpand(Vector2b.TRUE_FALSE);
+ element.setPropertyFill(Vector2b.TRUE);
element.setPropertyValue(value.toString());
this.sizerMenu.subWidgetAdd(element);
final Connection con = element.signalModify.connect(valueButton -> {
@@ -609,13 +609,13 @@ public class BasicWindows extends Windows {
return;
}
if (valueRaw instanceof final Vector3b value) {
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
{
final CheckBox checkBox = new CheckBox("X");
- checkBox.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- checkBox.setPropertyFill(Vector3b.TRUE);
+ checkBox.setPropertyExpand(Vector2b.TRUE_FALSE);
+ checkBox.setPropertyFill(Vector2b.TRUE);
checkBox.setPropertyValue(value.x());
lineSizer.subWidgetAdd(checkBox);
final Connection con = checkBox.signalValue.connect(valueButton -> {
@@ -634,8 +634,8 @@ public class BasicWindows extends Windows {
}
{
final CheckBox checkBox = new CheckBox("Y");
- checkBox.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- checkBox.setPropertyFill(Vector3b.TRUE);
+ checkBox.setPropertyExpand(Vector2b.TRUE_FALSE);
+ checkBox.setPropertyFill(Vector2b.TRUE);
checkBox.setPropertyValue(value.y());
lineSizer.subWidgetAdd(checkBox);
final Connection con = checkBox.signalValue.connect(valueButton -> {
@@ -666,20 +666,20 @@ public class BasicWindows extends Windows {
if (valueRaw instanceof final Vector2f value) {
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("X");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.x());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -698,20 +698,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Y");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.y());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -742,20 +742,20 @@ public class BasicWindows extends Windows {
if (valueRaw instanceof final Vector2i value) {
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("X");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue(value.x());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -774,20 +774,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Y");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue(value.y());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -817,13 +817,13 @@ public class BasicWindows extends Windows {
return;
}
if (valueRaw instanceof final Vector3b value) {
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
{
final CheckBox checkBox = new CheckBox("X");
- checkBox.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- checkBox.setPropertyFill(Vector3b.TRUE);
+ checkBox.setPropertyExpand(Vector2b.TRUE_FALSE);
+ checkBox.setPropertyFill(Vector2b.TRUE);
checkBox.setPropertyValue(value.x());
lineSizer.subWidgetAdd(checkBox);
final Connection con = checkBox.signalValue.connect(valueButton -> {
@@ -842,8 +842,8 @@ public class BasicWindows extends Windows {
}
{
final CheckBox checkBox = new CheckBox("Y");
- checkBox.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- checkBox.setPropertyFill(Vector3b.TRUE);
+ checkBox.setPropertyExpand(Vector2b.TRUE_FALSE);
+ checkBox.setPropertyFill(Vector2b.TRUE);
checkBox.setPropertyValue(value.y());
lineSizer.subWidgetAdd(checkBox);
final Connection con = checkBox.signalValue.connect(valueButton -> {
@@ -861,8 +861,8 @@ public class BasicWindows extends Windows {
}
{
final CheckBox checkBox = new CheckBox("Z");
- checkBox.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- checkBox.setPropertyFill(Vector3b.TRUE);
+ checkBox.setPropertyExpand(Vector2b.TRUE_FALSE);
+ checkBox.setPropertyFill(Vector2b.TRUE);
checkBox.setPropertyValue(value.z());
lineSizer.subWidgetAdd(checkBox);
final Connection con = checkBox.signalValue.connect(valueButton -> {
@@ -893,20 +893,20 @@ public class BasicWindows extends Windows {
if (valueRaw instanceof final Vector3f value) {
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("X");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.x());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -925,20 +925,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Y");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.y());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -957,20 +957,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Z");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.z());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -1001,20 +1001,20 @@ public class BasicWindows extends Windows {
if (valueRaw instanceof final Vector3i value) {
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("X");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue(value.x());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -1033,20 +1033,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Y");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue(value.y());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -1065,20 +1065,20 @@ public class BasicWindows extends Windows {
}
{
final Sizer lineSizer = new Sizer(DisplayMode.HORIZONTAL);
- lineSizer.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- lineSizer.setPropertyFill(Vector3b.TRUE);
+ lineSizer.setPropertyExpand(Vector2b.TRUE_FALSE);
+ lineSizer.setPropertyFill(Vector2b.TRUE);
this.sizerMenu.subWidgetAdd(lineSizer);
final Label simpleLabel = new Label("Z");
- simpleLabel.setPropertyExpand(Vector3b.FALSE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.FALSE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel);
final Spin spin = new Spin();
- spin.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- spin.setPropertyFill(Vector3b.TRUE);
+ spin.setPropertyExpand(Vector2b.TRUE_FALSE);
+ spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue(value.z());
lineSizer.subWidgetAdd(spin);
final Connection con = spin.signalValue.connect(valueButton -> {
@@ -1192,9 +1192,9 @@ public class BasicWindows extends Windows {
}
{
final Label simpleLabel = new Label("" + propertyName + ":");
- simpleLabel.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE);
- simpleLabel.setPropertyFill(Vector3b.FALSE);
- simpleLabel.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleLabel.setPropertyExpand(Vector2b.TRUE_FALSE);
+ simpleLabel.setPropertyFill(Vector2b.FALSE);
+ simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT);
this.sizerMenu.subWidgetAdd(simpleLabel);
}
@@ -1219,10 +1219,10 @@ public class BasicWindows extends Windows {
{
final Spacer simpleSpacer = new Spacer();
simpleSpacer.setPropertyColor(Color.CHOCOLATE);
- simpleSpacer.setPropertyExpand(Vector3b.FALSE);
- simpleSpacer.setPropertyExpandIfFree(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
- simpleSpacer.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleSpacer.setPropertyExpand(Vector2b.FALSE);
+ simpleSpacer.setPropertyExpandIfFree(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
+ simpleSpacer.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
this.sizerTestAreaHori.subWidgetAdd(simpleSpacer);
}
this.testWidget = widget;
@@ -1230,10 +1230,10 @@ public class BasicWindows extends Windows {
{
final Spacer simpleSpacer = new Spacer();
simpleSpacer.setPropertyColor(Color.GREEN_YELLOW);
- simpleSpacer.setPropertyExpand(Vector3b.FALSE);
- simpleSpacer.setPropertyExpandIfFree(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
- simpleSpacer.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ simpleSpacer.setPropertyExpand(Vector2b.FALSE);
+ simpleSpacer.setPropertyExpandIfFree(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
+ simpleSpacer.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
this.sizerTestAreaHori.subWidgetAdd(simpleSpacer);
}
// update properties...
diff --git a/samples/src/main/sample/atriasoft/ewol/ComplexWindiows1/MainWindows.java b/samples/src/main/sample/atriasoft/ewol/ComplexWindiows1/MainWindows.java
index 8c01cf4..ce8048e 100644
--- a/samples/src/main/sample/atriasoft/ewol/ComplexWindiows1/MainWindows.java
+++ b/samples/src/main/sample/atriasoft/ewol/ComplexWindiows1/MainWindows.java
@@ -1,10 +1,10 @@
package sample.atriasoft.ewol.ComplexWindiows1;
import org.atriasoft.etk.Color;
-import org.atriasoft.etk.Dimension3f;
+import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Distance;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.widget.Sizer;
import org.atriasoft.ewol.widget.Sizer.DisplayMode;
import org.atriasoft.ewol.widget.Spacer;
@@ -17,54 +17,54 @@ public class MainWindows extends Windows {
setPropertyTitle("Simple sample test");
//EwolObject.getContext().getFontDefault().setName("FreeSans");
Sizer sizerMain = new Sizer(DisplayMode.VERTICAL);
- sizerMain.setPropertyExpand(Vector3b.TRUE);
- sizerMain.setPropertyFill(Vector3b.TRUE);
+ sizerMain.setPropertyExpand(Vector2b.TRUE);
+ sizerMain.setPropertyFill(Vector2b.TRUE);
setSubWidget(sizerMain);
Sizer sizerHori1 = new Sizer(DisplayMode.HORIZONTAL);
- sizerHori1.setPropertyExpand(Vector3b.TRUE);
- sizerHori1.setPropertyFill(Vector3b.TRUE);
+ sizerHori1.setPropertyExpand(Vector2b.TRUE);
+ sizerHori1.setPropertyFill(Vector2b.TRUE);
sizerMain.subWidgetAdd(sizerHori1);
Sizer sizerHori2 = new Sizer(DisplayMode.HORIZONTAL);
- sizerHori2.setPropertyExpand(Vector3b.TRUE);
- sizerHori2.setPropertyFill(Vector3b.TRUE);
+ sizerHori2.setPropertyExpand(Vector2b.TRUE);
+ sizerHori2.setPropertyFill(Vector2b.TRUE);
sizerMain.subWidgetAdd(sizerHori2);
{
Spacer simpleSpacer = new Spacer();
- simpleSpacer.setPropertyMinSize(new Dimension3f(new Vector3f(100, 100, 100), Distance.PIXEL));
+ simpleSpacer.setPropertyMinSize(new Dimension2f(new Vector2f(100, 100), Distance.PIXEL));
simpleSpacer.setPropertyColor(Color.ALICE_BLUE);
- simpleSpacer.setPropertyExpand(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
sizerHori1.subWidgetAdd(simpleSpacer);
}
{
Spacer simpleSpacer = new Spacer();
simpleSpacer.setPropertyColor(Color.DARK_GREEN);
- simpleSpacer.setPropertyExpand(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
sizerHori1.subWidgetAdd(simpleSpacer);
}
{
Spacer simpleSpacer = new Spacer();
simpleSpacer.setPropertyColor(Color.CHOCOLATE);
- simpleSpacer.setPropertyExpand(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
sizerHori1.subWidgetAdd(simpleSpacer);
}
{
Spacer simpleSpacer = new Spacer();
simpleSpacer.setPropertyColor(Color.GREEN_YELLOW);
- simpleSpacer.setPropertyExpand(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
sizerHori2.subWidgetAdd(simpleSpacer);
}
{
Spacer simpleSpacer = new Spacer();
simpleSpacer.setPropertyColor(Color.PINK);
- simpleSpacer.setPropertyExpand(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
sizerHori2.subWidgetAdd(simpleSpacer);
}
}
diff --git a/samples/src/main/sample/atriasoft/ewol/simpleWindowsLabel/MainWindows.java b/samples/src/main/sample/atriasoft/ewol/simpleWindowsLabel/MainWindows.java
index 02fc42e..f161060 100644
--- a/samples/src/main/sample/atriasoft/ewol/simpleWindowsLabel/MainWindows.java
+++ b/samples/src/main/sample/atriasoft/ewol/simpleWindowsLabel/MainWindows.java
@@ -1,6 +1,6 @@
package sample.atriasoft.ewol.simpleWindowsLabel;
-import org.atriasoft.etk.math.Vector3b;
+import org.atriasoft.etk.math.Vector2b;
import org.atriasoft.ewol.widget.Label;
import org.atriasoft.ewol.widget.Spacer;
@@ -17,14 +17,14 @@ public class MainWindows extends BasicWindows {
//! [ewol_sample_HW_windows_title]
final Label simpleLabel = new Label();
simpleLabel.setPropertyValue("Hello. World
- How are You ???
- Not so Well, I break my leg.
The end");
- simpleLabel.setPropertyExpand(Vector3b.TRUE);
- simpleLabel.setPropertyFill(Vector3b.TRUE);
+ simpleLabel.setPropertyExpand(Vector2b.TRUE);
+ simpleLabel.setPropertyFill(Vector2b.TRUE);
this.setTestWidget(simpleLabel);
//! [ewol_sample_HW_windows_label]
} else {
final Spacer simpleSpacer = new Spacer();
- simpleSpacer.setPropertyExpand(Vector3b.TRUE);
- simpleSpacer.setPropertyFill(Vector3b.TRUE);
+ simpleSpacer.setPropertyExpand(Vector2b.TRUE);
+ simpleSpacer.setPropertyFill(Vector2b.TRUE);
this.setTestWidget(simpleSpacer);
}
}
diff --git a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithBox/MainWindows.java b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithBox/MainWindows.java
index d7805fb..17fa026 100644
--- a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithBox/MainWindows.java
+++ b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithBox/MainWindows.java
@@ -3,18 +3,15 @@ package sample.atriasoft.ewol.simpleWindowsWithBox;
import org.atriasoft.etk.Color;
import org.atriasoft.etk.Dimension1f;
import org.atriasoft.etk.Dimension2f;
-import org.atriasoft.etk.Dimension3f;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
import org.atriasoft.ewol.widget.Box;
-import org.atriasoft.ewol.widget.Box2;
import sample.atriasoft.ewol.BasicWindows;
public class MainWindows extends BasicWindows {
- Box2 testWidget;
+ Box testWidget;
public MainWindows() {
//! [ewol_sample_HW_windows_title]
@@ -22,15 +19,15 @@ public class MainWindows extends BasicWindows {
final Box innerWidget = new Box();
//this.testWidget.setPropertySource(new Uri("DATA", "mireA.png"));
- innerWidget.setPropertyExpand(Vector3b.FALSE);
- innerWidget.setPropertyExpandIfFree(Vector3b.TRUE);
- innerWidget.setPropertyFill(Vector3b.TRUE);
+ innerWidget.setPropertyExpand(Vector2b.FALSE);
+ innerWidget.setPropertyExpandIfFree(Vector2b.TRUE);
+ innerWidget.setPropertyFill(Vector2b.TRUE);
innerWidget.setPropertyColor(Color.PINK);
- innerWidget.setPropertyMinSize(new Dimension3f(new Vector3f(50, 80, 15)));
+ innerWidget.setPropertyMinSize(new Dimension2f(new Vector2f(50, 80)));
- this.testWidget = new Box2(innerWidget);
- this.testWidget.setPropertyExpand(Vector3b.FALSE);
- this.testWidget.setPropertyFill(Vector3b.FALSE);
+ this.testWidget = new Box(innerWidget);
+ this.testWidget.setPropertyExpand(Vector2b.FALSE);
+ this.testWidget.setPropertyFill(Vector2b.FALSE);
this.testWidget.setPropertyBorderWidth(new Dimension1f(10));
this.testWidget.setPropertyBorderRadius(new Dimension1f(25));
this.testWidget.setPropertyBorderColor(Color.BLACK);
diff --git a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithButton/MainWindows.java b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithButton/MainWindows.java
index deb71a2..b6a55de 100644
--- a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithButton/MainWindows.java
+++ b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithButton/MainWindows.java
@@ -14,8 +14,8 @@ public class MainWindows extends BasicWindows {
setPropertyTitle("Simple Button");
this.testWidget = Button.createLabelButton("A simple Label");
//this.testWidget.setPropertySource(new Uri("DATA", "mireA.png"));
- // this.testWidget.setPropertyExpand(Vector3b.TRUE);
- // this.testWidget.setPropertyFill(Vector3b.TRUE);
+ // this.testWidget.setPropertyExpand(Vector2b.TRUE);
+ // this.testWidget.setPropertyFill(Vector2b.TRUE);
// this.testWidget.setPropertyBorderWidth(new Dimension1f(10));
// this.testWidget.setPropertyBorderRadius(new Dimension1f(25));
// this.testWidget.setPropertyBorderColor(Color.BLACK);
diff --git a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithCheckBox/MainWindows.java b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithCheckBox/MainWindows.java
index edd7cd4..39de0c5 100644
--- a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithCheckBox/MainWindows.java
+++ b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithCheckBox/MainWindows.java
@@ -1,6 +1,6 @@
package sample.atriasoft.ewol.simpleWindowsWithCheckBox;
-import org.atriasoft.etk.math.Vector3b;
+import org.atriasoft.etk.math.Vector2b;
import org.atriasoft.ewol.widget.CheckBox;
import sample.atriasoft.ewol.BasicWindows;
@@ -15,14 +15,14 @@ public class MainWindows extends BasicWindows {
this.testWidget = new CheckBox("Hello, how Are You?
second-life?");
//this.testWidget.setPropertySource(new Uri("DATA", "mireA.png"));
- this.testWidget.setPropertyExpand(Vector3b.TRUE);
- this.testWidget.setPropertyFill(Vector3b.TRUE);
+ this.testWidget.setPropertyExpand(Vector2b.TRUE);
+ this.testWidget.setPropertyFill(Vector2b.TRUE);
setTestWidget(this.testWidget);
/*
Button simpleButton = new Button();
simpleButton.setPropertyValue("Top Button");
- simpleButton.setPropertyExpand(Vector3b.TRUE);
- simpleButton.setPropertyFill(Vector3b.TRUE);
+ simpleButton.setPropertyExpand(Vector2b.TRUE);
+ simpleButton.setPropertyFill(Vector2b.TRUE);
this.setTestWidget(simpleButton);
*/
}
diff --git a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithImage/MainWindows.java b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithImage/MainWindows.java
index 9305f6a..27465d3 100644
--- a/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithImage/MainWindows.java
+++ b/samples/src/main/sample/atriasoft/ewol/simpleWindowsWithImage/MainWindows.java
@@ -1,10 +1,10 @@
package sample.atriasoft.ewol.simpleWindowsWithImage;
-import org.atriasoft.etk.Dimension3f;
+import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Distance;
import org.atriasoft.etk.Uri;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.widget.Button;
import org.atriasoft.ewol.widget.ImageDisplay;
@@ -35,22 +35,22 @@ public class MainWindows extends BasicWindows {
this.testWidget = new ImageDisplay();
this.testWidget.setPropertySource(new Uri("DATA", "mireA.png"));
- this.testWidget.setPropertyExpand(Vector3b.TRUE);
- this.testWidget.setPropertyFill(Vector3b.TRUE);
- this.testWidget.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ this.testWidget.setPropertyExpand(Vector2b.TRUE);
+ this.testWidget.setPropertyFill(Vector2b.TRUE);
+ this.testWidget.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
setTestWidget(this.testWidget);
{
// final Button button = Button.createToggleLabelButton("mireA.png", "mireC.png");
- // button.setPropertyExpand(Vector3b.FALSE);
- // button.setPropertyFill(Vector3b.FALSE);
- // button.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ // button.setPropertyExpand(Vector2b.FALSE);
+ // button.setPropertyFill(Vector2b.FALSE);
+ // button.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
// this.addButton(button);
// button.signalValue.connectAuto(this, MainWindows::eventButtonChangeImage);
}
this.buttonAspectRatio = Button.createLabelButton("keep aspect ratio");
- this.buttonAspectRatio.setPropertyExpand(Vector3b.FALSE);
- this.buttonAspectRatio.setPropertyFill(Vector3b.FALSE);
- this.buttonAspectRatio.setPropertyMinSize(new Dimension3f(Vector3f.VALUE_16, Distance.PIXEL));
+ this.buttonAspectRatio.setPropertyExpand(Vector2b.FALSE);
+ this.buttonAspectRatio.setPropertyFill(Vector2b.FALSE);
+ this.buttonAspectRatio.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL));
addButton(this.buttonAspectRatio);
this.buttonAspectRatio.signalClick.connectAuto(this, MainWindows::eventButtonChangeKeepRatio);
}
diff --git a/src/main/org/atriasoft/ewol/DrawProperty.java b/src/main/org/atriasoft/ewol/DrawProperty.java
index 41a9853..7fcec36 100644
--- a/src/main/org/atriasoft/ewol/DrawProperty.java
+++ b/src/main/org/atriasoft/ewol/DrawProperty.java
@@ -1,7 +1,7 @@
package org.atriasoft.ewol;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.etk.math.Vector3i;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
/**
* @file
@@ -37,24 +37,24 @@ import org.atriasoft.etk.math.Vector3i;
*/
//@formatter:on
public record DrawProperty(
- Vector3i windowsSize, // !< Windows complete size
- Vector3i origin, // !< Windows clipping upper widget (can not be <0)
- Vector3i size// !< Windows clipping upper widget (can not be <0 and >this.windowsSize)
+ Vector2i windowsSize, // !< Windows complete size
+ Vector2i origin, // !< Windows clipping upper widget (can not be <0)
+ Vector2i size// !< Windows clipping upper widget (can not be <0 and >this.windowsSize)
) {
public DrawProperty() {
- this(Vector3i.ZERO, Vector3i.ZERO, Vector3i.ZERO);
+ this(Vector2i.ZERO, Vector2i.ZERO, Vector2i.ZERO);
}
- public DrawProperty(final Vector3i windowsSize, final Vector3i origin, final Vector3i size) {
+ public DrawProperty(final Vector2i windowsSize, final Vector2i origin, final Vector2i size) {
this.windowsSize = windowsSize;
this.origin = origin;
this.size = size;
}
- public DrawProperty withLimit(final Vector3f originIn, final Vector3f size) {
- Vector3i tmpSize = this.size.add(this.origin);
- Vector3i origin = this.origin.max((int) originIn.x(), (int) originIn.y(), (int) originIn.z());
- tmpSize = tmpSize.min((int) (originIn.x() + size.x()), (int) (originIn.y() + size.y()), (int) (originIn.z() + size.z()));
+ public DrawProperty withLimit(final Vector2f originIn, final Vector2f size) {
+ Vector2i tmpSize = this.size.add(this.origin);
+ Vector2i origin = this.origin.max((int) originIn.x(), (int) originIn.y());
+ tmpSize = tmpSize.min((int) (originIn.x() + size.x()), (int) (originIn.y() + size.y()));
tmpSize = tmpSize.less(origin);
return new DrawProperty(this.windowsSize, origin, tmpSize);
}
diff --git a/src/main/org/atriasoft/ewol/Gravity.java b/src/main/org/atriasoft/ewol/Gravity.java
index 8141b83..8ce6ddb 100644
--- a/src/main/org/atriasoft/ewol/Gravity.java
+++ b/src/main/org/atriasoft/ewol/Gravity.java
@@ -5,7 +5,7 @@
*/
package org.atriasoft.ewol;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
/**
* Gravity of the widget property
@@ -25,7 +25,7 @@ public record Gravity(
public static final Gravity TOP_LEFT = new Gravity(GravityHorizontal.LEFT, GravityVertical.TOP, GravityDepth.CENTER); // !< gravity is in bottom-right
public static final Gravity TOP_RIGHT = new Gravity(GravityHorizontal.RIGHT, GravityVertical.TOP, GravityDepth.CENTER); // !< gravity is in bottom-left
- public Vector3f gravityGenerateDelta(final Vector3f deltas) {
+ public Vector2f gravityGenerateDelta(final Vector2f deltas) {
float outX = 0;
float outY = 0;
float outZ = 0;
@@ -47,16 +47,7 @@ public record Gravity(
outY = (int) (deltas.y() * 0.5f);
}
}
- if (deltas.z() > 0.0001f) {
- if (this.z == GravityDepth.BACK) {
- // nothing to do
- } else if (this.z == GravityDepth.FRONT) {
- outZ = (int) (deltas.z());
- } else {
- outZ = (int) (deltas.z() * 0.5f);
- }
- }
- return new Vector3f(outX, outY, outZ);
+ return new Vector2f(outX, outY);
}
public static Gravity valueOf(String value) {
diff --git a/src/main/org/atriasoft/ewol/Padding.java b/src/main/org/atriasoft/ewol/Padding.java
index c20f37f..c58b984 100644
--- a/src/main/org/atriasoft/ewol/Padding.java
+++ b/src/main/org/atriasoft/ewol/Padding.java
@@ -12,84 +12,65 @@ public record Padding(
float left,
float top,
float right,
- float bottom, // !< this represent the 4 padding value Left top right buttom (like css)
- float front,
- float back) {
+ float bottom) {
- public static final Padding ZERO = new Padding(0, 0, 0, 0, 0, 0);
+ public static final Padding ZERO = new Padding(0, 0, 0, 0);
public Padding() {
- this(0, 0, 0, 0, 0, 0);
+ this(0, 0, 0, 0);
}
public Padding(final float left) {
- this(left, 0, 0, 0, 0, 0);
+ this(left, 0, 0, 0);
}
public Padding(final float left, final float top) {
- this(left, top, 0, 0, 0, 0);
+ this(left, top, 0, 0);
}
public Padding(final float left, final float top, final float right) {
- this(left, top, right, 0, 0, 0);
+ this(left, top, right, 0);
}
public Padding(final float left, final float top, final float right, final float bottom) {
- this(left, top, right, bottom, 0, 0);
- }
-
- public Padding(final double left, final double top, final double right, final double bottom) {
- this((float) left, (float) top, (float) right, (float) bottom, 0, 0);
- }
-
- public Padding(final float left, final float top, final float right, final float bottom, final float front) {
- this(left, top, right, bottom, front, 0);
- }
-
- public Padding(final float left, final float top, final float right, final float bottom, final float front, final float back) {
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
- this.front = front;
- this.back = back;
}
+ public Padding(final double left, final double top, final double right, final double bottom) {
+ this((float) left, (float) top, (float) right, (float) bottom);
+ }
+
+
/**
* Add a vector to this one
* @param v The vector to add to this one
*/
public Padding add(final Padding v) {
- return new Padding(this.left + v.left, this.top + v.top, this.right + v.right, this.bottom + v.bottom, this.front + v.front, this.back + v.back);
+ return new Padding(this.left + v.left, this.top + v.top, this.right + v.right, this.bottom + v.bottom);
}
public Padding withLeft(final float left) {
- return new Padding(left, this.top, this.right, this.bottom, this.front, this.back);
+ return new Padding(left, this.top, this.right, this.bottom);
}
public Padding withRight(final float right) {
- return new Padding(this.left, this.top, right, this.bottom, this.front, this.back);
+ return new Padding(this.left, this.top, right, this.bottom);
}
public Padding withBottom(final float bottom) {
- return new Padding(this.left, this.top, this.right, bottom, this.front, this.back);
+ return new Padding(this.left, this.top, this.right, bottom);
}
public Padding withTop(final float top) {
- return new Padding(this.left, top, this.right, this.bottom, this.front, this.back);
- }
-
- public Padding withFront(final float front) {
- return new Padding(this.left, this.top, this.right, this.bottom, front, this.back);
- }
-
- public Padding withBack(final float back) {
- return new Padding(this.left, this.top, this.right, this.bottom, this.front, back);
+ return new Padding(this.left, top, this.right, this.bottom);
}
@Override
public String toString() {
- return "{" + left() + "," + top() + "," + right() + "," + bottom() + "," + front() + "," + back() + "}";
+ return "{" + left() + "," + top() + "," + right() + "," + bottom() + "}";
}
public float x() {
@@ -99,9 +80,4 @@ public record Padding(
public float y() {
return this.top + this.bottom;
}
-
- public float z() {
- return this.front + this.back;
- }
-
}
diff --git a/src/main/org/atriasoft/ewol/compositing/Compositing.java b/src/main/org/atriasoft/ewol/compositing/Compositing.java
index a28edba..40acfa9 100644
--- a/src/main/org/atriasoft/ewol/compositing/Compositing.java
+++ b/src/main/org/atriasoft/ewol/compositing/Compositing.java
@@ -1,7 +1,7 @@
package org.atriasoft.ewol.compositing;
import org.atriasoft.etk.math.Matrix4f;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
/** @file
* @author Edouard DUPIN
@@ -13,14 +13,14 @@ public abstract class Compositing {
protected Matrix4f matrixApply = Matrix4f.IDENTITY;
/**
- * clear alll tre registered element in the current element
+ * clear all the registered element in the current element
*/
public void clear() {
this.matrixApply = Matrix4f.IDENTITY;
}
/**
- * Virtal pure function that request the draw of all openGl elements
+ * Virtual pure function that request the draw of all openGl elements
*/
public void draw() {
draw(true);
@@ -29,12 +29,12 @@ public abstract class Compositing {
public abstract void draw(final boolean disableDepthTest);
/**
- * Require the transfer of all the data in the Graphic card (doen between the addinc element and the draw)
+ * Require the transfer of all the data in the Graphic card (does between the adding element and the draw)
*/
public abstract void flush();
/**
- * reset to the eye matrix the openGL mouving system
+ * reset to the eye matrix the openGL moving system
*/
public void resetMatrix() {
this.matrixApply = Matrix4f.IDENTITY;
@@ -44,7 +44,7 @@ public abstract class Compositing {
* rotate the curent display of this element
* @param vect The rotation vector to apply at the transformation matrix
*/
- public void rotate(final Vector3f vect, final float angle) {
+ public void rotate(final Vector2f vect, final float angle) {
this.matrixApply = this.matrixApply.multiply(Matrix4f.createMatrixRotate(vect, angle));
}
@@ -52,7 +52,7 @@ public abstract class Compositing {
* scale the current diaplsy of this element
* @param vect The scaling vector to apply at the transformation matrix
*/
- public void scale(final Vector3f vect) {
+ public void scale(final Vector2f vect) {
this.matrixApply = this.matrixApply.multiply(Matrix4f.createMatrixScale(vect));
}
@@ -68,7 +68,7 @@ public abstract class Compositing {
* translate the current display of this element
* @param vect The translation vector to apply at the transformation matrix
*/
- public void translate(final Vector3f vect) {
+ public void translate(final Vector2f vect) {
this.matrixApply = this.matrixApply.multiply(Matrix4f.createMatrixTranslate(vect));
}
}
diff --git a/src/main/org/atriasoft/ewol/compositing/CompositingDrawing.java b/src/main/org/atriasoft/ewol/compositing/CompositingDrawing.java
index 27def24..6dcb943 100644
--- a/src/main/org/atriasoft/ewol/compositing/CompositingDrawing.java
+++ b/src/main/org/atriasoft/ewol/compositing/CompositingDrawing.java
@@ -26,8 +26,8 @@ public class CompositingDrawing extends Compositing {
protected static int vboIdColor = 1;
protected static int vboIdCoord = 0;
private boolean clippingEnable = false; // !< true if the clipping must be activated
- private Vector3f clippingPosStart = new Vector3f(0, 0, 0); // !< Clipping start position
- private Vector3f clippingPosStop = new Vector3f(0, 0, 0); // !< Clipping stop position
+ private Vector3f clippingPosStart = Vector3f.ZERO; // !< Clipping start position
+ private Vector3f clippingPosStop = Vector3f.ZERO; // !< Clipping stop position
private Color color = Color.BLACK; // !< The text foreground color
private Color colorBg = Color.NONE; // !< The text background color
//private int oGLMatrix = -1; // !< openGL id on the element (transformation matrix)
@@ -265,8 +265,8 @@ public class CompositingDrawing extends Compositing {
}
/**
- * Relative drawing a line (spacial vector)
- * @param vect Vector of the curent line.
+ * Relative drawing a line (special vector)
+ * @param vect Vector of the current line.
*/
public void lineRel(final float xxx, final float yyy) {
lineTo(this.position.add(new Vector3f(xxx, yyy, 0)));
@@ -555,7 +555,7 @@ public class CompositingDrawing extends Compositing {
/**
* Specify the line thickness for the next elements
- * @param thickness The thickness disired for the next print
+ * @param thickness The thickness desired for the next print
*/
public void setThickness(final float thickness) {
this.thickness = thickness;
diff --git a/src/main/org/atriasoft/ewol/compositing/CompositingText.java b/src/main/org/atriasoft/ewol/compositing/CompositingText.java
index 049ea83..53c1dc7 100644
--- a/src/main/org/atriasoft/ewol/compositing/CompositingText.java
+++ b/src/main/org/atriasoft/ewol/compositing/CompositingText.java
@@ -11,7 +11,6 @@ import java.util.List;
import org.atriasoft.etk.Color;
import org.atriasoft.etk.Configs;
-import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Matrix4f;
import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector3f;
@@ -28,7 +27,8 @@ public class CompositingText extends TextBase {
protected ResourceTexturedFont font; // !< Font resources
protected List pointPositions = new ArrayList<>();
protected float size;
- // the forceClimp is to generate a forcing of the rendering in small font, this permit to have a correct view of the font, otherwise it will be transparent.
+ // the forceClimp is to generate a forcing of the rendering in small font, this
+ // permit to have a correct view of the font, otherwise it will be transparent.
protected final boolean forceClimp = true;
protected List texturePositions = new ArrayList<>();
@@ -46,6 +46,7 @@ public class CompositingText extends TextBase {
/**
* generic constructor
+ *
* @param fontName Name of the font that might be loaded
* @param fontSize Size of the font that might be loaded
*/
@@ -54,27 +55,26 @@ public class CompositingText extends TextBase {
}
@Override
- public Vector3f calculateSizeChar(final Character charcode) {
- final float renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
+ public Vector2f calculateSizeChar(final Character charcode) {
+ final var renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
// get a pointer on the glyph property :
- final GlyphProperty myGlyphProperty = getGlyphPointer(charcode);
- final int fontHeigh = (int) getHeight();
+ final var myGlyphProperty = getGlyphPointer(charcode);
+ final var fontHeigh = (int) getHeight();
if (myGlyphProperty == null) {
if (this.font == null) {
LOGGER.warn("no Glyph... in no font");
} else {
LOGGER.warn("no Glyph... in font : " + this.font.getName());
}
- return new Vector3f(0.2f, fontHeigh, 0);
+ return new Vector2f(0.2f, fontHeigh);
}
// get the kerning offset :
- float kerningOffset = 0;
+ var kerningOffset = 0F;
if (this.kerning) {
kerningOffset = myGlyphProperty.kerningGet(this.previousCharcode);
}
- final Vector3f outputSize = new Vector3f((myGlyphProperty.getAdvenceX() + kerningOffset) * renderRatio,
- (fontHeigh), 0);
+ final var outputSize = new Vector2f((myGlyphProperty.getAdvenceX() + kerningOffset) * renderRatio, fontHeigh);
// Register the previous character
this.previousCharcode = charcode;
return outputSize;
@@ -109,8 +109,8 @@ public class CompositingText extends TextBase {
return;
}
// set Matrix : translation/positionMatrix
- final Matrix4f projMatrix = OpenGL.getMatrix();
- final Matrix4f camMatrix = OpenGL.getCameraMatrix();
+ final var projMatrix = OpenGL.getMatrix();
+ final var camMatrix = OpenGL.getCameraMatrix();
this.oGLprogram.use();
this.vbo.bindForRendering();
this.oGLprogram.uniformMatrix(this.oGLMatrixProjection, projMatrix);
@@ -146,8 +146,8 @@ public class CompositingText extends TextBase {
OpenGL.enable(OpenGL.Flag.flag_depthTest);
}
// set Matrix : translation/positionMatrix
- final Matrix4f projMatrix = OpenGL.getMatrix();
- final Matrix4f camMatrix = OpenGL.getCameraMatrix();
+ final var projMatrix = OpenGL.getMatrix();
+ final var camMatrix = OpenGL.getCameraMatrix();
this.oGLprogram.use();
this.vbo.bindForRendering();
this.oGLprogram.uniformMatrix(this.oGLMatrixProjection, projMatrix);
@@ -195,7 +195,7 @@ public class CompositingText extends TextBase {
LOGGER.warn("no font...");
return 10.0f;
}
- final float renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
+ final var renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
return this.font.getHeight(this.mode) * renderRatio;
}
@@ -205,31 +205,33 @@ public class CompositingText extends TextBase {
LOGGER.warn("no font...");
return 1.0f;
}
- final float renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
+ final var renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
return this.font.getFontSize() * renderRatio;
}
@Override
public void printChar(final Character charcode) {
- //LOGGER.error("Request printChar : '{}' @pos={}", charcode, this.position);
+ // LOGGER.error("Request printChar : '{}' @pos={}", charcode, this.position);
// get a pointer on the glyph property :
- final GlyphProperty myGlyphProperty = getGlyphPointer(charcode);
+ final var myGlyphProperty = getGlyphPointer(charcode);
if (myGlyphProperty == null) {
LOGGER.error(" font does not really existed ...");
return;
}
- // sometime we do net require the correct size to the glyph renderer (due to the fact SVG render is not clear on lower size...)
- final float renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
+ // sometime we do net require the correct size to the glyph renderer (due to the
+ // fact SVG render is not clear on lower size...)
+ final var renderRatio = (float) this.currentFontSizeRequired / (float) this.currentFontSizeRequired;
- final int fontSize = (int) (getSize() * renderRatio);
- final int fontHeigh = (int) (getHeight() * renderRatio);
+ final var fontSize = (int) (getSize() * renderRatio);
+ final var fontHeigh = (int) (getHeight() * renderRatio);
// get the kerning offset :
- float kerningOffset = 0;
+ var kerningOffset = 0F;
if (this.kerning) {
kerningOffset = myGlyphProperty.kerningGet(this.previousCharcode) * renderRatio;
if (kerningOffset != 0) {
- // LOGGER.debug("Kerning between : '" + this.previousCharcode + "''" + myGlyph.UVal
+ // LOGGER.debug("Kerning between : '" + this.previousCharcode + "''" +
+ // myGlyph.UVal
// + "' value : " + kerningOffset);
}
}
@@ -238,16 +240,16 @@ public class CompositingText extends TextBase {
/*
* Bitmap position xA xB yC *------* | | | | yD *------*
*/
- float dxA = this.position.x() + myGlyphProperty.getTextureRenderOffset().x() * renderRatio + kerningOffset;
- float dxB = dxA + myGlyphProperty.sizeTexture.x() * renderRatio;
- float dyC = this.position.y() + myGlyphProperty.getTextureRenderOffset().y() * renderRatio + fontHeigh
+ var dxA = this.position.x() + myGlyphProperty.getTextureRenderOffset().x() * renderRatio + kerningOffset;
+ var dxB = dxA + myGlyphProperty.sizeTexture.x() * renderRatio;
+ var dyC = this.position.y() + myGlyphProperty.getTextureRenderOffset().y() * renderRatio + fontHeigh
- fontSize;
- float dyD = dyC - myGlyphProperty.sizeTexture.y() * renderRatio;
+ var dyD = dyC - myGlyphProperty.sizeTexture.y() * renderRatio;
- float tuA = myGlyphProperty.texturePosStart.x();
- float tuB = tuA + myGlyphProperty.texturePosSize.x();
- float tvC = myGlyphProperty.texturePosStart.y();
- float tvD = tvC + myGlyphProperty.texturePosSize.y();
+ var tuA = myGlyphProperty.texturePosStart.x();
+ var tuB = tuA + myGlyphProperty.texturePosSize.x();
+ var tvC = myGlyphProperty.texturePosStart.y();
+ var tvD = tvC + myGlyphProperty.texturePosSize.y();
// Clipping and drawing area
if (this.clippingEnable && (dxB < this.clippingPosStart.x() || dxA > this.clippingPosStop.x()
@@ -256,62 +258,62 @@ public class CompositingText extends TextBase {
} else {
if (this.clippingEnable) {
// generate a positions...
- final float texSizeX = tuB - tuA;
+ final var texSizeX = tuB - tuA;
if (dxA < this.clippingPosStart.x()) {
// clip display
- final float drawSize = this.clippingPosStart.x() - dxA;
+ final var drawSize = this.clippingPosStart.x() - dxA;
// update element start display
dxA = this.clippingPosStart.x();
- final float addElement = texSizeX * drawSize / myGlyphProperty.sizeTexture.x();
+ final var addElement = texSizeX * drawSize / myGlyphProperty.sizeTexture.x();
// update texture start X Pos
tuA += addElement;
}
if (dxB > this.clippingPosStop.x()) {
// clip display
- final float drawSize = dxB - this.clippingPosStop.x();
+ final var drawSize = dxB - this.clippingPosStop.x();
// update element start display
dxB = this.clippingPosStop.x();
- final float addElement = texSizeX * drawSize / myGlyphProperty.sizeTexture.x();
+ final var addElement = texSizeX * drawSize / myGlyphProperty.sizeTexture.x();
// update texture start X Pos
tuB -= addElement;
}
- final float texSizeY = tvC - tvD;
+ final var texSizeY = tvC - tvD;
if (dyC > this.clippingPosStop.y()) {
// clip display
- final float drawSize = dyC - this.clippingPosStop.y();
+ final var drawSize = dyC - this.clippingPosStop.y();
// update element start display
dyC = this.clippingPosStop.y();
- final float addElement = texSizeY * drawSize / myGlyphProperty.sizeTexture.y();
+ final var addElement = texSizeY * drawSize / myGlyphProperty.sizeTexture.y();
// update texture start X Pos
tvC -= addElement;
}
if (dyD < this.clippingPosStart.y()) {
// clip display
- final float drawSize = this.clippingPosStart.y() - dyD;
+ final var drawSize = this.clippingPosStart.y() - dyD;
// update element start display
dyD = this.clippingPosStart.y();
- final float addElement = texSizeY * drawSize / myGlyphProperty.sizeTexture.y();
+ final var addElement = texSizeY * drawSize / myGlyphProperty.sizeTexture.y();
// update texture start X Pos
tvD += addElement;
}
}
if (dxB <= dxA || dyD >= dyC) {
// nothing to do ...
- } else /*
- * Bitmap position 0------1 | | | | 3------2
- */
- if (this.needDisplay) {
- final Vector3f drawPosition0 = new Vector3f((int) dxA, (int) dyC, 0);
- final Vector3f drawPosition1 = new Vector3f((int) dxB, (int) dyC, 0);
- final Vector3f drawPosition2 = new Vector3f((int) dxB, (int) dyD, 0);
- final Vector3f drawPosition3 = new Vector3f((int) dxA, (int) dyD, 0);
+ } else if (this.needDisplay) {
+ /*
+ * Bitmap position 0------1 | | | | 3------2
+ */
+ final var drawPosition0 = new Vector3f((int) dxA, (int) dyC, 0);
+ final var drawPosition1 = new Vector3f((int) dxB, (int) dyC, 0);
+ final var drawPosition2 = new Vector3f((int) dxB, (int) dyD, 0);
+ final var drawPosition3 = new Vector3f((int) dxA, (int) dyD, 0);
/*
* texture Position : 0------1 | | | | 3------2
*/
- final Vector2f texturePos0 = new Vector2f(tuA + this.mode.getValue(), tvC);
- final Vector2f texturePos1 = new Vector2f(tuB + this.mode.getValue(), tvC);
- final Vector2f texturePos2 = new Vector2f(tuB + this.mode.getValue(), tvD);
- final Vector2f texturePos3 = new Vector2f(tuA + this.mode.getValue(), tvD);
+ final var texturePos0 = new Vector2f(tuA + this.mode.getValue(), tvC);
+ final var texturePos1 = new Vector2f(tuB + this.mode.getValue(), tvC);
+ final var texturePos2 = new Vector2f(tuB + this.mode.getValue(), tvD);
+ final var texturePos3 = new Vector2f(tuA + this.mode.getValue(), tvD);
// NOTE : Android does not support the Quads elements ...
/*
@@ -351,11 +353,13 @@ public class CompositingText extends TextBase {
}
}
// move the position :
- // LOGGER.debug(" 5 pos=" + this.position + " advance=" + myGlyph.advance.x() + "
+ // LOGGER.debug(" 5 pos=" + this.position + " advance=" + myGlyph.advance.x() +
+ // "
// kerningOffset=" + kerningOffset);
this.position = this.position
.withX(this.position.x() + myGlyphProperty.getAdvenceX() * renderRatio + kerningOffset);
- // LOGGER.debug(" 6 print '" + char-code + "' : start=" + this.sizeDisplayStart + "
+ // LOGGER.debug(" 6 print '" + char-code + "' : start=" + this.sizeDisplayStart
+ // + "
// stop=" + this.sizeDisplayStop + " pos=" + this.position);
// Register the previous character
this.previousCharcode = charcode;
@@ -367,10 +371,10 @@ public class CompositingText extends TextBase {
return;
}
- String fontName = inputFontName;
- int fontSize = inputFontSize;
+ var fontName = inputFontName;
+ var fontSize = inputFontSize;
// remove old one
- final ResourceTexturedFont previousFont = this.font;
+ final var previousFont = this.font;
if (fontSize <= 0) {
fontSize = Configs.getConfigFonts().getSize();
}
@@ -379,10 +383,8 @@ public class CompositingText extends TextBase {
}
// if size in under 25, we request upper size:
- int sizeRequest = 25;
- if (this.forceClimp) {
- sizeRequest = fontSize;
- } else if (fontSize > 25) {
+ var sizeRequest = 25;
+ if (this.forceClimp || fontSize > 25) {
sizeRequest = fontSize;
}
if (inputFontName.equals(this.currentFontName) && this.currentFontSizeRequired == sizeRequest) {
@@ -391,9 +393,9 @@ public class CompositingText extends TextBase {
}
clear();
- final Uri fontUri = Configs.getConfigFonts().getFontUri(fontName).clone();
+ final var fontUri = Configs.getConfigFonts().getFontUri(fontName).clone();
fontUri.setProperty("size", Integer.toString(sizeRequest));
- LOGGER.trace("plop : " + fontName + " size=" + sizeRequest + " result :" + fontName);
+ LOGGER.trace("plop={} size={} result={}", fontName, sizeRequest, fontName);
// link to new one
if (this.forceClimp) {
fontUri.setProperty("FORCE_CLIMP", "true");
diff --git a/src/main/org/atriasoft/ewol/compositing/ShapeBox.java b/src/main/org/atriasoft/ewol/compositing/ShapeBox.java
index 11bd106..05751d1 100644
--- a/src/main/org/atriasoft/ewol/compositing/ShapeBox.java
+++ b/src/main/org/atriasoft/ewol/compositing/ShapeBox.java
@@ -1,15 +1,15 @@
package org.atriasoft.ewol.compositing;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.Padding;
public record ShapeBox(
- Vector3f outOrigin,
- Vector3f outSize,
- Vector3f inOrigin,
- Vector3f inSize) {
+ Vector2f outOrigin,
+ Vector2f outSize,
+ Vector2f inOrigin,
+ Vector2f inSize) {
- public static final ShapeBox ZERO = new ShapeBox(Vector3f.ZERO, Vector3f.ZERO, Vector3f.ZERO, Vector3f.ZERO);
+ public static final ShapeBox ZERO = new ShapeBox(Vector2f.ZERO, Vector2f.ZERO, Vector2f.ZERO, Vector2f.ZERO);
@Override
public String toString() {
@@ -26,18 +26,18 @@ public record ShapeBox(
return out.toString();
}
- public ShapeBox(final Vector3f outOrigin, final Vector3f outSize, final Vector3f inOrigin, final Vector3f inSize) {
+ public ShapeBox(final Vector2f outOrigin, final Vector2f outSize, final Vector2f inOrigin, final Vector2f inSize) {
this.outOrigin = outOrigin;
this.outSize = outSize;
this.inOrigin = inOrigin;
this.inSize = inSize;
}
- public ShapeBox(final Vector3f outOrigin, final Vector3f outSize, final Padding padding) {
- this(outOrigin, outSize, outOrigin.add(padding.left(), padding.bottom(), padding.back()), outSize.less(padding.x(), padding.y(), padding.z()));
+ public ShapeBox(final Vector2f outOrigin, final Vector2f outSize, final Padding padding) {
+ this(outOrigin, outSize, outOrigin.add(padding.left(), padding.bottom()), outSize.less(padding.x(), padding.y()));
}
- public boolean isInside(final Vector3f value) {
+ public boolean isInside(final Vector2f value) {
return value.x() > this.outOrigin.x() //
&& value.y() > this.outOrigin.y() //
&& value.x() < this.outOrigin.x() + this.outSize.x() //
diff --git a/src/main/org/atriasoft/ewol/compositing/TextBase.java b/src/main/org/atriasoft/ewol/compositing/TextBase.java
index ece3590..57e730b 100644
--- a/src/main/org/atriasoft/ewol/compositing/TextBase.java
+++ b/src/main/org/atriasoft/ewol/compositing/TextBase.java
@@ -13,7 +13,7 @@ import org.atriasoft.etk.Color;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Matrix4f;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.util.Dynamic;
import org.atriasoft.ewol.compositing.tools.TextDecoration;
import org.atriasoft.ewol.resource.font.FontMode;
@@ -35,8 +35,8 @@ public abstract class TextBase extends Compositing {
// previously this line and the center is perform with this one)
protected AlignMode alignment = AlignMode.DISABLE; // !< Current Alignment mode (justify/left/right ...)
protected boolean clippingEnable = false; // !< true if the clipping must be activated
- protected Vector3f clippingPosStart = Vector3f.ZERO; // !< Clipping start position
- protected Vector3f clippingPosStop = Vector3f.ZERO; // !< Clipping stop position
+ protected Vector2f clippingPosStart = Vector2f.ZERO; // !< Clipping start position
+ protected Vector2f clippingPosStop = Vector2f.ZERO; // !< Clipping stop position
protected Color color = Color.BLACK; // !< The text foreground color
protected Color colorBg = Color.NONE; // !< The text background color
protected Color colorCursor = Color.BLACK; // !< The text cursor color
@@ -61,11 +61,11 @@ public abstract class TextBase extends Compositing {
protected int oGLtexID = -1; // !< openGL id on the element (texture ID)
protected int oGLtextHeight = -1; // !< openGL Id on the texture height
protected int oGLtextWidth = -1; // !< openGL Id on the texture width
- protected Vector3f position = Vector3f.ZERO; // !< The current position to draw
+ protected Vector2f position = Vector2f.ZERO; // !< The current position to draw
protected Character previousCharcode = '\0'; // !< we remember the previous charcode to perform the kerning. @ref Kerning
protected int selectionStartPos = -100; // !< start position of the Selection (if == this.cursorPos ==> no
- protected Vector3f sizeDisplayStart = Vector3f.ZERO; // !< The start windows of the display.
- protected Vector3f sizeDisplayStop = Vector3f.ZERO; // !< The end windows of the display.
+ protected Vector2f sizeDisplayStart = Vector2f.ZERO; // !< The start windows of the display.
+ protected Vector2f sizeDisplayStop = Vector2f.ZERO; // !< The end windows of the display.
protected float startTextPos = 0; // !< start position of the Alignment (when \n the text return at this
// position)
protected float stopTextPos = 0; // !< end of the alignment (when a string is too height it cut at the word
@@ -98,7 +98,7 @@ public abstract class TextBase extends Compositing {
* @param charcode The Unicode value to calculate dimention.
* @return The theoric size used.
*/
- public Vector3f calculateSize(final Character charcode) {
+ public Vector2f calculateSize(final Character charcode) {
return calculateSizeChar(charcode);
}
@@ -107,10 +107,10 @@ public abstract class TextBase extends Compositing {
* @param text The string to calculate dimention.
* @return The theoric size used.
*/
- public Vector3f calculateSize(final String text) {
- Vector3f outputSize = Vector3f.ZERO;
+ public Vector2f calculateSize(final String text) {
+ Vector2f outputSize = Vector2f.ZERO;
for (int iii = 0; iii < text.length(); iii++) {
- final Vector3f tmpp = calculateSize(text.charAt(iii));
+ final Vector2f tmpp = calculateSize(text.charAt(iii));
if (outputSize.y() == 0) {
outputSize = outputSize.withY(tmpp.y());
}
@@ -120,16 +120,16 @@ public abstract class TextBase extends Compositing {
}
// ! @previous
- public abstract Vector3f calculateSizeChar(Character charcode);
+ public abstract Vector2f calculateSizeChar(Character charcode);
/**
* calculate a theoric text size
* @param text The string to calculate dimention.
* @return The theoric size used.
*/
- public Vector3f calculateSizeDecorated(final String text) {
+ public Vector2f calculateSizeDecorated(final String text) {
if (text.length() == 0) {
- return Vector3f.ZERO;
+ return Vector2f.ZERO;
}
final StringBuilder tmpData = new StringBuilder("\n");
@@ -143,14 +143,14 @@ public abstract class TextBase extends Compositing {
* @param text The string to calculate dimention.
* @return The theoric size used.
*/
- public Vector3f calculateSizeHTML(final String text) {
+ public Vector2f calculateSizeHTML(final String text) {
// remove intermediate result
reset();
// LOGGER.debug(" 0 size for=\n" + text);
// disable display system
this.needDisplay = false;
- setPos(Vector3f.ZERO);
+ setPos(Vector2f.ZERO);
// same as print without the end display ...
printHTML(text);
//LOGGER.error(" ]]]] position={}", this.position);
@@ -158,17 +158,16 @@ public abstract class TextBase extends Compositing {
//LOGGER.error(" ]]]] sizeDisplayStop={}", this.sizeDisplayStop);
// get the last elements
- this.sizeDisplayStop = Vector3f.max(this.position, this.sizeDisplayStop);
- this.sizeDisplayStart = Vector3f.min(this.position, this.sizeDisplayStart);
+ this.sizeDisplayStop = Vector2f.max(this.position, this.sizeDisplayStop);
+ this.sizeDisplayStart = Vector2f.min(this.position, this.sizeDisplayStart);
// LOGGER.debug(" 2 Start pos=" + this.sizeDisplayStart);
// LOGGER.debug(" 2 Stop pos=" + this.sizeDisplayStop);
// set back the display system
this.needDisplay = true;
- return new Vector3f(this.sizeDisplayStop.x() - this.sizeDisplayStart.x(),
- this.sizeDisplayStop.y() - this.sizeDisplayStart.y(),
- this.sizeDisplayStop.z() - this.sizeDisplayStart.z());
+ return new Vector2f(this.sizeDisplayStop.x() - this.sizeDisplayStart.x(),
+ this.sizeDisplayStop.y() - this.sizeDisplayStart.y());
}
/**
@@ -258,7 +257,7 @@ public abstract class TextBase extends Compositing {
}
for (int iii = start; iii < text.length(); iii++) {
- final Vector3f tmpSize = calculateSize(text.charAt(iii));
+ final Vector2f tmpSize = calculateSize(text.charAt(iii));
// check overflow :
if (endPos + tmpSize.x() > stopPosition) {
stop.value = iii;
@@ -307,7 +306,7 @@ public abstract class TextBase extends Compositing {
*/
public void forceLineReturn() {
// reset position :
- setPos(new Vector3f(this.startTextPos, this.position.y() - getHeight(), 0));
+ setPos(new Vector2f(this.startTextPos, this.position.y() - getHeight()));
}
/**
@@ -339,7 +338,7 @@ public abstract class TextBase extends Compositing {
* get the current display position (sometime needed in the gui control)
* @return the current position.
*/
- public Vector3f getPos() {
+ public Vector2f getPos() {
return this.position;
}
@@ -564,11 +563,11 @@ public abstract class TextBase extends Compositing {
}
}
if (this.needDisplay && this.colorBg.a() != 0) {
- final Vector3f pos = this.position;
+ final Vector2f pos = this.position;
this.vectorialDraw.setPos(pos);
printChar(text.charAt(iii));
final float fontHeigh = getHeight();
- this.vectorialDraw.rectangleWidth(new Vector3f(this.position.x() - pos.x(), fontHeigh, 0.0f));
+ this.vectorialDraw.rectangleWidth(new Vector2f(this.position.x() - pos.x(), fontHeigh));
this.nbCharDisplayed++;
} else {
printChar(text.charAt(iii));
@@ -613,15 +612,13 @@ public abstract class TextBase extends Compositing {
case RIGHT:
if (this.needDisplay) {
// Move the first char at the right :
- setPos(new Vector3f(this.position.x() + freeSpace.value, this.position.y(),
- this.position.z()));
+ setPos(new Vector2f(this.position.x() + freeSpace.value, this.position.y()));
}
break;
case CENTER:
if (this.needDisplay) {
// Move the first char at the right :
- setPos(new Vector3f(this.position.x() + freeSpace.value / 2, this.position.y(),
- this.position.z()));
+ setPos(new Vector2f(this.position.x() + freeSpace.value / 2, this.position.y()));
}
break;
default:
@@ -658,16 +655,16 @@ public abstract class TextBase extends Compositing {
this.vectorialDraw.setPos(this.position);
}
// Must generate a dynamic space :
- setPos(new Vector3f(this.position.x() + interpolation, this.position.y(), this.position.z()));
+ setPos(new Vector2f(this.position.x() + interpolation, this.position.y()));
if (this.needDisplay && this.colorBg.a() != 0) {
- this.vectorialDraw.rectangleWidth(new Vector3f(interpolation, fontHeigh, 0.0f));
+ this.vectorialDraw.rectangleWidth(new Vector2f(interpolation, fontHeigh));
}
} else // LOGGER.debug(" generateString : \"" + (char)text[iii] + "\"");
if (this.needDisplay && this.colorBg.a() != 0) {
- final Vector3f pos = this.position;
+ final Vector2f pos = this.position;
this.vectorialDraw.setPos(pos);
printChar(text.charAt(iii));
- this.vectorialDraw.rectangleWidth(new Vector3f(this.position.x() - pos.x(), fontHeigh, 0.0f));
+ this.vectorialDraw.rectangleWidth(new Vector2f(this.position.x() - pos.x(), fontHeigh));
this.nbCharDisplayed++;
} else {
printChar(text.charAt(iii));
@@ -690,12 +687,12 @@ public abstract class TextBase extends Compositing {
} else if (text.charAt(stop.value) == (char) Character.SPACE_SEPARATOR) {
currentId = stop.value + 1;
// reset position :
- setPos(new Vector3f(this.startTextPos, this.position.y() - getHeight(), this.position.z()));
+ setPos(new Vector2f(this.startTextPos, this.position.y() - getHeight()));
this.nbCharDisplayed++;
} else if (text.charAt(stop.value) == (char) Character.LINE_SEPARATOR) {
currentId = stop.value + 1;
// reset position :
- setPos(new Vector3f(this.startTextPos, this.position.y() - getHeight(), this.position.z()));
+ setPos(new Vector2f(this.startTextPos, this.position.y() - getHeight()));
this.nbCharDisplayed++;
} else {
currentId = stop.value;
@@ -724,10 +721,10 @@ public abstract class TextBase extends Compositing {
public void printCursor(final boolean isInsertMode, final float cursorSize) {
final int fontHeigh = (int) getHeight();
if (isInsertMode) {
- this.vectorialDraw.rectangleWidth(new Vector3f(cursorSize, fontHeigh, 0));
+ this.vectorialDraw.rectangleWidth(new Vector2f(cursorSize, fontHeigh));
} else {
this.vectorialDraw.setThickness(2);
- this.vectorialDraw.lineRel(new Vector3f(0, fontHeigh, 0));
+ this.vectorialDraw.lineRel(new Vector2f(0, fontHeigh));
this.vectorialDraw.setThickness(0);
}
}
@@ -834,9 +831,9 @@ public abstract class TextBase extends Compositing {
* clear all the intermediate result detween 2 prints
*/
public void reset() {
- this.position = Vector3f.ZERO;
- this.clippingPosStart = Vector3f.ZERO;
- this.clippingPosStop = Vector3f.ZERO;
+ this.position = Vector2f.ZERO;
+ this.clippingPosStart = Vector2f.ZERO;
+ this.clippingPosStop = Vector2f.ZERO;
this.sizeDisplayStart = this.position;
this.sizeDisplayStop = this.position;
this.nbCharDisplayed = 0;
@@ -857,32 +854,27 @@ public abstract class TextBase extends Compositing {
}
@Override
- public void rotate(final Vector3f vect, final float angle) {
+ public void rotate(final Vector2f vect, final float angle) {
super.rotate(vect, angle);
this.vectorialDraw.rotate(vect, angle);
}
@Override
- public void scale(final Vector3f vect) {
+ public void scale(final Vector2f vect) {
super.scale(vect);
this.vectorialDraw.scale(vect);
}
- // ! @previous
- public void setClipping(final Vector2f pos, final Vector2f posEnd) {
- setClipping(new Vector3f(pos.x(), pos.y(), -1), new Vector3f(posEnd.x(), posEnd.y(), 1));
- }
-
/**
* Request a clipping area for the text (next draw only)
* @param pos Start position of the clipping
* @param posEnd End position of the clipping
*/
- public void setClipping(final Vector3f pos, final Vector3f posEnd) {
+ public void setClipping(final Vector2f pos, final Vector2f posEnd) {
// note the internal system all time request to have a bounding all time in the
// same order
- this.clippingPosStop = Vector3f.max(pos, posEnd);
- this.clippingPosStart = Vector3f.min(pos, posEnd);
+ this.clippingPosStop = Vector2f.max(pos, posEnd);
+ this.clippingPosStart = Vector2f.min(pos, posEnd);
this.clippingEnable = true;
this.vectorialDraw.setClipping(this.clippingPosStart, this.clippingPosStop);
}
@@ -898,17 +890,13 @@ public abstract class TextBase extends Compositing {
this.vectorialDraw.setClippingMode(this.clippingEnable);
}
- // ! @previous
- public void setClippingWidth(final Vector2f pos, final Vector2f width) {
- setClipping(pos, pos.add(width));
- }
/**
* Request a clipping area for the text (next draw only)
* @param pos Start position of the clipping
* @param width Width size of the clipping
*/
- public void setClippingWidth(final Vector3f pos, final Vector3f width) {
+ public void setClippingWidth(final Vector2f pos, final Vector2f width) {
setClipping(pos, pos.add(width));
}
@@ -1051,21 +1039,16 @@ public abstract class TextBase extends Compositing {
this.kerning = newMode;
}
- // ! @previous
- public void setPos(final Vector2f pos) {
- setPos(new Vector3f(pos.x(), pos.y(), 0));
- }
-
/**
* set position for the next text writen
* @param pos Position of the text (in 3D)
*/
- public void setPos(final Vector3f pos) {
+ public void setPos(final Vector2f pos) {
// check min max for display area
if (this.nbCharDisplayed != 0) {
//LOGGER.trace("update size 1 " + this.sizeDisplayStart + " " + this.sizeDisplayStop);
- this.sizeDisplayStop = Vector3f.max(this.position, this.sizeDisplayStop);
- this.sizeDisplayStart = Vector3f.min(this.position, this.sizeDisplayStart);
+ this.sizeDisplayStop = Vector2f.max(this.position, this.sizeDisplayStop);
+ this.sizeDisplayStart = Vector2f.min(this.position, this.sizeDisplayStart);
}
// update position
this.position = pos;
@@ -1078,22 +1061,17 @@ public abstract class TextBase extends Compositing {
//LOGGER.trace("update size 0 " + this.sizeDisplayStart + " " + this.sizeDisplayStop);
} else {
//LOGGER.trace("update size 3 " + this.sizeDisplayStart + " " + this.sizeDisplayStop);
- this.sizeDisplayStop = Vector3f.max(this.position, this.sizeDisplayStop);
- this.sizeDisplayStart = Vector3f.min(this.position, this.sizeDisplayStart);
+ this.sizeDisplayStop = Vector2f.max(this.position, this.sizeDisplayStop);
+ this.sizeDisplayStart = Vector2f.min(this.position, this.sizeDisplayStart);
//LOGGER.trace("update size 4 " + this.sizeDisplayStart + " " + this.sizeDisplayStop);
}
}
- // ! @previous
- public void setRelPos(final Vector2f pos) {
- setRelPos(new Vector3f(pos.x(), pos.y(), 0));
- }
-
/**
* set relative position for the next text written
* @param pos offset apply of the text (in 3D)
*/
- public void setRelPos(final Vector3f pos) {
+ public void setRelPos(final Vector2f pos) {
this.position = this.position.add(pos);
this.previousCharcode = 0;
this.vectorialDraw.setPos(this.position);
@@ -1129,7 +1107,7 @@ public abstract class TextBase extends Compositing {
}
@Override
- public void translate(final Vector3f vect) {
+ public void translate(final Vector2f vect) {
super.translate(vect);
this.vectorialDraw.translate(vect);
}
diff --git a/src/main/org/atriasoft/ewol/context/EwolContext.java b/src/main/org/atriasoft/ewol/context/EwolContext.java
index 784ecfa..bcde476 100644
--- a/src/main/org/atriasoft/ewol/context/EwolContext.java
+++ b/src/main/org/atriasoft/ewol/context/EwolContext.java
@@ -10,7 +10,7 @@ import java.time.Clock;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etranslate.ETranslate;
import org.atriasoft.ewol.event.EntrySystem;
import org.atriasoft.ewol.object.ObjectManager;
@@ -75,7 +75,7 @@ public class EwolContext extends GaleApplication {
return;
}
final Vector2f size = getSize();
- this.windowsCurrent.setSize(new Vector3f((int) size.x(), (int) size.y(), 0));
+ this.windowsCurrent.setSize(size.clipInteger());
this.windowsCurrent.onChangeSize();
/// Gale.getContext().aaaaaaaaaaaaaa();
}
diff --git a/src/main/org/atriasoft/ewol/context/InputManager.java b/src/main/org/atriasoft/ewol/context/InputManager.java
index a6ad6c1..c4f677c 100644
--- a/src/main/org/atriasoft/ewol/context/InputManager.java
+++ b/src/main/org/atriasoft/ewol/context/InputManager.java
@@ -9,7 +9,7 @@ import java.lang.ref.WeakReference;
import org.atriasoft.etk.math.FMath;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.event.InputSystem;
import org.atriasoft.ewol.widget.Widget;
import org.atriasoft.ewol.widget.Windows;
@@ -184,7 +184,7 @@ class InputManager {
// grab all events ...
tmpWidget = this.grabWidget.get();
} else if (tmpWindows != null) {
- tmpWidget = tmpWindows.getWidgetAtPos(new Vector3f(pos.x(), pos.y(), 0));
+ tmpWidget = tmpWindows.getWidgetAtPos(pos);
}
if (eventTable[pointerID].curentWidgetEvent != null
&& tmpWidget != eventTable[pointerID].curentWidgetEvent.get()
@@ -329,7 +329,7 @@ class InputManager {
if (tmpWidget != null && type == KeyType.mouse) {
eventTable[pointerID].curentWidgetEvent = new WeakReference<>(tmpWidget);
} else {
- tmpWidget = tmpWindows.getWidgetAtPos(new Vector3f(pos.x(), pos.y(), 0));
+ tmpWidget = tmpWindows.getWidgetAtPos(pos);
eventTable[pointerID].curentWidgetEvent = new WeakReference<>(tmpWidget);
/*
if (tmpWidget != null) {
@@ -461,7 +461,7 @@ class InputManager {
*/
public void unGrabPointer() {
this.grabWidget = null;
- // TODO this.context.grabPointerEvents(false, Vector3f(0,0));
+ // TODO this.context.grabPointerEvents(false, Vector2f(0,0));
}
}
@@ -478,17 +478,17 @@ class InputPoperty {
public boolean isUsed = false;
public long lastTimeEvent = 0; // in ns
public int nbClickEvent = 0; // 0 .. 1 .. 2 .. 3
- public Vector3f origin = Vector3f.ZERO;
+ public Vector2f origin = Vector2f.ZERO;
public Vector2f posEvent = Vector2f.ZERO;
- public Vector3f size = Vector3f.MAX_VALUE;
+ public Vector2f size = Vector2f.MAX_VALUE;
public void clear() {
this.isUsed = false;
this.destinationInputId = 0;
this.lastTimeEvent = System.nanoTime();
this.curentWidgetEvent = null;
- this.origin = Vector3f.ZERO;
- this.size = Vector3f.MAX_VALUE;
+ this.origin = Vector2f.ZERO;
+ this.size = Vector2f.MAX_VALUE;
this.downStart = Vector2f.ZERO;
this.isDown = false;
this.isInside = false;
diff --git a/src/main/org/atriasoft/ewol/resource/RefactorColored3DObject.java b/src/main/org/atriasoft/ewol/resource/RefactorColored3DObject.java
index 0466601..3d7778b 100644
--- a/src/main/org/atriasoft/ewol/resource/RefactorColored3DObject.java
+++ b/src/main/org/atriasoft/ewol/resource/RefactorColored3DObject.java
@@ -19,7 +19,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * simple display of Colored3DObject ==> for DEBUG only Not availlable on
+ * simple display of Colored3DObject ==> for DEBUG only Not available on
* ALL platform (like webGL)
*/
public class RefactorColored3DObject extends Resource {
diff --git a/src/main/org/atriasoft/ewol/widget/Box.java b/src/main/org/atriasoft/ewol/widget/Box.java
index 391f5c8..952e405 100644
--- a/src/main/org/atriasoft/ewol/widget/Box.java
+++ b/src/main/org/atriasoft/ewol/widget/Box.java
@@ -9,7 +9,7 @@ import org.atriasoft.etk.Dimension1f;
import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.compositing.CompositingSVG;
import org.atriasoft.ewol.event.EventTime;
import org.slf4j.Logger;
@@ -40,7 +40,7 @@ public class Box extends Container {
Vector2i startPosition = Vector2i.ZERO;
Vector2i endPosition = Vector2i.ZERO;
- public boolean isInside(final Vector3f value) {
+ public boolean isInside(final Vector2f value) {
return value.x() > this.startPosition.x() //
&& value.y() > this.startPosition.y() //
&& value.x() < this.endPosition.x() //
@@ -185,8 +185,8 @@ public class Box extends Container {
final Vector2f margin = this.propertyMargin.size().multiply(2);
final Vector2f calculatedBoxMinSize = childMinSize.add(margin).add(padding).add(borderSize);
- this.minSize = new Vector3f(calculatedBoxMinSize.x(), calculatedBoxMinSize.y(), 0);
- this.maxSize = Vector3f.max(this.minSize, this.propertyMaxSize.size());
+ this.minSize = calculatedBoxMinSize;
+ this.maxSize = Vector2f.max(this.minSize, this.propertyMaxSize.size());
markToRedraw();
}
@@ -204,7 +204,7 @@ public class Box extends Container {
final float localBorderSize = this.propertyBorderWidth.size();
final Vector2f offsetSubWidget = localPadding.add(localMargin).add(localBorderSize);
- Vector3f subWidgetSize = this.subWidget.getCalculateMinSize();
+ Vector2f subWidgetSize = this.subWidget.getCalculateMinSize();
if (this.subWidget.canExpand().x() && this.propertyFill.x()) {
subWidgetSize = subWidgetSize.withX(this.size.x());
} else {
@@ -215,13 +215,13 @@ public class Box extends Container {
} else {
subWidgetSize = subWidgetSize.withY(this.minSize.y());
}
- subWidgetSize = subWidgetSize.less(offsetSubWidget.x() * 2, offsetSubWidget.y() * 2, 0);
+ subWidgetSize = subWidgetSize.less(offsetSubWidget.multiply(2));
subWidgetSize = subWidgetSize.clipInteger();
- final Vector3f freeSizeWithoutWidget = this.size
- .less(new Vector3f(offsetSubWidget.x() * 2, offsetSubWidget.y() * 2, 0)).less(subWidgetSize);
- Vector3f subWidgetOrigin = this.origin.add(this.propertyGravity.gravityGenerateDelta(freeSizeWithoutWidget));
- subWidgetOrigin = subWidgetOrigin.add(new Vector3f(offsetSubWidget.x(), offsetSubWidget.y(), 0));
+ final Vector2f freeSizeWithoutWidget = this.size
+ .less(offsetSubWidget.multiply(2)).less(subWidgetSize);
+ Vector2f subWidgetOrigin = this.origin.add(this.propertyGravity.gravityGenerateDelta(freeSizeWithoutWidget));
+ subWidgetOrigin = subWidgetOrigin.add(offsetSubWidget);
subWidgetOrigin = subWidgetOrigin.clipInteger();
this.subWidget.setOrigin(subWidgetOrigin);
this.subWidget.setSize(subWidgetSize);
@@ -231,12 +231,12 @@ public class Box extends Container {
protected Vector2i renderOrigin;
protected Vector2i renderSize;
- private Vector3f calculateOriginRendering(final Vector3f renderSize) {
+ private Vector2f calculateOriginRendering(final Vector2f renderSize) {
return this.propertyGravity.gravityGenerateDelta(this.size.less(renderSize));
}
- private Vector3f calculateSizeRendering() {
- Vector3f tmpRenderSize = this.minSize;
+ private Vector2f calculateSizeRendering() {
+ Vector2f tmpRenderSize = this.minSize;
if (this.propertyFill.x()) {
tmpRenderSize = tmpRenderSize.withX(this.size.x());
}
@@ -254,11 +254,11 @@ public class Box extends Container {
}
final Vector2f localMargin = this.propertyMargin.size();
- Vector3f tmpRenderSize = calculateSizeRendering();
- Vector3f tmpRenderOrigin = calculateOriginRendering(tmpRenderSize);
+ Vector2f tmpRenderSize = calculateSizeRendering();
+ Vector2f tmpRenderOrigin = calculateOriginRendering(tmpRenderSize);
- tmpRenderOrigin = tmpRenderOrigin.add(localMargin.x(), localMargin.y(), 0);
- tmpRenderSize = tmpRenderSize.less(localMargin.x() * 2, localMargin.y() * 2, 0);
+ tmpRenderOrigin = tmpRenderOrigin.add(localMargin);
+ tmpRenderSize = tmpRenderSize.less(localMargin.multiply(2));
// not sure this is needed...
tmpRenderSize = tmpRenderSize.clipInteger();
tmpRenderOrigin = tmpRenderOrigin.clipInteger();
diff --git a/src/main/org/atriasoft/ewol/widget/Box2.java b/src/main/org/atriasoft/ewol/widget/Box2.java
deleted file mode 100644
index 34534f1..0000000
--- a/src/main/org/atriasoft/ewol/widget/Box2.java
+++ /dev/null
@@ -1,334 +0,0 @@
-package org.atriasoft.ewol.widget;
-
-import org.atriasoft.aknot.annotation.AknotAttribute;
-import org.atriasoft.aknot.annotation.AknotDescription;
-import org.atriasoft.aknot.annotation.AknotManaged;
-import org.atriasoft.aknot.annotation.AknotName;
-import org.atriasoft.etk.Color;
-import org.atriasoft.etk.Dimension1f;
-import org.atriasoft.etk.Dimension2f;
-import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.ewol.compositing.CompositingSVG;
-import org.atriasoft.ewol.event.EventTime;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class Box2 extends Container {
- private static final Logger LOGGER = LoggerFactory.getLogger(Box2.class);
- protected CompositingSVG compositing = new CompositingSVG();
-
- public static class BoxParameter {
- public Float margin;
- public Float padding;
- public Float borderWidth;
- public Float borderRadius;
- public String borderColor;
- public String color;
- }
-
- /**
- * Periodic call to update graphic display
- * @param event Time generic event
- */
- protected static void periodicCall(final Box2 self, final EventTime event) {
- LOGGER.trace("Periodic call on Entry(" + event + ")");
- self.markToRedraw();
- }
-
- Vector2i startPosition = Vector2i.ZERO;
- Vector2i endPosition = Vector2i.ZERO;
-
- public boolean isInside(final Vector3f value) {
- return value.x() > this.startPosition.x() //
- && value.y() > this.startPosition.y() //
- && value.x() < this.endPosition.x() //
- && value.y() < this.endPosition.y();
- }
-
- /**
- * Constructor
- */
- public Box2() {}
-
- /**
- * Constructor with his subWidget
- */
- public Box2(final Widget subWidget) {
- super(subWidget);
- }
-
- protected Dimension1f propertyBorderWidth = Dimension1f.ZERO;
-
- @AknotManaged
- @AknotAttribute
- @AknotName(value = "border-width")
- @AknotDescription(value = "Border of the box")
- public Dimension1f getPropertyBorderWidth() {
- return this.propertyBorderWidth;
- }
-
- public void setPropertyBorderWidth(final Dimension1f propertyBorder) {
- if (this.propertyBorderWidth.equals(propertyBorder)) {
- return;
- }
- this.propertyBorderWidth = propertyBorder;
- markToRedraw();
- requestUpdateSize();
- }
-
- protected Dimension1f propertyBorderRadius = new Dimension1f(0);
-
- @AknotManaged
- @AknotAttribute
- @AknotName(value = "border-radius")
- @AknotDescription(value = "Border radius of the box")
- public Dimension1f getPropertyBorderRadius() {
- return this.propertyBorderRadius;
- }
-
- public void setPropertyBorderRadius(final Dimension1f propertyBorderRadius) {
- if (this.propertyBorderRadius.equals(propertyBorderRadius)) {
- return;
- }
- this.propertyBorderRadius = propertyBorderRadius;
- markToRedraw();
- requestUpdateSize();
- }
-
- protected Color propertyBorderColor = Color.NONE;
-
- @AknotManaged
- @AknotAttribute
- @AknotName(value = "border-color")
- @AknotDescription(value = "Border color of the box")
- public Color getPropertyBorderColor() {
- return this.propertyBorderColor;
- }
-
- public void setPropertyBorderColor(final Color propertyBorderColor) {
- if (this.propertyBorderColor.equals(propertyBorderColor)) {
- return;
- }
- this.propertyBorderColor = propertyBorderColor;
- markToRedraw();
- requestUpdateSize();
- }
-
- protected Color propertyColor = Color.NONE;
-
- @AknotManaged
- @AknotAttribute
- @AknotName(value = "color")
- @AknotDescription(value = "Border color of the box")
- public Color getPropertyColor() {
- return this.propertyColor;
- }
-
- public void setPropertyColor(final Color propertyColor) {
- if (this.propertyColor.equals(propertyColor)) {
- return;
- }
- this.propertyColor = propertyColor;
- markToRedraw();
- requestUpdateSize();
- }
-
- protected Dimension2f propertyMargin = Dimension2f.ZERO;
-
- @AknotManaged
- @AknotAttribute
- @AknotName(value = "margin")
- @AknotDescription(value = "margin of the box")
- public Dimension2f getPropertyMargin() {
- return this.propertyMargin;
- }
-
- public void setPropertyMargin(final Dimension2f propertyMargin) {
- if (this.propertyMargin.equals(propertyMargin)) {
- return;
- }
- this.propertyMargin = propertyMargin;
- markToRedraw();
- requestUpdateSize();
- }
-
- protected Dimension2f propertyPadding = Dimension2f.ZERO;
-
- @AknotManaged
- @AknotAttribute
- @AknotName(value = "padding")
- @AknotDescription(value = "Padding of the box")
- public Dimension2f getPropertyPadding() {
- return this.propertyPadding;
- }
-
- public void setPropertyPadding(final Dimension2f propertyPadding) {
- if (this.propertyPadding.equals(propertyPadding)) {
- return;
- }
- this.propertyPadding = propertyPadding;
- markToRedraw();
- requestUpdateSize();
- }
-
- @Override
- public void calculateMinMaxSize() {
- super.calculateMinMaxSize();
- final Vector2f childMinSize = new Vector2f(this.minSize.x(), this.minSize.y());
-
- LOGGER.debug("calculate min size: border=" + this.propertyBorderWidth);
- final Vector2f borderSize = new Vector2f(this.propertyBorderWidth.size() * 2.0f,
- this.propertyBorderWidth.size() * 2.0f);
- final Vector2f padding = this.propertyPadding.size().multiply(2);
- final Vector2f margin = this.propertyMargin.size().multiply(2);
- final Vector2f calculatedBoxMinSize = childMinSize.add(margin).add(padding).add(borderSize);
-
- this.minSize = new Vector3f(calculatedBoxMinSize.x(), calculatedBoxMinSize.y(), 0);
- this.maxSize = Vector3f.max(this.minSize, this.propertyMaxSize.size());
- markToRedraw();
- }
-
- @Override
- public void onChangeSize() {
- markToRedraw();
- if (this.propertyHide) {
- return;
- }
- if (this.subWidget == null) {
- return;
- }
- final Vector2f localPadding = this.propertyPadding.size();
- final Vector2f localMargin = this.propertyMargin.size();
- final float localBorderSize = this.propertyBorderWidth.size();
- final Vector2f offsetSubWidget = localPadding.add(localMargin).add(localBorderSize);
-
- Vector3f subWidgetSize = this.subWidget.getCalculateMinSize();
- if (this.subWidget.canExpand().x() && this.propertyFill.x()) {
- subWidgetSize = subWidgetSize.withX(this.size.x());
- } else {
- subWidgetSize = subWidgetSize.withX(this.minSize.x());
- }
- if (this.subWidget.canExpand().y() && this.propertyFill.y()) {
- subWidgetSize = subWidgetSize.withY(this.size.y());
- } else {
- subWidgetSize = subWidgetSize.withY(this.minSize.y());
- }
- subWidgetSize = subWidgetSize.less(offsetSubWidget.x() * 2, offsetSubWidget.y() * 2, 0);
- subWidgetSize = subWidgetSize.clipInteger();
-
- final Vector3f freeSizeWithoutWidget = this.size
- .less(new Vector3f(offsetSubWidget.x() * 2, offsetSubWidget.y() * 2, 0)).less(subWidgetSize);
- Vector3f subWidgetOrigin = this.origin.add(this.propertyGravity.gravityGenerateDelta(freeSizeWithoutWidget));
- subWidgetOrigin = subWidgetOrigin.add(new Vector3f(offsetSubWidget.x(), offsetSubWidget.y(), 0));
- subWidgetOrigin = subWidgetOrigin.clipInteger();
- this.subWidget.setOrigin(subWidgetOrigin);
- this.subWidget.setSize(subWidgetSize);
- this.subWidget.onChangeSize();
- }
-
- protected Vector2i renderOrigin;
- protected Vector2i renderSize;
-
- private Vector3f calculateOriginRendering(final Vector3f renderSize) {
- return this.propertyGravity.gravityGenerateDelta(this.size.less(renderSize));
- }
-
- private Vector3f calculateSizeRendering() {
- Vector3f tmpRenderSize = this.minSize;
- if (this.propertyFill.x()) {
- tmpRenderSize = tmpRenderSize.withX(this.size.x());
- }
- if (this.propertyFill.y()) {
- tmpRenderSize = tmpRenderSize.withY(this.size.y());
- }
- return tmpRenderSize;
- }
-
- @Override
- public void onRegenerateDisplay() {
- super.onRegenerateDisplay();
- if (!needRedraw()) {
- //return;
- }
- final Vector2f localMargin = this.propertyMargin.size();
-
- Vector3f tmpRenderSize = calculateSizeRendering();
- Vector3f tmpRenderOrigin = calculateOriginRendering(tmpRenderSize);
-
- tmpRenderOrigin = tmpRenderOrigin.add(localMargin.x(), localMargin.y(), 0);
- tmpRenderSize = tmpRenderSize.less(localMargin.x() * 2, localMargin.y() * 2, 0);
- // not sure this is needed...
- tmpRenderSize = tmpRenderSize.clipInteger();
- tmpRenderOrigin = tmpRenderOrigin.clipInteger();
-
- this.renderOrigin = new Vector2i((int) tmpRenderOrigin.x(), (int) tmpRenderOrigin.y());
- this.renderSize = new Vector2i((int) tmpRenderSize.x(), (int) tmpRenderSize.y());
- //System.out.println("renderSize: " + this.renderSize);
- // remove data of the previous composition :
- this.compositing.clear();
- final int borderSize = (int) this.propertyBorderWidth.size();
- final int paddingCompensateBorder = Math.round(borderSize * 0.5f);
- if (borderSize > 0.0f) {
- this.compositing.setSource("""
- """.formatted( //
- this.renderSize.x(), this.renderSize.y(), //
- paddingCompensateBorder, paddingCompensateBorder, //
- this.renderSize.x() - 2 * paddingCompensateBorder,
- this.renderSize.y() - 2 * paddingCompensateBorder, //
- (int) this.propertyBorderRadius.size(), //
- (int) this.propertyBorderRadius.size(), //
- this.propertyColor.toStringSharp(), //
- this.propertyBorderColor.toStringSharp(), //
- borderSize //
- ), //
- this.renderSize);
- } else {
- this.compositing.setSource("""
- """.formatted( //
- this.renderSize.x(), this.renderSize.y(), //
- paddingCompensateBorder, paddingCompensateBorder, //
- this.renderSize.x() - 2 * paddingCompensateBorder,
- this.renderSize.y() - 2 * paddingCompensateBorder, //
- this.propertyColor.toStringSharp() //
- ), //
- this.renderSize);
- }
- this.compositing.setPos(this.renderOrigin);
- // For events:
- this.startPosition = this.renderOrigin;
- this.endPosition = this.renderOrigin.add(this.renderSize);
- this.compositing.print(this.renderSize);
- this.compositing.flush();
- }
-
- @Override
- protected void onDraw() {
- if (this.compositing != null) {
- this.compositing.draw(true);
- }
- super.onDraw();
- }
-
-}
diff --git a/src/main/org/atriasoft/ewol/widget/Button.java b/src/main/org/atriasoft/ewol/widget/Button.java
index 61ef196..348934f 100644
--- a/src/main/org/atriasoft/ewol/widget/Button.java
+++ b/src/main/org/atriasoft/ewol/widget/Button.java
@@ -12,8 +12,8 @@ import org.atriasoft.etk.Dimension1f;
import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.Gravity;
import org.atriasoft.ewol.event.EventEntry;
import org.atriasoft.ewol.event.EventInput;
@@ -40,8 +40,8 @@ public class Button extends Box {
final Button out = new Button();
final Label labelWidget = new Label();
labelWidget.setPropertyFontSize(12);
- labelWidget.setPropertyFill(Vector3b.FALSE);
- labelWidget.setPropertyExpand(Vector3b.FALSE);
+ labelWidget.setPropertyFill(Vector2b.FALSE);
+ labelWidget.setPropertyExpand(Vector2b.FALSE);
labelWidget.setPropertyGravity(Gravity.CENTER);
labelWidget.setPropertyValue(label);
out.setSubWidget(labelWidget);
@@ -97,8 +97,8 @@ public class Button extends Box {
//onChangePropertyShaper();
// can not support multiple click...
setMouseLimit(1);
- setPropertyExpand(Vector3b.TRUE);
- setPropertyFill(Vector3b.TRUE);
+ setPropertyExpand(Vector2b.TRUE);
+ setPropertyFill(Vector2b.TRUE);
setPropertyBorderWidth(new Dimension1f(4));
//setPropertyBorderRadius(new Dimension1f(15));
setPropertyBorderColor(Color.BLACK);
@@ -128,7 +128,7 @@ public class Button extends Box {
@Override
public boolean onEventInput(final EventInput event) {
- final Vector3f relPos = relativePosition(new Vector3f(event.pos().x(), event.pos().y(), 0));
+ final Vector2f relPos = relativePosition(event.pos());
//LOGGER.warn("Event on Input ... " + event + " relPos = " + relPos);
final boolean over = isInside(relPos);
//filter if outside the element...
diff --git a/src/main/org/atriasoft/ewol/widget/CheckBox.java b/src/main/org/atriasoft/ewol/widget/CheckBox.java
index 27c3d19..fd6290d 100644
--- a/src/main/org/atriasoft/ewol/widget/CheckBox.java
+++ b/src/main/org/atriasoft/ewol/widget/CheckBox.java
@@ -7,7 +7,7 @@ import org.atriasoft.aknot.annotation.AknotName;
import org.atriasoft.aknot.annotation.AknotSignal;
import org.atriasoft.esignal.Signal;
import org.atriasoft.esignal.SignalEmpty;
-import org.atriasoft.etk.math.Vector3b;
+import org.atriasoft.etk.math.Vector2b;
import org.atriasoft.ewol.Gravity;
import org.atriasoft.ewol.widget.Sizer.DisplayMode;
@@ -60,13 +60,13 @@ public class CheckBox extends Container {
public CheckBox(final String basicLabel) {
final Sizer subs = new Sizer(DisplayMode.HORIZONTAL);
- subs.setPropertyLockExpand(Vector3b.TRUE);
+ subs.setPropertyLockExpand(Vector2b.TRUE);
subs.setPropertyGravity(Gravity.CENTER);
setSubWidget(subs);
this.tick = new Tick();
- this.tick.setPropertyExpand(new Vector3b(false, true, true));
- this.tick.setPropertyFill(Vector3b.FALSE);
+ this.tick.setPropertyExpand(Vector2b.FALSE_TRUE);
+ this.tick.setPropertyFill(Vector2b.FALSE);
this.tick.setPropertyGravity(Gravity.CENTER);
subs.subWidgetAdd(this.tick);
this.tick.signalClick.connectAuto(this, CheckBox::eventTickClick);
@@ -75,8 +75,8 @@ public class CheckBox extends Container {
this.tick.signalValue.connectAuto(this, CheckBox::eventTickValue);
this.label = new Label(basicLabel);
- this.label.setPropertyExpand(Vector3b.TRUE);
- this.label.setPropertyFill(Vector3b.FALSE);
+ this.label.setPropertyExpand(Vector2b.TRUE);
+ this.label.setPropertyFill(Vector2b.FALSE);
this.label.setPropertyGravity(Gravity.LEFT);
subs.subWidgetAdd(this.label);
this.label.signalPressed.connectAuto(this, CheckBox::eventLabelClick);
diff --git a/src/main/org/atriasoft/ewol/widget/Composer.java b/src/main/org/atriasoft/ewol/widget/Composer.java
index b0d7ebf..0442ae2 100644
--- a/src/main/org/atriasoft/ewol/widget/Composer.java
+++ b/src/main/org/atriasoft/ewol/widget/Composer.java
@@ -11,10 +11,10 @@ import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotManaged;
import org.atriasoft.aknot.annotation.AknotName;
import org.atriasoft.aknot.exception.AknotException;
-import org.atriasoft.etk.Dimension3f;
+import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Uri;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.Gravity;
import org.atriasoft.ewol.object.EwolObject;
@@ -111,7 +111,7 @@ public class Composer extends Container {
}
@Override
- public Vector3b canExpand() {
+ public Vector2b canExpand() {
if (this.subWidget != null) {
return this.subWidget.canExpand();
@@ -120,7 +120,7 @@ public class Composer extends Container {
}
@Override
- public Vector3b canExpandIfFree() {
+ public Vector2b canExpandIfFree() {
if (this.subWidget != null) {
return this.subWidget.canExpandIfFree();
@@ -129,7 +129,7 @@ public class Composer extends Container {
}
@Override
- public Vector3b canFill() {
+ public Vector2b canFill() {
if (this.subWidget != null) {
return this.subWidget.canFill();
@@ -166,7 +166,7 @@ public class Composer extends Container {
}
@Override
- public Vector3f getCalculateMaxSize() {
+ public Vector2f getCalculateMaxSize() {
if (this.subWidget != null) {
return this.subWidget.getCalculateMaxSize();
@@ -175,7 +175,7 @@ public class Composer extends Container {
}
@Override
- public Vector3f getCalculateMinSize() {
+ public Vector2f getCalculateMinSize() {
if (this.subWidget != null) {
return this.subWidget.getCalculateMinSize();
@@ -220,7 +220,7 @@ public class Composer extends Container {
}
@Override
- Vector3f getOffset() {
+ Vector2f getOffset() {
if (this.subWidget != null) {
return this.subWidget.getOffset();
}
@@ -228,7 +228,7 @@ public class Composer extends Container {
}
@Override
- public Vector3f getOrigin() {
+ public Vector2f getOrigin() {
if (this.subWidget != null) {
return this.subWidget.getOrigin();
}
@@ -245,7 +245,7 @@ public class Composer extends Container {
}
@Override
- public Vector3b getPropertyExpand() {
+ public Vector2b getPropertyExpand() {
if (this.subWidget != null) {
return this.subWidget.getPropertyExpand();
@@ -254,7 +254,7 @@ public class Composer extends Container {
}
@Override
- public Vector3b getPropertyExpandIfFree() {
+ public Vector2b getPropertyExpandIfFree() {
if (this.subWidget != null) {
return this.subWidget.getPropertyExpandIfFree();
@@ -263,7 +263,7 @@ public class Composer extends Container {
}
@Override
- public Vector3b getPropertyFill() {
+ public Vector2b getPropertyFill() {
if (this.subWidget != null) {
return this.subWidget.getPropertyFill();
@@ -290,7 +290,7 @@ public class Composer extends Container {
}
@Override
- public Dimension3f getPropertyMaxSize() {
+ public Dimension2f getPropertyMaxSize() {
if (this.subWidget != null) {
return this.subWidget.getPropertyMaxSize();
@@ -299,7 +299,7 @@ public class Composer extends Container {
}
@Override
- public Dimension3f getPropertyMinSize() {
+ public Dimension2f getPropertyMinSize() {
if (this.subWidget != null) {
return this.subWidget.getPropertyMinSize();
@@ -316,7 +316,7 @@ public class Composer extends Container {
}
@Override
- public Vector3f getSize() {
+ public Vector2f getSize() {
if (this.subWidget != null) {
return this.subWidget.getSize();
@@ -482,7 +482,7 @@ public class Composer extends Container {
}
@Override
- public Vector3f relativePosition(final Vector3f pos) {
+ public Vector2f relativePosition(final Vector2f pos) {
if (this.subWidget != null) {
return this.subWidget.relativePosition(pos);
}
@@ -560,7 +560,7 @@ public class Composer extends Container {
}
@Override
- public void setOffset(final Vector3f newVal) {
+ public void setOffset(final Vector2f newVal) {
if (this.subWidget != null) {
this.subWidget.setOffset(newVal);
return;
@@ -569,7 +569,7 @@ public class Composer extends Container {
}
@Override
- public void setOrigin(final Vector3f pos) {
+ public void setOrigin(final Vector2f pos) {
if (this.subWidget != null) {
this.subWidget.setOrigin(pos);
return;
@@ -587,7 +587,7 @@ public class Composer extends Container {
}
@Override
- public void setPropertyExpand(final Vector3b value) {
+ public void setPropertyExpand(final Vector2b value) {
if (this.subWidget != null) {
this.subWidget.setPropertyExpand(value);
return;
@@ -596,7 +596,7 @@ public class Composer extends Container {
}
@Override
- public void setPropertyExpandIfFree(final Vector3b value) {
+ public void setPropertyExpandIfFree(final Vector2b value) {
if (this.subWidget != null) {
this.subWidget.setPropertyExpandIfFree(value);
return;
@@ -605,7 +605,7 @@ public class Composer extends Container {
}
@Override
- public void setPropertyFill(final Vector3b value) {
+ public void setPropertyFill(final Vector2b value) {
if (this.subWidget != null) {
this.subWidget.setPropertyFill(value);
return;
@@ -632,7 +632,7 @@ public class Composer extends Container {
}
@Override
- public void setPropertyMaxSize(final Dimension3f value) {
+ public void setPropertyMaxSize(final Dimension2f value) {
if (this.subWidget != null) {
this.subWidget.setPropertyMaxSize(value);
return;
@@ -641,7 +641,7 @@ public class Composer extends Container {
}
@Override
- public void setPropertyMinSize(final Dimension3f value) {
+ public void setPropertyMinSize(final Dimension2f value) {
if (this.subWidget != null) {
this.subWidget.setPropertyMinSize(value);
return;
@@ -665,7 +665,7 @@ public class Composer extends Container {
}
@Override
- public void setSize(final Vector3f value) {
+ public void setSize(final Vector2f value) {
if (this.subWidget != null) {
this.subWidget.setSize(value);
return;
diff --git a/src/main/org/atriasoft/ewol/widget/Container.java b/src/main/org/atriasoft/ewol/widget/Container.java
index d2439a8..67e499d 100644
--- a/src/main/org/atriasoft/ewol/widget/Container.java
+++ b/src/main/org/atriasoft/ewol/widget/Container.java
@@ -9,8 +9,8 @@ import org.atriasoft.aknot.annotation.AknotAttribute;
import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotFactory;
import org.atriasoft.aknot.annotation.AknotManaged;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.object.EwolObject;
import org.slf4j.Logger;
@@ -43,8 +43,8 @@ public class Container extends Widget {
// call sub classes
if (this.subWidget != null) {
this.subWidget.calculateMinMaxSize();
- final Vector3f min = this.subWidget.getCalculateMinSize();
- this.minSize = Vector3f.max(this.minSize, min);
+ final Vector2f min = this.subWidget.getCalculateMinSize();
+ this.minSize = Vector2f.max(this.minSize, min);
}
LOGGER.trace("[{}] Result min size : {}", getId(), this.minSize);
}
@@ -83,7 +83,7 @@ public class Container extends Widget {
}
@Override
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
if (!this.propertyHide) {
if (this.subWidget != null) {
return this.subWidget.getWidgetAtPos(pos);
@@ -146,9 +146,9 @@ public class Container extends Widget {
if (this.subWidget == null) {
return;
}
- Vector3f origin = this.origin.add(this.offset);
- final Vector3f minSize = this.subWidget.getCalculateMinSize();
- final Vector3b expand = this.subWidget.getPropertyExpand();
+ Vector2f origin = this.origin.add(this.offset);
+ final Vector2f minSize = this.subWidget.getCalculateMinSize();
+ final Vector2b expand = this.subWidget.getPropertyExpand();
origin = origin.add(this.propertyGravity.gravityGenerateDelta(minSize.less(this.size)));
this.subWidget.setOrigin(origin);
this.subWidget.setSize(this.size);
@@ -176,7 +176,7 @@ public class Container extends Widget {
}
@Override
- public void setOffset(final Vector3f newVal) {
+ public void setOffset(final Vector2f newVal) {
if (this.offset.equals(newVal)) {
return;
}
diff --git a/src/main/org/atriasoft/ewol/widget/ContainerN.java b/src/main/org/atriasoft/ewol/widget/ContainerN.java
index 1d7098d..e275921 100644
--- a/src/main/org/atriasoft/ewol/widget/ContainerN.java
+++ b/src/main/org/atriasoft/ewol/widget/ContainerN.java
@@ -15,8 +15,8 @@ import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotFactory;
import org.atriasoft.aknot.annotation.AknotManaged;
import org.atriasoft.aknot.annotation.AknotName;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.object.EwolObject;
import org.slf4j.Logger;
@@ -29,8 +29,8 @@ import org.slf4j.LoggerFactory;
public class ContainerN extends Widget {
private static final Logger LOGGER = LoggerFactory.getLogger(ContainerN.class);
- protected Vector3b propertyLockExpand = Vector3b.FALSE; //!< Lock the expend of the sub widget to this one == > this permit to limit bigger subWidget
- protected Vector3b subExpend = Vector3b.FALSE; //!< reference of the sub element expention requested.
+ protected Vector2b propertyLockExpand = Vector2b.FALSE; //!< Lock the expend of the sub widget to this one == > this permit to limit bigger subWidget
+ protected Vector2b subExpend = Vector2b.FALSE; //!< reference of the sub element expention requested.
protected List subWidget = new ArrayList<>();
/**
@@ -40,22 +40,22 @@ public class ContainerN extends Widget {
@Override
public void calculateMinMaxSize() {
- this.subExpend = Vector3b.FALSE;
- this.minSize = Vector3f.ZERO;
- this.maxSize = Vector3f.MAX_VALUE;
+ this.subExpend = Vector2b.FALSE;
+ this.minSize = Vector2f.ZERO;
+ this.maxSize = Vector2f.MAX_VALUE;
//LOGGER.error("[" + getId() + "] {" + getObjectType() + "} set min size : " + this.minSize);
for (final Widget it : this.subWidget) {
if (it != null) {
it.calculateMinMaxSize();
- final Vector3b subExpendProp = it.canExpand();
+ final Vector2b subExpendProp = it.canExpand();
if (subExpendProp.x()) {
this.subExpend = this.subExpend.withX(true);
}
if (subExpendProp.y()) {
this.subExpend = this.subExpend.withX(true);
}
- final Vector3f tmpSize = it.getCalculateMinSize();
- this.minSize = Vector3f.max(tmpSize, this.minSize);
+ final Vector2f tmpSize = it.getCalculateMinSize();
+ this.minSize = Vector2f.max(tmpSize, this.minSize);
}
}
LOGGER.warn("[{}] Result min size : {}", getId(), this.minSize);
@@ -63,8 +63,8 @@ public class ContainerN extends Widget {
// herited function
@Override
- public Vector3b canExpand() {
- Vector3b res = this.propertyExpand;
+ public Vector2b canExpand() {
+ Vector2b res = this.propertyExpand;
if (!this.propertyLockExpand.x()) {
if (this.subExpend.x()) {
res = res.withX(true);
@@ -94,7 +94,7 @@ public class ContainerN extends Widget {
@AknotAttribute
@AknotName(value = "lock")
@AknotDescription(value = "Lock the subwidget expand")
- public Vector3b getPropertyLockExpand() {
+ public Vector2b getPropertyLockExpand() {
return this.propertyLockExpand;
}
@@ -123,15 +123,15 @@ public class ContainerN extends Widget {
}
@Override
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
if (this.propertyHide) {
return null;
}
// for all element in the sizer ...
for (final Widget it : this.subWidget) {
if (it != null) {
- final Vector3f tmpSize = it.getSize();
- final Vector3f tmpOrigin = it.getOrigin();
+ final Vector2f tmpSize = it.getSize();
+ final Vector2f tmpOrigin = it.getOrigin();
if ((tmpOrigin.x() <= pos.x() && tmpOrigin.x() + tmpSize.x() >= pos.x())
&& (tmpOrigin.y() <= pos.y() && tmpOrigin.y() + tmpSize.y() >= pos.y())) {
final Widget tmpWidget = it.getWidgetAtPos(pos);
@@ -187,7 +187,7 @@ public class ContainerN extends Widget {
}
@Override
- public void setOffset(final Vector3f newVal) {
+ public void setOffset(final Vector2f newVal) {
if (this.offset != newVal) {
super.setOffset(newVal);
// recalculate the new sise and position of sub widget ...
@@ -195,7 +195,7 @@ public class ContainerN extends Widget {
}
}
- public void setPropertyLockExpand(final Vector3b propertyLockExpand) {
+ public void setPropertyLockExpand(final Vector2b propertyLockExpand) {
if (propertyLockExpand.equals(this.propertyLockExpand)) {
return;
}
diff --git a/src/main/org/atriasoft/ewol/widget/ContainerToggle.java b/src/main/org/atriasoft/ewol/widget/ContainerToggle.java
index 430e0a7..92d04ee 100644
--- a/src/main/org/atriasoft/ewol/widget/ContainerToggle.java
+++ b/src/main/org/atriasoft/ewol/widget/ContainerToggle.java
@@ -8,7 +8,7 @@ package org.atriasoft.ewol.widget;
import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotFactory;
import org.atriasoft.aknot.annotation.AknotManaged;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.Padding;
import org.atriasoft.ewol.object.EwolObject;
@@ -17,7 +17,7 @@ import org.slf4j.LoggerFactory;
/*
* @ingroup ewolWidgetGroup
- * the Cotainer widget is a widget that have an only one subWidget
+ * the Container widget is a widget that have an only one subWidget
*/
public class ContainerToggle extends Widget {
private static final Logger LOGGER = LoggerFactory.getLogger(ContainerToggle.class);
@@ -34,17 +34,17 @@ public class ContainerToggle extends Widget {
void calculateMinMaxSizePadded(final Padding padding) {
// call main class
- this.minSize = Vector3f.ZERO;
+ this.minSize = Vector2f.ZERO;
// call sub classes
for (final Widget element : this.subWidget) {
if (element != null) {
element.calculateMinMaxSize();
- final Vector3f min = element.getCalculateMinSize();
+ final Vector2f min = element.getCalculateMinSize();
this.minSize = this.minSize.max(min);
}
}
// add padding :
- this.minSize = this.minSize.add(padding.x(), padding.y(), padding.z());
+ this.minSize = this.minSize.add(padding.x(), padding.y());
// verify the min max of the min size ...
checkMinSize();
//markToRedraw();
@@ -90,26 +90,23 @@ public class ContainerToggle extends Widget {
public Padding onChangeSizePadded(final Padding padding) {
super.onChangeSize();
- final Vector3f localAvaillable = this.size.less(padding.x(), padding.y(), padding.z());
+ final Vector2f localAvaillable = this.size.less(padding.x(), padding.y());
// Checking the filling properties == > for the subElements:
- Vector3f subElementSize = this.minSize.less(padding.x(), padding.y(), padding.z());
+ Vector2f subElementSize = this.minSize.less(padding.x(), padding.y());
if (this.propertyFill.x()) {
subElementSize = subElementSize.withX(this.size.x() - padding.x());
}
if (this.propertyFill.y()) {
subElementSize = subElementSize.withY(this.size.y() - padding.y());
}
- if (this.propertyFill.z()) {
- subElementSize = subElementSize.withZ(this.size.z() - padding.z());
- }
- final Vector3f delta = this.propertyGravity
- .gravityGenerateDelta(this.size.less(subElementSize.add(padding.x(), padding.y(), padding.z())));
- final Vector3f deltaPadded = delta.add(padding.left(), padding.bottom(), padding.back());
+ final Vector2f delta = this.propertyGravity
+ .gravityGenerateDelta(this.size.less(subElementSize.add(padding.x(), padding.y())));
+ final Vector2f deltaPadded = delta.add(padding.left(), padding.bottom());
//subElementSize = subElementSize.less(padding.x(), padding.y(), padding.z());
for (final Widget element : this.subWidget) {
if (element != null) {
- //final Vector3f origin2 = this.origin.add(this.offset);
- //final Vector3f minSize = this.subWidget[iii].getCalculateMinSize();
+ //final Vector2f origin2 = this.origin.add(this.offset);
+ //final Vector2f minSize = this.subWidget[iii].getCalculateMinSize();
//Vector2b expand = this.subWidget[iii].propertyExpand.get();
//origin2 = origin2.add(this.propertyGravity.gravityGenerateDelta(minSize.less(localAvaillable)));
element.setOrigin(this.origin.add(deltaPadded));
@@ -117,9 +114,9 @@ public class ContainerToggle extends Widget {
element.onChangeSize();
}
}
- final Vector3f selectableAreaPos = this.origin.add(delta);//.less(padding.left(), padding.bottom(), padding.back());
- final Vector3f selectableAreaEndPos = this.size
- .less(selectableAreaPos.add(subElementSize.add(padding.x(), padding.y(), padding.z())));
+ final Vector2f selectableAreaPos = this.origin.add(delta);//.less(padding.left(), padding.bottom(), padding.back());
+ final Vector2f selectableAreaEndPos = this.size
+ .less(selectableAreaPos.add(subElementSize.add(padding.x(), padding.y())));
markToRedraw();
return new Padding(selectableAreaPos.x(), selectableAreaEndPos.y(), selectableAreaEndPos.x(),
selectableAreaPos.y());
@@ -153,7 +150,7 @@ public class ContainerToggle extends Widget {
}
@Override
- public void setOffset(final Vector3f newVal) {
+ public void setOffset(final Vector2f newVal) {
if (this.offset.equals(newVal)) {
return;
}
diff --git a/src/main/org/atriasoft/ewol/widget/Entry.java b/src/main/org/atriasoft/ewol/widget/Entry.java
index 3a4aaf0..7059898 100644
--- a/src/main/org/atriasoft/ewol/widget/Entry.java
+++ b/src/main/org/atriasoft/ewol/widget/Entry.java
@@ -15,7 +15,7 @@ import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.FMath;
import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.Padding;
import org.atriasoft.ewol.compositing.CompositingSVG;
import org.atriasoft.ewol.compositing.CompositingText;
@@ -45,7 +45,7 @@ public class Entry extends Widget {
private static final Logger LOGGER = LoggerFactory.getLogger(Entry.class);
/**
- * Periodic call to update grapgic display
+ * Periodic call to update graphic display
* @param _event Time generic event
*/
protected static void periodicCall(final Entry self, final EventTime event) {
@@ -103,9 +103,9 @@ public class Entry extends Widget {
@AknotDescription("Entry box value change")
public Signal signalModify = new Signal<>(); //!< data change
// element over:
- Vector3f overPositionStart = Vector3f.ZERO;
+ Vector2f overPositionStart = Vector2f.ZERO;
- Vector3f overPositionStop = Vector3f.ZERO;
+ Vector2f overPositionStop = Vector2f.ZERO;
/**
* Constructor
@@ -137,10 +137,10 @@ public class Entry extends Widget {
final Padding padding = Padding.ZERO;
final int minHeight = (int) this.text.getHeight();//calculateSize('A').y();
- Vector3f minimumSizeBase = new Vector3f(20, minHeight, 10);
+ Vector2f minimumSizeBase = new Vector2f(20, minHeight);
// add padding :
- minimumSizeBase = minimumSizeBase.add(padding.x(), padding.y(), padding.z());
- this.minSize = Vector3f.max(this.minSize, minimumSizeBase);
+ minimumSizeBase = minimumSizeBase.add(padding.x(), padding.y());
+ this.minSize = Vector2f.max(this.minSize, minimumSizeBase);
// verify the min max of the min size ...
checkMinSize();
//LOGGER.trace("min size = " + this.minSize);
@@ -405,8 +405,8 @@ public class Entry extends Widget {
@Override
public boolean onEventInput(final EventInput event) {
- final Vector3f absolutePosition = new Vector3f(event.pos().x(), event.pos().y(), 0);
- final Vector3f relPos = relativePosition(absolutePosition);
+ final Vector2f absolutePosition = event.pos();
+ final Vector2f relPos = relativePosition(absolutePosition);
LOGGER.trace("Event on Input ... " + event + " relPos = " + relPos);
if (event.inputId() == 0) {
if (!isFocused()) {
@@ -539,8 +539,8 @@ public class Entry extends Widget {
updateTextPosition();
final Padding padding = Padding.ZERO;
- Vector3f tmpSizeShaper = this.minSize;
- Vector3f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
+ Vector2f tmpSizeShaper = this.minSize;
+ Vector2f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
if (this.propertyFill.x()) {
tmpSizeShaper = tmpSizeShaper.withX(this.size.x());
delta = delta.withX(0.0f);
@@ -549,31 +549,27 @@ public class Entry extends Widget {
tmpSizeShaper = tmpSizeShaper.withY(this.size.y());
delta = delta.withY(0.0f);
}
- if (this.propertyFill.z()) {
- tmpSizeShaper = tmpSizeShaper.withZ(this.size.z());
- delta = delta.withZ(0.0f);
- }
- Vector3f tmpOriginShaper = delta;
- //Vector3f tmpOriginShaper = this.size.less(tmpSizeShaper).multiply(0.5f);
- Vector3f tmpSizeText = tmpSizeShaper.less(padding.x(), padding.y(), padding.z());
- Vector3f tmpOriginText = tmpOriginShaper.add(padding.bottom(), padding.left(), padding.back()); //this.size.less(tmpSizeText).multiply(0.5f);
- //Vector3f tmpOriginText = new Vector3f(0, this.text.getSize(), 0);
+ Vector2f tmpOriginShaper = delta;
+ //Vector2f tmpOriginShaper = this.size.less(tmpSizeShaper).multiply(0.5f);
+ Vector2f tmpSizeText = tmpSizeShaper.less(padding.x(), padding.y());
+ Vector2f tmpOriginText = tmpOriginShaper.add(padding.bottom(), padding.left()); //this.size.less(tmpSizeText).multiply(0.5f);
+ //Vector2f tmpOriginText = new Vector2f(0, this.text.getSize(), 0);
// sometimes, the user define an height bigger than the real size needed == > in this case we need to center the text in the shaper ...
final int minHeight = (int) this.text.getHeight();
if (tmpSizeText.y() > minHeight) {
- tmpOriginText = tmpOriginText.add(0, (tmpSizeText.y() - minHeight) * 0.5f, 0);
+ tmpOriginText = tmpOriginText.add(0, (tmpSizeText.y() - minHeight) * 0.5f);
}
// fix all the position in the int class:
- tmpSizeShaper = Vector3f.clipInt(tmpSizeShaper);
- tmpOriginShaper = Vector3f.clipInt(tmpOriginShaper);
- tmpSizeText = Vector3f.clipInt(tmpSizeText);
- tmpOriginText = Vector3f.clipInt(tmpOriginText);
+ tmpSizeShaper = Vector2f.clipInt(tmpSizeShaper);
+ tmpOriginShaper = Vector2f.clipInt(tmpOriginShaper);
+ tmpSizeText = Vector2f.clipInt(tmpSizeText);
+ tmpOriginText = Vector2f.clipInt(tmpOriginText);
this.text.clear();
//this.text.setSize((int) tmpSizeText.x(), (int) tmpSizeText.y());
this.text.setClippingWidth(tmpOriginText, tmpSizeText);
- this.text.setPos(tmpOriginText.add(this.displayStartPosition, 0, 0));
+ this.text.setPos(tmpOriginText.add(this.displayStartPosition, 0));
if (this.displayCursorPosSelection != this.displayCursorPos) {
this.text.setCursorSelection(this.displayCursorPos, this.displayCursorPosSelection);
} else {
@@ -748,14 +744,14 @@ public class Entry extends Widget {
* @param pos Absolute position of the event
* @note The display is automaticly requested when change apear.
*/
- protected void updateCursorPosition(final Vector3f pos) {
+ protected void updateCursorPosition(final Vector2f pos) {
updateCursorPosition(pos, false);
}
- protected void updateCursorPosition(final Vector3f pos, final boolean selection/*=false*/) {
+ protected void updateCursorPosition(final Vector2f pos, final boolean selection/*=false*/) {
final Padding padding = Padding.ZERO;
- final Vector3f relPos = relativePosition(pos).less(this.overPositionStart);
+ final Vector2f relPos = relativePosition(pos).less(this.overPositionStart);
// reject when outside ...
// try to find the new cursor position :
diff --git a/src/main/org/atriasoft/ewol/widget/Gird.java b/src/main/org/atriasoft/ewol/widget/Gird.java
index ff01ea0..86ea548 100644
--- a/src/main/org/atriasoft/ewol/widget/Gird.java
+++ b/src/main/org/atriasoft/ewol/widget/Gird.java
@@ -8,7 +8,7 @@ package org.atriasoft.ewol.widget;
import java.util.ArrayList;
import java.util.List;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.DrawProperty;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,7 +32,7 @@ class Gird extends Widget {
protected Widget tmpWidget = null; //!< use when replace a widget ...
protected boolean gavityButtom = true;
- protected Vector3f propertyBorderSize = Vector3f.ZERO; //!< Border size needed for all the display
+ protected Vector2f propertyBorderSize = Vector2f.ZERO; //!< Border size needed for all the display
/**
* Constructor
@@ -61,7 +61,7 @@ class Gird extends Widget {
}
if (this.subWidget.get(iii).widget != null) {
this.subWidget.get(iii).widget.calculateMinMaxSize();
- final Vector3f tmpSize = this.subWidget.get(iii).widget.getCalculateMinSize();
+ final Vector2f tmpSize = this.subWidget.get(iii).widget.getCalculateMinSize();
LOGGER.debug(" [" + iii + "] subWidgetMinSize=" + tmpSize);
// for all we get the max size :
this.uniformSizeRow = Math.max((int) tmpSize.y(), this.uniformSizeRow);
@@ -82,7 +82,7 @@ class Gird extends Widget {
}
LOGGER.debug(" tmpSizeWidth=" + tmpSizeWidth);
LOGGER.debug(" this.uniformSizeRow=" + this.uniformSizeRow);
- this.minSize = this.minSize.add(tmpSizeWidth, (lastLineID + 1) * this.uniformSizeRow, 0);
+ this.minSize = this.minSize.add(tmpSizeWidth, (lastLineID + 1) * this.uniformSizeRow);
LOGGER.debug("Calculate min size : " + this.minSize);
@@ -93,7 +93,7 @@ class Gird extends Widget {
* get the current border size of the current element:
* @return the border size (0 if not used)
*/
- public Vector3f getBorderSize() {
+ public Vector2f getBorderSize() {
return this.propertyBorderSize;
}
@@ -113,7 +113,7 @@ class Gird extends Widget {
return 0;
}
- public Vector3f getPropertyBorderSize() {
+ public Vector2f getPropertyBorderSize() {
return this.propertyBorderSize;
}
@@ -126,7 +126,7 @@ class Gird extends Widget {
}
@Override
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
if (this.propertyHide) {
return null;
}
@@ -135,8 +135,8 @@ class Gird extends Widget {
if (it.widget == null) {
continue;
}
- final Vector3f tmpSize = it.widget.getSize();
- final Vector3f tmpOrigin = it.widget.getOrigin();
+ final Vector2f tmpSize = it.widget.getSize();
+ final Vector2f tmpOrigin = it.widget.getOrigin();
if ((tmpOrigin.x() <= pos.x() && tmpOrigin.x() + tmpSize.x() >= pos.x())
&& (tmpOrigin.y() <= pos.y() && tmpOrigin.y() + tmpSize.y() >= pos.y())) {
final Widget tmpWidget = it.widget.getWidgetAtPos(pos);
@@ -153,15 +153,14 @@ class Gird extends Widget {
@Override
public void onChangeSize() {
//LOGGER.debug("Update size");
- this.size = this.size.less(this.propertyBorderSize.x() * 2, this.propertyBorderSize.y() * 2,
- this.propertyBorderSize.y() * 2);
+ this.size = this.size.less(this.propertyBorderSize.multiply(2));
for (int iii = 0; iii < this.subWidget.size(); iii++) {
if (this.subWidget.get(iii).widget != null) {
//calculate the origin :
- Vector3f tmpOrigin = this.origin.add(this.propertyBorderSize);
+ Vector2f tmpOrigin = this.origin.add(this.propertyBorderSize);
if (!this.gavityButtom) {
- tmpOrigin = tmpOrigin.add(0, this.size.y() - this.propertyBorderSize.y(), 0);
+ tmpOrigin = tmpOrigin.add(0, this.size.y() - this.propertyBorderSize.y());
}
int tmpSizeWidth = 0;
@@ -175,15 +174,15 @@ class Gird extends Widget {
} else {
addingPos = -(this.subWidget.get(iii).row + 1) * this.uniformSizeRow;
}
- tmpOrigin = tmpOrigin.add(tmpSizeWidth, addingPos, 0);
+ tmpOrigin = tmpOrigin.add(tmpSizeWidth, addingPos);
LOGGER.debug(" [{}] set subwidget origin={} size={}", iii, tmpOrigin,
- new Vector3f(Math.abs(this.sizeCol.get(this.subWidget.get(iii).col)), this.uniformSizeRow, 0));
+ new Vector2f(Math.abs(this.sizeCol.get(this.subWidget.get(iii).col)), this.uniformSizeRow));
// set the origin :
this.subWidget.get(iii).widget.setOrigin(tmpOrigin.clipInteger());
// all time set all the space .
this.subWidget.get(iii).widget.setSize(
- (new Vector3f(Math.abs(this.sizeCol.get(this.subWidget.get(iii).col)), this.uniformSizeRow, 0))
+ (new Vector2f(Math.abs(this.sizeCol.get(this.subWidget.get(iii).col)), this.uniformSizeRow))
.clipInteger());
this.subWidget.get(iii).widget.onChangeSize();
}
@@ -206,7 +205,7 @@ class Gird extends Widget {
* set the current border size of the current element:
* @param newBorderSize The border size to set (0 if not used)
*/
- public void setBorderSize(final Vector3f newBorderSize) {
+ public void setBorderSize(final Vector2f newBorderSize) {
this.propertyBorderSize = newBorderSize;
}
@@ -276,7 +275,7 @@ class Gird extends Widget {
markToRedraw();
}
- public void setPropertyBorderSize(final Vector3f propertyBorderSize) {
+ public void setPropertyBorderSize(final Vector2f propertyBorderSize) {
this.propertyBorderSize = propertyBorderSize;
if (this.propertyBorderSize.x() < 0) {
LOGGER.error("Try to set a border size <0 on x : " + this.propertyBorderSize.x() + " == > restore to 0");
diff --git a/src/main/org/atriasoft/ewol/widget/ImageDisplay.java b/src/main/org/atriasoft/ewol/widget/ImageDisplay.java
index d78f44a..b661723 100644
--- a/src/main/org/atriasoft/ewol/widget/ImageDisplay.java
+++ b/src/main/org/atriasoft/ewol/widget/ImageDisplay.java
@@ -16,7 +16,7 @@ import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.compositing.CompositingImage;
import org.atriasoft.ewol.event.EventInput;
import org.atriasoft.ewol.resource.ResourceColorFile;
@@ -56,26 +56,26 @@ public class ImageDisplay extends Widget {
+ " min-size=" + this.propertyMinSize);
final Vector2f imageBoder = this.propertyBorder.getPixel().multiply(2.0f);
final Vector2f imageSize = this.propertyImageSize.getPixel();
- final Vector3f size = this.propertyMinSize.getPixel();
+ final Vector2f size = this.propertyMinSize.getPixel();
LOGGER.debug(" ==> border=" + imageBoder + " size=" + imageSize + " min-size=" + size);
if (!imageSize.isZero()) {
final Vector2f tmp = imageBoder.add(imageSize);
- this.minSize = new Vector3f(tmp.x(), tmp.y(), 0);
+ this.minSize = new Vector2f(tmp.x(), tmp.y());
this.maxSize = this.minSize;
} else {
final Vector2i imageSizeReal = getPropertyMinSize().getPixeli();//.compositing.getRealSize();
LOGGER.trace(" Real Size = " + imageSizeReal);
- final Vector3f min1 = this.propertyMinSize.getPixel().add(imageBoder.x(), imageBoder.y(), 0);
- this.minSize = new Vector3f(imageBoder.x() + imageSizeReal.x(), imageBoder.y() + imageSizeReal.y(), 0);
+ final Vector2f min1 = this.propertyMinSize.getPixel().add(imageBoder.x(), imageBoder.y());
+ this.minSize = new Vector2f(imageBoder.x() + imageSizeReal.x(), imageBoder.y() + imageSizeReal.y());
LOGGER.trace(" set max : " + this.minSize + " min1=" + min1);
- this.minSize = Vector3f.max(this.minSize, min1);
+ this.minSize = Vector2f.max(this.minSize, min1);
LOGGER.trace(" result : " + this.minSize);
- this.maxSize = this.propertyMaxSize.getPixel().add(imageBoder.x(), imageBoder.y(), 0);
- this.minSize = Vector3f.min(this.minSize, this.maxSize);
+ this.maxSize = this.propertyMaxSize.getPixel().add(imageBoder.x(), imageBoder.y());
+ this.minSize = Vector2f.min(this.minSize, this.maxSize);
}
this.imageRenderSize = new Vector2f(this.minSize.x(), this.minSize.y());
- this.minSize = Vector3f.max(this.minSize, size);
- this.maxSize = Vector3f.max(this.maxSize, this.minSize);
+ this.minSize = Vector2f.max(this.minSize, size);
+ this.maxSize = Vector2f.max(this.maxSize, this.minSize);
LOGGER.debug("set widget min=" + this.minSize + " max=" + this.maxSize + " with real Image size="
+ this.imageRenderSize + " img size=" + imageSize + " " + this.propertyImageSize);
markToRedraw();
@@ -174,16 +174,16 @@ public class ImageDisplay extends Widget {
}
// Calculate the new position and size:
Vector2f imageBoder = this.propertyBorder.getPixel();
- Vector3f origin = new Vector3f(imageBoder.x(), imageBoder.y(), 0);
+ Vector2f origin = new Vector2f(imageBoder.x(), imageBoder.y());
imageBoder = imageBoder.multiply(2.0f);
Vector2f imageRealSize = this.imageRenderSize.less(imageBoder);
- final Vector3f imageRealSizeMax = this.size.less(imageBoder.x(), imageBoder.y(), 0);
+ final Vector2f imageRealSizeMax = this.size.less(imageBoder.x(), imageBoder.y());
final Vector2f ratioSizeDisplayRequested = this.propertyPosStop.less(this.propertyPosStart);
//imageRealSizeMax *= ratioSizeDisplayRequested;
- Vector3f delta = this.propertyGravity
- .gravityGenerateDelta(this.size.less(this.imageRenderSize.x(), this.imageRenderSize.y(), 0));
+ Vector2f delta = this.propertyGravity
+ .gravityGenerateDelta(this.size.less(this.imageRenderSize.x(), this.imageRenderSize.y()));
if (this.propertyFill.x()) {
imageRealSize = imageRealSize.withX(imageRealSizeMax.x());
delta = delta.withX(0.0f);
@@ -206,11 +206,11 @@ public class ImageDisplay extends Widget {
} else if (ratio < ratioCurrent) {
final float oldX = imageRealSize.x();
imageRealSize = imageRealSize.withX(imageRealSize.y() * ratio);
- origin = origin.add((oldX - imageRealSize.x()) * 0.5f, 0, 0);
+ origin = origin.add((oldX - imageRealSize.x()) * 0.5f, 0);
} else {
final float oldY = imageRealSize.y();
imageRealSize = imageRealSize.withY(imageRealSize.x() / ratio);
- origin = origin.add(0, (oldY - imageRealSize.y()) * 0.5f, 0);
+ origin = origin.add(0, (oldY - imageRealSize.y()) * 0.5f);
}
}
@@ -218,7 +218,7 @@ public class ImageDisplay extends Widget {
if (this.propertySmooth) {
this.compositing.setPos(origin);
} else {
- this.compositing.setPos(Vector3f.clipInt(origin));
+ this.compositing.setPos(Vector2f.clipInt(origin));
}
this.compositing.printPart(imageRealSize, this.propertyPosStart, this.propertyPosStop);
LOGGER.debug("Paint Image at : " + origin + " size=" + imageRealSize);
diff --git a/src/main/org/atriasoft/ewol/widget/Label.java b/src/main/org/atriasoft/ewol/widget/Label.java
index c7337b1..50ec7e9 100644
--- a/src/main/org/atriasoft/ewol/widget/Label.java
+++ b/src/main/org/atriasoft/ewol/widget/Label.java
@@ -14,7 +14,7 @@ import org.atriasoft.aknot.annotation.AknotText;
import org.atriasoft.esignal.SignalEmpty;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.FMath;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etranslate.ETranslate;
import org.atriasoft.ewol.Padding;
import org.atriasoft.ewol.compositing.AlignMode;
@@ -59,8 +59,8 @@ public class Label extends Widget {
@Override
public void calculateMinMaxSize() {
LOGGER.trace("calculateMinMaxSize !!! data = '{}'", this.value);
- final Vector3f tmpMax = this.propertyMaxSize.getPixel();
- final Vector3f tmpMin = this.propertyMinSize.getPixel();
+ final Vector2f tmpMax = this.propertyMaxSize.getPixel();
+ final Vector2f tmpMin = this.propertyMinSize.getPixel();
//EWOL_DEBUG("[" + getId() + "] {" + getObjectType() + "} tmpMax : " + tmpMax);
if (tmpMax.x() <= 999999) {
this.textCompose.setTextAlignment(0, tmpMax.x() - 4, AlignMode.LEFT);
@@ -68,14 +68,13 @@ public class Label extends Widget {
} else {
this.textCompose.setTextAlignment(0, 0, AlignMode.LEFT);
}
- Vector3f minSize = this.textCompose.calculateSizeDecorated(this.value);
+ Vector2f minSize = this.textCompose.calculateSizeDecorated(this.value);
this.textCompose.flush();
- minSize = minSize.add(2, 2, 0);
+ minSize = minSize.add(2, 2);
//EWOL_DEBUG("[" + getId() + "] {" + getObjectType() + "} minSize : " + minSize);
- this.minSize = new Vector3f(FMath.avg(tmpMin.x(), 4 + minSize.x(), tmpMax.x()), //
- FMath.avg(tmpMin.y(), 4 + minSize.y(), tmpMax.y()), //
- 10);
+ this.minSize = new Vector2f(FMath.avg(tmpMin.x(), 4 + minSize.x(), tmpMax.x()), //
+ FMath.avg(tmpMin.y(), 4 + minSize.y(), tmpMax.y()));
LOGGER.trace("[{}] Result min size : {}", getId(), this.minSize);
}
@@ -118,24 +117,24 @@ public class Label extends Widget {
//final int paddingSize = 2;
final Padding padding = new Padding(2, 2, 2, 2);
- final Vector3f tmpMax = this.propertyMaxSize.getPixel();
+ final Vector2f tmpMax = this.propertyMaxSize.getPixel();
// to know the size of one line :
- final Vector3f minSize = this.textCompose.calculateSize('A');
+ final Vector2f minSize = this.textCompose.calculateSize('A');
//minSize.setX(etk::max(minSize.x(), this.minSize.x()));
//minSize.setY(etk::max(minSize.y(), this.minSize.y()));
if (tmpMax.x() <= 999999) {
this.textCompose.setTextAlignment(0, tmpMax.x() - padding.x(), AlignMode.LEFT);
}
- final Vector3f curentTextSize = this.textCompose.calculateSizeDecorated(this.value);
+ final Vector2f curentTextSize = this.textCompose.calculateSizeDecorated(this.value);
- //Vector3f localSize = this.minSize.clipInteger();
- Vector3f tmpSizeShaper = this.minSize;
+ //Vector2f localSize = this.minSize.clipInteger();
+ Vector2f tmpSizeShaper = this.minSize;
// no change for the text origin :
- Vector3f tmpTextOrigin = new Vector3f((this.size.x() - minSize.x()) * 0.5f,
- (this.size.y() - minSize.y()) * 0.5f, 0);
- Vector3f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
+ Vector2f tmpTextOrigin = new Vector2f((this.size.x() - minSize.x()) * 0.5f,
+ (this.size.y() - minSize.y()) * 0.5f);
+ Vector2f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
if (this.propertyFill.x()) {
tmpSizeShaper = tmpSizeShaper.withX(this.size.x());
@@ -147,12 +146,8 @@ public class Label extends Widget {
delta = delta.withY(0.0f);
//tmpTextOrigin = tmpTextOrigin.withY(this.size.y() - 2 * paddingSize - curentTextSize.y());
}
- if (this.propertyFill.z()) {
- tmpSizeShaper = tmpSizeShaper.withZ(this.size.y());
- delta = delta.withZ(0.0f);
- }
- final Vector3f tmpOriginShaper = delta;
- final Vector3f tmpSizeText = tmpSizeShaper.less(padding.x(), padding.y(), padding.z());
+ final Vector2f tmpOriginShaper = delta;
+ final Vector2f tmpSizeText = tmpSizeShaper.less(padding.x(), padding.y());
tmpTextOrigin = tmpOriginShaper;//tmpTextOrigin.add(paddingSize, paddingSize, 0);
//localSize = localSize.less(2 * paddingSize, 2 * paddingSize, 0);
@@ -162,11 +157,11 @@ public class Label extends Widget {
.withY(tmpTextOrigin.y() + this.minSize.y() - this.textCompose.getHeight() - padding.top());// - this.minSize.y() - paddingSize);
tmpTextOrigin = tmpTextOrigin.withX(tmpTextOrigin.x() + padding.left());
- final Vector3f textPos = new Vector3f(tmpTextOrigin.x(), tmpTextOrigin.y(), 0);
+ final Vector2f textPos = new Vector2f(tmpTextOrigin.x(), tmpTextOrigin.y());
- final Vector3f drawClippingPos = tmpOriginShaper
- .less(new Vector3f(padding.left(), padding.bottom(), padding.back()));
- final Vector3f drawClippingSize = tmpOriginShaper.add(tmpSizeShaper); /// new Vector3f((this.size.x() - paddingSize), (this.size.y() - paddingSize), 1);
+ final Vector2f drawClippingPos = tmpOriginShaper
+ .less(new Vector2f(padding.left(), padding.bottom()));
+ final Vector2f drawClippingSize = tmpOriginShaper.add(tmpSizeShaper); /// new Vector2f((this.size.x() - paddingSize), (this.size.y() - paddingSize), 1);
// clean the element
this.textCompose.reset();
diff --git a/src/main/org/atriasoft/ewol/widget/LabelOnSVG.java b/src/main/org/atriasoft/ewol/widget/LabelOnSVG.java
index 9dc125c..50c72da 100644
--- a/src/main/org/atriasoft/ewol/widget/LabelOnSVG.java
+++ b/src/main/org/atriasoft/ewol/widget/LabelOnSVG.java
@@ -14,7 +14,7 @@ import org.atriasoft.esignal.SignalEmpty;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.FMath;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etranslate.ETranslate;
import org.atriasoft.ewol.compositing.AlignMode;
import org.atriasoft.ewol.compositing.CompositingText;
@@ -67,18 +67,18 @@ public class LabelOnSVG extends Widget {
@Override
public void calculateMinMaxSize() {
- final Vector3f tmpMax = this.propertyMaxSize.getPixel();
- final Vector3f tmpMin = this.propertyMinSize.getPixel();
+ final Vector2f tmpMax = this.propertyMaxSize.getPixel();
+ final Vector2f tmpMin = this.propertyMinSize.getPixel();
LOGGER.debug("[" + getId() + "] {" + getClass().getCanonicalName() + "} tmpMax : " + tmpMax);
if (tmpMax.x() <= 999999) {
this.text.setTextAlignment(0, tmpMax.x() - 4, AlignMode.LEFT);
LOGGER.debug("[" + getId() + "] {" + getClass().getCanonicalName() + "} force Alignement ");
}
- final Vector3f minSize = this.text.calculateSizeDecorated(this.value);
+ final Vector2f minSize = this.text.calculateSizeDecorated(this.value);
LOGGER.debug("[" + getId() + "] {" + getClass().getCanonicalName() + "} minSize : " + minSize);
- this.minSize = new Vector3f(FMath.avg(tmpMin.x(), 4 + minSize.x(), tmpMax.x()),
- FMath.avg(tmpMin.y(), 4 + minSize.y(), tmpMax.y()), FMath.avg(tmpMin.z(), 4 + minSize.z(), tmpMax.z()));
+ this.minSize = new Vector2f(FMath.avg(tmpMin.x(), 4 + minSize.x(), tmpMax.x()),
+ FMath.avg(tmpMin.y(), 4 + minSize.y(), tmpMax.y()));
LOGGER.trace("[" + getId() + "] {" + getClass().getCanonicalName() + "} Result min size : " + tmpMin + " < "
+ this.minSize + " < " + tmpMax);
}
@@ -121,22 +121,22 @@ public class LabelOnSVG extends Widget {
this.text.clear();
final int paddingSize = 2;
- final Vector3f tmpMax = this.propertyMaxSize.getPixel();
+ final Vector2f tmpMax = this.propertyMaxSize.getPixel();
// to know the size of one line :
- final Vector3f minSize = this.text.calculateSize('A');
+ final Vector2f minSize = this.text.calculateSize('A');
//minSize.setX(etk::max(minSize.x(), this.minSize.x()));
//minSize.setY(etk::max(minSize.y(), this.minSize.y()));
if (tmpMax.x() <= 999999) {
this.text.setTextAlignment(0, tmpMax.x() - 2 * paddingSize, AlignMode.LEFT);
}
- final Vector3f currentTextSize = this.text.calculateSizeDecorated(this.value);
+ final Vector2f currentTextSize = this.text.calculateSizeDecorated(this.value);
Vector2i localSize = new Vector2i((int) this.minSize.x(), (int) this.minSize.y());
// no change for the text origin :
- Vector3f tmpTextOrigin = new Vector3f((this.size.x() - this.minSize.x()) / 2.0f,
- (this.size.y() - this.minSize.y()) / 2.0f, 0);
+ Vector2f tmpTextOrigin = new Vector2f((this.size.x() - this.minSize.x()) / 2.0f,
+ (this.size.y() - this.minSize.y()) / 2.0f);
if (this.propertyFill.x()) {
localSize = localSize.withX((int) this.size.x());
@@ -146,15 +146,15 @@ public class LabelOnSVG extends Widget {
localSize = localSize.withY((int) this.size.y());
tmpTextOrigin = tmpTextOrigin.withY(this.size.y() - 2 * paddingSize - currentTextSize.y());
}
- tmpTextOrigin = tmpTextOrigin.add(paddingSize, paddingSize, 0);
+ tmpTextOrigin = tmpTextOrigin.add(paddingSize, paddingSize);
localSize = localSize.less(2 * paddingSize, 2 * paddingSize);
tmpTextOrigin = tmpTextOrigin.withY(tmpTextOrigin.y() + (this.minSize.y() - 2 * paddingSize) - minSize.y());
- final Vector3f textPos = new Vector3f(tmpTextOrigin.x(), tmpTextOrigin.y(), 0);
+ final Vector2f textPos = new Vector2f(tmpTextOrigin.x(), tmpTextOrigin.y());
- final Vector3f drawClippingPos = new Vector3f(paddingSize, paddingSize, -0.5f);
- final Vector3f drawClippingSize = new Vector3f((this.size.x() - paddingSize), (this.size.y() - paddingSize), 1);
+ final Vector2f drawClippingPos = new Vector2f(paddingSize, paddingSize);
+ final Vector2f drawClippingSize = new Vector2f((this.size.x() - paddingSize), (this.size.y() - paddingSize));
// clean the element
this.text.reset();
diff --git a/src/main/org/atriasoft/ewol/widget/Layer.java b/src/main/org/atriasoft/ewol/widget/Layer.java
index c38d283..9a265d0 100644
--- a/src/main/org/atriasoft/ewol/widget/Layer.java
+++ b/src/main/org/atriasoft/ewol/widget/Layer.java
@@ -5,7 +5,7 @@
*/
package org.atriasoft.ewol.widget;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
/**
* @ingroup ewolWidgetGroup
@@ -19,7 +19,7 @@ class Layer extends ContainerN {
}
@Override
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
if (this.propertyHide) {
return null;
}
@@ -28,8 +28,8 @@ class Layer extends ContainerN {
if (it == null) {
continue;
}
- final Vector3f tmpSize = it.getSize();
- final Vector3f tmpOrigin = it.getOrigin();
+ final Vector2f tmpSize = it.getSize();
+ final Vector2f tmpOrigin = it.getOrigin();
if ((tmpOrigin.x() <= pos.x() && tmpOrigin.x() + tmpSize.x() >= pos.x()) && (tmpOrigin.y() <= pos.y() && tmpOrigin.y() + tmpSize.y() >= pos.y())) {
final Widget tmpWidget = it.getWidgetAtPos(pos);
if (tmpWidget != null) {
diff --git a/src/main/org/atriasoft/ewol/widget/ListFileSystem.java b/src/main/org/atriasoft/ewol/widget/ListFileSystem.java
index 9da3c21..869f255 100644
--- a/src/main/org/atriasoft/ewol/widget/ListFileSystem.java
+++ b/src/main/org/atriasoft/ewol/widget/ListFileSystem.java
@@ -26,8 +26,8 @@ import org.atriasoft.etk.Color;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.etk.math.Vector3i;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
import org.atriasoft.ewol.event.EventInput;
import org.atriasoft.ewol.resource.ResourceColorFile;
import org.atriasoft.ewol.widget.model.ListRole;
@@ -235,7 +235,7 @@ public class ListFileSystem extends WidgetList {
}
@Override
- protected boolean onItemEvent(final EventInput event, final Vector3i pos, final Vector3f mousePosition) {
+ protected boolean onItemEvent(final EventInput event, final Vector2i pos, final Vector2f mousePosition) {
int offset = 0;
if (this.propertyShowFolder) {
if (this.propertyPath.equals("/")) {
diff --git a/src/main/org/atriasoft/ewol/widget/PopUp.java b/src/main/org/atriasoft/ewol/widget/PopUp.java
index 8260d7a..3fcf364 100644
--- a/src/main/org/atriasoft/ewol/widget/PopUp.java
+++ b/src/main/org/atriasoft/ewol/widget/PopUp.java
@@ -9,10 +9,10 @@ import org.atriasoft.aknot.annotation.AknotAttribute;
import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotManaged;
import org.atriasoft.aknot.annotation.AknotName;
-import org.atriasoft.etk.Dimension3f;
+import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Distance;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.event.EventInput;
import org.atriasoft.gale.key.KeyStatus;
@@ -28,8 +28,8 @@ public class PopUp extends Box {
*/
public PopUp() {
//super(new Uri("THEME", "shape/PopUp.json", "ewol"));
- this.propertyMinSize = new Dimension3f(new Vector3f(80, 80, 20), Distance.POURCENT);
- this.propertyExpand = Vector3b.FALSE;
+ this.propertyMinSize = new Dimension2f(new Vector2f(80, 80), Distance.POURCENT);
+ this.propertyExpand = Vector2b.FALSE;
}
@AknotManaged
@@ -52,7 +52,7 @@ public class PopUp extends Box {
return false;
}
- final Vector3f pos = relativePosition(new Vector3f(event.pos().x(), event.pos().y(), 0));
+ final Vector2f pos = relativePosition(event.pos());
// if (!this.shapeProperty.isInside(pos)) {
// autoDestroy();
// return true;
diff --git a/src/main/org/atriasoft/ewol/widget/ProgressBar.java b/src/main/org/atriasoft/ewol/widget/ProgressBar.java
index 8fdd436..5104873 100644
--- a/src/main/org/atriasoft/ewol/widget/ProgressBar.java
+++ b/src/main/org/atriasoft/ewol/widget/ProgressBar.java
@@ -10,7 +10,7 @@ import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotManaged;
import org.atriasoft.aknot.annotation.AknotName;
import org.atriasoft.etk.Color;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.compositing.CompositingDrawing;
class ProgressBar extends Widget {
@@ -28,8 +28,8 @@ class ProgressBar extends Widget {
@Override
public void calculateMinMaxSize() {
- final Vector3f tmpMin = this.propertyMinSize.getPixel();
- this.minSize = new Vector3f(Math.max(tmpMin.x(), 40.0f), Math.max(tmpMin.y(), ProgressBar.DOT_RADIUS * 2.0f), 10);
+ final Vector2f tmpMin = this.propertyMinSize.getPixel();
+ this.minSize = new Vector2f(Math.max(tmpMin.x(), 40.0f), Math.max(tmpMin.y(), ProgressBar.DOT_RADIUS * 2.0f));
markToRedraw();
}
@@ -85,11 +85,11 @@ class ProgressBar extends Widget {
final int tmpOriginX = 5;
final int tmpOriginY = 5;
this.draw.setColor(this.propertyTextColorBgOn);
- this.draw.setPos(new Vector3f(tmpOriginX, tmpOriginY, 0));
- this.draw.rectangleWidth(new Vector3f(tmpSizeX * this.propertyValue, tmpSizeY, 0));
+ this.draw.setPos(new Vector2f(tmpOriginX, tmpOriginY));
+ this.draw.rectangleWidth(new Vector2f(tmpSizeX * this.propertyValue, tmpSizeY));
this.draw.setColor(this.propertyTextColorBgOff);
- this.draw.setPos(new Vector3f(tmpOriginX + tmpSizeX * this.propertyValue, tmpOriginY, 0));
- this.draw.rectangleWidth(new Vector3f(tmpSizeX * (1.0f - this.propertyValue), tmpSizeY, 0));
+ this.draw.setPos(new Vector2f(tmpOriginX + tmpSizeX * this.propertyValue, tmpOriginY));
+ this.draw.rectangleWidth(new Vector2f(tmpSizeX * (1.0f - this.propertyValue), tmpSizeY));
// TODO : Create a better progress Bar ...
//this.draw.setColor(propertyTextColorFg);
diff --git a/src/main/org/atriasoft/ewol/widget/Scroll.java b/src/main/org/atriasoft/ewol/widget/Scroll.java
index 2f46de7..22383f8 100644
--- a/src/main/org/atriasoft/ewol/widget/Scroll.java
+++ b/src/main/org/atriasoft/ewol/widget/Scroll.java
@@ -13,8 +13,8 @@ import org.atriasoft.etk.Color;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.FMath;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.GravityVertical;
import org.atriasoft.ewol.HighSpeedMode;
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
class Scroll extends Container {
private static final Logger LOGGER = LoggerFactory.getLogger(Scroll.class);
protected static final int SCROLL_BAR_SPACE = 15;
- protected Vector3f propertyLimit = new Vector3f(0.15f, 0.5f, 0.0f); //!< Set the limitation of the ratio in the screen
+ protected Vector2f propertyLimit = new Vector2f(0.15f, 0.5f); //!< Set the limitation of the ratio in the screen
protected Uri propertyShapeVert = new Uri("THEME_GUI", "WidgetScrolled.json", "ewol"); //!< Vertical shaper name
@@ -40,7 +40,7 @@ class Scroll extends Container {
protected CompositingSVG compositingH = new CompositingSVG();
protected CompositingSVG compositingV = new CompositingSVG();
protected float pixelScrolling = 20;
- protected Vector3f highSpeedStartPos = Vector3f.ZERO;
+ protected Vector2f highSpeedStartPos = Vector2f.ZERO;
protected HighSpeedMode highSpeedMode = HighSpeedMode.speedModeDisable;
protected int highSpeedButton = -1;
protected KeyType highSpeedType = KeyType.unknow;
@@ -64,7 +64,7 @@ class Scroll extends Container {
@AknotAttribute
@AknotName(value = "limit")
@AknotDescription(value = "Limit the scroll maximum position [0..1]% represent the free space in the scoll when arrive at the end")
- public Vector3f getPropertyLimit() {
+ public Vector2f getPropertyLimit() {
return this.propertyLimit;
}
@@ -85,7 +85,7 @@ class Scroll extends Container {
}
@Override
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
final Widget tmpWidget = super.getWidgetAtPos(pos);
if (tmpWidget != null) {
return tmpWidget;
@@ -126,14 +126,14 @@ class Scroll extends Container {
return;
}
// remove the bar if hover
- Vector3f basicSize = this.size;
+ Vector2f basicSize = this.size;
if (!this.propertyHover) {
- basicSize = basicSize.less(SCROLL_BAR_SPACE, SCROLL_BAR_SPACE, SCROLL_BAR_SPACE);
+ basicSize = basicSize.less(SCROLL_BAR_SPACE, SCROLL_BAR_SPACE);
}
- Vector3f origin = this.origin.add(this.offset);
- Vector3f minSize = this.subWidget.getCalculateMinSize();
- final Vector3b expand = this.subWidget.propertyExpand;
+ Vector2f origin = this.origin.add(this.offset);
+ Vector2f minSize = this.subWidget.getCalculateMinSize();
+ final Vector2b expand = this.subWidget.propertyExpand;
//The gravity is not set on the sub element ==> special use of the widget
//origin += ewol::gravityGenerateDelta(propertyGravity.get(), minSize - this.size);
if (expand.x() && minSize.x() < basicSize.x()) {
@@ -144,9 +144,9 @@ class Scroll extends Container {
}
this.subWidget.setSize(minSize);
if (this.propertyGravity.y() == GravityVertical.TOP) {
- origin = origin.add(0.0f, basicSize.y() - minSize.y(), 0);
+ origin = origin.add(0.0f, basicSize.y() - minSize.y());
if (!this.propertyHover) {
- origin = origin.add(0, SCROLL_BAR_SPACE, 0);
+ origin = origin.add(0, SCROLL_BAR_SPACE);
}
} else if (this.propertyGravity.y() == GravityVertical.BOTTOM) {
// nothing to do ... origin +=
@@ -167,9 +167,9 @@ class Scroll extends Container {
public boolean onEventInput(final EventInput event) {
//ewol::event::Input _event = event;
//_event.setType(KeyType.finger);
- Vector3f relativePos = relativePosition(new Vector3f(event.pos().x(), event.pos().y(), 0));
- Vector3f scrollOffset = Vector3f.ZERO;
- Vector3f scrollSize = Vector3f.ZERO;
+ Vector2f relativePos = relativePosition(new Vector2f(event.pos().x(), event.pos().y()));
+ Vector2f scrollOffset = Vector2f.ZERO;
+ Vector2f scrollSize = Vector2f.ZERO;
if (this.subWidget != null) {
scrollOffset = this.subWidget.getOffset();
scrollSize = this.subWidget.getSize();
@@ -248,7 +248,7 @@ class Scroll extends Container {
if (event.status() == KeyStatus.down) {
this.highSpeedMode = HighSpeedMode.speedModeInit;
this.highSpeedType = KeyType.mouse;
- this.highSpeedStartPos = new Vector3f(relativePos.x(), relativePos.y(), 0);
+ this.highSpeedStartPos = new Vector2f(relativePos.x(), relativePos.y());
this.highSpeedButton = 2;
// not really use... == > just keep some informations
return false;
@@ -344,7 +344,7 @@ class Scroll extends Container {
if (KeyStatus.down == event.status()) {
this.highSpeedMode = HighSpeedMode.speedModeInit;
this.highSpeedType = KeyType.finger;
- this.highSpeedStartPos = new Vector3f(relativePos.x(), relativePos.y(), 0);
+ this.highSpeedStartPos = new Vector2f(relativePos.x(), relativePos.y());
LOGGER.trace("SCROOL == > INIT pos=" + this.highSpeedStartPos + " && curent scrollOffset="
+ scrollOffset);
return true;
@@ -420,8 +420,8 @@ class Scroll extends Container {
this.compositingV.clear();
final Padding paddingVert = new Padding(2, 2, 2, 2); // this.compositingV.getPadding();
final Padding paddingHori = new Padding(2, 2, 2, 2); // this.compositingH.getPadding();
- Vector3f scrollOffset = Vector3f.ZERO;
- Vector3f scrollSize = Vector3f.ZERO;
+ Vector2f scrollOffset = Vector2f.ZERO;
+ Vector2f scrollSize = Vector2f.ZERO;
if (this.subWidget != null) {
scrollOffset = this.subWidget.getOffset();
scrollSize = this.subWidget.getSize();
@@ -474,8 +474,8 @@ class Scroll extends Container {
this.propertyHover = propertyHover;
}
- public void setPropertyLimit(final Vector3f propertyLimit) {
- final Vector3f tmp = Vector3f.avg(Vector3f.ZERO, propertyLimit, Vector3f.ONE);
+ public void setPropertyLimit(final Vector2f propertyLimit) {
+ final Vector2f tmp = Vector2f.avg(Vector2f.ZERO, propertyLimit, Vector2f.ONE);
if (tmp.equals(this.propertyLimit)) {
return;
}
diff --git a/src/main/org/atriasoft/ewol/widget/Sizer.java b/src/main/org/atriasoft/ewol/widget/Sizer.java
index 35f367c..d868604 100644
--- a/src/main/org/atriasoft/ewol/widget/Sizer.java
+++ b/src/main/org/atriasoft/ewol/widget/Sizer.java
@@ -10,11 +10,11 @@ import org.atriasoft.aknot.annotation.AknotCaseSensitive;
import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotManaged;
import org.atriasoft.aknot.annotation.AknotName;
-import org.atriasoft.etk.Dimension3f;
+import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.math.FMath;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.etk.math.Vector3i;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,7 +27,7 @@ public class Sizer extends ContainerN {
VERTICAL; //!< Vertical mode
}
- protected Dimension3f propertyBorderSize = Dimension3f.ZERO; //!< Border size needed for all the display
+ protected Dimension2f propertyBorderSize = Dimension2f.ZERO; //!< Border size needed for all the display
protected DisplayMode propertyMode = DisplayMode.HORIZONTAL; //!< Method to display the widget list (vert/hory ...)
/**
@@ -48,9 +48,9 @@ public class Sizer extends ContainerN {
@Override
public void calculateMinMaxSize() {
LOGGER.trace("[" + getId() + "] update minimum size");
- this.subExpend = Vector3b.FALSE;
+ this.subExpend = Vector2b.FALSE;
this.minSize = this.propertyMinSize.getPixel();
- final Vector3f tmpBorderSize = this.propertyBorderSize.getPixel();
+ final Vector2f tmpBorderSize = this.propertyBorderSize.getPixel();
LOGGER.trace("[" + getId() + "] {" + getClass().getCanonicalName() + "} set min size : " + this.minSize);
for (final Widget it : this.subWidget) {
if (it == null) {
@@ -63,7 +63,7 @@ public class Sizer extends ContainerN {
if (it.canExpand().y()) {
this.subExpend = this.subExpend.withY(true);
}
- final Vector3f tmpSize = it.getCalculateMinSize();
+ final Vector2f tmpSize = it.getCalculateMinSize();
LOGGER.trace("[" + getId() + "] NewMinSize=" + tmpSize);
LOGGER.trace("[" + getId() + "] {" + getClass().getCanonicalName() + "} Get minSize=" + tmpSize);
if (this.propertyMode == DisplayMode.VERTICAL) {
@@ -86,7 +86,7 @@ public class Sizer extends ContainerN {
@AknotAttribute
@AknotName("border")
@AknotDescription("The sizer border size")
- public Dimension3f getPropertyBorderSize() {
+ public Dimension2f getPropertyBorderSize() {
return this.propertyBorderSize;
}
@@ -101,31 +101,29 @@ public class Sizer extends ContainerN {
@Override
public void onChangeSize() {
super.onChangeSize();
- final Vector3f tmpBorderSize = this.propertyBorderSize.getPixel();
+ final Vector2f tmpBorderSize = this.propertyBorderSize.getPixel();
LOGGER.trace("[" + getId() + "] update size : " + this.size + " nbElement : " + this.subWidget.size()
+ " borderSize=" + tmpBorderSize + " from border=" + this.propertyBorderSize);
- final Vector3f localWidgetSize = this.size.less(tmpBorderSize.multiply(2.0f));
+ final Vector2f localWidgetSize = this.size.less(tmpBorderSize.multiply(2.0f));
// -1- calculate min-size and expand requested:
- Vector3f minSize = Vector3f.ZERO;
- Vector3i nbWidgetExpand = Vector3i.ZERO;
+ Vector2f minSize = Vector2f.ZERO;
+ Vector2i nbWidgetExpand = Vector2i.ZERO;
for (final Widget it : this.subWidget) {
if (it == null) {
continue;
}
- final Vector3f tmpSize = it.getCalculateMinSize();
+ final Vector2f tmpSize = it.getCalculateMinSize();
if (this.propertyMode == DisplayMode.VERTICAL) {
- minSize = new Vector3f(Math.max(minSize.x(), tmpSize.x()), minSize.y() + tmpSize.y(),
- Math.max(minSize.z(), tmpSize.z()));
+ minSize = new Vector2f(Math.max(minSize.x(), tmpSize.x()), minSize.y() + tmpSize.y());
} else {
- minSize = new Vector3f(minSize.x() + tmpSize.x(), Math.max(minSize.y(), tmpSize.y()),
- Math.max(minSize.z(), tmpSize.z()));
+ minSize = new Vector2f(minSize.x() + tmpSize.x(), Math.max(minSize.y(), tmpSize.y()));
}
- final Vector3b expand = it.canExpand();
- nbWidgetExpand = nbWidgetExpand.add(expand.x() ? 1 : 0, expand.y() ? 1 : 0, 0);
+ final Vector2b expand = it.canExpand();
+ nbWidgetExpand = nbWidgetExpand.add(expand.x() ? 1 : 0, expand.y() ? 1 : 0);
}
// -2- Calculate the size to add at every elements...
float deltaExpandSize = 0.0f;
- if (!nbWidgetExpand.isEqual(Vector3i.ZERO)) {
+ if (!nbWidgetExpand.isEqual(Vector2i.ZERO)) {
if (this.propertyMode == DisplayMode.VERTICAL) {
deltaExpandSize = (localWidgetSize.y() - minSize.y()) / (nbWidgetExpand.y());
} else {
@@ -159,8 +157,8 @@ public class Sizer extends ContainerN {
if (it == null) {
continue;
}
- Vector3f tmpSizeMin = it.getSize();
- final Vector3f tmpSizeMax = it.getCalculateMaxSize();
+ Vector2f tmpSizeMin = it.getSize();
+ final Vector2f tmpSizeMax = it.getCalculateMaxSize();
// Now update his size his size in X and the current sizer size in Y:
if (this.propertyMode == DisplayMode.VERTICAL) {
if (it.canExpand().y() || (it == lastWidget && it.canExpandIfFree().y())) {
@@ -214,7 +212,7 @@ public class Sizer extends ContainerN {
if (!it.canExpand().x() && !it.canExpandIfFree().x()) {
continue;
}
- Vector3f tmpSizeMin = it.getSize();
+ Vector2f tmpSizeMin = it.getSize();
tmpSizeMin = tmpSizeMin
.withX(FMath.avg(tmpSizeMin.x(), localWidgetSize.x(), it.getCalculateMaxSize().x()));
it.setSize(tmpSizeMin);
@@ -222,7 +220,7 @@ public class Sizer extends ContainerN {
if (!it.canExpand().y() && !it.canExpandIfFree().y()) {
continue;
}
- Vector3f tmpSizeMin = it.getSize();
+ Vector2f tmpSizeMin = it.getSize();
tmpSizeMin = tmpSizeMin
.withY(FMath.avg(tmpSizeMin.y(), localWidgetSize.y(), it.getCalculateMaxSize().y()));
it.setSize(tmpSizeMin);
@@ -233,40 +231,38 @@ public class Sizer extends ContainerN {
if (it == null) {
continue;
}
- it.setSize(Vector3f.clipInt(it.getSize()));
+ it.setSize(Vector2f.clipInt(it.getSize()));
}
// -7- get under Size
- Vector3f underSize = Vector3f.ZERO;
+ Vector2f underSize = Vector2f.ZERO;
for (final Widget it : this.subWidget) {
if (it == null) {
continue;
}
- final Vector3f size = it.getSize();
+ final Vector2f size = it.getSize();
if (this.propertyMode == DisplayMode.VERTICAL) {
- underSize = new Vector3f(Math.max(underSize.x(), size.x()), underSize.y() + size.y(),
- Math.max(underSize.z(), size.z()));
+ underSize = new Vector2f(Math.max(underSize.x(), size.x()), underSize.y() + size.y());
} else {
- underSize = new Vector3f(underSize.x() + size.x(), Math.max(underSize.y(), size.y()),
- Math.max(underSize.z(), size.z()));
+ underSize = new Vector2f(underSize.x() + size.x(), Math.max(underSize.y(), size.y()));
}
}
- final Vector3f deltas = localWidgetSize.less(underSize);
+ final Vector2f deltas = localWidgetSize.less(underSize);
// -8- Calculate the local origin, depending of the gravity:
- Vector3f tmpOrigin = this.origin.add(tmpBorderSize).add(this.propertyGravity.gravityGenerateDelta(deltas));
+ Vector2f tmpOrigin = this.origin.add(tmpBorderSize).add(this.propertyGravity.gravityGenerateDelta(deltas));
// -9- Set sub widget origin:
for (final Widget it : this.subWidget) {
if (it == null) {
continue;
}
- Vector3f origin;
- final Vector3f size = it.getSize();
+ Vector2f origin;
+ final Vector2f size = it.getSize();
if (this.propertyMode == DisplayMode.VERTICAL) {
- origin = Vector3f.clipInt(tmpOrigin.add(this.offset).add(
- this.propertyGravity.gravityGenerateDelta(new Vector3f(underSize.x() - size.x(), 0.0f, 0.0f))));
+ origin = Vector2f.clipInt(tmpOrigin.add(this.offset).add(
+ this.propertyGravity.gravityGenerateDelta(new Vector2f(underSize.x() - size.x(), 0.0f))));
} else {
- origin = Vector3f.clipInt(tmpOrigin.add(this.offset).add(
- this.propertyGravity.gravityGenerateDelta(new Vector3f(0.0f, underSize.y() - size.y(), 0.0f))));
+ origin = Vector2f.clipInt(tmpOrigin.add(this.offset).add(
+ this.propertyGravity.gravityGenerateDelta(new Vector2f(0.0f, underSize.y() - size.y()))));
}
it.setOrigin(origin);
if (this.propertyMode == DisplayMode.VERTICAL) {
@@ -285,7 +281,7 @@ public class Sizer extends ContainerN {
markToRedraw();
}
- public void setPropertyBorderSize(final Dimension3f propertyBorderSize) {
+ public void setPropertyBorderSize(final Dimension2f propertyBorderSize) {
if (this.propertyBorderSize.equals(propertyBorderSize)) {
return;
}
diff --git a/src/main/org/atriasoft/ewol/widget/Slider.java b/src/main/org/atriasoft/ewol/widget/Slider.java
index 314cb43..76ea821 100644
--- a/src/main/org/atriasoft/ewol/widget/Slider.java
+++ b/src/main/org/atriasoft/ewol/widget/Slider.java
@@ -10,8 +10,8 @@ import org.atriasoft.etk.Color;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.FMath;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.etk.math.Vector3i;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
import org.atriasoft.ewol.Padding;
import org.atriasoft.ewol.compositing.CompositingDrawing;
import org.atriasoft.ewol.compositing.CompositingSVG;
@@ -41,12 +41,12 @@ public class Slider extends Widget {
@AknotDescription("Tick value change")
public Signal signalValue = new Signal<>();
// element over:
- Vector3f overPositionStart = Vector3f.ZERO;
- Vector3f overPositionStop = Vector3f.ZERO;
- Vector3f overPositionSize = Vector3f.ZERO;
- Vector3f overCursorPositionStart = Vector3f.ZERO;
- Vector3f overCursorPositionStop = Vector3f.ZERO;
- Vector3f overCursorPositionSize = Vector3f.ZERO;
+ Vector2f overPositionStart = Vector2f.ZERO;
+ Vector2f overPositionStop = Vector2f.ZERO;
+ Vector2f overPositionSize = Vector2f.ZERO;
+ Vector2f overCursorPositionStart = Vector2f.ZERO;
+ Vector2f overCursorPositionStop = Vector2f.ZERO;
+ Vector2f overCursorPositionSize = Vector2f.ZERO;
//@AknotAutoGenerateProperty("minimum", "configuration of the widget")
private Float propertyMinimum = 0.0f;
@@ -75,19 +75,19 @@ public class Slider extends Widget {
super.calculateMinMaxSize();
// get generic padding
final Padding padding = Padding.ZERO;
- final Vector3i minHeight = Vector3i.VALUE_16;
+ final Vector2i minHeight = Vector2i.VALUE_16;
- Vector3f minimumSizeBase = new Vector3f(minHeight.x(), minHeight.y(), minHeight.z());
+ Vector2f minimumSizeBase = new Vector2f(minHeight.x(), minHeight.y());
// add padding :
- minimumSizeBase = minimumSizeBase.add(padding.x(), padding.y(), padding.z());
- this.minSize = Vector3f.max(this.minSize, minimumSizeBase);
+ minimumSizeBase = minimumSizeBase.add(padding.x(), padding.y());
+ this.minSize = Vector2f.max(this.minSize, minimumSizeBase);
// verify the min max of the min size ...
checkMinSize();
LOGGER.error("min size = " + this.minSize);
}
- private boolean checkIfOver(final Vector3f relPos) {
+ private boolean checkIfOver(final Vector2f relPos) {
return relPos.x() > this.overPositionStart.x() && relPos.y() > this.overPositionStart.y()
&& relPos.x() < this.overPositionStop.x() && relPos.y() < this.overPositionStop.y();
}
@@ -147,8 +147,8 @@ public class Slider extends Widget {
@Override
public boolean onEventInput(final EventInput event) {
- final Vector3f positionAbsolute = new Vector3f(event.pos().x(), event.pos().y(), 0);
- final Vector3f relPos = relativePosition(positionAbsolute);
+ final Vector2f positionAbsolute = new Vector2f(event.pos().x(), event.pos().y());
+ final Vector2f relPos = relativePosition(positionAbsolute);
LOGGER.warn("Event on Input ... " + event + " relPos = " + relPos);
final boolean over = checkIfOver(relPos);
if (event.inputId() != 1) {
@@ -224,8 +224,8 @@ public class Slider extends Widget {
final Padding padding = Padding.ZERO;//this.shape.getPadding();
{
// Manage external shape:
- Vector3f tmpSizeShaper = this.minSize;
- Vector3f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
+ Vector2f tmpSizeShaper = this.minSize;
+ Vector2f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
if (this.propertyFill.x()) {
tmpSizeShaper = tmpSizeShaper.withX(this.size.x());
delta = delta.withX(0.0f);
@@ -235,16 +235,16 @@ public class Slider extends Widget {
delta = delta.withY(0.0f);
}
- Vector3f tmpOriginShaper = delta;
- Vector3f tmpSizeInside = tmpSizeShaper.less(padding.x(), padding.y(), padding.z());
- //Vector3f tmpOriginText = this.size.less(tmpSizeText).multiply(0.5f);
- Vector3f tmpOriginInside = Vector3f.ZERO;
+ Vector2f tmpOriginShaper = delta;
+ Vector2f tmpSizeInside = tmpSizeShaper.less(padding.x(), padding.y());
+ //Vector2f tmpOriginText = this.size.less(tmpSizeText).multiply(0.5f);
+ Vector2f tmpOriginInside = Vector2f.ZERO;
// sometimes, the user define an height bigger than the real size needed == > in this case we need to center the text in the shaper ...
// fix all the position in the int class:
- tmpSizeShaper = Vector3f.clipInt(tmpSizeShaper);
- tmpOriginShaper = Vector3f.clipInt(tmpOriginShaper);
- tmpSizeInside = Vector3f.clipInt(tmpSizeInside);
- tmpOriginInside = Vector3f.clipInt(tmpOriginInside);
+ tmpSizeShaper = Vector2f.clipInt(tmpSizeShaper);
+ tmpOriginShaper = Vector2f.clipInt(tmpOriginShaper);
+ tmpSizeInside = Vector2f.clipInt(tmpSizeInside);
+ tmpOriginInside = Vector2f.clipInt(tmpOriginInside);
this.overPositionStart = tmpOriginShaper;
this.overPositionSize = tmpSizeShaper;
@@ -253,17 +253,17 @@ public class Slider extends Widget {
}
{
// Manage cursor:
- Vector3f tmpSizeShaper = this.minSize;
- Vector3f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
+ Vector2f tmpSizeShaper = this.minSize;
+ Vector2f delta = this.propertyGravity.gravityGenerateDelta(this.size.less(this.minSize));
if (this.propertyFill.y()) {
tmpSizeShaper = tmpSizeShaper.withY(this.size.y());
delta = delta.withY(0.0f);
}
- Vector3f tmpOriginShaper = delta;
- Vector3f tmpSizeInside = tmpSizeShaper.less(padding.x(), padding.y(), padding.z());
- //Vector3f tmpOriginText = this.size.less(tmpSizeText).multiply(0.5f);
- Vector3f tmpOriginInside = Vector3f.ZERO;
+ Vector2f tmpOriginShaper = delta;
+ Vector2f tmpSizeInside = tmpSizeShaper.less(padding.x(), padding.y());
+ //Vector2f tmpOriginText = this.size.less(tmpSizeText).multiply(0.5f);
+ Vector2f tmpOriginInside = Vector2f.ZERO;
final float xxx = tmpOriginShaper.x() * 2.0f;
@@ -271,10 +271,10 @@ public class Slider extends Widget {
xxx * (this.propertyValue - this.propertyMinimum) / (this.propertyMaximum - this.propertyMinimum));
// sometimes, the user define an height bigger than the real size needed == > in this case we need to center the text in the shaper ...
// fix all the position in the int class:
- tmpSizeShaper = Vector3f.clipInt(tmpSizeShaper);
- tmpOriginShaper = Vector3f.clipInt(tmpOriginShaper);
- tmpSizeInside = Vector3f.clipInt(tmpSizeInside);
- tmpOriginInside = Vector3f.clipInt(tmpOriginInside);
+ tmpSizeShaper = Vector2f.clipInt(tmpSizeShaper);
+ tmpOriginShaper = Vector2f.clipInt(tmpOriginShaper);
+ tmpSizeInside = Vector2f.clipInt(tmpSizeInside);
+ tmpOriginInside = Vector2f.clipInt(tmpOriginInside);
this.overCursorPositionStart = tmpOriginShaper;
this.overCursorPositionSize = tmpSizeShaper;
diff --git a/src/main/org/atriasoft/ewol/widget/Spacer.java b/src/main/org/atriasoft/ewol/widget/Spacer.java
index 6dbd08a..94d890d 100644
--- a/src/main/org/atriasoft/ewol/widget/Spacer.java
+++ b/src/main/org/atriasoft/ewol/widget/Spacer.java
@@ -12,7 +12,7 @@ import org.atriasoft.aknot.annotation.AknotName;
*/
import org.atriasoft.etk.Color;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.compositing.CompositingDrawing;
public class Spacer extends Widget {
@@ -35,7 +35,7 @@ public class Spacer extends Widget {
}
@Override
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
return null;
}
@@ -55,10 +55,10 @@ public class Spacer extends Widget {
return;
}
this.draw.setColor(this.propertyColor);
- this.draw.setPos(Vector3f.ZERO);
- this.draw.rectangleWidth(new Vector3f(this.size.x(), this.size.y(), 0));
- //this.draw.setPos(new Vector3f(this.size.x() * 0.1f, this.size.y() * 0.1f, 0));
- //this.draw.rectangleWidth(new Vector3f(this.size.x() * 0.8f, this.size.y() * 0.8f, 0));
+ this.draw.setPos(Vector2f.ZERO);
+ this.draw.rectangleWidth(new Vector2f(this.size.x(), this.size.y()));
+ //this.draw.setPos(new Vector2f(this.size.x() * 0.1f, this.size.y() * 0.1f, 0));
+ //this.draw.rectangleWidth(new Vector2f(this.size.x() * 0.8f, this.size.y() * 0.8f, 0));
this.draw.flush();
}
diff --git a/src/main/org/atriasoft/ewol/widget/Tick.java b/src/main/org/atriasoft/ewol/widget/Tick.java
index 3dd4d6a..0d001bb 100644
--- a/src/main/org/atriasoft/ewol/widget/Tick.java
+++ b/src/main/org/atriasoft/ewol/widget/Tick.java
@@ -11,12 +11,12 @@ import org.atriasoft.esignal.SignalEmpty;
import org.atriasoft.etk.Color;
import org.atriasoft.etk.Dimension1f;
import org.atriasoft.etk.Dimension2f;
-import org.atriasoft.etk.Dimension3f;
+import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3b;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.etk.math.Vector3i;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
import org.atriasoft.ewol.Padding;
import org.atriasoft.ewol.compositing.CompositingSVG;
import org.atriasoft.ewol.compositing.GuiShapeMode;
@@ -77,8 +77,8 @@ public class Tick extends Box {
@AknotDescription("Tick value change")
public Signal signalValue = new Signal<>();
// element over:
- Vector3f overPositionStart = Vector3f.ZERO;
- Vector3f overPositionStop = Vector3f.ZERO;
+ Vector2f overPositionStart = Vector2f.ZERO;
+ Vector2f overPositionStop = Vector2f.ZERO;
private boolean isDown;
@@ -90,9 +90,9 @@ public class Tick extends Box {
markToRedraw();
// can not support multiple click...
setMouseLimit(1);
- setPropertyExpand(Vector3b.FALSE);
- setPropertyFill(Vector3b.TRUE);
- setPropertyMinSize(new Dimension3f(new Vector3f(32f, 32f, 32f)));
+ setPropertyExpand(Vector2b.FALSE);
+ setPropertyFill(Vector2b.TRUE);
+ setPropertyMinSize(new Dimension2f(new Vector2f(32f, 32f)));
setPropertyBorderWidth(new Dimension1f(4));
//setPropertyBorderRadius(new Dimension1f(15));
setPropertyBorderColor(Color.BLACK);
@@ -108,12 +108,12 @@ public class Tick extends Box {
super.calculateMinMaxSize();
// get generic padding
final Padding padding = Padding.ZERO;
- final Vector3i minHeight = Vector3i.VALUE_16;
+ final Vector2i minHeight = Vector2i.VALUE_16;
- Vector3f minimumSizeBase = new Vector3f(minHeight.x(), minHeight.y(), minHeight.z());
+ Vector2f minimumSizeBase = new Vector2f(minHeight.x(), minHeight.y());
// add padding :
- minimumSizeBase = minimumSizeBase.add(padding.x(), padding.y(), padding.z());
- this.minSize = Vector3f.max(this.minSize, minimumSizeBase);
+ minimumSizeBase = minimumSizeBase.add(padding.x(), padding.y());
+ this.minSize = Vector2f.max(this.minSize, minimumSizeBase);
// verify the min max of the min size ...
checkMinSize();
LOGGER.error("min size = " + this.minSize);
@@ -130,7 +130,7 @@ public class Tick extends Box {
// }
}
- private boolean checkIfOver(final Vector3f relPos) {
+ private boolean checkIfOver(final Vector2f relPos) {
return relPos.x() > this.overPositionStart.x() && relPos.y() > this.overPositionStart.y()
&& relPos.x() < this.overPositionStop.x() && relPos.y() < this.overPositionStop.y();
}
@@ -167,8 +167,8 @@ public class Tick extends Box {
@Override
public boolean onEventInput(final EventInput event) {
- final Vector3f positionAbsolute = new Vector3f(event.pos().x(), event.pos().y(), 0);
- final Vector3f relPos = relativePosition(positionAbsolute);
+ final Vector2f positionAbsolute = new Vector2f(event.pos().x(), event.pos().y());
+ final Vector2f relPos = relativePosition(positionAbsolute);
System.out.println("Event on Input ... " + event + " relPos = " + relPos);
LOGGER.trace("Event on Input ... " + event + " relPos = " + relPos);
final boolean over = checkIfOver(relPos);
diff --git a/src/main/org/atriasoft/ewol/widget/Widget.java b/src/main/org/atriasoft/ewol/widget/Widget.java
index 033c7f7..863d044 100644
--- a/src/main/org/atriasoft/ewol/widget/Widget.java
+++ b/src/main/org/atriasoft/ewol/widget/Widget.java
@@ -16,12 +16,13 @@ import org.atriasoft.aknot.annotation.AknotName;
import org.atriasoft.aknot.annotation.AknotSignal;
import org.atriasoft.esignal.Signal;
import org.atriasoft.etk.Color;
-import org.atriasoft.etk.Dimension3f;
+import org.atriasoft.etk.Dimension2f;
import org.atriasoft.etk.Distance;
import org.atriasoft.etk.math.FMath;
import org.atriasoft.etk.math.Matrix4f;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3b;
+import org.atriasoft.etk.math.Vector2b;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector3f;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.Gravity;
@@ -74,23 +75,23 @@ public class Widget extends EwolObject {
private final List localShortcut = new ArrayList<>(); //!< list of all shortcut in the widget
- protected Vector3f maxSize = Vector3f.MAX_VALUE; //!< internal: maximum size of the widget
+ protected Vector2f maxSize = Vector2f.MAX_VALUE; //!< internal: maximum size of the widget
- protected Vector3f minSize = Vector3f.ZERO; //!< internal: minimum size of the widget
+ protected Vector2f minSize = Vector2f.ZERO; //!< internal: minimum size of the widget
// ----------------------------------------------------------------------------------------------------------------
// -- drawing : All drawing must be done in 2 separate buffer 1 for the current display and 1 for the working...
// ----------------------------------------------------------------------------------------------------------------
protected boolean needRegenerateDisplay = true; //!< the display might be done the next regeneration
- protected Vector3f offset = Vector3f.ZERO; //!< Offset of the display in the view-port
- protected Vector3f origin = Vector3f.ZERO; //!< internal ... I do not really known how if can use it ...
+ protected Vector2f offset = Vector2f.ZERO; //!< Offset of the display in the view-port
+ protected Vector2f origin = Vector2f.ZERO; //!< internal ... I do not really known how if can use it ...
protected boolean propertyCanFocus = false; //!< the focus can be done on this widget
- protected Vector3b propertyExpand = Vector3b.FALSE; //!< the widget will expand if possible
- protected Vector3b propertyExpandIfFree = Vector3b.FALSE; //!< the widget will expand if possible
- protected Vector3b propertyFill = Vector3b.FALSE; //!< the widget will fill all the space provided by the parent.
+ protected Vector2b propertyExpand = Vector2b.FALSE; //!< the widget will expand if possible
+ protected Vector2b propertyExpandIfFree = Vector2b.FALSE; //!< the widget will expand if possible
+ protected Vector2b propertyFill = Vector2b.FALSE; //!< the widget will fill all the space provided by the parent.
protected Gravity propertyGravity = Gravity.CENTER; //!< Gravity of the widget
protected boolean propertyHide = false; //!< hide a widget on the display
- protected Dimension3f propertyMaxSize = new Dimension3f(Vector3f.MAX_VALUE, Distance.PIXEL); //!< user define the maximum size of the widget
- protected Dimension3f propertyMinSize = new Dimension3f(Vector3f.ZERO, Distance.PIXEL); //!< user define the minimum size of the widget
+ protected Dimension2f propertyMaxSize = new Dimension2f(Vector2f.MAX_VALUE, Distance.PIXEL); //!< user define the maximum size of the widget
+ protected Dimension2f propertyMinSize = new Dimension2f(Vector2f.ZERO, Distance.PIXEL); //!< user define the minimum size of the widget
// ----------------------------------------------------------------------------------------------------------------
// -- Shortcut : management of the shortcut
@@ -102,7 +103,7 @@ public class Widget extends EwolObject {
// ----------------------------------------------------------------------------------------------------------------
// -- Widget size:
// ----------------------------------------------------------------------------------------------------------------
- protected Vector3f size = Vector3f.VALUE_16; //!< internal: current size of the widget
+ protected Vector2f size = Vector2f.VALUE_16; //!< internal: current size of the widget
// internal element calculated by the system
protected float zoom = 1.0f; //!< generic widget zoom
@@ -135,11 +136,11 @@ public class Widget extends EwolObject {
* @return 2D boolean represents the capacity to expend
* @note : INTERNAL EWOL SYSTEM
*/
- public Vector3b canExpand() {
+ public Vector2b canExpand() {
if (!this.propertyHide) {
return this.propertyExpand;
}
- return Vector3b.FALSE;
+ return Vector2b.FALSE;
}
/**
@@ -147,19 +148,19 @@ public class Widget extends EwolObject {
* @return 2D boolean represents the capacity to expend (if some free space is available)
* @note : INTERNAL EWOL SYSTEM
*/
- public Vector3b canExpandIfFree() {
+ public Vector2b canExpandIfFree() {
if (!this.propertyHide) {
return this.propertyExpandIfFree;
}
- return Vector3b.FALSE;
+ return Vector2b.FALSE;
}
/**
* get the filling capabilities xy
- * @return Vector3b repensent the capacity to xy filling
+ * @return Vector2b repensent the capacity to xy filling
* @note : INTERNAL EWOL SYSTEM
*/
- public Vector3b canFill() {
+ public Vector2b canFill() {
return this.propertyFill;
}
@@ -177,8 +178,8 @@ public class Widget extends EwolObject {
* @note : INTERNAL EWOL SYSTEM
*/
public void checkMaxSize() {
- final Vector3f pixelSize = this.propertyMaxSize.getPixel();
- this.maxSize = Vector3f.min(this.maxSize, pixelSize);
+ final Vector2f pixelSize = this.propertyMaxSize.getPixel();
+ this.maxSize = Vector2f.min(this.maxSize, pixelSize);
}
/**
@@ -187,8 +188,8 @@ public class Widget extends EwolObject {
* @note : INTERNAL EWOL SYSTEM
*/
public void checkMinSize() {
- final Vector3f pixelSize = this.propertyMinSize.getPixel();
- this.minSize = Vector3f.max(this.minSize, pixelSize);
+ final Vector2f pixelSize = this.propertyMinSize.getPixel();
+ this.minSize = Vector2f.max(this.minSize, pixelSize);
}
public void drawWidgetTree(final int level) {
@@ -206,11 +207,11 @@ public class Widget extends EwolObject {
* @return Requested size
* @note : INTERNAL EWOL SYSTEM
*/
- public Vector3f getCalculateMaxSize() {
+ public Vector2f getCalculateMaxSize() {
if (!this.propertyHide) {
return this.maxSize;
}
- return Vector3f.MAX_VALUE;
+ return Vector2f.MAX_VALUE;
}
/**
@@ -218,11 +219,11 @@ public class Widget extends EwolObject {
* @return Requested size
* @note : INTERNAL EWOL SYSTEM
*/
- public Vector3f getCalculateMinSize() {
+ public Vector2f getCalculateMinSize() {
if (!this.propertyHide) {
return this.minSize;
}
- return Vector3f.ZERO;
+ return Vector2f.ZERO;
}
/**
@@ -262,7 +263,7 @@ public class Widget extends EwolObject {
* get the offset property of the widget.
* @return The current offset value.
*/
- Vector3f getOffset() {
+ Vector2f getOffset() {
return this.offset;
}
@@ -270,7 +271,7 @@ public class Widget extends EwolObject {
* Get the origin (absolute position in the windows).
* @return Coordinate of the origin requested.
*/
- public Vector3f getOrigin() {
+ public Vector2f getOrigin() {
return this.origin;
}
@@ -286,7 +287,7 @@ public class Widget extends EwolObject {
@AknotAttribute
@AknotName("expand")
@AknotDescription("Request the widget Expand size while space is available")
- public Vector3b getPropertyExpand() {
+ public Vector2b getPropertyExpand() {
return this.propertyExpand;
}
@@ -294,7 +295,7 @@ public class Widget extends EwolObject {
@AknotAttribute
@AknotName("expand-free")
@AknotDescription("Request the widget Expand size while free space is detected (does not generate expand in upper wideget)")
- public Vector3b getPropertyExpandIfFree() {
+ public Vector2b getPropertyExpandIfFree() {
return this.propertyExpandIfFree;
}
@@ -302,7 +303,7 @@ public class Widget extends EwolObject {
@AknotAttribute
@AknotName("fill")
@AknotDescription("Fill the widget available size")
- public Vector3b getPropertyFill() {
+ public Vector2b getPropertyFill() {
return this.propertyFill;
}
@@ -326,7 +327,7 @@ public class Widget extends EwolObject {
@AknotAttribute
@AknotName("max-size")
@AknotDescription("User maximum size")
- public Dimension3f getPropertyMaxSize() {
+ public Dimension2f getPropertyMaxSize() {
return this.propertyMaxSize;
}
@@ -334,7 +335,7 @@ public class Widget extends EwolObject {
@AknotAttribute
@AknotName("min-size")
@AknotDescription("User minimum size")
- public Dimension3f getPropertyMinSize() {
+ public Dimension2f getPropertyMinSize() {
return this.propertyMinSize;
}
@@ -343,11 +344,11 @@ public class Widget extends EwolObject {
* @return Requested size
* @note : INTERNAL EWOL SYSTEM
*/
- public Vector3f getSize() {
+ public Vector2f getSize() {
if (!this.propertyHide) {
return this.size;
}
- return Vector3f.ZERO;
+ return Vector2f.ZERO;
}
/**
@@ -357,7 +358,7 @@ public class Widget extends EwolObject {
* @return pointer on the widget found
* @note : INTERNAL EWOL SYSTEM
*/
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
if (!this.propertyHide) {
return this;
}
@@ -554,12 +555,12 @@ public class Widget extends EwolObject {
protected void onRegenerateDisplay() {}
protected void onUpdateMinMaxSize() {
- final Vector3f pixelMin = this.propertyMinSize.getPixel();
- final Vector3f pixelMax = this.propertyMaxSize.getPixel();
+ final Vector2f pixelMin = this.propertyMinSize.getPixel();
+ final Vector2f pixelMax = this.propertyMaxSize.getPixel();
// check minimum maximum compatibility :
if (pixelMin.x() > pixelMax.x() || pixelMin.y() > pixelMax.y()) {
LOGGER.error("Can not set a 'min size' > 'max size' reset to maximum ...");
- this.propertyMaxSize = new Dimension3f(Vector3f.MAX_VALUE, Distance.PIXEL);
+ this.propertyMaxSize = new Dimension2f(Vector2f.MAX_VALUE, Distance.PIXEL);
}
requestUpdateSize();
}
@@ -569,7 +570,7 @@ public class Widget extends EwolObject {
* @param pos Absolute position that you request conversion.
* @return The relative position.
*/
- public Vector3f relativePosition(final Vector3f pos) {
+ public Vector2f relativePosition(final Vector2f pos) {
return pos.less(this.origin);
}
@@ -644,21 +645,21 @@ public class Widget extends EwolObject {
* User set No maximum size.
*/
public void setNoMaxSize() {
- setPropertyMaxSize(new Dimension3f(Vector3f.MAX_VALUE, Distance.PIXEL));
+ setPropertyMaxSize(new Dimension2f(Vector2f.MAX_VALUE, Distance.PIXEL));
}
/**
* User set No minimum size.
*/
public void setNoMinSize() {
- setPropertyMinSize(new Dimension3f(Vector3f.ZERO, Distance.PIXEL));
+ setPropertyMinSize(new Dimension2f(Vector2f.ZERO, Distance.PIXEL));
}
/**
* set the zoom property of the widget.
* @param newVal offset value.
*/
- public void setOffset(final Vector3f newVal) {
+ public void setOffset(final Vector2f newVal) {
LOGGER.info("Set offset: " + newVal);
if (this.offset != newVal) {
this.offset = newVal;
@@ -672,7 +673,7 @@ public class Widget extends EwolObject {
* @param pos Position of the origin.
* @note : INTERNAL EWOL SYSTEM
*/
- public void setOrigin(final Vector3f pos) {
+ public void setOrigin(final Vector2f pos) {
this.origin = pos;
}
@@ -689,7 +690,7 @@ public class Widget extends EwolObject {
}
}
- public void setPropertyExpand(final Vector3b value) {
+ public void setPropertyExpand(final Vector2b value) {
if (this.propertyExpand.equals(value)) {
return;
}
@@ -698,7 +699,7 @@ public class Widget extends EwolObject {
requestUpdateSize();
}
- public void setPropertyExpandIfFree(final Vector3b value) {
+ public void setPropertyExpandIfFree(final Vector2b value) {
if (this.propertyExpandIfFree.equals(value)) {
return;
}
@@ -707,7 +708,7 @@ public class Widget extends EwolObject {
requestUpdateSize();
}
- public void setPropertyFill(final Vector3b value) {
+ public void setPropertyFill(final Vector2b value) {
if (this.propertyFill.equals(value)) {
return;
}
@@ -734,7 +735,7 @@ public class Widget extends EwolObject {
requestUpdateSize();
}
- public void setPropertyMaxSize(final Dimension3f value) {
+ public void setPropertyMaxSize(final Dimension2f value) {
if (this.propertyMaxSize.equals(value)) {
return;
}
@@ -742,7 +743,7 @@ public class Widget extends EwolObject {
onUpdateMinMaxSize();
}
- public void setPropertyMinSize(final Dimension3f value) {
+ public void setPropertyMinSize(final Dimension2f value) {
if (this.propertyMinSize.equals(value)) {
return;
}
@@ -755,7 +756,7 @@ public class Widget extends EwolObject {
* @return Requested size
* @note : INTERNAL EWOL SYSTEM Do not modify the size yourself: calculation is complex and need knowledge of around widget
*/
- public void setSize(final Vector3f value) {
+ public void setSize(final Vector2f value) {
this.size = value;
if (this.size.x() > 15000) {
return;
@@ -940,7 +941,7 @@ public class Widget extends EwolObject {
// widget is hidden ...
return;
}
- final Vector3f displayOrigin = this.origin.add(this.offset);
+ final Vector2f displayOrigin = this.origin.add(this.offset);
// check if the element is displayable in the windows :
if (displayProp.windowsSize().x() < this.origin.x() || displayProp.windowsSize().y() < this.origin.y()) {
@@ -958,12 +959,12 @@ public class Widget extends EwolObject {
Vector2i downOffset = new Vector2i((int) (this.origin.x() - tmpSize.origin().x()),
(int) (this.origin.y() - tmpSize.origin().y()));
downOffset = Vector2i.min(downOffset, Vector2i.ZERO);
- //LOGGER.info("translate : (" + (new Vector3f(-tmpSize.size().x() / 2 + this.offset.x() + downOffset.x(), -tmpSize.size().y() / 2 + this.offset.y() + downOffset.y(), -1.0f)).clipInteger());
+ //LOGGER.info("translate : (" + (new Vector2f(-tmpSize.size().x() / 2 + this.offset.x() + downOffset.x(), -tmpSize.size().y() / 2 + this.offset.y() + downOffset.y(), -1.0f)).clipInteger());
// translate the display to have a Gui 0,0 position on the Left button angle
final Matrix4f tmpTranslate = Matrix4f
.createMatrixTranslate((new Vector3f(-tmpSize.size().x() / 2 + this.offset.x() + downOffset.x(),
-tmpSize.size().y() / 2 + this.offset.y() + downOffset.y(), -1.0f)).clipInteger());
- //final Matrix4f tmpTranslate = Matrix4f.createMatrixTranslate(new Vector3f(0, 0, 1.0f));
+ //final Matrix4f tmpTranslate = Matrix4f.createMatrixTranslate(new Vector2f(0, 0, 1.0f));
// Scale if needed (feature not validate)
final Matrix4f tmpScale = Matrix4f.createMatrixScale(this.zoom, this.zoom, 1.0f);
// create orthogonal projection for GUI ==> simple to manage staking
@@ -1037,7 +1038,7 @@ public class Widget extends EwolObject {
/*
this.drawDebugBorder.setColor(Color.BLUE);
this.drawDebugBorder.setPos(3, 3);
- this.drawDebugBorder.rectangleWidth(new Vector3f(this.size.x() - 6, this.size.y() - 6, 0));
+ this.drawDebugBorder.rectangleWidth(new Vector2f(this.size.x() - 6, this.size.y() - 6, 0));
*/
this.drawDebugBorder.flush();
}
diff --git a/src/main/org/atriasoft/ewol/widget/WidgetList.java b/src/main/org/atriasoft/ewol/widget/WidgetList.java
index c93d3bf..5543758 100644
--- a/src/main/org/atriasoft/ewol/widget/WidgetList.java
+++ b/src/main/org/atriasoft/ewol/widget/WidgetList.java
@@ -14,8 +14,8 @@ import java.util.Map.Entry;
import org.atriasoft.etk.Color;
import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.etk.math.Vector2i;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.etk.math.Vector3i;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
import org.atriasoft.ewol.compositing.Compositing;
import org.atriasoft.ewol.compositing.CompositingDrawing;
import org.atriasoft.ewol.compositing.CompositingText;
@@ -29,7 +29,7 @@ class WidgetList extends WidgetScrolled {
// drawing capabilities ....
protected List listOObject = new ArrayList<>(); //!< generic element to display...
- protected List listSizeX = new ArrayList<>(); //!< size of every colomns
+ protected List listSizeX = new ArrayList<>(); //!< size of every colons
protected List listSizeY = new ArrayList<>(); //!< size of every rows
protected Map compositingElements = new HashMap<>();
@@ -37,7 +37,7 @@ class WidgetList extends WidgetScrolled {
protected int paddingSizeX = 0;
protected int paddingSizeY = 0;
- protected int displayStartRaw = 0; //!< Current starting diaplayed raw
+ protected int displayStartRaw = 0; //!< Current starting displayed raw
protected int displayCurrentNbLine = 0; //!< Number of line in the display
@@ -68,7 +68,7 @@ class WidgetList extends WidgetScrolled {
protected Vector2f calculateElementSize(final Vector2i pos) {
if (getComposeElemnent("text") instanceof final CompositingText tmpText) {
if (getData(ListRole.Text, pos) instanceof final String myTextToWrite) {
- final Vector3f textSize = tmpText.calculateSize(myTextToWrite);
+ final Vector2f textSize = tmpText.calculateSize(myTextToWrite);
//final Vector2i count = getMatrixSize();
return new Vector2f(textSize.x(), textSize.y() + this.paddingSizeY * 3);
}
@@ -84,7 +84,7 @@ class WidgetList extends WidgetScrolled {
this.minSize.x = 3+minWidth;
this.minSize.y = 3+minHeight;
*/
- this.minSize = new Vector3f(200, 150, 10);
+ this.minSize = new Vector2f(200, 150);
}
protected void clearComposeElemnent() {
@@ -105,7 +105,7 @@ class WidgetList extends WidgetScrolled {
if (getComposeElemnent("drawing") instanceof final CompositingDrawing BGOObjects) {
final Color basicBG = getBasicBG();
BGOObjects.setColor(basicBG);
- BGOObjects.setPos(Vector3f.ZERO);
+ BGOObjects.setPos(Vector2f.ZERO);
BGOObjects.rectangleWidth(new Vector2f(this.size.x(), this.size.y()));
}
}
@@ -122,7 +122,7 @@ class WidgetList extends WidgetScrolled {
if (getData(ListRole.BgColor, pos) instanceof final Color bg) {
if (getComposeElemnent("drawing") instanceof final CompositingDrawing BGOObjects) {
BGOObjects.setColor(bg);
- BGOObjects.setPos(new Vector3f(start.x(), start.y(), 0));
+ BGOObjects.setPos(new Vector2f(start.x(), start.y()));
BGOObjects.rectangleWidth(size);
}
}
@@ -131,7 +131,7 @@ class WidgetList extends WidgetScrolled {
if (getComposeElemnent("text") instanceof final CompositingText tmpText) {
final int displayPositionY = (int) (start.y() + this.paddingSizeY);
tmpText.setColor(fg);
- tmpText.setPos(new Vector3f(start.x() + this.paddingSizeX, displayPositionY, 0));
+ tmpText.setPos(new Vector2f(start.x() + this.paddingSizeX, displayPositionY));
tmpText.print(myTextToWrite);
}
}
@@ -198,7 +198,7 @@ class WidgetList extends WidgetScrolled {
@Override
public boolean onEventInput(final EventInput event) {
- Vector3f relativePos = relativePosition(new Vector3f(event.pos().x(), event.pos().y(), 0));
+ Vector2f relativePos = relativePosition(new Vector2f(event.pos().x(), event.pos().y()));
if (super.onEventInput(event)) {
keepFocus();
// nothing to do ... done on upper widget ...
@@ -207,10 +207,10 @@ class WidgetList extends WidgetScrolled {
if (this.listSizeY.size() == 0) {
return false;
}
- relativePos = new Vector3f(relativePos.x() + this.originScrooled.x(),
- this.size.y() - relativePos.y() + this.originScrooled.y(), 0);
+ relativePos = new Vector2f(relativePos.x() + this.originScrooled.x(),
+ this.size.y() - relativePos.y() + this.originScrooled.y());
// Find the colomn and the row
- Vector3i pos = Vector3i.ZERO;
+ Vector2i pos = Vector2i.ZERO;
float offsetY = 0;
for (int iii = 0; iii < this.listSizeY.size() - 1; iii++) {
final int previous = (int) offsetY;
@@ -239,7 +239,7 @@ class WidgetList extends WidgetScrolled {
break;
}
}
- final Vector3f posInternalMouse = relativePos.less(offsetX, offsetY, 0);
+ final Vector2f posInternalMouse = relativePos.less(offsetX, offsetY);
final boolean isUsed = onItemEvent(event, pos, posInternalMouse);
if (isUsed) {
// TODO : this generate bugs ... I did not understand why ..
@@ -258,7 +258,7 @@ class WidgetList extends WidgetScrolled {
LOGGER.debug("WidgetList get focus");
}
- protected boolean onItemEvent(final EventInput event, final Vector3i pos, final Vector3f mousePosition) {
+ protected boolean onItemEvent(final EventInput event, final Vector2i pos, final Vector2f mousePosition) {
return false;
}
diff --git a/src/main/org/atriasoft/ewol/widget/WidgetScrolled.java b/src/main/org/atriasoft/ewol/widget/WidgetScrolled.java
index 63c3f36..62f4773 100644
--- a/src/main/org/atriasoft/ewol/widget/WidgetScrolled.java
+++ b/src/main/org/atriasoft/ewol/widget/WidgetScrolled.java
@@ -9,7 +9,7 @@ import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.FMath;
import org.atriasoft.etk.math.Matrix4f;
import org.atriasoft.etk.math.Vector2f;
-import org.atriasoft.etk.math.Vector3f;
+import org.atriasoft.etk.math.Vector2f;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.HighSpeedMode;
import org.atriasoft.ewol.Padding;
@@ -116,7 +116,7 @@ class WidgetScrolled extends Widget {
@Override
public boolean onEventInput(final EventInput event) {
LOGGER.trace("event XXX {}", event);
- Vector3f relativePos = relativePosition(new Vector3f(event.pos().x(), event.pos().y(), 0.0f));
+ Vector2f relativePos = relativePosition(new Vector2f(event.pos().x(), event.pos().y()));
// Correction due to the open Gl insertion ...
relativePos = relativePos.withY(this.size.y() - relativePos.y());
final Padding paddingV = new Padding(2, 2, 2, 2);// this.shaperV.getPadding();
@@ -618,9 +618,9 @@ class WidgetScrolled extends Widget {
OpenGL.setViewPort(this.origin, this.size);
final Matrix4f tmpProjection = Matrix4f.createMatrixOrtho(-this.size.x() / 2, this.size.x() / 2,
-this.size.y() / 2, this.size.y() / 2, -1, 1);
- final Matrix4f tmpScale = Matrix4f.createMatrixScale(new Vector3f(this.zoom, this.zoom, 1));
+ final Matrix4f tmpScale = Matrix4f.createMatrixScale(new Vector2f(this.zoom, this.zoom));
final Matrix4f tmpTranslate = Matrix4f
- .createMatrixTranslate(new Vector3f(-this.maxSize.x() / 2, -this.maxSize.y() / 2, -1));
+ .createMatrixTranslate(new Vector2f(-this.maxSize.x() / 2, -this.maxSize.y() / 2));
final Matrix4f tmpMat = tmpProjection.multiply(tmpScale).multiply(tmpTranslate);
// set internal matrix system :
OpenGL.setMatrix(tmpMat);
@@ -633,7 +633,7 @@ class WidgetScrolled extends Widget {
final Matrix4f tmpProjection = Matrix4f.createMatrixOrtho(-this.size.x() / 2, this.size.x() / 2,
-this.size.y() / 2, this.size.y() / 2, -1, 1);
final Matrix4f tmpTranslate = Matrix4f
- .createMatrixTranslate(new Vector3f(-this.maxSize.x() / 2, -this.maxSize.y() / 2, -1));
+ .createMatrixTranslate(new Vector2f(-this.maxSize.x() / 2, -this.maxSize.y() / 2));
final Matrix4f tmpMat = tmpProjection.multiply(tmpTranslate);
// set internal matrix system :
OpenGL.setMatrix(tmpMat);
diff --git a/src/main/org/atriasoft/ewol/widget/Windows.java b/src/main/org/atriasoft/ewol/widget/Windows.java
index 3d26b80..4bfc71f 100644
--- a/src/main/org/atriasoft/ewol/widget/Windows.java
+++ b/src/main/org/atriasoft/ewol/widget/Windows.java
@@ -16,8 +16,8 @@ import org.atriasoft.aknot.annotation.AknotName;
import org.atriasoft.etk.Color;
import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Matrix4f;
-import org.atriasoft.etk.math.Vector3f;
-import org.atriasoft.etk.math.Vector3i;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
import org.atriasoft.ewol.DrawProperty;
import org.atriasoft.ewol.compositing.CompositingDrawing;
import org.atriasoft.ewol.context.EwolContext;
@@ -111,10 +111,10 @@ public class Windows extends Widget {
}
@Override
- public Widget getWidgetAtPos(final Vector3f pos) {
+ public Widget getWidgetAtPos(final Vector2f pos) {
LOGGER.trace("Get widget at pos : " + pos);
// calculate relative position
- final Vector3f relativePos = relativePosition(pos);
+ final Vector2f relativePos = relativePosition(pos);
// event go directly on the pop-up
if (this.popUpWidgetList.size() != 0) {
return this.popUpWidgetList.get(this.popUpWidgetList.size() - 1).getWidgetAtPos(pos);
@@ -144,14 +144,14 @@ public class Windows extends Widget {
this.subWidget.calculateMinMaxSize();
// TODO : do it better ... and manage gravity ...
this.subWidget.setSize(this.size);
- this.subWidget.setOrigin(Vector3f.ZERO);
+ this.subWidget.setOrigin(Vector2f.ZERO);
this.subWidget.onChangeSize();
}
for (final Widget it : this.popUpWidgetList) {
if (it != null) {
it.calculateMinMaxSize();
it.setSize(this.size);
- it.setOrigin(Vector3f.ZERO);
+ it.setOrigin(Vector2f.ZERO);
it.onChangeSize();
}
}
@@ -277,7 +277,7 @@ public class Windows extends Widget {
public void sysDraw() {
//LOGGER.trace("Draw on " + this.size);
// set the size of the open GL system
- OpenGL.setViewPort(Vector3f.ZERO, this.size);
+ OpenGL.setViewPort(Vector2f.ZERO, this.size);
OpenGL.disable(OpenGL.Flag.flag_dither);
//OpenGL.disable(OpenGL.Flag.flagblend);
OpenGL.disable(OpenGL.Flag.flag_stencilTest);
@@ -293,8 +293,8 @@ public class Windows extends Widget {
// clear the matrix system :
OpenGL.setBasicMatrix(Matrix4f.IDENTITY);
- final Vector3i tmpSize = new Vector3i((int) this.size.x(), (int) this.size.y(), (int) this.size.z());
- final DrawProperty displayProp = new DrawProperty(tmpSize, Vector3i.ZERO, tmpSize);
+ final Vector2i tmpSize = new Vector2i((int) this.size.x(), (int) this.size.y());
+ final DrawProperty displayProp = new DrawProperty(tmpSize, Vector2i.ZERO, tmpSize);
systemDraw(displayProp);
OpenGL.disable(OpenGL.Flag.flag_blend);
}
diff --git a/src/main/org/atriasoft/ewol/widget/meta/SpinBase.java b/src/main/org/atriasoft/ewol/widget/meta/SpinBase.java
index 3e38379..4e80ae8 100644
--- a/src/main/org/atriasoft/ewol/widget/meta/SpinBase.java
+++ b/src/main/org/atriasoft/ewol/widget/meta/SpinBase.java
@@ -5,7 +5,7 @@ import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotManaged;
import org.atriasoft.aknot.annotation.AknotName;
import org.atriasoft.etk.Uri;
-import org.atriasoft.etk.math.Vector3b;
+import org.atriasoft.etk.math.Vector2b;
import org.atriasoft.ewol.Gravity;
import org.atriasoft.ewol.resource.ResourceConfigFile;
import org.atriasoft.ewol.widget.Button;
@@ -116,8 +116,8 @@ public class SpinBase extends Sizer {
this.widgetEntry.setPropertyConfig(Uri.valueOf(shaper));
}
}
- this.widgetEntry.setPropertyExpand(new Vector3b(true, false, false));
- this.widgetEntry.setPropertyFill(Vector3b.TRUE);
+ this.widgetEntry.setPropertyExpand(Vector2b.TRUE_FALSE);
+ this.widgetEntry.setPropertyFill(Vector2b.TRUE);
}
if (this.widgetButtonDown == null) {
this.widgetButtonDown = new Button();
@@ -128,8 +128,8 @@ public class SpinBase extends Sizer {
this.widgetButtonDown.setPropertyConfig(Uri.valueOf(shaper));
}
}
- this.widgetButtonDown.setPropertyExpand(new Vector3b(false, false, false));
- this.widgetButtonDown.setPropertyFill(Vector3b.TRUE);
+ this.widgetButtonDown.setPropertyExpand(Vector2b.FALSE);
+ this.widgetButtonDown.setPropertyFill(Vector2b.TRUE);
final String data = this.config.getString(this.confIdDownData);
final Widget widget = Composer.composerGenerateString(data);
//this.widgetButtonDown.setSubWidget(widget, 0);
@@ -144,8 +144,8 @@ public class SpinBase extends Sizer {
this.widgetButtonUp.setPropertyConfig(Uri.valueOf(shaper));
}
}
- this.widgetButtonUp.setPropertyExpand(new Vector3b(false, false, false));
- this.widgetButtonUp.setPropertyFill(Vector3b.TRUE);
+ this.widgetButtonUp.setPropertyExpand(Vector2b.FALSE);
+ this.widgetButtonUp.setPropertyFill(Vector2b.TRUE);
final String data = this.config.getString(this.confIdUpData);
final Widget widget = Composer.composerGenerateString(data);
this.widgetButtonUp.setSubWidget(widget);
diff --git a/src/org/atriasoft/ewol/compositing/CompositingSVG.java b/src/org/atriasoft/ewol/compositing/CompositingSVG.java
new file mode 100644
index 0000000..b192dbd
--- /dev/null
+++ b/src/org/atriasoft/ewol/compositing/CompositingSVG.java
@@ -0,0 +1,397 @@
+/** @file
+ * @author Edouard DUPIN
+ * @copyright 2011, Edouard DUPIN, all right reserved
+ * @license MPL v2.0 (see license file)
+ */
+package org.atriasoft.ewol.compositing;
+
+import org.atriasoft.egami.ImageByte;
+import org.atriasoft.egami.ImageByteRGBA;
+import org.atriasoft.egami.ToolImage;
+import org.atriasoft.esvg.EsvgDocument;
+import org.atriasoft.etk.Color;
+import org.atriasoft.etk.Uri;
+import org.atriasoft.etk.math.Matrix4f;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.etk.math.Vector2i;
+import org.atriasoft.etk.math.Vector2f;
+import org.atriasoft.gale.backend3d.OpenGL;
+import org.atriasoft.gale.backend3d.OpenGL.RenderMode;
+import org.atriasoft.gale.resource.ResourceProgram;
+import org.atriasoft.gale.resource.ResourceTexture2;
+import org.atriasoft.gale.resource.ResourceTextureFile;
+import org.atriasoft.gale.resource.ResourceVirtualArrayObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CompositingSVG extends Compositing {
+ private static final Logger LOGGER = LoggerFactory.getLogger(CompositingSVG.class);
+ public static final int NB_VBO = 3;
+ public static final int SIZE_AUTO = 0;
+ public static final int VBO_ID_COLOR = 2;
+ // VBO table property:
+ public static final int VBO_ID_COORD = 0;
+ public static final int VBO_ID_COORD_TEX = 1;
+ private float angle = 0; //!< Angle to set at the axes
+ private Color color = new Color(1, 1, 1); //!< The text foreground color
+ private String svgData;
+ protected int oGLMatrixProjection = -1; //!< openGL id on the element (Projection matrix)
+ protected int oGLMatrixTransformation = -1; //!< openGL id on the element (transformation matrix)
+ protected int oGLMatrixView = -1; //!< openGL id on the element (view matrix)
+ private ResourceProgram oGLprogram = null; //!< pointer on the opengl display program
+ private Vector2f position = Vector2f.ZERO; //!< The current position to draw
+ private Vector2i requestSize = new Vector2i(2, 2);
+
+ private ResourceTexture2 resourceImage = null; //!< texture resources
+ private ResourceVirtualArrayObject vbo = null;
+
+ private Color[] vboDataColors = null;
+ private Vector2f[] vboDataCoords = null;
+ private Vector2f[] vboDataCoordsTex = null;
+
+ public CompositingSVG() {
+ this("", CompositingSVG.SIZE_AUTO);
+ }
+
+ public CompositingSVG(final String data, final int size) {
+ this.svgData = data;
+ // Create the VBO:
+ this.vbo = ResourceVirtualArrayObject.createDynamic();
+ if (this.vbo == null) {
+ LOGGER.error("can not instanciate VBO ...");
+ return;
+ }
+ // TO facilitate some debugs we add a name of the VBO:
+ this.vbo.setName("[VBO] of " + this.getClass().getCanonicalName());
+ setSource(data, size);
+ loadProgram();
+ }
+
+ /**
+ * clear alll tre registered element in the current element
+ */
+ @Override
+ public void clear() {
+ // call upper class
+ super.clear();
+ // reset Buffer :
+ this.vbo.clear();
+ // reset temporal variables :
+ this.position = Vector2f.ZERO;
+ this.color = Color.WHITE;
+ this.angle = 0;
+ }
+
+ /**
+ * draw All the registered text in the current element on openGL
+ * @param disableDepthTest disable the Depth test for display
+ */
+ @Override
+ public void draw(final boolean disableDepthTest) {
+ /*
+ if (this.VBO.bufferSize(this.vboIdCoord) <= 0) {
+ //LOGGER.warn("Nothink to draw...");
+ return;
+ }
+ */
+ if (this.resourceImage == null) {
+ return;
+ }
+ if (this.oGLprogram == null) {
+ LOGGER.error("No shader ...");
+ return;
+ }
+ //LOGGER.warn("Display image : " + this.VBO.bufferSize(this.vboIdCoord));
+ if (disableDepthTest) {
+ OpenGL.disable(OpenGL.Flag.flag_depthTest);
+ } else {
+ OpenGL.enable(OpenGL.Flag.flag_depthTest);
+ }
+ // set Matrix : translation/positionMatrix
+ final Matrix4f projMatrix = OpenGL.getMatrix();
+ final Matrix4f camMatrix = OpenGL.getCameraMatrix();
+ this.oGLprogram.use();
+ this.vbo.bindForRendering();
+ this.oGLprogram.uniformMatrix(this.oGLMatrixProjection, projMatrix);
+ this.oGLprogram.uniformMatrix(this.oGLMatrixTransformation, this.matrixApply);
+ this.oGLprogram.uniformMatrix(this.oGLMatrixView, camMatrix);
+ // TextureID
+ this.resourceImage.bindForRendering(0);
+ this.vbo.renderArrays(RenderMode.TRIANGLE);
+ this.vbo.unBindForRendering();
+ this.oGLprogram.unUse();
+ }
+
+ @Override
+ public void flush() {
+ this.vbo.setPosition(this.vboDataCoords);
+ this.vbo.setTextureCoordinate(this.vboDataCoordsTex);
+ this.vbo.setColors(this.vboDataColors);
+ this.vbo.setVertexCount(this.vboDataCoords.length);
+ this.vbo.flush();
+ }
+
+ /**
+ * get the current display position (sometime needed in the gui control)
+ * @return the current position.
+ */
+ public Vector2f getPos() {
+ return this.position;
+ }
+
+ /**
+ * get the source image registered size in the file (<0 when multiple size image)
+ * @return tre image registered size
+ */
+ public Vector2i getRealSize() {
+ if (this.resourceImage == null) {
+ return Vector2i.ZERO;
+ }
+ return this.resourceImage.getUsableSize();
+ }
+
+ /**
+ * Sometimes the user declare an image but not allocate the ressources all the time, this is to know it ..
+ * @return the validity od the resources.
+ */
+ public boolean hasSources() {
+ return this.resource != null;
+ }
+
+ /**
+ * load the openGL program and get all the ID needed
+ */
+ private void loadProgram() {
+ // get the shader resource:
+ this.oGLprogram = ResourceProgram.create(new Uri("DATA", "textured3D.vert", "ewol"),
+ new Uri("DATA", "textured3D.frag", "ewol"));
+ if (this.oGLprogram != null) {
+ this.oGLMatrixTransformation = this.oGLprogram.getUniform("in_matrixTransformation");
+ this.oGLMatrixProjection = this.oGLprogram.getUniform("in_matrixProjection");
+ this.oGLMatrixView = this.oGLprogram.getUniform("in_matrixView");
+ }
+ }
+
+ public void print(final Vector2f size) {
+ printPart(size, Vector2f.ZERO, Vector2f.ONE);
+ }
+
+ /**
+ * add a compleate of the image to display with the requested size
+ * @param size size of the output image
+ */
+ public void print(final Vector2i size) {
+ print(new Vector2f(size.x(), size.y()));
+ }
+
+ /**
+ * add a part of the image to display with the requested size
+ * @param size size of the output image
+ * @param sourcePosStart Start position in the image [0..1] (can be bigger but this repeate the image).
+ * @param sourcePosStop Stop position in the image [0..1] (can be bigger but this repeate the image).
+ */
+ public void printPart(final Vector2f size, final Vector2f sourcePosStartIn, final Vector2f sourcePosStopIn) {
+ if (this.resource == null) {
+ return;
+ }
+ final Vector2f openGLSize = new Vector2f(this.resource.getOpenGlSize().x(), this.resource.getOpenGlSize().y());
+ final Vector2i usefullSize = this.resource.getUsableSize();
+ final Vector2f ratio = new Vector2f(usefullSize.x() / openGLSize.x(), usefullSize.y() / openGLSize.y());
+ final Vector2f sourcePosStart = sourcePosStartIn.multiply(ratio);
+ final Vector2f sourcePosStop = sourcePosStopIn.multiply(ratio);
+ LOGGER.trace(" openGLSize=" + openGLSize + " usableSize=" + usefullSize + " start=" + sourcePosStart
+ + " stop=" + sourcePosStop);
+
+ this.vboDataColors = new Color[6];
+ this.vboDataCoords = new Vector2f[6];
+ this.vboDataCoordsTex = new Vector2f[6];
+
+ if (this.angle == 0.0f) {
+ Vector2f point = this.position;
+ int indexElem = 0;
+
+ Vector2f tex = new Vector2f(sourcePosStart.x(), sourcePosStop.y());
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStop.x(), sourcePosStop.y());
+ point = new Vector2f(this.position.x() + size.x(), this.position.y(), 0);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStop.x(), sourcePosStart.y());
+ point = new Vector2f(this.position.x() + size.x(), this.position.y() + size.y(), 0);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStart.x(), sourcePosStart.y());
+ point = new Vector2f(this.position.x(), this.position.y() + size.y(), 0);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStart.x(), sourcePosStop.y());
+ point = new Vector2f(this.position.x(), this.position.y(), 0);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+
+ return;
+ }
+
+ final Vector2f center = this.position.add(new Vector2f(size.x(), size.y(), 0)).divide(2.0f);
+
+ final Vector2f limitedSize = new Vector2f(size.x() * 0.5f, size.y() * 0.5f, 0.0f);
+
+ Vector2f point = Vector2f.ZERO;
+
+ Vector2f tex = new Vector2f(sourcePosStart.x(), sourcePosStop.y());
+
+ int indexElem = 0;
+
+ point = new Vector2f(-limitedSize.x(), -limitedSize.y(), 0);
+ point = point.rotateNew(new Vector2f(0, 0, 1), this.angle).add(center);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStop.x(), sourcePosStop.y());
+ point = new Vector2f(limitedSize.x(), -limitedSize.y(), 0);
+ point = point.rotateNew(new Vector2f(0, 0, 1), this.angle).add(center);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStop.x(), sourcePosStart.y());
+ point = new Vector2f(limitedSize.x(), limitedSize.y(), 0);
+ point = point.rotateNew(new Vector2f(0, 0, 1), this.angle).add(center);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStart.x(), sourcePosStart.y());
+ point = new Vector2f(-limitedSize.x(), limitedSize.y(), 0);
+ point = point.rotateNew(new Vector2f(0, 0, 1), this.angle).add(center);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+ indexElem++;
+
+ tex = new Vector2f(sourcePosStart.x(), sourcePosStop.y());
+ point = new Vector2f(-limitedSize.x(), -limitedSize.y(), 0);
+ point = point.rotateNew(new Vector2f(0, 0, 1), this.angle).add(center);
+ this.vboDataCoords[indexElem] = point;
+ this.vboDataCoordsTex[indexElem] = tex;
+ this.vboDataColors[indexElem] = this.color;
+
+ }
+
+ /**
+ * set a unique rotation of this element (not set in the rotate Generic system)
+ * @param angleRad Angle to set in radiant.
+ */
+ public void setAngle(final float angleRad) {
+ this.angle = angleRad;
+ }
+
+ /**
+ * set the Color of the current foreground font
+ * @param color Color to set on foreground (for next print)
+ */
+ public void setColor(final Color color) {
+ this.color = color;
+ }
+
+ public void setPos(final Vector2f pos) {
+ setPos(new Vector2f(pos.x(), pos.y(), 0));
+ }
+
+ /**
+ * set position for the next text writen
+ * @param pos Position of the text (in 3D)
+ */
+ public void setPos(final Vector2f pos) {
+ this.position = pos;
+ }
+
+ public void setRelPos(final Vector2f pos) {
+ setRelPos(new Vector2f(pos.x(), pos.y(), 0));
+ }
+
+ /**
+ * set relative position for the next text writen
+ * @param pos ofset apply of the text (in 3D)
+ */
+ public void setRelPos(final Vector2f pos) {
+ this.position = this.position.add(pos);
+ }
+
+ public void setSource(final ImageByteRGBA image) {
+ clear();
+ this.svgData = null;
+ this.requestSize = image.getSize();
+ this.resourceImage = new ResourceTexture2();
+ this.resourceImage.set(image);
+ }
+
+ public void setSource(final String data) {
+ setSource(data, 32);
+ }
+
+ public void setSource(final String data, final int size) {
+ setSource(data, new Vector2i(size, size));
+ }
+
+ public void setSource(final String data, final Vector2i size) {
+ clear();
+
+ final EsvgDocument doc = new EsvgDocument();
+ doc.parse(data);
+ final ImageByte tmp = ToolImage.convertImageByte(doc.renderImageFloatRGBA(size));
+ if (tmp == null) {
+ LOGGER.error("Can not load the Raw SVG ... ");
+ return;
+ }
+ this.resourceImage.set(tmp);
+
+ if (this.svgData.equals(data) && this.requestSize.x() == size.x() && this.requestSize.y() == size.y()) {
+ // Nothing to do ...
+ return;
+ }
+ final ResourceTextureFile resource = this.resource;
+ final ResourceTexture2 resourceTex = this.resourceImage;
+ this.svgData = data;
+ this.requestSize = size;
+ this.resource = null;
+ this.resourceImage = null;
+
+ final Vector2i tmpSize = new Vector2i(size.x(), size.y());
+
+ // link to new one
+ this.resource = ResourceTexture2.create();
+ if (this.resource == null) {
+ LOGGER.error("Can not get Image resource");
+ }
+ }
+
+}