Skip to content

Commit aa04086

Browse files
authored
Merge pull request tectonic-typesetting#203 from burrbull/2d_next2
box2d & Coord -> Point
2 parents 978276a + 66d3d74 commit aa04086

15 files changed

+341
-388
lines changed

dpx/src/dpx_dvipdfmx.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,14 @@
2727
unused_mut
2828
)]
2929

30+
use euclid::point2;
31+
3032
use super::dpx_dvi::{
3133
dvi_close, dvi_comment, dvi_do_page, dvi_init, dvi_npages, dvi_reset_global_state,
3234
dvi_scan_specials, dvi_set_verbose, ReadLength,
3335
};
3436
use super::dpx_pdfdev::{
35-
Rect, Coord,
37+
Rect, Point,
3638
pdf_close_device, pdf_dev_reset_global_state, pdf_dev_set_verbose, pdf_init_device,
3739
};
3840
use super::dpx_pdfdoc::pdf_doc_set_mediabox;
@@ -205,15 +207,13 @@ unsafe fn system_default() {
205207
}
206208

207209
unsafe fn do_dvi_pages(mut page_ranges: Vec<PageRange>) {
208-
let mut mediabox = Rect::zero();
209210
spc_exec_at_begin_document();
210211
let mut page_width = paper_width;
211212
let init_paper_width = page_width;
212213
let mut page_height = paper_height;
213214
let init_paper_height = page_height;
214215
let mut page_count = 0;
215-
mediabox.ll = Coord::zero();
216-
mediabox.ur = Coord::new(paper_width, paper_height);
216+
let mut mediabox = Rect::new(Point::zero(), point2(paper_width, paper_height));
217217
pdf_doc_set_mediabox(0_u32, &mediabox);
218218
let mut i = 0;
219219
while i < page_ranges.len() && dvi_npages() != 0 {
@@ -268,7 +268,7 @@ unsafe fn do_dvi_pages(mut page_ranges: Vec<PageRange>) {
268268
y_offset = yo
269269
}
270270
if page_width != init_paper_width || page_height != init_paper_height {
271-
mediabox = Rect::new((0., 0.), (page_width, page_height));
271+
mediabox = Rect::new(point2(0., 0.), point2(page_width, page_height));
272272
pdf_doc_set_mediabox(page_count + 1, &mediabox);
273273
}
274274
dvi_do_page(page_height, x_offset, y_offset);

dpx/src/dpx_epdf.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,10 @@ pub unsafe fn pdf_include_page(
194194
pdf_add_dict(contents_dict, "Subtype", pdf_new_name("Form"));
195195
pdf_add_dict(contents_dict, "FormType", pdf_new_number(1.0f64));
196196
let bbox = pdf_new_array();
197-
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.ll.x));
198-
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.ll.y));
199-
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.ur.x));
200-
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.ur.y));
197+
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.min.x));
198+
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.min.y));
199+
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.max.x));
200+
pdf_add_array(&mut *bbox, pdf_new_number(info.bbox.max.y));
201201
pdf_add_dict(contents_dict, "BBox", bbox);
202202
let matrix = pdf_new_array();
203203
pdf_add_array(&mut *matrix, pdf_new_number(info.matrix.m11));

dpx/src/dpx_mpost.rs

+19-19
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
unused_mut
2929
)]
3030

