/* PSPP - a program for statistical analysis.
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2014 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <stdbool.h>
#include <stddef.h>
-#include <output/table-provider.h>
+#include "output/table-provider.h"
struct table;
/* Width of different kinds of lines. */
int line_widths[TABLE_N_AXES][RENDER_N_LINES];
+
+ /* Minimum cell width or height before allowing the cell to be broken
+ across two pages. (Joined cells may always be broken at join
+ points.) */
+ int min_break[TABLE_N_AXES];
};
\f
/* A "page" of content that is ready to be rendered.
int render_page_get_size (const struct render_page *, enum table_axis);
void render_page_draw (const struct render_page *);
+void render_page_draw_region (const struct render_page *,
+ int x, int y, int w, int h);
\f
/* An iterator for breaking render_pages into smaller chunks. */
struct render_break
{
struct render_page *page; /* Page being broken up. */
enum table_axis axis; /* Axis along which 'page' is being broken. */
- int cell; /* Next cell. */
- int pixel; /* Pixel offset within 'cell' (usually 0). */
+ int z; /* Next cell along 'axis'. */
+ int pixel; /* Pixel offset within cell 'z' (usually 0). */
int hw; /* Width of headers of 'page' along 'axis'. */
};
void render_break_init (struct render_break *, struct render_page *,
enum table_axis);
+void render_break_init_empty (struct render_break *);
void render_break_destroy (struct render_break *);
bool render_break_has_next (const struct render_break *);