[gnome-sudoku] sudoku-printer.vala: Code Cleanup
- From: Parin Porecha <parinporecha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-sudoku] sudoku-printer.vala: Code Cleanup
- Date: Sat, 14 Jun 2014 05:24:05 +0000 (UTC)
commit 7675f159d4dba94b2adcc9843f7e677a60d63637
Author: Parin Porecha <parinporecha gmail com>
Date: Fri Jun 13 00:46:35 2014 +0530
sudoku-printer.vala: Code Cleanup
src/sudoku-printer.vala | 39 +++++++--------------------------------
1 files changed, 7 insertions(+), 32 deletions(-)
---
diff --git a/src/sudoku-printer.vala b/src/sudoku-printer.vala
index e083bea..a6867a7 100644
--- a/src/sudoku-printer.vala
+++ b/src/sudoku-printer.vala
@@ -60,9 +60,7 @@ public class SudokuPrinter : GLib.Object {
var width = context.get_width ();
var height = context.get_height ();
- var best_values = fit_squares_in_rectangle (width, height, margin);
- var best_fit = best_values[0];
- var best_square_size = best_values[1];
+ var best_square_size = fit_squares_in_rectangle (width, height, margin);
var start = page_nr * SUDOKUS_PER_PAGE;
var end = int.min ((start + SUDOKUS_PER_PAGE), boards.length);
@@ -70,15 +68,10 @@ public class SudokuPrinter : GLib.Object {
double left = (width - best_square_size) / 2;
double top = margin;
- int[] pos = {1, 1};
- var label = "";
foreach (SudokuBoard sudoku in sudokus_on_page)
{
- if (n_sudokus > 1)
- label = sudoku.get_difficulty_category ().to_string ();
- else
- label = "";
+ var label = sudoku.get_difficulty_category ().to_string ();
cr.set_font_size (12);
cr.select_font_face ("Sans", Cairo.FontSlant.NORMAL, Cairo.FontWeight.BOLD);
cr.set_source_rgb (0, 0, 0);
@@ -89,48 +82,30 @@ public class SudokuPrinter : GLib.Object {
draw_sudoku (cr, sudoku, best_square_size, left, top);
- if (pos[0] < best_fit)
- pos[0] += 1;
- else
- {
- top = top + best_square_size + (2 * margin);
- pos[0] = 1;
- pos[1] += 1;
- }
+ top += best_square_size + (2 * margin);
}
}
- private double[] fit_squares_in_rectangle (double width, double height, int margin)
+ private double fit_squares_in_rectangle (double width, double height, int margin)
{
var n = SUDOKUS_PER_PAGE;
var best_square_size = 0.0;
- double[] best_fit = {0,0};
var square_size = 0.0;
for (var n_across = 1; n_across <= n; n_across++)
{
- double n_down = n / n_across + ((n % n_across) & 1);
+ double n_down = n / n_across;
double across_size = width - ((n_across + 1) * margin);
across_size = across_size / n_across;
double down_size = height - ((n_down + 1) * margin);
down_size = down_size / n_down;
- if (across_size < down_size)
- {
- square_size = across_size;
- }
- else
- {
- square_size = down_size;
- }
+ square_size = double.min (across_size, down_size);
if (square_size > best_square_size)
- {
best_square_size = square_size;
- best_fit = {n_across, best_square_size};
- }
}
- return best_fit;
+ return best_square_size;
}
private void draw_sudoku (Cairo.Context cr, SudokuBoard sudoku_board, double size, double offset_x,
double offset_y)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]