/* config */
- const int mrg = 10;
+ const int mrg = 16;
/*----------------------------*/
int idx;
if ( ( x + mrg ) + wd < sw
- && ( y - mrg ) - ht >= 0 ) idx = POS_LeftUp;
+ && ( y - mrg ) - ht >= 0 ) idx = POS_RightUp;
else if ( ( x - mrg ) - wd >= 0
- && y - ( ht + mrg ) >= 0 ) idx = POS_RightUp;
+ && y - ( ht + mrg ) >= 0 ) idx = POS_LeftUp;
else if ( ( x + mrg ) + wd < sw
- && ( y + mrg ) + ht < sh ) idx = POS_LeftDown;
+ && ( y + mrg ) + ht < sh ) idx = POS_RightDown;
else if ( ( x - mrg ) - wd >= 0
- && ( y + mrg ) + ht < sh ) idx = POS_RightDown;
+ && ( y + mrg ) + ht < sh ) idx = POS_LeftDown;
else{
int area[4];
switch( idx ){
- case POS_LeftUp:
+ case POS_RightUp:
x = x + mrg;
y = ( y - mrg ) - ht;
break;
- case POS_RightUp:
+ case POS_LeftUp:
x = ( x - mrg ) - wd;
y = ( y - mrg ) - ht;
break;
- case POS_LeftDown:
+ case POS_RightDown:
x = x + mrg;
y = y + mrg;
break;
- case POS_RightDown:
+ case POS_LeftDown:
x = ( x - mrg ) - wd;
y = y + mrg;
break;