From 79de1d66fce6b2a13a89c11d284d54f97ca9fe23 Mon Sep 17 00:00:00 2001
From: sam edelsten <samedelsten1@gmail.com>
Date: Wed, 10 Apr 2024 11:48:01 +0100
Subject: [PATCH] add minimum padding, fixing centered infiniteline

---
 src/layout.rs |  1 +
 src/render.rs | 14 ++++----------
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/src/layout.rs b/src/layout.rs
index 498dd76..2f6fab3 100644
--- a/src/layout.rs
+++ b/src/layout.rs
@@ -148,6 +148,7 @@ pub fn set_x_offset(
         }
 
         let padding_x = match position {
+            // TODO: This 5 should be specified by user
             CosmicTextPosition::Center => 5.,
             CosmicTextPosition::TopLeft { padding } => *padding as f32,
             CosmicTextPosition::Left { padding } => *padding as f32,
diff --git a/src/render.rs b/src/render.rs
index 7d7ed6b..ab50243 100644
--- a/src/render.rs
+++ b/src/render.rs
@@ -4,8 +4,8 @@ use image::{imageops::FilterType, GenericImageView};
 
 use crate::{
     layout::{CosmicPadding, CosmicWidgetSize},
-    CosmicBackground, CosmicBuffer, CosmicEditor, CosmicFontSystem, CosmicTextPosition,
-    CursorColor, DefaultAttrs, FillColor, ReadOnly, SelectionColor, XOffset,
+    CosmicBackground, CosmicBuffer, CosmicEditor, CosmicFontSystem, CursorColor, DefaultAttrs,
+    FillColor, ReadOnly, SelectionColor, XOffset,
 };
 
 #[derive(Resource)]
@@ -77,7 +77,6 @@ pub(crate) fn render_texture(
         &CosmicPadding,
         &XOffset,
         Option<&ReadOnly>,
-        &CosmicTextPosition,
     )>,
     mut font_system: ResMut<CosmicFontSystem>,
     mut images: ResMut<Assets<Image>>,
@@ -96,7 +95,6 @@ pub(crate) fn render_texture(
         padding,
         x_offset,
         readonly_opt,
-        position,
     ) in query.iter_mut()
     {
         // Draw background
@@ -135,11 +133,6 @@ pub(crate) fn render_texture(
             .color_opt
             .unwrap_or(cosmic_text::Color::rgb(0, 0, 0));
 
-        let x_offset_divisor = match position {
-            CosmicTextPosition::Center => 2.,
-            _ => 1.,
-        };
-
         let draw_closure = |x, y, w, h, color| {
             for row in 0..h as i32 {
                 for col in 0..w as i32 {
@@ -147,7 +140,8 @@ pub(crate) fn render_texture(
                         &mut pixels,
                         size.0.x as i32,
                         size.0.y as i32,
-                        x + col + padding.x as i32 - (x_offset.left / x_offset_divisor) as i32,
+                        // TODO: padding should draw from a user specified minumum here
+                        x + col + padding.x.max(5.) as i32 - x_offset.left as i32,
                         y + row + padding.y as i32,
                         color,
                     );
-- 
GitLab