Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/interface/interface_eyedropper.c
| Show First 20 Lines • Show All 141 Lines • ▼ Show 20 Lines | |||||
| void datadropper_win_area_find( | void datadropper_win_area_find( | ||||
| const bContext *C, const int mval[2], int r_mval[2], wmWindow **r_win, ScrArea **r_area) | const bContext *C, const int mval[2], int r_mval[2], wmWindow **r_win, ScrArea **r_area) | ||||
| { | { | ||||
| bScreen *screen = CTX_wm_screen(C); | bScreen *screen = CTX_wm_screen(C); | ||||
| *r_win = CTX_wm_window(C); | *r_win = CTX_wm_window(C); | ||||
| *r_area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, mval); | *r_area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, mval); | ||||
| if (*r_area == NULL) { | if (*r_area == NULL) { | ||||
| wmWindowManager *wm = CTX_wm_manager(C); | *r_win = WM_window_find_under_cursor(*r_win, mval, r_mval); | ||||
| *r_win = WM_window_find_under_cursor(wm, NULL, *r_win, mval, r_mval); | |||||
| if (*r_win) { | if (*r_win) { | ||||
| screen = WM_window_get_active_screen(*r_win); | screen = WM_window_get_active_screen(*r_win); | ||||
| *r_area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, r_mval); | *r_area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, r_mval); | ||||
| } | } | ||||
| } | } | ||||
| else if (mval != r_mval) { | else if (mval != r_mval) { | ||||
| copy_v2_v2_int(r_mval, mval); | copy_v2_v2_int(r_mval, mval); | ||||
| } | } | ||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||