gceSTATUS gcoOS_GetDisplayInfoEx2( IN HALNativeDisplayType Display, IN HALNativeWindowType Window, IN gctPOINTER localDisplay, IN gctUINT DisplayInfoSize, OUT halDISPLAY_INFO * DisplayInfo ) { return gcoOS_GetDisplayInfoEx(Display, Window, DisplayInfoSize, DisplayInfo); }
gceSTATUS gcoOS_GetNextDisplayInfoEx( IN HALNativeDisplayType Display, IN HALNativeWindowType Window, IN gctUINT DisplayInfoSize, OUT halDISPLAY_INFO * DisplayInfo ) { int rc; gceSTATUS status = gcvSTATUS_OK; screen_buffer_t buf[gcdDISPLAY_BACK_BUFFERS]; gcmHEADER_ARG("Display=0x%x Window=0x%x DisplayInfoSize=%u", Display, Window, DisplayInfoSize); if ((Window == gcvNULL) || (DisplayInfoSize != sizeof(halDISPLAY_INFO))) { goto OnError; } rc = screen_get_window_property_pv((screen_window_t)Window, SCREEN_PROPERTY_RENDER_BUFFERS, (void**)buf); if (rc) { goto OnError; } rc = screen_post_window((screen_window_t)Window, buf[0], 0, NULL, 0); if (rc) { goto OnError; } status = gcoOS_GetDisplayInfoEx(Display, Window, DisplayInfoSize, DisplayInfo); gcmFOOTER_ARG("*DisplayInfo=0x%x", *DisplayInfo); return status; OnError: status = gcvSTATUS_INVALID_ARGUMENT; gcmFOOTER(); return status; }