mirror of
https://github.com/typst/typst
synced 2025-07-29 23:37:55 +08:00
Compare commits
1 Commits
04ac75f798
...
972c9ae698
Author | SHA1 | Date | |
---|---|---|---|
|
972c9ae698 |
@ -159,7 +159,6 @@ strip = true
|
|||||||
[workspace.lints.clippy]
|
[workspace.lints.clippy]
|
||||||
blocks_in_conditions = "allow"
|
blocks_in_conditions = "allow"
|
||||||
comparison_chain = "allow"
|
comparison_chain = "allow"
|
||||||
iter_over_hash_type = "warn"
|
|
||||||
manual_range_contains = "allow"
|
manual_range_contains = "allow"
|
||||||
mutable_key_type = "allow"
|
mutable_key_type = "allow"
|
||||||
uninlined_format_args = "warn"
|
uninlined_format_args = "warn"
|
||||||
|
@ -139,7 +139,6 @@ impl Watcher {
|
|||||||
fn update(&mut self, iter: impl IntoIterator<Item = PathBuf>) -> StrResult<()> {
|
fn update(&mut self, iter: impl IntoIterator<Item = PathBuf>) -> StrResult<()> {
|
||||||
// Mark all files as not "seen" so that we may unwatch them if they
|
// Mark all files as not "seen" so that we may unwatch them if they
|
||||||
// aren't in the dependency list.
|
// aren't in the dependency list.
|
||||||
#[allow(clippy::iter_over_hash_type, reason = "order does not matter")]
|
|
||||||
for seen in self.watched.values_mut() {
|
for seen in self.watched.values_mut() {
|
||||||
*seen = false;
|
*seen = false;
|
||||||
}
|
}
|
||||||
|
@ -173,7 +173,6 @@ impl SystemWorld {
|
|||||||
|
|
||||||
/// Reset the compilation state in preparation of a new compilation.
|
/// Reset the compilation state in preparation of a new compilation.
|
||||||
pub fn reset(&mut self) {
|
pub fn reset(&mut self) {
|
||||||
#[allow(clippy::iter_over_hash_type, reason = "order does not matter")]
|
|
||||||
for slot in self.slots.get_mut().values_mut() {
|
for slot in self.slots.get_mut().values_mut() {
|
||||||
slot.reset();
|
slot.reset();
|
||||||
}
|
}
|
||||||
|
@ -476,18 +476,26 @@ impl Curve {
|
|||||||
|
|
||||||
/// Computes the size of the bounding box of this curve.
|
/// Computes the size of the bounding box of this curve.
|
||||||
pub fn bbox_size(&self) -> Size {
|
pub fn bbox_size(&self) -> Size {
|
||||||
let mut min = Point::splat(Abs::inf());
|
let mut min_x = Abs::inf();
|
||||||
let mut max = Point::splat(-Abs::inf());
|
let mut min_y = Abs::inf();
|
||||||
|
let mut max_x = -Abs::inf();
|
||||||
|
let mut max_y = -Abs::inf();
|
||||||
|
|
||||||
let mut cursor = Point::zero();
|
let mut cursor = Point::zero();
|
||||||
for item in self.0.iter() {
|
for item in self.0.iter() {
|
||||||
match item {
|
match item {
|
||||||
CurveItem::Move(to) => {
|
CurveItem::Move(to) => {
|
||||||
|
min_x = min_x.min(cursor.x);
|
||||||
|
min_y = min_y.min(cursor.y);
|
||||||
|
max_x = max_x.max(cursor.x);
|
||||||
|
max_y = max_y.max(cursor.y);
|
||||||
cursor = *to;
|
cursor = *to;
|
||||||
}
|
}
|
||||||
CurveItem::Line(to) => {
|
CurveItem::Line(to) => {
|
||||||
min = min.min(cursor).min(*to);
|
min_x = min_x.min(cursor.x);
|
||||||
max = max.max(cursor).max(*to);
|
min_y = min_y.min(cursor.y);
|
||||||
|
max_x = max_x.max(cursor.x);
|
||||||
|
max_y = max_y.max(cursor.y);
|
||||||
cursor = *to;
|
cursor = *to;
|
||||||
}
|
}
|
||||||
CurveItem::Cubic(c0, c1, end) => {
|
CurveItem::Cubic(c0, c1, end) => {
|
||||||
@ -499,17 +507,17 @@ impl Curve {
|
|||||||
);
|
);
|
||||||
|
|
||||||
let bbox = cubic.bounding_box();
|
let bbox = cubic.bounding_box();
|
||||||
min.x = min.x.min(Abs::pt(bbox.x0)).min(Abs::pt(bbox.x1));
|
min_x = min_x.min(Abs::pt(bbox.x0)).min(Abs::pt(bbox.x1));
|
||||||
min.y = min.y.min(Abs::pt(bbox.y0)).min(Abs::pt(bbox.y1));
|
min_y = min_y.min(Abs::pt(bbox.y0)).min(Abs::pt(bbox.y1));
|
||||||
max.x = max.x.max(Abs::pt(bbox.x0)).max(Abs::pt(bbox.x1));
|
max_x = max_x.max(Abs::pt(bbox.x0)).max(Abs::pt(bbox.x1));
|
||||||
max.y = max.y.max(Abs::pt(bbox.y0)).max(Abs::pt(bbox.y1));
|
max_y = max_y.max(Abs::pt(bbox.y0)).max(Abs::pt(bbox.y1));
|
||||||
cursor = *end;
|
cursor = *end;
|
||||||
}
|
}
|
||||||
CurveItem::Close => (),
|
CurveItem::Close => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Size::new(max.x - min.x, max.y - min.y)
|
Size::new(max_x - min_x, max_y - min_y)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 399 B |
Binary file not shown.
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.1 KiB |
@ -130,16 +130,6 @@
|
|||||||
down, up, down, up, down,
|
down, up, down, up, down,
|
||||||
)
|
)
|
||||||
|
|
||||||
--- curve-stroke-gradient-sharp ---
|
|
||||||
#set page(width: auto)
|
|
||||||
#let down = curve.line((40pt, 40pt), relative: true)
|
|
||||||
#let up = curve.line((40pt, -40pt), relative: true)
|
|
||||||
|
|
||||||
#curve(
|
|
||||||
stroke: 4pt + gradient.linear(red, blue).sharp(3),
|
|
||||||
down, up, down, up, down,
|
|
||||||
)
|
|
||||||
|
|
||||||
--- curve-fill-rule ---
|
--- curve-fill-rule ---
|
||||||
#stack(
|
#stack(
|
||||||
dir: ltr,
|
dir: ltr,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user