Bubbles: Honor screen density when drawing bubbles and attractors.
diff --git a/src/com/savoirfairelinux/sflphone/model/Attractor.java b/src/com/savoirfairelinux/sflphone/model/Attractor.java
index 5547dc8..51b1850 100644
--- a/src/com/savoirfairelinux/sflphone/model/Attractor.java
+++ b/src/com/savoirfairelinux/sflphone/model/Attractor.java
@@ -1,6 +1,10 @@
package com.savoirfairelinux.sflphone.model;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.PointF;
+import android.graphics.RectF;
public class Attractor {
@@ -8,10 +12,36 @@
public void onBubbleSucked(Bubble b);
}
- PointF pos;
- Callback callback;
- public Attractor(PointF pos, Callback callback) {
+ final PointF pos;
+ final float radius;
+
+ final Callback callback;
+ private final Bitmap img;
+
+ private final RectF bounds = new RectF();
+
+ public Attractor(PointF pos, float radius, Callback callback, Bitmap img) {
this.pos = pos;
+ this.radius = radius;
this.callback = callback;
+ this.img = img;
}
-}
\ No newline at end of file
+
+ public Attractor(PointF pos, float radius, Callback callback, Context c, int resId) {
+ this(pos, radius, callback, BitmapFactory.decodeResource(c.getResources(), resId));
+ }
+
+ public void setDensity(float density)
+ {
+ bounds.set(pos.x - radius*density, pos.y - radius*density, pos.x + radius*density, pos.y + radius*density);
+ }
+
+ public RectF getBounds() {
+ return bounds;
+ }
+
+ public Bitmap getBitmap() {
+ return img;
+ }
+
+}