Add support for dashed borders to GPUI (#27139)
Features: * Scales dash spacing with border width. * Laying out dashes around rounded corners. * Varying border widths with rounded corners - now uses an ellipse for the inner edge of the border. * When there are no rounded corners, each straight border is laid out separately, so that the dashes to meet at the corners. * All sides of each dash are antialiased.   Release Notes: - N/A --------- Co-authored-by: Michael Sloan <michael@zed.dev> Co-authored-by: Ben <ben@zed.dev>
This commit is contained in:
parent
2fe2028e20
commit
cd1e56d6c7
14 changed files with 869 additions and 159 deletions
|
@ -2,8 +2,8 @@ use std::cmp;
|
|||
|
||||
use crate::InlineCompletion;
|
||||
use gpui::{
|
||||
point, prelude::*, quad, size, AnyElement, App, Bounds, Corners, Edges, HighlightStyle, Hsla,
|
||||
StyledText, TextLayout, TextStyle,
|
||||
point, prelude::*, quad, size, AnyElement, App, BorderStyle, Bounds, Corners, Edges,
|
||||
HighlightStyle, Hsla, StyledText, TextLayout, TextStyle,
|
||||
};
|
||||
use language::OffsetRangeExt;
|
||||
use settings::Settings;
|
||||
|
@ -150,6 +150,7 @@ impl Element for CompletionDiffElement {
|
|||
cx.theme().colors().editor_active_line_background,
|
||||
Edges::default(),
|
||||
Hsla::transparent_black(),
|
||||
BorderStyle::default(),
|
||||
));
|
||||
self.element.paint(window, cx);
|
||||
window.paint_quad(quad(
|
||||
|
@ -158,6 +159,7 @@ impl Element for CompletionDiffElement {
|
|||
cx.theme().players().local().cursor,
|
||||
Edges::default(),
|
||||
Hsla::transparent_black(),
|
||||
BorderStyle::default(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue