@@ -67,10 +67,10 @@ bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex,
67
67
return false;
68
68
}
69
69
70
- int16_t aa = ((int16_t )sizex ) * ((int16_t )sizex );
71
- int16_t bb = ((int16_t )sizey ) * ((int16_t )sizey );
72
- int16_t fa = 4 * (( int16_t ) aa ) ;
73
- int16_t fb = 4 * (( int16_t ) bb ) ;
70
+ int32_t aa = ((int32_t )sizex ) * ((int32_t )sizex );
71
+ int32_t bb = ((int32_t )sizey ) * ((int32_t )sizey );
72
+ int32_t fa = 4 * aa ;
73
+ int32_t fb = 4 * bb ;
74
74
75
75
int16_t dx = 0 ;
76
76
int16_t dy = ((int16_t )sizey );
@@ -83,7 +83,7 @@ bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex,
83
83
}
84
84
85
85
bool ret = true;
86
- for (int16_t delta = (2 * bb ) + (aa * (1 - (2 * sizey ))); bb * dx <= aa * dy ; dx ++ ) {
86
+ for (int32_t delta = (2 * bb ) + (aa * (1 - (2 * sizey ))); bb * dx <= aa * dy ; dx ++ ) {
87
87
if (!qp_ellipse_helper_impl (device , x , y , dx , dy , filled )) {
88
88
ret = false;
89
89
break ;
@@ -98,7 +98,7 @@ bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex,
98
98
dx = sizex ;
99
99
dy = 0 ;
100
100
101
- for (int16_t delta = (2 * aa ) + (bb * (1 - (2 * sizex ))); aa * dy <= bb * dx ; dy ++ ) {
101
+ for (int32_t delta = (2 * aa ) + (bb * (1 - (2 * sizex ))); aa * dy <= bb * dx ; dy ++ ) {
102
102
if (!qp_ellipse_helper_impl (device , x , y , dx , dy , filled )) {
103
103
ret = false;
104
104
break ;
0 commit comments