mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-07-09 22:52:51 +02:00
fix(bar): correct time widget binary format alignment
This commit adds a bit of offset to the time widget's binary clocks so they are more in the middle. It also fixes some visual changes that were caused by upgrading to eframe 0.31
This commit is contained in:
+36
-27
@@ -110,36 +110,37 @@ impl Time {
|
|||||||
let full_height = size;
|
let full_height = size;
|
||||||
let height = full_height / 4.0;
|
let height = full_height / 4.0;
|
||||||
let width = height;
|
let width = height;
|
||||||
|
let offset = height / 2.0 - height / 8.0;
|
||||||
|
|
||||||
let (response, painter) =
|
let (response, painter) =
|
||||||
ui.allocate_painter(Vec2::new(width, full_height), Sense::hover());
|
ui.allocate_painter(Vec2::new(width, full_height + offset * 2.0), Sense::hover());
|
||||||
let color = ctx.style().visuals.text_color();
|
let color = ctx.style().visuals.text_color();
|
||||||
|
|
||||||
let c = response.rect.center();
|
let c = response.rect.center();
|
||||||
let r = height / 2.0 - 0.5;
|
let r = height / 2.0 - 0.5;
|
||||||
|
|
||||||
if number == 1 || number == 3 || number == 5 || number == 7 || number == 9 {
|
if number == 1 || number == 3 || number == 5 || number == 7 || number == 9 {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, height * 1.50), r, color);
|
painter.circle_filled(c + Vec2::new(0.0, height * 1.50 + offset), r, color);
|
||||||
} else {
|
} else {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, height * 1.50), r / 2.5, color);
|
painter.circle_filled(c + Vec2::new(0.0, height * 1.50 + offset), r / 2.5, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
if number == 2 || number == 3 || number == 6 || number == 7 {
|
if number == 2 || number == 3 || number == 6 || number == 7 {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, height * 0.50), r, color);
|
painter.circle_filled(c + Vec2::new(0.0, height * 0.50 + offset), r, color);
|
||||||
} else {
|
} else {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, height * 0.50), r / 2.5, color);
|
painter.circle_filled(c + Vec2::new(0.0, height * 0.50 + offset), r / 2.5, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
if number == 4 || number == 5 || number == 6 || number == 7 {
|
if number == 4 || number == 5 || number == 6 || number == 7 {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, -height * 0.50), r, color);
|
painter.circle_filled(c + Vec2::new(0.0, -height * 0.50 + offset), r, color);
|
||||||
} else if max_power > 2 {
|
} else if max_power > 2 {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, -height * 0.50), r / 2.5, color);
|
painter.circle_filled(c + Vec2::new(0.0, -height * 0.50 + offset), r / 2.5, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
if number == 8 || number == 9 {
|
if number == 8 || number == 9 {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, -height * 1.50), r, color);
|
painter.circle_filled(c + Vec2::new(0.0, -height * 1.50 + offset), r, color);
|
||||||
} else if max_power > 3 {
|
} else if max_power > 3 {
|
||||||
painter.circle_filled(c + Vec2::new(0.0, -height * 1.50), r / 2.5, color);
|
painter.circle_filled(c + Vec2::new(0.0, -height * 1.50 + offset), r / 2.5, color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,9 +155,10 @@ impl Time {
|
|||||||
let full_height = size;
|
let full_height = size;
|
||||||
let height = full_height / 4.0;
|
let height = full_height / 4.0;
|
||||||
let width = height * 1.5;
|
let width = height * 1.5;
|
||||||
|
let offset = height / 2.0 - height / 8.0;
|
||||||
|
|
||||||
let (response, painter) =
|
let (response, painter) =
|
||||||
ui.allocate_painter(Vec2::new(width, full_height), Sense::hover());
|
ui.allocate_painter(Vec2::new(width, full_height + offset * 2.0), Sense::hover());
|
||||||
let color = ctx.style().visuals.text_color();
|
let color = ctx.style().visuals.text_color();
|
||||||
let stroke = Stroke::new(1.0, color);
|
let stroke = Stroke::new(1.0, color);
|
||||||
|
|
||||||
@@ -174,22 +176,25 @@ impl Time {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if max_power == 2 {
|
if max_power == 2 {
|
||||||
let mut rect = response.rect.shrink(stroke.width);
|
let mut rect = response
|
||||||
|
.rect
|
||||||
|
.shrink2(Vec2::new(stroke.width, stroke.width + offset));
|
||||||
rect.set_height(rect.height() - height * 2.0);
|
rect.set_height(rect.height() - height * 2.0);
|
||||||
rect = rect.translate(Vec2::new(0.0, height * 2.0));
|
rect = rect.translate(Vec2::new(0.0, height * 2.0 + offset));
|
||||||
painter.rect_stroke(rect, round_all, stroke, StrokeKind::Outside);
|
painter.rect_stroke(rect, round_all, stroke, StrokeKind::Outside);
|
||||||
} else if max_power == 3 {
|
} else if max_power == 3 {
|
||||||
let mut rect = response.rect.shrink(stroke.width);
|
let mut rect = response
|
||||||
|
.rect
|
||||||
|
.shrink2(Vec2::new(stroke.width, stroke.width + offset));
|
||||||
rect.set_height(rect.height() - height);
|
rect.set_height(rect.height() - height);
|
||||||
rect = rect.translate(Vec2::new(0.0, height));
|
rect = rect.translate(Vec2::new(0.0, height + offset));
|
||||||
painter.rect_stroke(rect, round_all, stroke, StrokeKind::Outside);
|
painter.rect_stroke(rect, round_all, stroke, StrokeKind::Outside);
|
||||||
} else {
|
} else {
|
||||||
painter.rect_stroke(
|
let mut rect = response
|
||||||
response.rect.shrink(stroke.width),
|
.rect
|
||||||
round_all,
|
.shrink2(Vec2::new(stroke.width, stroke.width + offset));
|
||||||
stroke,
|
rect = rect.translate(Vec2::new(0.0, 0.0 + offset));
|
||||||
StrokeKind::Outside,
|
painter.rect_stroke(rect, round_all, stroke, StrokeKind::Outside);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut rect_bin = response.rect;
|
let mut rect_bin = response.rect;
|
||||||
@@ -198,7 +203,7 @@ impl Time {
|
|||||||
if number == 1 || number == 5 || number == 9 {
|
if number == 1 || number == 5 || number == 9 {
|
||||||
rect_bin.set_height(height);
|
rect_bin.set_height(height);
|
||||||
painter.rect_filled(
|
painter.rect_filled(
|
||||||
rect_bin.translate(Vec2::new(0.0, height * 3.0)),
|
rect_bin.translate(Vec2::new(stroke.width, height * 3.0 + offset * 2.0)),
|
||||||
round_bottom,
|
round_bottom,
|
||||||
color,
|
color,
|
||||||
);
|
);
|
||||||
@@ -206,7 +211,7 @@ impl Time {
|
|||||||
if number == 2 {
|
if number == 2 {
|
||||||
rect_bin.set_height(height);
|
rect_bin.set_height(height);
|
||||||
painter.rect_filled(
|
painter.rect_filled(
|
||||||
rect_bin.translate(Vec2::new(0.0, height * 2.0)),
|
rect_bin.translate(Vec2::new(stroke.width, height * 2.0 + offset * 2.0)),
|
||||||
if max_power == 2 {
|
if max_power == 2 {
|
||||||
round_top
|
round_top
|
||||||
} else {
|
} else {
|
||||||
@@ -218,7 +223,7 @@ impl Time {
|
|||||||
if number == 3 {
|
if number == 3 {
|
||||||
rect_bin.set_height(height * 2.0);
|
rect_bin.set_height(height * 2.0);
|
||||||
painter.rect_filled(
|
painter.rect_filled(
|
||||||
rect_bin.translate(Vec2::new(0.0, height * 2.0)),
|
rect_bin.translate(Vec2::new(stroke.width, height * 2.0 + offset * 2.0)),
|
||||||
round_bottom,
|
round_bottom,
|
||||||
color,
|
color,
|
||||||
);
|
);
|
||||||
@@ -226,7 +231,7 @@ impl Time {
|
|||||||
if number == 4 || number == 5 {
|
if number == 4 || number == 5 {
|
||||||
rect_bin.set_height(height);
|
rect_bin.set_height(height);
|
||||||
painter.rect_filled(
|
painter.rect_filled(
|
||||||
rect_bin.translate(Vec2::new(0.0, height * 1.0)),
|
rect_bin.translate(Vec2::new(stroke.width, height * 1.0 + offset * 2.0)),
|
||||||
if max_power == 3 {
|
if max_power == 3 {
|
||||||
round_top
|
round_top
|
||||||
} else {
|
} else {
|
||||||
@@ -238,7 +243,7 @@ impl Time {
|
|||||||
if number == 6 {
|
if number == 6 {
|
||||||
rect_bin.set_height(height * 2.0);
|
rect_bin.set_height(height * 2.0);
|
||||||
painter.rect_filled(
|
painter.rect_filled(
|
||||||
rect_bin.translate(Vec2::new(0.0, height * 1.0)),
|
rect_bin.translate(Vec2::new(stroke.width, height * 1.0 + offset * 2.0)),
|
||||||
if max_power == 3 {
|
if max_power == 3 {
|
||||||
round_top
|
round_top
|
||||||
} else {
|
} else {
|
||||||
@@ -250,7 +255,7 @@ impl Time {
|
|||||||
if number == 7 {
|
if number == 7 {
|
||||||
rect_bin.set_height(height * 3.0);
|
rect_bin.set_height(height * 3.0);
|
||||||
painter.rect_filled(
|
painter.rect_filled(
|
||||||
rect_bin.translate(Vec2::new(0.0, height)),
|
rect_bin.translate(Vec2::new(stroke.width, height + offset * 2.0)),
|
||||||
if max_power == 3 {
|
if max_power == 3 {
|
||||||
round_all
|
round_all
|
||||||
} else {
|
} else {
|
||||||
@@ -261,7 +266,11 @@ impl Time {
|
|||||||
}
|
}
|
||||||
if number == 8 || number == 9 {
|
if number == 8 || number == 9 {
|
||||||
rect_bin.set_height(height);
|
rect_bin.set_height(height);
|
||||||
painter.rect_filled(rect_bin.translate(Vec2::new(0.0, 0.0)), round_top, color);
|
painter.rect_filled(
|
||||||
|
rect_bin.translate(Vec2::new(stroke.width, 0.0 + offset * 2.0)),
|
||||||
|
round_top,
|
||||||
|
color,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user