/* * @param root window which's primary output will be queried * @param size_index referencing the size to query valid refresh rates for * @return currently used refresh rate or - if request failed or RandRR is not available - NULL */ EAPI Ecore_X_Randr_Refresh_Rate * ecore_x_randr_screen_primary_output_refresh_rates_get(Ecore_X_Window root, int size_index, int *num) { #ifdef ECORE_XRANDR Ecore_X_Randr_Refresh_Rate *ret = NULL, *rates = NULL; Ecore_X_Randr_Screen scr; int n; if (num && RANDR_VALIDATE_ROOT(scr, root) && (rates = XRRRates(_ecore_x_disp, scr, size_index, &n))) { if (rates && (ret = malloc(sizeof(Ecore_X_Randr_Refresh_Rate) * n))) { memcpy(ret, rates, (sizeof(Ecore_X_Randr_Refresh_Rate) * n)); *num = n; } } return ret; #else /* ifdef ECORE_XRANDR */ return NULL; #endif /* ifdef ECORE_XRANDR */ } /* ecore_x_randr_screen_primary_output_refresh_rates_get */
Eina_Bool _ecore_x_randr_root_validate(Ecore_X_Window root) { #ifdef ECORE_XRANDR Ecore_X_Randr_Screen scr = -1; if (root && RANDR_VALIDATE_ROOT(scr, root)) return EINA_TRUE; else return EINA_FALSE; #else return EINA_FALSE; #endif }