private void onDraw0(Canvas canvas) { if (Constants.LOG_V) Log.v(TAG, "onDraw(" + canvas.getClipBounds() + ")"); canvas.save(); canvas.translate(offsetX, offsetY); canvas.clipRect(0, 0, size * cellWidth, size * cellHeight); Rect clipBounds = canvas.getClipBounds(); if (theme.isDrawAreaColors(puzzle.getPuzzleType())) drawAreaColors(canvas, clipBounds); else drawBackground(canvas); drawExtraRegions(canvas, clipBounds); if (puzzle.isSolved()) drawCongrats(canvas); else if (paused) drawPaused(canvas); else { drawHighlightedCells(canvas, clipBounds); drawMarkedPosition(canvas); } if (!preview && puzzle.hasErrors()) drawErrors(canvas, clipBounds); drawValues(canvas, clipBounds); drawGrid(canvas); drawRegionBorders(canvas, clipBounds); canvas.restore(); drawOuterBorder(canvas); }
private void drawExtraRegions(Canvas canvas, int row, int col) { if (puzzle.isExtraRegion(row, col)) { canvas.drawRect( 0, 0, cellWidth, cellHeight, theme.getExtraRegionPaint(puzzle.getPuzzleType(), puzzle.getExtraRegionCode(row, col))); } }