Skip to content
Snippets Groups Projects
Commit 150d254d authored by COLLINOT Baptiste's avatar COLLINOT Baptiste
Browse files

V3

parent 90b1c075
Branches
No related tags found
No related merge requests found
package com.example.visualisation; package com.example.visualisation;
import android.Manifest; import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;
...@@ -13,6 +14,7 @@ import android.graphics.PorterDuff; ...@@ -13,6 +14,7 @@ import android.graphics.PorterDuff;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceHolder; import android.view.SurfaceHolder;
import android.view.SurfaceView; import android.view.SurfaceView;
import android.view.View; import android.view.View;
...@@ -30,10 +32,12 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -30,10 +32,12 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
private static final int REQUEST_WRITE_EXTERNAL_STORAGE = 1; private static final int REQUEST_WRITE_EXTERNAL_STORAGE = 1;
private TextView nomPiece; private TextView nomPiece;
private TextView orientation;
private ImageView imageView; private ImageView imageView;
private Modele modele; private Modele modele;
private Piece piece; private Piece piece;
private int indicePhoto; private int indicePhoto;
private Photo photo;
private SurfaceView surfaceView; private SurfaceView surfaceView;
private SurfaceHolder surfaceHolder; private SurfaceHolder surfaceHolder;
private Paint paint; private Paint paint;
...@@ -46,6 +50,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -46,6 +50,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
setContentView(R.layout.activity_piece_details); setContentView(R.layout.activity_piece_details);
nomPiece = findViewById(R.id.nomPiece); nomPiece = findViewById(R.id.nomPiece);
orientation = findViewById(R.id.orientation);
imageView = findViewById(R.id.imageView); imageView = findViewById(R.id.imageView);
indicePhoto = 0; indicePhoto = 0;
...@@ -55,6 +60,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -55,6 +60,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
modele = (Modele) intent.getSerializableExtra("modele"); modele = (Modele) intent.getSerializableExtra("modele");
piece = (Piece) intent.getSerializableExtra("piece"); piece = (Piece) intent.getSerializableExtra("piece");
nomPiece.setText(piece.getNom()); nomPiece.setText(piece.getNom());
photo = piece.getPhoto(indicePhoto);
} }
surfaceView = findViewById(R.id.surfaceView); surfaceView = findViewById(R.id.surfaceView);
...@@ -70,6 +76,8 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -70,6 +76,8 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
paint.setStyle(Paint.Style.STROKE); paint.setStyle(Paint.Style.STROKE);
afficherPhoto(); afficherPhoto();
} }
private void dessinerRect() { private void dessinerRect() {
...@@ -79,7 +87,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -79,7 +87,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
if (canvas != null) { if (canvas != null) {
try { try {
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
Photo photo = piece.getPhoto(indicePhoto); photo = piece.getPhoto(indicePhoto);
for (Acces acces : photo.getAcces()) { for (Acces acces : photo.getAcces()) {
Log.d("a", "" + acces.getPiece()); Log.d("a", "" + acces.getPiece());
int[] coord = acces.getCoord(); int[] coord = acces.getCoord();
...@@ -138,6 +146,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -138,6 +146,7 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
} }
} }
dessinerRect(); dessinerRect();
setOrientation();
} }
@Override @Override
...@@ -155,6 +164,44 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -155,6 +164,44 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
@Override @Override
public void surfaceCreated(@NonNull SurfaceHolder holder) { public void surfaceCreated(@NonNull SurfaceHolder holder) {
dessinerRect(); dessinerRect();
surfaceView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
float touchX = event.getX();
float touchY = event.getY();
switch (action) {
case MotionEvent.ACTION_DOWN:
for (Acces acces : photo.getAcces()) {
int[] coord = acces.getCoord();
Rect accesRect = new Rect(coord[0], coord[1], coord[2], coord[3]);
if (accesRect.contains((int) touchX, (int) touchY)) {
String accesPiece = acces.getPiece();
Piece nouvellePiece = null;
for (Piece p : modele) {
if (p.getNom().equals(accesPiece)) {
nouvellePiece = p;
break;
}
}
if (nouvellePiece != null) {
piece = nouvellePiece;
nomPiece.setText(piece.getNom());
afficherPhoto();
}
break;
}
}
break;
}
return true;
}
});
} }
@Override @Override
...@@ -166,4 +213,24 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo ...@@ -166,4 +213,24 @@ public class PieceDetailsActivity extends AppCompatActivity implements SurfaceHo
public void surfaceDestroyed(@NonNull SurfaceHolder holder) { public void surfaceDestroyed(@NonNull SurfaceHolder holder) {
} }
private void setOrientation() {
switch (indicePhoto) {
case 0 :
orientation.setText("NORD");
break;
case 1 :
orientation.setText("EST");
break;
case 2 :
orientation.setText("SUD");
break;
case 3 :
orientation.setText("OUEST");
break;
default:
orientation.setText("ORIENTATION");
break;
}
}
} }
\ No newline at end of file
...@@ -67,6 +67,14 @@ ...@@ -67,6 +67,14 @@
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/orientation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Orientation"
android:textSize="24sp"
android:gravity="center_horizontal" />
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment