Skip to content

Commit a70c783

Browse files
committed
restore pdf_coord__equal
1 parent 65de0bb commit a70c783

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

dpx/src/dpx_pdfdev.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,6 @@ impl pdf_coord {
172172
Self { x: 0., y: 0. }
173173
}
174174
}
175-
impl PartialEq for pdf_coord {
176-
fn eq(&self, other: &Self) -> bool {
177-
(self.x - other.x).abs() < 1e-7 && (self.y - other.y).abs() < 1e-7
178-
}
179-
}
180175

181176
#[derive(Copy, Clone, Default)]
182177
#[repr(C)]

dpx/src/dpx_pdfdraw.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ pub struct LineDash {
114114
pub offset: f64,
115115
}
116116

117+
fn pdf_coord__equal(p1: &pdf_coord, p2: &pdf_coord) -> bool {
118+
((p1.x - p2.x).abs() < 1e-7) && ((p1.y - p2.y).abs() < 1e-7)
119+
}
120+
117121
unsafe extern "C" fn inversematrix(mut W: &mut pdf_tmatrix, mut M: &pdf_tmatrix) -> i32 {
118122
let mut det: f64 = 0.;
119123
det = M.a * M.d - M.b * M.c;
@@ -283,21 +287,21 @@ unsafe extern "C" fn pdf_path__next_pe<'a>(
283287
pe.p[0] = *cp;
284288
}
285289
PeType::LINETO => {
286-
if &pe.p[0] != cp {
290+
if !pdf_coord__equal(&pe.p[0], cp) {
287291
let mut pe = pa_elem::default();
288292
pe.p[0] = *cp;
289293
pa.path.push(pe);
290294
}
291295
}
292296
PeType::CURVETO => {
293-
if &pe.p[2] != cp {
297+
if !pdf_coord__equal(&pe.p[2], cp) {
294298
let mut pe = pa_elem::default();
295299
pe.p[0] = *cp;
296300
pa.path.push(pe);
297301
}
298302
}
299303
PeType::CURVETO_Y | PeType::CURVETO_V => {
300-
if &pe.p[1] != cp {
304+
if !pdf_coord__equal(&pe.p[1], cp) {
301305
let mut pe = pa_elem::default();
302306
pe.p[0] = *cp;
303307
pa.path.push(pe);
@@ -358,12 +362,12 @@ unsafe extern "C" fn pdf_path__curveto(
358362
p2: &pdf_coord,
359363
) -> i32 {
360364
let pe = pdf_path__next_pe(pa, cp);
361-
if cp == p0 {
365+
if pdf_coord__equal(cp, p0) {
362366
pe.typ = PeType::CURVETO_V;
363367
pe.p[0] = *p1;
364368
*cp = *p2;
365369
pe.p[1] = *cp;
366-
} else if p1 == p2 {
370+
} else if pdf_coord__equal(p1, p2) {
367371
pe.typ = PeType::CURVETO_Y;
368372
pe.p[0] = *p0;
369373
*cp = *p1;
@@ -449,7 +453,7 @@ unsafe extern "C" fn pdf_path__elliptarc(
449453
p0.y += ca.y;
450454
if pa.path.is_empty() {
451455
pdf_path__moveto(pa, cp, &mut p0);
452-
} else if cp != &p0 {
456+
} else if !pdf_coord__equal(cp, &p0) {
453457
pdf_path__lineto(pa, cp, &mut p0);
454458
/* add line seg */
455459
}
@@ -823,8 +827,8 @@ impl pdf_gstate {
823827
strokecolor: pdf_color_graycolor_new(0.).unwrap(),
824828
fillcolor: pdf_color_graycolor_new(0.).unwrap(),
825829
linedash: LineDash::default(),
826-
linecap: 0,
827-
linejoin: 0,
830+
linecap: 0, // TODO make enum
831+
linejoin: 0, // TODO make enum
828832
linewidth: 1.,
829833
miterlimit: 10.,
830834
flatness: 1,

0 commit comments

Comments
 (0)