Lines Matching refs:dmxScreen
196 dmxOpenDisplay(DMXScreenInfo * dmxScreen) in dmxOpenDisplay() argument
198 if (!(dmxScreen->beDisplay = XOpenDisplay(dmxScreen->name))) in dmxOpenDisplay()
201 dmxPropertyDisplay(dmxScreen); in dmxOpenDisplay()
206 dmxSetErrorHandler(DMXScreenInfo * dmxScreen) in dmxSetErrorHandler() argument
212 dmxPrintScreenInfo(DMXScreenInfo * dmxScreen) in dmxPrintScreenInfo() argument
217 Display *dpy = dmxScreen->beDisplay; in dmxPrintScreenInfo()
225 dmxLogOutput(dmxScreen, "Name of display: %s\n", DisplayString(dpy)); in dmxPrintScreenInfo()
226 dmxLogOutput(dmxScreen, "Version number: %d.%d\n", in dmxPrintScreenInfo()
228 dmxLogOutput(dmxScreen, "Vendor string: %s\n", ServerVendor(dpy)); in dmxPrintScreenInfo()
230 dmxLogOutput(dmxScreen, "Vendor release: %d\n", VendorRelease(dpy)); in dmxPrintScreenInfo()
261 dmxLogOutput(dmxScreen, "Vendor release: %d (XFree86 version: %d.%d", in dmxPrintScreenInfo()
264 dmxLogOutputCont(dmxScreen, ".%d", patch); in dmxPrintScreenInfo()
266 dmxLogOutputCont(dmxScreen, ".%d", subpatch); in dmxPrintScreenInfo()
267 dmxLogOutputCont(dmxScreen, ")\n"); in dmxPrintScreenInfo()
270 dmxLogOutput(dmxScreen, "Dimensions: %dx%d pixels\n", in dmxPrintScreenInfo()
272 dmxLogOutput(dmxScreen, "%d depths on screen %d: ", ndepths, scr); in dmxPrintScreenInfo()
274 dmxLogOutputCont(dmxScreen, "%c%d", i ? ',' : ' ', depths[i]); in dmxPrintScreenInfo()
275 dmxLogOutputCont(dmxScreen, "\n"); in dmxPrintScreenInfo()
276 dmxLogOutput(dmxScreen, "Depth of root window: %d plane%s (%d)\n", in dmxPrintScreenInfo()
279 dmxLogOutput(dmxScreen, "Number of colormaps: %d min, %d max\n", in dmxPrintScreenInfo()
281 dmxLogOutput(dmxScreen, "Options: backing-store %s, save-unders %s\n", in dmxPrintScreenInfo()
285 dmxLogOutput(dmxScreen, "Window Manager running: %s\n", in dmxPrintScreenInfo()
286 (dmxScreen->WMRunningOnBE) ? "yes" : "no"); in dmxPrintScreenInfo()
288 if (dmxScreen->WMRunningOnBE) { in dmxPrintScreenInfo()
289 dmxLogOutputWarning(dmxScreen, in dmxPrintScreenInfo()
297 dmxGetScreenAttribs(DMXScreenInfo * dmxScreen) in dmxGetScreenAttribs() argument
300 Display *dpy = dmxScreen->beDisplay; in dmxGetScreenAttribs()
308 dmxScreen->beWidth = attribs.width; in dmxGetScreenAttribs()
309 dmxScreen->beHeight = attribs.height; in dmxGetScreenAttribs()
312 if (dmxScreen->scrnXSign < 0) { in dmxGetScreenAttribs()
313 if (dmxScreen->scrnWidth) { in dmxGetScreenAttribs()
314 dmxScreen->scrnX = (attribs.width - dmxScreen->scrnWidth in dmxGetScreenAttribs()
315 - dmxScreen->scrnX); in dmxGetScreenAttribs()
318 dmxScreen->scrnWidth = attribs.width - dmxScreen->scrnX; in dmxGetScreenAttribs()
319 dmxScreen->scrnX = 0; in dmxGetScreenAttribs()
322 if (dmxScreen->scrnYSign < 0) { in dmxGetScreenAttribs()
323 if (dmxScreen->scrnHeight) { in dmxGetScreenAttribs()
324 dmxScreen->scrnY = (attribs.height - dmxScreen->scrnHeight in dmxGetScreenAttribs()
325 - dmxScreen->scrnY); in dmxGetScreenAttribs()
328 dmxScreen->scrnHeight = attribs.height - dmxScreen->scrnY; in dmxGetScreenAttribs()
329 dmxScreen->scrnY = 0; in dmxGetScreenAttribs()
332 if (!dmxScreen->scrnWidth) in dmxGetScreenAttribs()
333 dmxScreen->scrnWidth = attribs.width - dmxScreen->scrnX; in dmxGetScreenAttribs()
334 if (!dmxScreen->scrnHeight) in dmxGetScreenAttribs()
335 dmxScreen->scrnHeight = attribs.height - dmxScreen->scrnY; in dmxGetScreenAttribs()
337 if (!dmxScreen->rootWidth) in dmxGetScreenAttribs()
338 dmxScreen->rootWidth = dmxScreen->scrnWidth; in dmxGetScreenAttribs()
339 if (!dmxScreen->rootHeight) in dmxGetScreenAttribs()
340 dmxScreen->rootHeight = dmxScreen->scrnHeight; in dmxGetScreenAttribs()
341 if (dmxScreen->rootWidth + dmxScreen->rootX > dmxScreen->scrnWidth) in dmxGetScreenAttribs()
342 dmxScreen->rootWidth = dmxScreen->scrnWidth - dmxScreen->rootX; in dmxGetScreenAttribs()
343 if (dmxScreen->rootHeight + dmxScreen->rootY > dmxScreen->scrnHeight) in dmxGetScreenAttribs()
344 dmxScreen->rootHeight = dmxScreen->scrnHeight - dmxScreen->rootY; in dmxGetScreenAttribs()
347 dmxScreen->beXDPI = 75; in dmxGetScreenAttribs()
348 dmxScreen->beYDPI = 75; in dmxGetScreenAttribs()
350 dmxScreen->beDepth = attribs.depth; /* FIXME: verify that this in dmxGetScreenAttribs()
358 if (dmxScreen->beDepth <= 8) in dmxGetScreenAttribs()
359 dmxScreen->beBPP = 8; in dmxGetScreenAttribs()
360 else if (dmxScreen->beDepth <= 16) in dmxGetScreenAttribs()
361 dmxScreen->beBPP = 16; in dmxGetScreenAttribs()
363 dmxScreen->beBPP = 32; in dmxGetScreenAttribs()
367 XQueryExtension(dpy, "GLX", &dmxScreen->glxMajorOpcode, in dmxGetScreenAttribs()
368 &dummy, &dmxScreen->glxErrorBase); in dmxGetScreenAttribs()
371 dmxPrintScreenInfo(dmxScreen); in dmxGetScreenAttribs()
372 dmxLogOutput(dmxScreen, "%dx%d+%d+%d on %dx%d at depth=%d, bpp=%d\n", in dmxGetScreenAttribs()
373 dmxScreen->scrnWidth, dmxScreen->scrnHeight, in dmxGetScreenAttribs()
374 dmxScreen->scrnX, dmxScreen->scrnY, in dmxGetScreenAttribs()
375 dmxScreen->beWidth, dmxScreen->beHeight, in dmxGetScreenAttribs()
376 dmxScreen->beDepth, dmxScreen->beBPP); in dmxGetScreenAttribs()
377 if (dmxScreen->beDepth == 8) in dmxGetScreenAttribs()
378 dmxLogOutputWarning(dmxScreen, in dmxGetScreenAttribs()
383 dmxGetVisualInfo(DMXScreenInfo * dmxScreen) in dmxGetVisualInfo() argument
388 visinfo.screen = DefaultScreen(dmxScreen->beDisplay); in dmxGetVisualInfo()
389 dmxScreen->beVisuals = XGetVisualInfo(dmxScreen->beDisplay, in dmxGetVisualInfo()
391 &visinfo, &dmxScreen->beNumVisuals); in dmxGetVisualInfo()
393 dmxScreen->beDefVisualIndex = -1; in dmxGetVisualInfo()
396 for (i = 0; i < dmxScreen->beNumVisuals; i++) in dmxGetVisualInfo()
398 if (dmxScreen->beVisuals[i].class == defaultColorVisualClass) { in dmxGetVisualInfo()
400 if (dmxScreen->beVisuals[i].depth == dmxDepth) { in dmxGetVisualInfo()
401 dmxScreen->beDefVisualIndex = i; in dmxGetVisualInfo()
406 dmxScreen->beDefVisualIndex = i; in dmxGetVisualInfo()
411 else if (dmxScreen->beVisuals[i].depth == dmxDepth) { in dmxGetVisualInfo()
412 dmxScreen->beDefVisualIndex = i; in dmxGetVisualInfo()
418 XVisualIDFromVisual(DefaultVisual(dmxScreen->beDisplay, in dmxGetVisualInfo()
421 for (i = 0; i < dmxScreen->beNumVisuals; i++) in dmxGetVisualInfo()
422 if (visinfo.visualid == dmxScreen->beVisuals[i].visualid) { in dmxGetVisualInfo()
423 dmxScreen->beDefVisualIndex = i; in dmxGetVisualInfo()
428 for (i = 0; i < dmxScreen->beNumVisuals; i++) in dmxGetVisualInfo()
429 dmxLogVisual(dmxScreen, &dmxScreen->beVisuals[i], in dmxGetVisualInfo()
430 (i == dmxScreen->beDefVisualIndex)); in dmxGetVisualInfo()
432 return dmxScreen->beDefVisualIndex >= 0; in dmxGetVisualInfo()
436 dmxGetColormaps(DMXScreenInfo * dmxScreen) in dmxGetColormaps() argument
440 dmxScreen->beNumDefColormaps = dmxScreen->beNumVisuals; in dmxGetColormaps()
441 dmxScreen->beDefColormaps = xallocarray(dmxScreen->beNumDefColormaps, in dmxGetColormaps()
442 sizeof(*dmxScreen->beDefColormaps)); in dmxGetColormaps()
444 for (i = 0; i < dmxScreen->beNumDefColormaps; i++) in dmxGetColormaps()
445 dmxScreen->beDefColormaps[i] = in dmxGetColormaps()
446 XCreateColormap(dmxScreen->beDisplay, in dmxGetColormaps()
447 DefaultRootWindow(dmxScreen->beDisplay), in dmxGetColormaps()
448 dmxScreen->beVisuals[i].visual, AllocNone); in dmxGetColormaps()
450 dmxScreen->beBlackPixel = BlackPixel(dmxScreen->beDisplay, in dmxGetColormaps()
451 DefaultScreen(dmxScreen->beDisplay)); in dmxGetColormaps()
452 dmxScreen->beWhitePixel = WhitePixel(dmxScreen->beDisplay, in dmxGetColormaps()
453 DefaultScreen(dmxScreen->beDisplay)); in dmxGetColormaps()
457 dmxGetPixmapFormats(DMXScreenInfo * dmxScreen) in dmxGetPixmapFormats() argument
459 dmxScreen->beDepths = in dmxGetPixmapFormats()
460 XListDepths(dmxScreen->beDisplay, DefaultScreen(dmxScreen->beDisplay), in dmxGetPixmapFormats()
461 &dmxScreen->beNumDepths); in dmxGetPixmapFormats()
463 dmxScreen->bePixmapFormats = in dmxGetPixmapFormats()
464 XListPixmapFormats(dmxScreen->beDisplay, in dmxGetPixmapFormats()
465 &dmxScreen->beNumPixmapFormats); in dmxGetPixmapFormats()
469 dmxSetPixmapFormats(ScreenInfo * pScreenInfo, DMXScreenInfo * dmxScreen) in dmxSetPixmapFormats() argument
475 pScreenInfo->imageByteOrder = ImageByteOrder(dmxScreen->beDisplay); in dmxSetPixmapFormats()
476 pScreenInfo->bitmapScanlineUnit = BitmapUnit(dmxScreen->beDisplay); in dmxSetPixmapFormats()
477 pScreenInfo->bitmapScanlinePad = BitmapPad(dmxScreen->beDisplay); in dmxSetPixmapFormats()
478 pScreenInfo->bitmapBitOrder = BitmapBitOrder(dmxScreen->beDisplay); in dmxSetPixmapFormats()
481 for (i = 0; i < dmxScreen->beNumPixmapFormats; i++) { in dmxSetPixmapFormats()
482 bePixmapFormat = &dmxScreen->bePixmapFormats[i]; in dmxSetPixmapFormats()
483 for (j = 0; j < dmxScreen->beNumDepths; j++) in dmxSetPixmapFormats()
485 (bePixmapFormat->depth == dmxScreen->beDepths[j])) { in dmxSetPixmapFormats()
501 dmxCheckForWM(DMXScreenInfo * dmxScreen) in dmxCheckForWM() argument
506 status = XGetWindowAttributes(dmxScreen->beDisplay, in dmxCheckForWM()
507 DefaultRootWindow(dmxScreen->beDisplay), in dmxCheckForWM()
509 dmxScreen->WMRunningOnBE = in dmxCheckForWM()
518 dmxDisplayInit(DMXScreenInfo * dmxScreen) in dmxDisplayInit() argument
520 if (!dmxOpenDisplay(dmxScreen)) in dmxDisplayInit()
522 "dmxOpenDisplay: Unable to open display %s\n", dmxScreen->name); in dmxDisplayInit()
524 dmxSetErrorHandler(dmxScreen); in dmxDisplayInit()
525 dmxCheckForWM(dmxScreen); in dmxDisplayInit()
526 dmxGetScreenAttribs(dmxScreen); in dmxDisplayInit()
528 if (!dmxGetVisualInfo(dmxScreen)) in dmxDisplayInit()
531 dmxGetColormaps(dmxScreen); in dmxDisplayInit()
532 dmxGetPixmapFormats(dmxScreen); in dmxDisplayInit()
688 DMXScreenInfo *dmxScreen = &dmxScreens[i]; in InitOutput() local
698 dmxScreen->fbconfigs = GetGLXFBConfigs(dmxScreen->beDisplay, in InitOutput()
699 dmxScreen->glxMajorOpcode, in InitOutput()
700 &dmxScreen->numFBConfigs); in InitOutput()
704 dmxScreen->glxVisuals = in InitOutput()
705 GetGLXVisualConfigs(dmxScreen->beDisplay, in InitOutput()
706 DefaultScreen(dmxScreen->beDisplay), in InitOutput()
707 &dmxScreen->numGlxVisuals); in InitOutput()
709 if (dmxScreen->fbconfigs) { in InitOutput()
711 GetGLXVisualConfigsFromFBConfigs(dmxScreen->fbconfigs, in InitOutput()
712 dmxScreen->numFBConfigs, in InitOutput()
713 dmxScreen->beVisuals, in InitOutput()
714 dmxScreen->beNumVisuals, in InitOutput()
715 dmxScreen->glxVisuals, in InitOutput()
716 dmxScreen->numGlxVisuals, in InitOutput()
720 configs = dmxScreen->glxVisuals; in InitOutput()
721 nconfigs = dmxScreen->numGlxVisuals; in InitOutput()
743 for (k = 0; k < dmxScreen->beNumVisuals; k++) { in InitOutput()
744 if (dmxScreen->beVisuals[k].visualid == in InitOutput()
747 dmxScreen->beVisuals[k].depth; in InitOutput()
749 dmxScreen->beVisuals[k].class; in InitOutput()
756 XFlush(dmxScreen->beDisplay); in InitOutput()
817 DMXScreenInfo *dmxScreen = &dmxScreens[i]; in AbortDDX() local
819 if (dmxScreen->beDisplay) in AbortDDX()
820 XCloseDisplay(dmxScreen->beDisplay); in AbortDDX()
821 dmxScreen->beDisplay = NULL; in AbortDDX()