A post-modern development environment.
0

Configure Feed

Select the types of activity you want to include in your feed.

fix: ui/document: Apply rendering offset to all methods

Fixes #15934

+9 -2
+9 -2
helix-term/src/ui/document.rs
··· 426 426 if (y as usize) < self.offset.row { 427 427 return; 428 428 } 429 + let y = y - self.offset.row as u16; 429 430 self.surface 430 431 .set_string(x, y + self.viewport.y, string, style) 431 432 } ··· 434 435 if (y as usize) < self.offset.row { 435 436 return; 436 437 } 438 + let y = y - self.offset.row as u16; 437 439 self.surface 438 440 .set_stringn(x, y + self.viewport.y, string, width, style); 439 441 } ··· 441 443 /// Sets the style of an area **within the text viewport* this accounts 442 444 /// both for the renderers vertical offset and its viewport 443 445 pub fn set_style(&mut self, mut area: Rect, style: Style) { 444 - area = area.clip_top(self.offset.row as u16); 445 - area.y += self.viewport.y; 446 + let offset = self.offset.row as u16; 447 + if area.y < offset { 448 + area.height = area.height.saturating_sub(offset - area.y); 449 + area.y = offset; 450 + } 451 + area.y = area.y - offset + self.viewport.y; 446 452 self.surface.set_style(area, style); 447 453 } 448 454 ··· 460 466 if (y as usize) < self.offset.row { 461 467 return (x, y); 462 468 } 469 + let y = y - self.offset.row as u16; 463 470 self.surface.set_string_truncated( 464 471 x, 465 472 y + self.viewport.y,