Added milimeter-to-pixel and pixel-to-milimeter conversion function.

merge-requests/340/head
Thierry HUCHARD 2020-01-31 17:19:42 +01:00
rodzic 58df3795ee
commit 8c15724b43
2 zmienionych plików z 26 dodań i 1 usunięć

Wyświetl plik

@ -443,7 +443,7 @@ libescl_la_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_CFLAGS) $(PNG_CFLAGS) $(TIFF_CFLAGS)
nodist_libsane_escl_la_SOURCES = escl-s.c
libsane_escl_la_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_CFLAGS) $(PNG_CFLAGS) $(TIFF_CFLAGS) $(XML_CFLAGS) $(libcurl_CFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=escl
libsane_escl_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS)
libsane_escl_la_LIBADD = $(COMMON_LIBS) libescl.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(JPEG_LIBS) $(PNG_LIBS) $(TIFF_LIBS) $(XML_LIBS) $(libcurl_LIBS) $(AVAHI_LIBS)
libsane_escl_la_LIBADD = $(COMMON_LIBS) libescl.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(MATH_LIB) $(JPEG_LIBS) $(PNG_LIBS) $(TIFF_LIBS) $(XML_LIBS) $(libcurl_LIBS) $(AVAHI_LIBS)
endif
endif
endif

Wyświetl plik

@ -43,6 +43,7 @@
#include "../include/sane/sane.h"
#include <stdio.h>
#include <math.h>
#ifndef BACKEND_NAME
#define BACKEND_NAME escl
@ -151,6 +152,30 @@ enum
NUM_OPTIONS
};
/**
* \fn static inline SANE_Fixed milimeter_to_pixel(SANE_Word pixels)
* \brief Function Function that converts pixels into millimeters.
*
* \return SANE_Fixed (Value in pixels)
*/
static inline SANE_Fixed
pixels_to_milimeters (SANE_Word pixels)
{
return SANE_FIX((double) pixels * 25.4 / 300.0);
}
/**
* \fn static inline SANE_Word milimeter_to_pixel(SANE_Fixed milimeter)
* \brief Function Function that converts millimeters into pixels.
*
* \return SANE_Word (Value in milimeters)
*/
static inline SANE_Word
milimeters_to_pixels (SANE_Fixed milimeters)
{
return (SANE_Word) roundl(SANE_UNFIX(milimeters) * 300.0 / 25.4);
}
ESCL_Device *escl_devices(SANE_Status *status);
SANE_Status escl_device_add(int port_nb, const char *model_name, char *ip_address, char *type);
SANE_Status escl_status(SANE_String_Const name);