patch partiel du text + patch image
This commit is contained in:
+6
-5
@@ -1,10 +1,9 @@
|
||||
package com.iutlaval.myapplication.Video;
|
||||
package com.iutlaval.myapplication.Video.Drawables;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -12,6 +11,8 @@ import androidx.annotation.NonNull;
|
||||
import com.iutlaval.myapplication.ERROR_CODE;
|
||||
import com.iutlaval.myapplication.GameActivity;
|
||||
import com.iutlaval.myapplication.InvalidDataException;
|
||||
import com.iutlaval.myapplication.Video.Rectangle;
|
||||
import com.iutlaval.myapplication.Video.Renderer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -21,7 +22,7 @@ public class Drawable {
|
||||
private float x,y;
|
||||
private String name;
|
||||
private Bitmap bitmap;
|
||||
private static Paint p;
|
||||
protected static Paint p;
|
||||
|
||||
/**
|
||||
* cree un drawable a partir de coordonné est d'un nom
|
||||
@@ -198,7 +199,7 @@ public class Drawable {
|
||||
/**
|
||||
* cette fonction permet d'initialiser le pinceau
|
||||
*/
|
||||
private void checkPaint() {
|
||||
protected void checkPaint() {
|
||||
if(p==null)
|
||||
p = new Paint();
|
||||
}
|
||||
@@ -214,7 +215,7 @@ public class Drawable {
|
||||
* @param text texte a afficher
|
||||
* @return liste de lignes de texte
|
||||
*/
|
||||
private List<String> cutText(int charPerLines,String text)
|
||||
protected List<String> cutText(int charPerLines,String text)
|
||||
{
|
||||
List<String> output = new ArrayList<>();
|
||||
//TODO cut text in lines
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package com.iutlaval.myapplication.Video;
|
||||
package com.iutlaval.myapplication.Video.Drawables;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
@@ -11,6 +11,7 @@ import android.util.Log;
|
||||
import com.iutlaval.myapplication.ERROR_CODE;
|
||||
import com.iutlaval.myapplication.Game.Cards.Card;
|
||||
import com.iutlaval.myapplication.InvalidDataException;
|
||||
import com.iutlaval.myapplication.Video.Rectangle;
|
||||
|
||||
public class DrawableCard extends Drawable{
|
||||
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package com.iutlaval.myapplication.Video.Drawables;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
|
||||
import androidx.annotation.MainThread;
|
||||
|
||||
import com.iutlaval.myapplication.GameActivity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class DrawableCardDescription extends Drawable {
|
||||
private static int TEXT_X_RES = 281;
|
||||
private static int TEXT_Y_RES = 195;
|
||||
|
||||
private Bitmap bitmap;
|
||||
|
||||
public DrawableCardDescription(String text, float x_pos, float y_pos, String name, float x_size, float y_size, float textSize) {
|
||||
super(x_pos,y_pos,name);
|
||||
int x_scaled_size = (int)x_size* GameActivity.screenWidth/100;
|
||||
int y_scaled_size = (int)y_size* GameActivity.screenHeight/100;
|
||||
|
||||
checkPaint();
|
||||
super.p.setColor(Color.BLACK);
|
||||
|
||||
|
||||
|
||||
List<String> linesOfText = cutText(20,text);
|
||||
p.setTextSize(textSize);
|
||||
|
||||
//+10 permet d'e prendre en compte les p,q,j qui dessende plus bas que les autres
|
||||
Bitmap bitmap = Bitmap.createBitmap(TEXT_X_RES, TEXT_Y_RES, Bitmap.Config.ARGB_8888);
|
||||
Canvas c = new Canvas(bitmap);
|
||||
|
||||
int index = 1;
|
||||
for(String line : linesOfText)
|
||||
{
|
||||
c.drawText(line ,0,index*y_scaled_size/linesOfText.size(),p);
|
||||
index++;
|
||||
}
|
||||
|
||||
this.bitmap = Bitmap.createScaledBitmap(bitmap,x_scaled_size,y_scaled_size, GameActivity.bilinearFiltering);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Bitmap getBitmap() {
|
||||
return bitmap;
|
||||
}
|
||||
}
|
||||
@@ -59,7 +59,7 @@ public class Rectangle {
|
||||
* /!\ ne pas le lancer plus d'une fois sinon les mesures devienderons n'importequoi /!\
|
||||
* /!\ toutes les dimention du rectangle doivent être comprise entre 0 et 100 sinon elle sortiron de l'ecran/!\
|
||||
*/
|
||||
protected void scaleRectangleToScreen()
|
||||
public void scaleRectangleToScreen()
|
||||
{
|
||||
set(getPositionX()* GameActivity.screenWidth/100,
|
||||
getPositionY()*GameActivity.screenHeight/100,
|
||||
|
||||
@@ -20,4 +20,6 @@ public class RectangleCanevas extends Canvas {
|
||||
r.getPositionY()+r.getHeight(),
|
||||
paint);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.view.SurfaceView;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.iutlaval.myapplication.Game.GameLogicThread;
|
||||
import com.iutlaval.myapplication.Video.Drawables.Drawable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
Reference in New Issue
Block a user