Fixed the whitespace difference from upstream in document.c. Praise VIM.

This commit is contained in:
Viktor Walter 2021-12-01 20:16:46 +01:00
parent 33083ecf9f
commit 52e8dae65b

View file

@ -1,48 +1,45 @@
/* SPDX-License-Identifier: Zlib */ /* SPDX-License-Identifier: Zlib */
#include <gio/gio.h>
#include <glib.h>
#include <limits.h>
#include <math.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <limits.h>
#include <glib.h>
#include <gio/gio.h>
#include <math.h>
#include <girara/datastructures.h> #include <girara/datastructures.h>
#include <girara/utils.h> #include <girara/utils.h>
#include "adjustment.h" #include "adjustment.h"
#include "content-type.h"
#include "document.h" #include "document.h"
#include "page.h"
#include "plugin.h"
#include "utils.h" #include "utils.h"
#include "zathura.h" #include "zathura.h"
#include "page.h"
#include "plugin.h"
#include "content-type.h"
/** /**
* Document * Document
*/ */
struct zathura_document_s { struct zathura_document_s {
char *file_path; /**< File path of the document */ char* file_path; /**< File path of the document */
char *uri; /**< URI of the document */ char* uri; /**< URI of the document */
char *basename; /**< Basename of the document */ char* basename; /**< Basename of the document */
uint8_t hash_sha256[32]; /**< SHA256 hash of the document */ uint8_t hash_sha256[32]; /**< SHA256 hash of the document */
const char *password; /**< Password of the document */ const char* password; /**< Password of the document */
unsigned int current_page_number; /**< Current page number */ unsigned int current_page_number; /**< Current page number */
unsigned int number_of_pages; /**< Number of pages */ unsigned int number_of_pages; /**< Number of pages */
double zoom; /**< Zoom value */ double zoom; /**< Zoom value */
unsigned int rotate; /**< Rotation */ unsigned int rotate; /**< Rotation */
void *data; /**< Custom data */ void* data; /**< Custom data */
zathura_adjust_mode_t adjust_mode; /**< Adjust mode (best-fit, width) */ zathura_adjust_mode_t adjust_mode; /**< Adjust mode (best-fit, width) */
int page_offset; /**< Page offset */ int page_offset; /**< Page offset */
double cell_width; /**< width of a page cell in the document (not transformed double cell_width; /**< width of a page cell in the document (not transformed by scale and rotation) */
by scale and rotation) */ double cell_height; /**< height of a page cell in the document (not transformed by scale and rotation) */
double cell_height; /**< height of a page cell in the document (not
transformed by scale and rotation) */
unsigned int view_width; /**< width of current viewport */ unsigned int view_width; /**< width of current viewport */
unsigned int view_height; /**< height of current viewport */ unsigned int view_height; /**< height of current viewport */
double view_ppi; /**< PPI of the current viewport */ double view_ppi; /**< PPI of the current viewport */
zathura_device_factors_t zathura_device_factors_t device_factors; /**< x and y device scale factors (for e.g. HiDPI) */
device_factors; /**< x and y device scale factors (for e.g. HiDPI) */
unsigned int pages_per_row; /**< number of pages in a row */ unsigned int pages_per_row; /**< number of pages in a row */
unsigned int first_page_column; /**< column of the first page */ unsigned int first_page_column; /**< column of the first page */
unsigned int page_padding; /**< padding between pages */ unsigned int page_padding; /**< padding between pages */
@ -52,27 +49,30 @@ struct zathura_document_s {
/** /**
* Document pages * Document pages
*/ */
zathura_page_t **pages; zathura_page_t** pages;
/** /**
* Used plugin * Used plugin
*/ */
zathura_plugin_t *plugin; zathura_plugin_t* plugin;
}; };
static void check_set_error(zathura_error_t *error, zathura_error_t code) { static void
check_set_error(zathura_error_t* error, zathura_error_t code) {
if (error != NULL) { if (error != NULL) {
*error = code; *error = code;
} }
} }
static bool hash_file_sha256(uint8_t *dst, const char *path) { static bool
FILE *f = fopen(path, "rb"); hash_file_sha256(uint8_t* dst, const char* path)
{
FILE* f = fopen(path, "rb");
if (f == NULL) { if (f == NULL) {
return false; return false;
} }
GChecksum *checksum = g_checksum_new(G_CHECKSUM_SHA256); GChecksum* checksum = g_checksum_new(G_CHECKSUM_SHA256);
if (checksum == NULL) { if (checksum == NULL) {
fclose(f); fclose(f);
return false; return false;
@ -97,18 +97,19 @@ static bool hash_file_sha256(uint8_t *dst, const char *path) {
return true; return true;
} }
zathura_document_t *zathura_document_open(zathura_t *zathura, const char *path, zathura_document_t*
const char *uri, const char *password, zathura_document_open(zathura_t* zathura, const char* path, const char* uri,
zathura_error_t *error) { const char* password, zathura_error_t* error)
{
if (zathura == NULL || path == NULL) { if (zathura == NULL || path == NULL) {
return NULL; return NULL;
} }
GFile *file = g_file_new_for_path(path); GFile* file = g_file_new_for_path(path);
char *real_path = NULL; char* real_path = NULL;
char *content_type = NULL; char* content_type = NULL;
zathura_plugin_t *plugin = NULL; zathura_plugin_t* plugin = NULL;
zathura_document_t *document = NULL; zathura_document_t* document = NULL;
if (file == NULL) { if (file == NULL) {
girara_error("Error while handling path '%s'.", path); girara_error("Error while handling path '%s'.", path);
@ -123,22 +124,19 @@ zathura_document_t *zathura_document_open(zathura_t *zathura, const char *path,
goto error_free; goto error_free;
} }
content_type = zathura_content_type_guess( content_type = zathura_content_type_guess(zathura->content_type_context, real_path, zathura_plugin_manager_get_content_types(zathura->plugins.manager));
zathura->content_type_context, real_path,
zathura_plugin_manager_get_content_types(zathura->plugins.manager));
if (content_type == NULL) { if (content_type == NULL) {
girara_error("Could not determine file type."); girara_error("Could not determine file type.");
check_set_error(error, ZATHURA_ERROR_UNKNOWN); check_set_error(error, ZATHURA_ERROR_UNKNOWN);
goto error_free; goto error_free;
} }
plugin = plugin = zathura_plugin_manager_get_plugin(zathura->plugins.manager, content_type);
zathura_plugin_manager_get_plugin(zathura->plugins.manager, content_type);
if (plugin == NULL) { if (plugin == NULL) {
girara_error("Unknown file type: '%s'", content_type); girara_error("Unknown file type: '%s'", content_type);
check_set_error(error, ZATHURA_ERROR_UNKNOWN); check_set_error(error, ZATHURA_ERROR_UNKNOWN);
g_free((void *)content_type); g_free((void*)content_type);
content_type = NULL; content_type = NULL;
goto error_free; goto error_free;
@ -158,7 +156,7 @@ zathura_document_t *zathura_document_open(zathura_t *zathura, const char *path,
if (document->uri == NULL) { if (document->uri == NULL) {
document->basename = g_file_get_basename(file); document->basename = g_file_get_basename(file);
} else { } else {
GFile *gf = g_file_new_for_uri(document->uri); GFile*gf = g_file_new_for_uri(document->uri);
document->basename = g_file_get_basename(gf); document->basename = g_file_get_basename(gf);
g_object_unref(gf); g_object_unref(gf);
} }
@ -182,8 +180,7 @@ zathura_document_t *zathura_document_open(zathura_t *zathura, const char *path,
file = NULL; file = NULL;
/* open document */ /* open document */
const zathura_plugin_functions_t *functions = const zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin);
zathura_plugin_get_functions(plugin);
if (functions->document_open == NULL) { if (functions->document_open == NULL) {
girara_error("plugin has no open function\n"); girara_error("plugin has no open function\n");
goto error_free; goto error_free;
@ -197,15 +194,14 @@ zathura_document_t *zathura_document_open(zathura_t *zathura, const char *path,
} }
/* read all pages */ /* read all pages */
document->pages = calloc(document->number_of_pages, sizeof(zathura_page_t *)); document->pages = calloc(document->number_of_pages, sizeof(zathura_page_t*));
if (document->pages == NULL) { if (document->pages == NULL) {
check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY); check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
goto error_free; goto error_free;
} }
for (unsigned int page_id = 0; page_id < document->number_of_pages; for (unsigned int page_id = 0; page_id < document->number_of_pages; page_id++) {
page_id++) { zathura_page_t* page = zathura_page_new(document, page_id, NULL);
zathura_page_t *page = zathura_page_new(document, page_id, NULL);
if (page == NULL) { if (page == NULL) {
check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY); check_set_error(error, ZATHURA_ERROR_OUT_OF_MEMORY);
goto error_free; goto error_free;
@ -213,8 +209,7 @@ zathura_document_t *zathura_document_open(zathura_t *zathura, const char *path,
document->pages[page_id] = page; document->pages[page_id] = page;
/* cell_width and cell_height is the maximum of all the pages width and /* cell_width and cell_height is the maximum of all the pages width and height */
* height */
const double width = zathura_page_get_width(page); const double width = zathura_page_get_width(page);
if (document->cell_width < width) if (document->cell_width < width)
document->cell_width = width; document->cell_width = width;
@ -244,15 +239,16 @@ error_free:
return NULL; return NULL;
} }
zathura_error_t zathura_document_free(zathura_document_t *document) { zathura_error_t
zathura_document_free(zathura_document_t* document)
{
if (document == NULL || document->plugin == NULL) { if (document == NULL || document->plugin == NULL) {
return ZATHURA_ERROR_INVALID_ARGUMENTS; return ZATHURA_ERROR_INVALID_ARGUMENTS;
} }
if (document->pages != NULL) { if (document->pages != NULL) {
/* free pages */ /* free pages */
for (unsigned int page_id = 0; page_id < document->number_of_pages; for (unsigned int page_id = 0; page_id < document->number_of_pages; page_id++) {
page_id++) {
zathura_page_free(document->pages[page_id]); zathura_page_free(document->pages[page_id]);
document->pages[page_id] = NULL; document->pages[page_id] = NULL;
} }
@ -261,8 +257,7 @@ zathura_error_t zathura_document_free(zathura_document_t *document) {
/* free document */ /* free document */
zathura_error_t error = ZATHURA_ERROR_OK; zathura_error_t error = ZATHURA_ERROR_OK;
const zathura_plugin_functions_t *functions = const zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin);
zathura_plugin_get_functions(document->plugin);
if (functions->document_free == NULL) { if (functions->document_free == NULL) {
error = ZATHURA_ERROR_NOT_IMPLEMENTED; error = ZATHURA_ERROR_NOT_IMPLEMENTED;
} else { } else {
@ -278,7 +273,9 @@ zathura_error_t zathura_document_free(zathura_document_t *document) {
return error; return error;
} }
const char *zathura_document_get_path(zathura_document_t *document) { const char*
zathura_document_get_path(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return NULL; return NULL;
} }
@ -286,7 +283,9 @@ const char *zathura_document_get_path(zathura_document_t *document) {
return document->file_path; return document->file_path;
} }
const uint8_t *zathura_document_get_hash(zathura_document_t *document) { const uint8_t*
zathura_document_get_hash(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return NULL; return NULL;
} }
@ -294,7 +293,9 @@ const uint8_t *zathura_document_get_hash(zathura_document_t *document) {
return document->hash_sha256; return document->hash_sha256;
} }
const char *zathura_document_get_uri(zathura_document_t *document) { const char*
zathura_document_get_uri(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return NULL; return NULL;
} }
@ -302,7 +303,9 @@ const char *zathura_document_get_uri(zathura_document_t *document) {
return document->uri; return document->uri;
} }
const char *zathura_document_get_basename(zathura_document_t *document) { const char*
zathura_document_get_basename(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return NULL; return NULL;
} }
@ -310,7 +313,9 @@ const char *zathura_document_get_basename(zathura_document_t *document) {
return document->basename; return document->basename;
} }
const char *zathura_document_get_password(zathura_document_t *document) { const char*
zathura_document_get_password(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return NULL; return NULL;
} }
@ -318,17 +323,19 @@ const char *zathura_document_get_password(zathura_document_t *document) {
return document->password; return document->password;
} }
zathura_page_t *zathura_document_get_page(zathura_document_t *document, zathura_page_t*
unsigned int index) { zathura_document_get_page(zathura_document_t* document, unsigned int index)
if (document == NULL || document->pages == NULL || {
(document->number_of_pages <= index)) { if (document == NULL || document->pages == NULL || (document->number_of_pages <= index)) {
return NULL; return NULL;
} }
return document->pages[index]; return document->pages[index];
} }
void *zathura_document_get_data(zathura_document_t *document) { void*
zathura_document_get_data(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return NULL; return NULL;
} }
@ -336,7 +343,9 @@ void *zathura_document_get_data(zathura_document_t *document) {
return document->data; return document->data;
} }
void zathura_document_set_data(zathura_document_t *document, void *data) { void
zathura_document_set_data(zathura_document_t* document, void* data)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -345,7 +354,8 @@ void zathura_document_set_data(zathura_document_t *document, void *data) {
} }
unsigned int unsigned int
zathura_document_get_number_of_pages(zathura_document_t *document) { zathura_document_get_number_of_pages(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -353,8 +363,9 @@ zathura_document_get_number_of_pages(zathura_document_t *document) {
return document->number_of_pages; return document->number_of_pages;
} }
void zathura_document_set_number_of_pages(zathura_document_t *document, void
unsigned int number_of_pages) { zathura_document_set_number_of_pages(zathura_document_t* document, unsigned int number_of_pages)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -363,7 +374,8 @@ void zathura_document_set_number_of_pages(zathura_document_t *document,
} }
unsigned int unsigned int
zathura_document_get_current_page_number(zathura_document_t *document) { zathura_document_get_current_page_number(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -371,8 +383,10 @@ zathura_document_get_current_page_number(zathura_document_t *document) {
return document->current_page_number; return document->current_page_number;
} }
void zathura_document_set_current_page_number(zathura_document_t *document, void
unsigned int current_page) { zathura_document_set_current_page_number(zathura_document_t* document, unsigned int
current_page)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -380,7 +394,9 @@ void zathura_document_set_current_page_number(zathura_document_t *document,
document->current_page_number = current_page; document->current_page_number = current_page;
} }
double zathura_document_get_position_x(zathura_document_t *document) { double
zathura_document_get_position_x(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -388,7 +404,9 @@ double zathura_document_get_position_x(zathura_document_t *document) {
return document->position_x; return document->position_x;
} }
double zathura_document_get_position_y(zathura_document_t *document) { double
zathura_document_get_position_y(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -396,8 +414,9 @@ double zathura_document_get_position_y(zathura_document_t *document) {
return document->position_y; return document->position_y;
} }
void zathura_document_set_position_x(zathura_document_t *document, void
double position_x) { zathura_document_set_position_x(zathura_document_t* document, double position_x)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -405,8 +424,9 @@ void zathura_document_set_position_x(zathura_document_t *document,
document->position_x = position_x; document->position_x = position_x;
} }
void zathura_document_set_position_y(zathura_document_t *document, void
double position_y) { zathura_document_set_position_y(zathura_document_t* document, double position_y)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -414,7 +434,9 @@ void zathura_document_set_position_y(zathura_document_t *document,
document->position_y = position_y; document->position_y = position_y;
} }
double zathura_document_get_zoom(zathura_document_t *document) { double
zathura_document_get_zoom(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -422,7 +444,9 @@ double zathura_document_get_zoom(zathura_document_t *document) {
return document->zoom; return document->zoom;
} }
void zathura_document_set_zoom(zathura_document_t *document, double zoom) { void
zathura_document_set_zoom(zathura_document_t* document, double zoom)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -431,7 +455,9 @@ void zathura_document_set_zoom(zathura_document_t *document, double zoom) {
document->zoom = zoom; document->zoom = zoom;
} }
double zathura_document_get_scale(zathura_document_t *document) { double
zathura_document_get_scale(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -446,7 +472,9 @@ double zathura_document_get_scale(zathura_document_t *document) {
return document->zoom * ppi / 72.0; return document->zoom * ppi / 72.0;
} }
unsigned int zathura_document_get_rotation(zathura_document_t *document) { unsigned int
zathura_document_get_rotation(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -454,8 +482,9 @@ unsigned int zathura_document_get_rotation(zathura_document_t *document) {
return document->rotate; return document->rotate;
} }
void zathura_document_set_rotation(zathura_document_t *document, void
unsigned int rotation) { zathura_document_set_rotation(zathura_document_t* document, unsigned int rotation)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -473,7 +502,8 @@ void zathura_document_set_rotation(zathura_document_t *document,
} }
zathura_adjust_mode_t zathura_adjust_mode_t
zathura_document_get_adjust_mode(zathura_document_t *document) { zathura_document_get_adjust_mode(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return ZATHURA_ADJUST_NONE; return ZATHURA_ADJUST_NONE;
} }
@ -481,8 +511,9 @@ zathura_document_get_adjust_mode(zathura_document_t *document) {
return document->adjust_mode; return document->adjust_mode;
} }
void zathura_document_set_adjust_mode(zathura_document_t *document, void
zathura_adjust_mode_t mode) { zathura_document_set_adjust_mode(zathura_document_t* document, zathura_adjust_mode_t mode)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -490,7 +521,9 @@ void zathura_document_set_adjust_mode(zathura_document_t *document,
document->adjust_mode = mode; document->adjust_mode = mode;
} }
int zathura_document_get_page_offset(zathura_document_t *document) { int
zathura_document_get_page_offset(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -498,8 +531,9 @@ int zathura_document_get_page_offset(zathura_document_t *document) {
return document->page_offset; return document->page_offset;
} }
void zathura_document_set_page_offset(zathura_document_t *document, void
unsigned int page_offset) { zathura_document_set_page_offset(zathura_document_t* document, unsigned int page_offset)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -507,47 +541,55 @@ void zathura_document_set_page_offset(zathura_document_t *document,
document->page_offset = page_offset; document->page_offset = page_offset;
} }
void zathura_document_set_viewport_width(zathura_document_t *document, void
unsigned int width) { zathura_document_set_viewport_width(zathura_document_t* document, unsigned int width)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
document->view_width = width; document->view_width = width;
} }
void zathura_document_set_viewport_height(zathura_document_t *document, void
unsigned int height) { zathura_document_set_viewport_height(zathura_document_t* document, unsigned int height)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
document->view_height = height; document->view_height = height;
} }
void zathura_document_set_viewport_ppi(zathura_document_t *document, void
double ppi) { zathura_document_set_viewport_ppi(zathura_document_t* document, double ppi)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
document->view_ppi = ppi; document->view_ppi = ppi;
} }
void zathura_document_get_viewport_size(zathura_document_t *document, void
unsigned int *height, zathura_document_get_viewport_size(zathura_document_t* document,
unsigned int *width) { unsigned int *height, unsigned int* width)
{
g_return_if_fail(document != NULL && height != NULL && width != NULL); g_return_if_fail(document != NULL && height != NULL && width != NULL);
*height = document->view_height; *height = document->view_height;
*width = document->view_width; *width = document->view_width;
} }
double zathura_document_get_viewport_ppi(zathura_document_t *document) { double
zathura_document_get_viewport_ppi(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0.0; return 0.0;
} }
return document->view_ppi; return document->view_ppi;
} }
void zathura_document_set_device_factors(zathura_document_t *document, void
double x_factor, double y_factor) { zathura_document_set_device_factors(zathura_document_t* document,
double x_factor, double y_factor)
{
if (document == NULL) { if (document == NULL) {
return; return;
} }
@ -562,7 +604,8 @@ void zathura_document_set_device_factors(zathura_document_t *document,
} }
zathura_device_factors_t zathura_device_factors_t
zathura_document_get_device_factors(zathura_document_t *document) { zathura_document_get_device_factors(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
/* The function is guaranteed to not return zero values */ /* The function is guaranteed to not return zero values */
return (zathura_device_factors_t){1.0, 1.0}; return (zathura_device_factors_t){1.0, 1.0};
@ -571,17 +614,20 @@ zathura_document_get_device_factors(zathura_document_t *document) {
return document->device_factors; return document->device_factors;
} }
void zathura_document_get_cell_size(zathura_document_t *document, void
unsigned int *height, unsigned int *width) { zathura_document_get_cell_size(zathura_document_t* document,
unsigned int* height, unsigned int* width)
{
g_return_if_fail(document != NULL && height != NULL && width != NULL); g_return_if_fail(document != NULL && height != NULL && width != NULL);
page_calc_height_width(document, document->cell_height, document->cell_width, page_calc_height_width(document, document->cell_height, document->cell_width,
height, width, true); height, width, true);
} }
void zathura_document_get_document_size(zathura_document_t *document, void
unsigned int *height, zathura_document_get_document_size(zathura_document_t* document,
unsigned int *width) { unsigned int* height, unsigned int* width)
{
g_return_if_fail(document != NULL && height != NULL && width != NULL); g_return_if_fail(document != NULL && height != NULL && width != NULL);
const unsigned int npag = zathura_document_get_number_of_pages(document); const unsigned int npag = zathura_document_get_number_of_pages(document);
@ -592,8 +638,7 @@ void zathura_document_get_document_size(zathura_document_t *document,
} }
const unsigned int c0 = zathura_document_get_first_page_column(document); const unsigned int c0 = zathura_document_get_first_page_column(document);
const unsigned int nrow = const unsigned int nrow = (npag + c0 - 1 + ncol - 1) / ncol; /* number of rows */
(npag + c0 - 1 + ncol - 1) / ncol; /* number of rows */
const unsigned int pad = zathura_document_get_page_padding(document); const unsigned int pad = zathura_document_get_page_padding(document);
unsigned int cell_height = 0; unsigned int cell_height = 0;
@ -604,18 +649,20 @@ void zathura_document_get_document_size(zathura_document_t *document,
*height = nrow * cell_height + (nrow - 1) * pad; *height = nrow * cell_height + (nrow - 1) * pad;
} }
void zathura_document_set_cell_size(zathura_document_t *document, void
zathura_document_set_cell_size(zathura_document_t* document,
unsigned int cell_height, unsigned int cell_height,
unsigned int cell_width) { unsigned int cell_width)
{
document->cell_width = cell_width; document->cell_width = cell_width;
document->cell_height = cell_height; document->cell_height = cell_height;
} }
void zathura_document_set_page_layout(zathura_document_t *document, void
unsigned int page_padding, zathura_document_set_page_layout(zathura_document_t* document, unsigned int page_padding,
unsigned int pages_per_row, unsigned int pages_per_row, unsigned int first_page_column)
unsigned int first_page_column) { {
g_return_if_fail(document != NULL); g_return_if_fail(document != NULL);
document->page_padding = page_padding; document->page_padding = page_padding;
@ -630,14 +677,18 @@ void zathura_document_set_page_layout(zathura_document_t *document,
document->first_page_column = first_page_column; document->first_page_column = first_page_column;
} }
unsigned int zathura_document_get_page_padding(zathura_document_t *document) { unsigned int
zathura_document_get_page_padding(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
return document->page_padding; return document->page_padding;
} }
unsigned int zathura_document_get_pages_per_row(zathura_document_t *document) { unsigned int
zathura_document_get_pages_per_row(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
@ -645,21 +696,22 @@ unsigned int zathura_document_get_pages_per_row(zathura_document_t *document) {
} }
unsigned int unsigned int
zathura_document_get_first_page_column(zathura_document_t *document) { zathura_document_get_first_page_column(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return 0; return 0;
} }
return document->first_page_column; return document->first_page_column;
} }
zathura_error_t zathura_document_save_as(zathura_document_t *document, zathura_error_t
const char *path) { zathura_document_save_as(zathura_document_t* document, const char* path)
{
if (document == NULL || document->plugin == NULL || path == NULL) { if (document == NULL || document->plugin == NULL || path == NULL) {
return ZATHURA_ERROR_UNKNOWN; return ZATHURA_ERROR_UNKNOWN;
} }
const zathura_plugin_functions_t *functions = const zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin);
zathura_plugin_get_functions(document->plugin);
if (functions->document_save_as == NULL) { if (functions->document_save_as == NULL) {
return ZATHURA_ERROR_NOT_IMPLEMENTED; return ZATHURA_ERROR_NOT_IMPLEMENTED;
} }
@ -667,16 +719,15 @@ zathura_error_t zathura_document_save_as(zathura_document_t *document,
return functions->document_save_as(document, document->data, path); return functions->document_save_as(document, document->data, path);
} }
girara_tree_node_t * girara_tree_node_t*
zathura_document_index_generate(zathura_document_t *document, zathura_document_index_generate(zathura_document_t* document, zathura_error_t* error)
zathura_error_t *error) { {
if (document == NULL || document->plugin == NULL) { if (document == NULL || document->plugin == NULL) {
check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS); check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL; return NULL;
} }
const zathura_plugin_functions_t *functions = const zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin);
zathura_plugin_get_functions(document->plugin);
if (functions->document_index_generate == NULL) { if (functions->document_index_generate == NULL) {
check_set_error(error, ZATHURA_ERROR_NOT_IMPLEMENTED); check_set_error(error, ZATHURA_ERROR_NOT_IMPLEMENTED);
return NULL; return NULL;
@ -685,15 +736,15 @@ zathura_document_index_generate(zathura_document_t *document,
return functions->document_index_generate(document, document->data, error); return functions->document_index_generate(document, document->data, error);
} }
girara_list_t *zathura_document_attachments_get(zathura_document_t *document, girara_list_t*
zathura_error_t *error) { zathura_document_attachments_get(zathura_document_t* document, zathura_error_t* error)
{
if (document == NULL || document->plugin == NULL) { if (document == NULL || document->plugin == NULL) {
check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS); check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL; return NULL;
} }
const zathura_plugin_functions_t *functions = const zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin);
zathura_plugin_get_functions(document->plugin);
if (functions->document_attachments_get == NULL) { if (functions->document_attachments_get == NULL) {
check_set_error(error, ZATHURA_ERROR_NOT_IMPLEMENTED); check_set_error(error, ZATHURA_ERROR_NOT_IMPLEMENTED);
return NULL; return NULL;
@ -702,49 +753,46 @@ girara_list_t *zathura_document_attachments_get(zathura_document_t *document,
return functions->document_attachments_get(document, document->data, error); return functions->document_attachments_get(document, document->data, error);
} }
zathura_error_t zathura_document_attachment_save(zathura_document_t *document, zathura_error_t
const char *attachment, zathura_document_attachment_save(zathura_document_t* document, const char* attachment, const char* file)
const char *file) { {
if (document == NULL || document->plugin == NULL) { if (document == NULL || document->plugin == NULL) {
return ZATHURA_ERROR_INVALID_ARGUMENTS; return ZATHURA_ERROR_INVALID_ARGUMENTS;
} }
const zathura_plugin_functions_t *functions = const zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin);
zathura_plugin_get_functions(document->plugin);
if (functions->document_attachment_save == NULL) { if (functions->document_attachment_save == NULL) {
return ZATHURA_ERROR_NOT_IMPLEMENTED; return ZATHURA_ERROR_NOT_IMPLEMENTED;
} }
return functions->document_attachment_save(document, document->data, return functions->document_attachment_save(document, document->data, attachment, file);
attachment, file);
} }
girara_list_t *zathura_document_get_information(zathura_document_t *document, girara_list_t*
zathura_error_t *error) { zathura_document_get_information(zathura_document_t* document, zathura_error_t* error)
{
if (document == NULL || document->plugin == NULL) { if (document == NULL || document->plugin == NULL) {
check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS); check_set_error(error, ZATHURA_ERROR_INVALID_ARGUMENTS);
return NULL; return NULL;
} }
const zathura_plugin_functions_t *functions = const zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin);
zathura_plugin_get_functions(document->plugin);
if (functions->document_get_information == NULL) { if (functions->document_get_information == NULL) {
check_set_error(error, ZATHURA_ERROR_NOT_IMPLEMENTED); check_set_error(error, ZATHURA_ERROR_NOT_IMPLEMENTED);
return NULL; return NULL;
} }
girara_list_t *result = girara_list_t* result = functions->document_get_information(document, document->data, error);
functions->document_get_information(document, document->data, error);
if (result != NULL) { if (result != NULL) {
girara_list_set_free_function( girara_list_set_free_function(result, (girara_free_function_t) zathura_document_information_entry_free);
result,
(girara_free_function_t)zathura_document_information_entry_free);
} }
return result; return result;
} }
zathura_plugin_t *zathura_document_get_plugin(zathura_document_t *document) { zathura_plugin_t*
zathura_document_get_plugin(zathura_document_t* document)
{
if (document == NULL) { if (document == NULL) {
return NULL; return NULL;
} }