mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Snap to screen pixels instead of px
This commit is contained in:
parent
26dd123310
commit
99cccb2193
4 changed files with 46 additions and 4 deletions
|
@ -279,6 +279,8 @@ impl DisplayList {
|
||||||
layer_kind: paint_context.layer_kind,
|
layer_kind: paint_context.layer_kind,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let pixels_per_px = paint_subcontext.screen_pixels_per_px();
|
||||||
|
|
||||||
if opts::get().dump_display_list_optimized {
|
if opts::get().dump_display_list_optimized {
|
||||||
self.print(format!("Optimized display list. Tile bounds: {:?}",
|
self.print(format!("Optimized display list. Tile bounds: {:?}",
|
||||||
paint_context.page_rect));
|
paint_context.page_rect));
|
||||||
|
@ -306,11 +308,11 @@ impl DisplayList {
|
||||||
transform.translate(positioned_kid.bounds
|
transform.translate(positioned_kid.bounds
|
||||||
.origin
|
.origin
|
||||||
.x
|
.x
|
||||||
.to_nearest_px() as AzFloat,
|
.to_nearest_pixel(pixels_per_px) as AzFloat,
|
||||||
positioned_kid.bounds
|
positioned_kid.bounds
|
||||||
.origin
|
.origin
|
||||||
.y
|
.y
|
||||||
.to_nearest_px() as AzFloat,
|
.to_nearest_pixel(pixels_per_px) as AzFloat,
|
||||||
0.0);
|
0.0);
|
||||||
positioned_kid.optimize_and_draw_into_context(&mut paint_subcontext,
|
positioned_kid.optimize_and_draw_into_context(&mut paint_subcontext,
|
||||||
&new_transform,
|
&new_transform,
|
||||||
|
@ -348,11 +350,11 @@ impl DisplayList {
|
||||||
transform.translate(positioned_kid.bounds
|
transform.translate(positioned_kid.bounds
|
||||||
.origin
|
.origin
|
||||||
.x
|
.x
|
||||||
.to_nearest_px() as AzFloat,
|
.to_nearest_pixel(pixels_per_px) as AzFloat,
|
||||||
positioned_kid.bounds
|
positioned_kid.bounds
|
||||||
.origin
|
.origin
|
||||||
.y
|
.y
|
||||||
.to_nearest_px() as AzFloat,
|
.to_nearest_pixel(pixels_per_px) as AzFloat,
|
||||||
0.0);
|
0.0);
|
||||||
positioned_kid.optimize_and_draw_into_context(&mut paint_subcontext,
|
positioned_kid.optimize_and_draw_into_context(&mut paint_subcontext,
|
||||||
&new_transform,
|
&new_transform,
|
||||||
|
|
|
@ -292,6 +292,7 @@ flaky_cpu == linebreak_simple_a.html linebreak_simple_b.html
|
||||||
== percentage_height_root.html percentage_height_root_ref.html
|
== percentage_height_root.html percentage_height_root_ref.html
|
||||||
== percentage_width_inline_block_a.html percentage_width_inline_block_ref.html
|
== percentage_width_inline_block_a.html percentage_width_inline_block_ref.html
|
||||||
resolution=300x300,device-pixel-ratio=2 != pixel_snapping_border_a.html pixel_snapping_border_ref.html
|
resolution=300x300,device-pixel-ratio=2 != pixel_snapping_border_a.html pixel_snapping_border_ref.html
|
||||||
|
resolution=300x300,device-pixel-ratio=2 != pixel_snapping_position_a.html pixel_snapping_position_ref.html
|
||||||
== png_rgba_colorspace_a.html png_rgba_colorspace_b.html
|
== png_rgba_colorspace_a.html png_rgba_colorspace_b.html
|
||||||
== position_abs_cb_with_non_cb_kid_a.html position_abs_cb_with_non_cb_kid_b.html
|
== position_abs_cb_with_non_cb_kid_a.html position_abs_cb_with_non_cb_kid_b.html
|
||||||
== position_abs_height_width_a.html position_abs_height_width_b.html
|
== position_abs_height_width_a.html position_abs_height_width_b.html
|
||||||
|
|
20
tests/ref/pixel_snapping_position_a.html
Normal file
20
tests/ref/pixel_snapping_position_a.html
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Pixel snapping position test</title>
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
position: absolute;
|
||||||
|
height: 100px;
|
||||||
|
width: 100px;
|
||||||
|
top: 11.5px;
|
||||||
|
background: red;
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
19
tests/ref/pixel_snapping_position_ref.html
Normal file
19
tests/ref/pixel_snapping_position_ref.html
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Pixel snapping position reference</title>
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
position: absolute;
|
||||||
|
height: 100px;
|
||||||
|
width: 100px;
|
||||||
|
top: 12px;
|
||||||
|
background: red;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Add table
Add a link
Reference in a new issue