1
0
mirror of https://git.code.sf.net/p/zint/code synced 2025-12-22 04:17:05 +00:00

CMakeLists.txt: check against c not c++ (CheckCXX -> CheckC etc)

BMP/EMF/PCX/TIF: use more portable packed attribute instead of
  pragma if not MSVC
CHANNEL: pass ptr not struct to `channel_copy_precalc()`
This commit is contained in:
gitlost
2024-05-27 20:55:04 +01:00
parent 3960dfdbfc
commit 0a00d04ccc
8 changed files with 94 additions and 71 deletions

View File

@@ -1,7 +1,7 @@
/* emf.h - header structure for Microsoft EMF */
/*
libzint - the open source barcode library
Copyright (C) 2016-2022 Robin Stuart <rstuart114@gmail.com>
Copyright (C) 2016-2024 Robin Stuart <rstuart114@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -37,43 +37,45 @@
extern "C" {
#endif
#ifdef _MSC_VER
#pragma pack(1)
#endif
typedef struct rect_l {
int32_t left;
int32_t top;
int32_t right;
int32_t bottom;
} rect_l_t;
} OUT_PACK rect_l_t;
typedef struct size_l {
uint32_t cx;
uint32_t cy;
} size_l_t;
} OUT_PACK size_l_t;
typedef struct point_l {
int32_t x;
int32_t y;
} point_l_t;
} OUT_PACK point_l_t;
typedef struct color_ref {
uint8_t red;
uint8_t green;
uint8_t blue;
uint8_t reserved;
} color_ref_t;
} OUT_PACK color_ref_t;
typedef struct log_brush_ex {
uint32_t brush_style;
color_ref_t color;
uint32_t brush_hatch;
} log_brush_ex_t;
} OUT_PACK log_brush_ex_t;
typedef struct log_pen {
uint32_t pen_style;
point_l_t width;
color_ref_t color_ref;
} log_pen_t;
} OUT_PACK log_pen_t;
typedef struct log_font {
int32_t height;
@@ -90,7 +92,7 @@ extern "C" {
uint8_t quality;
uint8_t pitch_and_family;
unsigned char facename[64];
} log_font_t;
} OUT_PACK log_font_t;
typedef struct emr_text {
point_l_t reference;
@@ -99,7 +101,7 @@ extern "C" {
uint32_t options;
rect_l_t rectangle;
uint32_t off_dx;
} emr_text_t;
} OUT_PACK emr_text_t;
typedef struct emf_header {
rect_l_t bounds;
@@ -121,19 +123,19 @@ extern "C" {
uint32_t b_open_gl;
/* HeaderExtension2 Object */
size_l_t micrometers;
} emf_header_t;
} OUT_PACK emf_header_t;
typedef struct emr_header {
uint32_t type;
uint32_t size;
emf_header_t emf_header;
} emr_header_t;
} OUT_PACK emr_header_t;
typedef struct emr_mapmode {
uint32_t type;
uint32_t size;
uint32_t mapmode;
} emr_mapmode_t;
} OUT_PACK emr_mapmode_t;
typedef struct emr_setworldtransform {
uint32_t type;
@@ -144,39 +146,39 @@ extern "C" {
float m22;
float dx;
float dy;
} emr_setworldtransform_t;
} OUT_PACK emr_setworldtransform_t;
typedef struct emr_createbrushindirect {
uint32_t type;
uint32_t size;
uint32_t ih_brush;
log_brush_ex_t log_brush;
} emr_createbrushindirect_t;
} OUT_PACK emr_createbrushindirect_t;
typedef struct emr_createpen {
uint32_t type;
uint32_t size;
uint32_t ih_pen;
log_pen_t log_pen;
} emr_createpen_t;
} OUT_PACK emr_createpen_t;
typedef struct emr_selectobject {
uint32_t type;
uint32_t size;
uint32_t ih_object;
} emr_selectobject_t;
} OUT_PACK emr_selectobject_t;
typedef struct emr_rectangle {
uint32_t type;
uint32_t size;
rect_l_t box;
} emr_rectangle_t;
} OUT_PACK emr_rectangle_t;
typedef struct emr_ellipse {
uint32_t type;
uint32_t size;
rect_l_t box;
} emr_ellipse_t;
} OUT_PACK emr_ellipse_t;
typedef struct emr_polygon {
uint32_t type;
@@ -189,26 +191,26 @@ extern "C" {
point_l_t a_points_d;
point_l_t a_points_e;
point_l_t a_points_f;
} emr_polygon_t;
} OUT_PACK emr_polygon_t;
typedef struct emr_extcreatefontindirectw {
uint32_t type;
uint32_t size;
uint32_t ih_fonts;
log_font_t elw;
} emr_extcreatefontindirectw_t;
} OUT_PACK emr_extcreatefontindirectw_t;
typedef struct emr_settextalign {
uint32_t type;
uint32_t size;
uint32_t text_alignment_mode;
} emr_settextalign_t;
} OUT_PACK emr_settextalign_t;
typedef struct emr_settextcolor {
uint32_t type;
uint32_t size;
color_ref_t color;
} emr_settextcolor_t;
} OUT_PACK emr_settextcolor_t;
typedef struct emr_exttextoutw {
uint32_t type;
@@ -218,7 +220,7 @@ extern "C" {
float ex_scale;
float ey_scale;
emr_text_t w_emr_text;
} emr_exttextoutw_t;
} OUT_PACK emr_exttextoutw_t;
typedef struct emr_eof {
uint32_t type;
@@ -226,16 +228,18 @@ extern "C" {
uint32_t n_pal_entries;
uint32_t off_pal_entries;
uint32_t size_last;
} emr_eof_t;
} OUT_PACK emr_eof_t;
typedef struct box {
emr_rectangle_t top;
emr_rectangle_t bottom;
emr_rectangle_t left;
emr_rectangle_t right;
} box_t;
} OUT_PACK box_t;
#ifdef _MSC_VER
#pragma pack()
#endif
#ifdef __cplusplus
}