diff options
Diffstat (limited to 'support/dktools/dk4grpgi.ctr')
-rw-r--r-- | support/dktools/dk4grpgi.ctr | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/support/dktools/dk4grpgi.ctr b/support/dktools/dk4grpgi.ctr deleted file mode 100644 index 7e2bf8b144..0000000000 --- a/support/dktools/dk4grpgi.ctr +++ /dev/null @@ -1,223 +0,0 @@ -%% options - -copyright owner = Dirk Krause -copyright year = 2017-xxxx -SPDX-License-Identifier: BSD-3-Clause - - -%% module - -#include "dk4conf.h" - -#if DK4_HAVE_MATH_H -#ifndef MATH_H_INCLUDED -#if DK4_ON_WINDOWS -#ifndef _USE_MATH_DEFINES -#define _USE_MATH_DEFINES 1 -#endif -#endif -#include <math.h> -#define MATH_H_INCLUDED 1 -#endif -#endif - -#ifndef DK4UFI_H_INCLUDED -#include "dk4ufi.h" -#endif - -#ifndef DK4BIF_H_INCLUDED -#include "dk4bif.h" -#endif - -#ifndef DK4GRA_H_INCLUDED -#include "dk4gra.h" -#endif - -#ifndef GRA_H_INCLUDED -#include "gra.h" -#endif - -#if DK4_HAVE_ASSERT_H -#ifndef ASSERT_H_INCLUDED -#include <assert.h> -#define ASSERT_H_INCLUDED 1 -#endif -#endif - - -$!trace-include - - - -/** Constant text fragments for PGF output. -*/ -static const char * const dk4gra_pgf_img_kw[] = { -/* 0 */ "\\begin{pgfscope}\n", -/* 1 */ "\\end{pgfscope}\n", -/* 2 */ "\\pgftransformshift{\\pgfpoint{", -/* 3 */ "bp}{", -/* 4 */ "bp}}\n", -/* 5 */ "\\pgftransformrotate{", -/* 6 */ "}\n", -/* 7 */ "\\pgftransformxscale{", -/* 8 */ "\\pgftransformyscale{", -/* 9 */ "}\n", -/* 10 */ "\\pgftext[left,base,at=\\pgfpointorigin]{\\pgfuseimage{PPPTim", -/* 11 */ "}}\n", -NULL -}; - - - -int -dk4gra_pgf_bif_fig_image( - dk4_gra_t *gra, - double *cotra, - dk4_bif_t *bif, - const dkChar *fn, - int ifl, - dk4_er_t *erp -) -{ - dk4_gra_pgf_img_no_t to; /* Test object */ - dk4_gra_pgf_img_no_t *tptr = NULL; /* Search existing or add new */ - dk4_gra_pgf_page_t *bptr = NULL; /* Current page */ - int back = 0; - $? "+ dk4gra_pgf_bif_fig_image \"%!ds\"", TR_STR(fn) -#if DK4_USE_ASSERT - assert(NULL != gra); - assert(NULL != bif); - assert(NULL != cotra); - assert(NULL != fn); -#endif - /* - Check arguments - */ - if ((NULL == gra) || (NULL == cotra) || (NULL == bif) || (NULL == fn)) { - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - goto finished; - } - bptr = (dk4_gra_pgf_page_t *)(gra->curpg); - if (NULL == bptr->memstrm) { - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - goto finished; - } - /* Check image file types, pdflatex can handle JPEG and PNG only - */ - switch (dk4bif_get_image_type(bif)) { - case DK4_BIF_TYPE_NETPBM : case DK4_BIF_TYPE_TIFF : { - dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); - goto finished; - } break; - } - to.fn = (dkChar *)fn; - to.hufi = dk4ufi_get(&(to.ufi), fn, erp); - to.intp = ((0 != (DK4_GRA_IMG_FLAG_INTERPOLATION & ifl)) ? (1) : (0)); - to.imgno = gra->out.pgf.n_images; - if ( - (0 != (DK4_GRA_IMG_FLAG_DCT & ifl)) - && (DK4_BIF_TYPE_JPEG == bif->imgtype) - ) { - if (0 == (DK4_GRA_IMG_FLAG_DCT_INTERPOLATION & ifl)) { - to.intp = 0; - } - } - tptr = (dk4_gra_pgf_img_no_t *)dk4sto_it_find_like( - gra->out.pgf.i_images, &to, 0 - ); - if (NULL == tptr) { - if (SIZE_MAX > gra->out.pgf.n_images) { - tptr = dk4gra_pgf_img_open( - fn, gra->out.pgf.n_images, to.intp, erp - ); - if (NULL != tptr) { - gra->out.pgf.n_images += (size_t)1U; - if (0 != dk4sto_add(gra->out.pgf.s_images, tptr, erp)) { - if (0 == dk4sto_add(gra->out.pgf.s_imagno, tptr, erp)) { - tptr = NULL; - } - } - else { - dk4gra_pgf_img_close(tptr); - } - } - } - else { - dk4error_set_simple_error_code(erp, DK4_E_MATH_OVERFLOW); - } - } - if (NULL != tptr) { - back = 1; - /* begin pgfscope */ - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[0], &back, erp - ); - /* pgftransformshift */ - if ( - (DK4_GRA_EPSILON_COORDINATES < fabs(cotra[0])) - || (DK4_GRA_EPSILON_COORDINATES < fabs(cotra[1])) - ) - { - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[2], &back, erp - ); - dk4gratool_stream_double(bptr->memstrm, cotra[0], &back, erp); - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[3], &back, erp - ); - dk4gratool_stream_double(bptr->memstrm, cotra[1], &back, erp); - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[4], &back, erp - ); - } - /* pgftransformrotate */ - if (DK4_GRA_EPSILON_COORDINATES < fabs(cotra[2])) { - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[5], &back, erp - ); - dk4gratool_stream_double(bptr->memstrm, cotra[2], &back, erp); - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[6], &back, erp - ); - } - /* pgftransformxscale */ - if (DK4_GRA_EPSILON_COORDINATES < fabs(cotra[3] - 1.0)) { - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[7], &back, erp - ); - dk4gratool_stream_double(bptr->memstrm, cotra[3], &back, erp); - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[9], &back, erp - ); - } - /* pgftransformyscale */ - if (DK4_GRA_EPSILON_COORDINATES < fabs(cotra[4] - 1.0)) { - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[8], &back, erp - ); - dk4gratool_stream_double(bptr->memstrm, cotra[4], &back, erp); - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[9], &back, erp - ); - } - /* show image */ - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[10], &back, erp - ); - dk4gratool_stream_num_alpha(bptr->memstrm, tptr->imgno, &back, erp); - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[11], &back, erp - ); - /* end pgfscope */ - dk4gratool_stream_string( - bptr->memstrm, dk4gra_pgf_img_kw[1], &back, erp - ); - } - - finished: - $? "- dk4gra_pgf_bif_fig_image %d", back - return back; -} - -/* vim: set ai sw=4 ts=4 : */ - |