#include "rect.h" void rect_draw(rect* r, __u32 color) { __menuet__bar(r->x,r->y,r->width,r->height,color); } __u8 rect_transform(rect* from, rect* to, __u16 step) { if (from->width < to->width) { from->width += (step << 1); if (from->width > to->width) from->width = to->width; } else if (from->width > to->width) { from->width -= (step << 1); if (from->width < to->width) from->width = to->width; } if (from->height < to->height) { from->height += (step << 1); if (from->height > to->height) from->height = to->height; } else if (from->height > to->height) { from->height -= (step << 1); if (from->height < to->height) from->height = to->height; } if (from->x < to->x) { from->x += step; if (from->x > to->x) from->x = to->x; } else if (from->x > to->x) { from->x -= step; if (from->x < to->x) from->x = to->x; } if (from->y < to->y) { from->y += step; if (from->y > to->y) from->y = to->y; } else if (from->y > to->y) { from->y -= step; if (from->y < to->y) from->y = to->y; } return (from->x == to->x) && (from->y == to->y) && (from->width == to->width) && (from->height == to->height); } void rect_draw_text(rect *r, char *txt, __u32 len, __u32 color, __u32 frame_color) { // right down shadow __menuet__write_text(r->x + 1 + (r->width - text_length_px(len)) / 2, r->y + 1 + (r->height - FONT_HEIGHT) / 2, frame_color,txt,len); // right shadow __menuet__write_text(r->x + 1 + (r->width - text_length_px(len)) / 2, r->y + (r->height - FONT_HEIGHT) / 2, frame_color,txt,len); // down shadow __menuet__write_text(r->x + (r->width - text_length_px(len)) / 2, r->y + 1 + (r->height - FONT_HEIGHT) / 2, frame_color,txt,len); __menuet__write_text(r->x + (r->width - text_length_px(len)) / 2, r->y + (r->height - FONT_HEIGHT) / 2, color,txt,len); } void rect_draw_value(rect* r, __u32 v, __u32 color, __u32 frame_color) { char buffer[16] = {0}; __u32 length = strlen(itoa(v,buffer,10)); rect_draw_text(r,buffer,length,color,frame_color); }