wip
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good

This commit is contained in:
Nishi 2026-03-27 16:31:28 +09:00
commit f6abf02486
Signed by: nishi
GPG key ID: 27EF69B208EB9343
3 changed files with 55 additions and 31 deletions

View file

@ -142,6 +142,8 @@ static MwWidget child(MwWidget w) {
int main() {
int i;
MwWidget f, w;
MwListBoxPacket* pkt;
int index;
MwLibraryInit();
@ -173,6 +175,27 @@ int main() {
MwComboBoxAdd(w, -1, "Hello!");
add(f);
f = frame("Entry", -PaddingContent, 24, MwEntryClass, NULL);
add(f);
f = frame("Label", -PaddingContent, -PaddingContent, MwLabelClass,
MwNtext, "Epic text",
NULL);
add(f);
f = frame("ListBox", -PaddingContent, -PaddingContent, MwListBoxClass,
MwNhasHeading, 1,
NULL);
w = child(f);
pkt = MwListBoxCreatePacket();
index = MwListBoxPacketInsert(pkt, -1);
MwListBoxPacketSet(pkt, index, 0, "Epic title...");
index = MwListBoxPacketInsert(pkt, -1);
MwListBoxPacketSet(pkt, index, 0, "Hello");
MwListBoxInsert(w, -1, pkt);
MwListBoxDestroyPacket(pkt);
add(f);
f = frame("Separator", -PaddingContent, -PaddingContent, MwSeparatorClass, NULL);
add(f);

View file

@ -117,6 +117,7 @@ void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color, int rounde
MwRect r = *rect;
int roundness = MwGetInteger(handle, MwNroundness);
double div;
if(rect->width < 0 || rect->height < 0) return;
if(roundness == MwDEFAULT) roundness = DEFAULT_ROUNDNESS;
if(roundness >= MAX_ROUNDNESS) roundness = MAX_ROUNDNESS;
div = (roundness <= 10) ? 7. : 10.;
@ -190,6 +191,8 @@ void MwDrawWidgetBack(MwWidget handle, MwRect* rect, MwLLColor color, int invert
MwLLColor col;
MwBool rounded = MwGetInteger(handle, MwNroundness) != MwDEFAULT && MwGetInteger(handle, MwNisRounded) != 0;
if(rect->width < 0 || rect->height < 0) return;
if(border) {
if(!handle->lowlevel->common.supports_transparency) {
MwLLColor c = handle->parent == NULL ? NULL : MwParseColor(handle->parent, MwGetText(handle->parent, MwNbackground));
@ -287,9 +290,7 @@ static void MwDrawFrameEx_simple(MwWidget handle, MwRect* rect, MwLLColor color,
if(roundness == MwDEFAULT) roundness = DEFAULT_ROUNDNESS;
if(roundness >= MAX_ROUNDNESS) roundness = MAX_ROUNDNESS;
if(rounded && rect->height >= (roundness * 2) && rect->width >= (roundness * 2) && roundness > 0) {
} else {
if(!(rounded && rect->height >= (roundness * 2) && rect->width >= (roundness * 2) && roundness > 0)) {
p[0].x = rect->x;
p[0].y = rect->y;
@ -309,9 +310,7 @@ static void MwDrawFrameEx_simple(MwWidget handle, MwRect* rect, MwLLColor color,
}
MwLLPolygon(handle->lowlevel, p, 6, invert ? darker : lighter);
if(rounded && rect->height >= (roundness * 2) && rect->width >= (roundness * 2) && roundness > 0) {
} else {
if(!(rounded && rect->height >= (roundness * 2) && rect->width >= (roundness * 2) && roundness > 0)) {
p[0].x = rect->x + rect->width;
p[0].y = rect->y;

View file

@ -53,6 +53,7 @@ static void draw(MwWidget handle) {
len = (r.width - p.x * 2) / w;
if(len >= 0) {
show = malloc(len * 4 + 1);
memset(show, 0, len * 4 + 1);
@ -78,6 +79,7 @@ static void draw(MwWidget handle) {
free(show);
}
}
MwLLFreeColor(text);
MwLLFreeColor(base);