TermCharInfo

This commit is contained in:
2023-05-18 07:27:15 +06:00
parent c8dfd8224e
commit 76b0909659
9 changed files with 66 additions and 41 deletions

View File

@@ -5,11 +5,16 @@ void TextBlock_freeMembers(void* _self){
free(self->text.ptr);
}
UI_Maybe TextBlock_draw(Renderer* renderer, UIElement* _self, DrawingArea area){
UI_Maybe TextBlock_draw(Renderer* renderer, UIElement* _self, const DrawingArea area){
TextBlock* self=(TextBlock*)_self;
UI_try(UIElement_validate((UIElement*)self, area),_0,;);
UI_try(Renderer_fill(renderer, TERMCHAR(' '), area),_2,;);
UI_try(Renderer_drawBorder(renderer, self->base.borders, area),_1,;);
UI_try(Renderer_fill(renderer, TCI(TERMCHAR(' '), kp_bgBlack|kp_fgGray), area),_2,;);
UI_try(Renderer_drawBorder(renderer, self->base.border, area),_1,;);
for(u16 i=0; i<area.w-2 && i<self->text.length; i++){
u16 x=area.x+1+i;
u16 y=area.y+area.h/2;
UI_try(Renderer_set(renderer, TCI(self->text.ptr[i], kp_fgCyan), x, y), _2,;);
}
return MaybeNull;
}