private void initKalahBitmaps(Kalah kalah) throws ParseException, LoadException { kalah.setBitmap( (Bitmap) ContentProcessor.init() .useCache(BitmapMemoryCache.getInstance()) .fromRes(resources) .bitmap() .load(String.valueOf(Kalah.getModelIds()[0]))); kalah.setRocksBitmap( (Bitmap) ContentProcessor.init() .useCache(BitmapMemoryCache.getInstance()) .fromRes(resources) .bitmap() .load(String.valueOf(Kalah.getRocksModelIds()[0]))); for (Rock rock : kalah.getRocks()) { rock.setBitmap( (Bitmap) ContentProcessor.init() .useCache(BitmapMemoryCache.getInstance()) .fromRes(resources) .bitmap() .load(String.valueOf(Rock.getRandomModelResId()))); } }
@Override public void draw(Canvas canvas) { if (canvas != null) { super.draw(canvas); final int width = canvas.getWidth(); final int height = canvas.getHeight(); int kalahMargin = resources.getDimensionPixelSize(R.dimen.kalah_margin); int kalahSize = resources.getDimensionPixelSize(R.dimen.kalah_size); otherKalah .setBounds( new Rect( kalahMargin, (height - kalahSize) / 2, kalahMargin + kalahSize, (height - kalahSize) / 2 + kalahSize)) .draw(canvas); currentKalah .setBounds( new Rect( width - (kalahMargin + kalahSize), (height - kalahSize) / 2, width - (kalahMargin + kalahSize) + kalahSize, (height - kalahSize) / 2 + kalahSize)) .draw(canvas); int holesMargin = resources.getDimensionPixelSize(R.dimen.holes_margin); int holeSize = resources.getDimensionPixelSize(R.dimen.hole_size); drawHoles( canvas, otherHoles, new Rect( otherKalah.bounds.right, holesMargin, currentKalah.bounds.left, holesMargin + holeSize), holeSize); drawHoles( canvas, currentHoles, new Rect( otherKalah.bounds.right, height - (holesMargin + holeSize), currentKalah.bounds.left, height - holesMargin), holeSize); } }