rem: if (x >= menuX1 && x <= menuX2 && (y < MENU_SCROLL_BORDER || y > scrYe-MENU_SCROLL_BORDER)) flag = 1; else if (y >= menuY1 && y <= menuY2 && (x < MENU_SCROLL_BORDER || x > scrXe-MENU_SCROLL_BORDER)) flag = 1;
add: WMRect rect = wGetRectForHead(menu->frame->screen_ptr, wGetHeadForPoint(menu->frame->screen_ptr, (WMPoint){ x, y}));  if (x >= menuX1 && x <= menuX2 && (y < rect.pos.y + MENU_SCROLL_BORDER || y >= rect.pos.y + rect.size.height + MENU_SCROLL_BORDER)) flag = 1; else if (y >= menuY1 && y <= menuY2 && (x < rect.pos.x + MENU_SCROLL_BORDER || x >= rect.pos.x + rect.size.width + MENU_SCROLL_BORDER)) flag = 1;
context: isPointNearBoder(WMenu *menu, int x, int y){    int menuX1 = menu->frame_x;    int menuY1 = menu->frame_y;    int menuX2 = menu->frame_x + MENUW(menu);    int menuY2 = menu->frame_y + MENUH(menu);    int scrXe = menu->menu->screen_ptr->scr_width-1;    int scrYe = menu->menu->screen_ptr->scr_height-1;    int flag = 0;    if (x >= menuX1 && x <= menuX2 && (y < MENU_SCROLL_BORDER                                       || y > scrYe-MENU_SCROLL_BORDER))        flag = 1;    else if (y >= menuY1 && y <= menuY2 && (x < MENU_SCROLL_BORDER                                            || x > scrXe-MENU_SCROLL_BORDER))        flag = 1;    return flag;}