![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <time.h>
#include <zlib.h>
#include <glib/gstdio.h>
#include "pdf.h"
#include "common/math.h"
#include "common/utility.h"
Macros | |
#define | _XOPEN_SOURCE 700 |
#define | PACKAGE_STRING darktable_package_string |
#define | SKIP_SPACES(s) {while(*(s) == ' ')(s)++;} |
Functions | |
int | dt_pdf_parse_length (const char *str, float *length) |
int | dt_pdf_parse_paper_size (const char *str, float *width, float *height) |
static void | _pdf_set_offset (dt_pdf_t *pdf, int id, size_t offset) |
dt_pdf_t * | dt_pdf_start (const char *filename, float width, float height, float dpi, dt_pdf_stream_encoder_t default_encoder) |
static size_t | _pdf_stream_encoder_ASCIIHex (dt_pdf_t *pdf, const unsigned char *data, size_t len) |
static size_t | _pdf_stream_encoder_Flate (dt_pdf_t *pdf, const unsigned char *data, size_t len) |
static size_t | _pdf_write_stream (dt_pdf_t *pdf, dt_pdf_stream_encoder_t encoder, const unsigned char *data, size_t len) |
int | dt_pdf_add_icc (dt_pdf_t *pdf, const char *filename) |
int | dt_pdf_add_icc_from_data (dt_pdf_t *pdf, const unsigned char *data, size_t size) |
dt_pdf_image_t * | dt_pdf_add_image (dt_pdf_t *pdf, const unsigned char *image, int width, int height, int bpp, int icc_id, float border) |
dt_pdf_page_t * | dt_pdf_add_page (dt_pdf_t *pdf, dt_pdf_image_t **images, int n_images) |
void | dt_pdf_finish (dt_pdf_t *pdf, dt_pdf_page_t **pages, int n_pages) |
Variables | |
static const char * | stream_encoder_filters [] = {"/ASCIIHexDecode", "/FlateDecode"} |
#define _XOPEN_SOURCE 700 |
#define PACKAGE_STRING darktable_package_string |
#define SKIP_SPACES | ( | s | ) | {while(*(s) == ' ')(s)++;} |
References MAX, dt_pdf_t::n_offsets, and dt_pdf_t::offsets.
Referenced by dt_pdf_add_icc_from_data(), dt_pdf_add_image(), dt_pdf_add_page(), dt_pdf_finish(), and dt_pdf_start().
|
static |
References dt_pdf_t::fd.
Referenced by _pdf_write_stream(), and dt_pdf_add_icc_from_data().
|
static |
References dt_pdf_t::fd.
Referenced by _pdf_write_stream().
|
static |
References _pdf_stream_encoder_ASCIIHex(), _pdf_stream_encoder_Flate(), DT_PDF_STREAM_ENCODER_ASCII_HEX, and DT_PDF_STREAM_ENCODER_FLATE.
Referenced by dt_pdf_add_image().
int dt_pdf_add_icc | ( | dt_pdf_t * | pdf, |
const char * | filename | ||
) |
References dt_pdf_add_icc_from_data(), and dt_read_file().
int dt_pdf_add_icc_from_data | ( | dt_pdf_t * | pdf, |
const unsigned char * | data, | ||
size_t | size | ||
) |
References _pdf_set_offset(), _pdf_stream_encoder_ASCIIHex(), dt_pdf_t::bytes_written, dt_pdf_t::fd, dt_pdf_t::next_id, and size.
Referenced by dt_pdf_add_icc(), and write_image().
dt_pdf_image_t * dt_pdf_add_image | ( | dt_pdf_t * | pdf, |
const unsigned char * | image, | ||
int | width, | ||
int | height, | ||
int | bpp, | ||
int | icc_id, | ||
float | border | ||
) |
References _pdf_set_offset(), _pdf_write_stream(), dt_pdf_image_t::bb_height, dt_pdf_image_t::bb_width, dt_pdf_image_t::bb_x, dt_pdf_image_t::bb_y, bpp, dt_pdf_t::bytes_written, dt_pdf_t::default_encoder, dt_pdf_t::fd, height, dt_pdf_image_t::height, dt_pdf_image_t::name_id, dt_pdf_t::next_id, dt_pdf_t::next_image, dt_pdf_image_t::object_id, dt_pdf_image_t::outline_mode, dt_pdf_t::page_height, dt_pdf_t::page_width, dt_pdf_image_t::size, stream_encoder_filters, width, and dt_pdf_image_t::width.
Referenced by _create_pdf(), and write_image().
dt_pdf_page_t * dt_pdf_add_page | ( | dt_pdf_t * | pdf, |
dt_pdf_image_t ** | images, | ||
int | n_images | ||
) |
References _pdf_set_offset(), dt_pdf_image_t::bb_height, dt_pdf_image_t::bb_width, dt_pdf_image_t::bb_x, dt_pdf_image_t::bb_y, dt_pdf_t::bytes_written, dt_pdf_t::dpi, dt_pdf_t::fd, height, dt_pdf_image_t::height, MIN, dt_pdf_image_t::name_id, dt_pdf_t::next_id, dt_pdf_image_t::object_id, dt_pdf_page_t::object_id, dt_pdf_t::page_height, dt_pdf_t::page_width, dt_pdf_image_t::rotate_to_fit, dt_pdf_page_t::size, width, and dt_pdf_image_t::width.
Referenced by _create_pdf(), and write_image().
void dt_pdf_finish | ( | dt_pdf_t * | pdf, |
dt_pdf_page_t ** | pages, | ||
int | n_pages | ||
) |
References _pdf_set_offset(), dt_pdf_t::bytes_written, dt_pdf_t::fd, gmt, dt_pdf_t::next_id, dt_pdf_page_t::object_id, dt_pdf_t::offsets, PACKAGE_STRING, size, and dt_pdf_t::title.
Referenced by _create_pdf(), free_params(), and write_image().
int dt_pdf_parse_length | ( | const char * | str, |
float * | length | ||
) |
References dt_pdf_units, name, and SKIP_SPACES.
Referenced by _paper_size().
int dt_pdf_parse_paper_size | ( | const char * | str, |
float * | width, | ||
float * | height | ||
) |
References dt_pdf_paper_sizes, dt_pdf_units, FALSE, height, name, SKIP_SPACES, TRUE, and width.
Referenced by _paper_size(), and _set_paper_size().
dt_pdf_t * dt_pdf_start | ( | const char * | filename, |
float | width, | ||
float | height, | ||
float | dpi, | ||
dt_pdf_stream_encoder_t | default_encoder | ||
) |
References _pdf_set_offset(), dt_pdf_t::bytes_written, dt_pdf_t::default_encoder, dt_pdf_t::dpi, dt_pdf_t::fd, height, dt_pdf_t::n_offsets, dt_pdf_t::next_id, dt_pdf_t::next_image, dt_pdf_t::offsets, dt_pdf_t::page_height, dt_pdf_t::page_width, and width.
Referenced by _create_pdf(), and write_image().
|
static |
Referenced by dt_pdf_add_image().