31+
use euclid::point2;
32+
3133
use crate::DisplayExt;
3234
use std::ffi::{CStr, CString};
3335
use std::ptr;
@@ -40,7 +42,7 @@ use super::dpx_fontmap::pdf_lookup_fontmap_record;
4042
use super::dpx_mem::new;
4143
use super::dpx_pdfcolor::PdfColor;
4244
use super::dpx_pdfdev::{
43-
dev_unit_dviunit, graphics_mode, Coord, pdf_dev_get_dirmode, pdf_dev_get_font_wmode,
45+
dev_unit_dviunit, graphics_mode, Point, pdf_dev_get_dirmode, pdf_dev_get_font_wmode,
4446
pdf_dev_get_param, pdf_dev_locate_font, pdf_dev_put_image, pdf_dev_set_dirmode,
4547
pdf_dev_set_param, pdf_dev_set_string, Rect, TMatrix, transform_info,
4648
transform_info_clear,
@@ -289,18 +291,16 @@ pub unsafe fn mps_scan_bbox(
289291
} else {
290292
/* The new xetex.def and dvipdfmx.def require bbox->llx = bbox->lly = 0. */
291293
if translate_origin != 0 {
292-
bbox.ll = Coord::zero();
293-
bbox.ur.x = values[2] - values[0];
294-
bbox.ur.y = values[3] - values[1];
294+
*bbox = Rect::new(Point::zero(), point2(values[2] - values[0], values[3] - values[1]));
295295
Xorigin = values[0];
296-
Yorigin = values[1]
296+
Yorigin = values[1];
297297
} else {
298-
bbox.ll.x = values[0];
299-
bbox.ll.y = values[1];
300-
bbox.ur.x = values[2];
301-
bbox.ur.y = values[3];
302-
Xorigin = 0.0f64;
303-
Yorigin = 0.0f64
298+
*bbox = Rect::new(
299+
point2(values[0], values[1]),
300+
point2(values[2], values[3]),
301+
);
302+
Xorigin = 0.;
303+
Yorigin = 0.
304304
}
305305
return 0i32;
306306
}
@@ -615,7 +615,7 @@ unsafe fn do_currentfont() -> i32 {
615615
error
616616
}
617617
unsafe fn do_show() -> i32 {
618-
let mut cp = Coord::zero();
618+
let mut cp = Point::zero();
619619
let font = if currentfont < 0i32 {
620620
ptr::null_mut()
621621
} else {
@@ -718,10 +718,10 @@ unsafe fn do_texfig_operator(mut opcode: Opcode, mut x_user: f64, mut y_user: f6
718718
let dvi2pts = 1.0f64 / dev_unit_dviunit();
719719
fig_p.width = values[0] * dvi2pts;
720720
fig_p.height = values[1] * dvi2pts;
721-
fig_p.bbox.ll.x = values[2] * dvi2pts;
722-
fig_p.bbox.ll.y = -values[3] * dvi2pts;
723-
fig_p.bbox.ur.x = values[4] * dvi2pts;
724-
fig_p.bbox.ur.y = -values[5] * dvi2pts;
721+
fig_p.bbox.min.x = values[2] * dvi2pts;
722+
fig_p.bbox.min.y = -values[3] * dvi2pts;
723+
fig_p.bbox.max.x = values[4] * dvi2pts;
724+
fig_p.bbox.max.y = -values[5] * dvi2pts;
725725
fig_p.flags |= 1i32 << 0i32;
726726
sprintf(
727727
resname.as_mut_ptr(),
@@ -730,8 +730,8 @@ unsafe fn do_texfig_operator(mut opcode: Opcode, mut x_user: f64, mut y_user: f6
730730
);
731731
xobj_id = pdf_doc_begin_grabbing(
732732
resname.as_mut_ptr(),
733-
fig_p.bbox.ll.x,
734-
fig_p.bbox.ur.y,
733+
fig_p.bbox.min.x,
734+
fig_p.bbox.max.y,
735735
&mut fig_p.bbox,
736736
);
737737
in_tfig = 1i32;
@@ -767,7 +767,7 @@ unsafe fn ps_dev_CTM() -> TMatrix {
767767
unsafe fn do_operator(token: &[u8], mut x_user: f64, mut y_user: f64) -> i32 {
768768
let mut error: i32 = 0i32;
769769
let mut tmp = None;
770-
let mut cp = Coord::zero();
770+
let mut cp = Point::zero();
771771
let opcode = get_opcode(token);
772772
if opcode.is_err() {
773773
if is_fontname(token) {

0 commit comments

Comments
 (0)