mirror of
https://github.com/fltk/fltk.git
synced 2026-06-01 14:52:46 +08:00
Fix Drawing artifact with radio buttons under Cairo (#792) - cont'd
This commit is contained in:
@@ -50,12 +50,18 @@ static void draw(int which, int x,int y,int w,int h, int inset, Fl_Color color)
|
|||||||
f(x, y+h-d, d, d, w<=h ? 180 : 90, w<=h ? 360 : 270);
|
f(x, y+h-d, d, d, w<=h ? 180 : 90, w<=h ? 360 : 270);
|
||||||
}
|
}
|
||||||
} else if (which == UPPER_LEFT) {
|
} else if (which == UPPER_LEFT) {
|
||||||
|
if (w == h) f(x, y, d, d, 45, 225);
|
||||||
|
else {
|
||||||
f(x+w-d, y, d, d, 45, w<=h ? 180 : 90);
|
f(x+w-d, y, d, d, 45, w<=h ? 180 : 90);
|
||||||
f(x, y+h-d, d, d, w<=h ? 180 : 90, 225);
|
f(x, y+h-d, d, d, w<=h ? 180 : 90, 225);
|
||||||
|
}
|
||||||
} else { // LOWER_RIGHT
|
} else { // LOWER_RIGHT
|
||||||
|
if (w == h) f(x, y, d, d, 225, 405);
|
||||||
|
else {
|
||||||
f(x, y+h-d, d, d, 225, w<=h ? 360 : 270);
|
f(x, y+h-d, d, d, 225, w<=h ? 360 : 270);
|
||||||
f(x+w-d, y, d, d, w<=h ? 360 : 270, 360+45);
|
f(x+w-d, y, d, d, w<=h ? 360 : 270, 360+45);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (which == FILL) {
|
if (which == FILL) {
|
||||||
if (w < h)
|
if (w < h)
|
||||||
fl_rectf(x, y+d/2, w, h-(d&-2)+1);
|
fl_rectf(x, y+d/2, w, h-(d&-2)+1);
|
||||||
|
|||||||
Reference in New Issue
Block a user