Canvas Scaling with Bitmap Overlay
<p>I have a Custom Widget which overrides it's onDraw method. The Widget is used to represent a floor map with a location pointer overlaid on it. </p>

<p>In the onDraw method for the Widget, I translate and scale the canvas, and draw a Bitmap Drawable on it (the bitmap is of a floor map). By doing this, along with a ScaleListener and OnTouchListener in the Class, the user can scroll around the floor map and zoom in/out as they wish.</p>

<p>The code I use to do this is:</p>

<pre><code>public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.save();
    canvas.translate(mPosX, mPosY);
    //mFocusX, mFocusY is the center of the scaling gesture
    canvas.scale(mScaleFactor, mScaleFactor, mFocusX, mFocusY);
    mMap.draw(canvas);
</code></pre>

<p>I also have overlaid on the floor map a location pointer which should always point to the same point on the floor map no matter the scaling or translation of the map. I can maintain the location of the pointer using the following code (after the code above):</p>

<pre><code>        canvas.restore();
    canvas.save();
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    canvas.translate(mPosX, mPosY);
    canvas.scale(mScaleFactor, mScaleFactor, mFocusX, mFocusY);
    canvas.drawBitmap(bitmapMarkerA, mMarkerAOffsetX, mMarkerAOffsetY, paint);
    }
</code></pre>

<p>My problem is that the location pointer also scales it's size along with the map's size. Is there a way to have the location pointer always maintain the same relative position on the map as it is translated and resized, but without the location pointer's size changing?</p>
