Lines Matching defs:overlay

85   /* XXX Multisampled overlay color index??  Pretty unlikely. */
114 /* Try three overlay layers. */
173 Color index overlay transparency is "easy" because the
190 Theory versus practice for RGBA overlay transparency: In
191 theory, the reasonable thing is enabling overlay transparency
192 when an overlay pixel's destination alpha is 0 because this
193 allows overlay transparency to be controlled via alpha and all
196 is typically optional and quite uncommon for overlay windows!).
203 generated in an RGBA overlay. I am not sure what other vendors
218 the RGBA overlay transparent color (what IRIS GL did). This is
236 overlay transparency and leave support for it unimplemented.
237 Nobody has been pressing me for RGBA overlay transparency (though
238 people have requested color index overlay transparency
242 hardware scheme for RGBA overlay transparency), I'd be
272 /* The GLUT overlay can come and go, and the overlay window has
274 normal and overlay windows as a unified window. In
275 particular, X input events typically go to the overlay window
276 since it is "on top of" the normal window. When an overlay
278 glutEstablishOverlay when an overlay already exists), we
279 still keep track of the overlay window ID until we get back a
280 DestroyNotify event for the overlay window. Otherwise, we
282 overlay. To avoid this, we keep the destroyed overlay window
284 input events generated on destroyed overlay windows to the
303 __glutFreeOverlay(GLUToverlay * overlay)
305 if (overlay->visAlloced)
306 XFree(overlay->vis);
307 XDestroyWindow(__glutDisplay, overlay->win);
308 glXDestroyContext(__glutDisplay, overlay->ctx);
309 if (overlay->colormap) {
311 __glutFreeColormap(overlay->colormap);
313 free(overlay);
336 /* Try three overlay layers. */
361 GLUToverlay *overlay;
366 /* Register a routine to free an overlay with glut_win.c;
368 glut_overlay.c when no overlay functionality is used by
374 /* Allow for an existant overlay to be re-established perhaps
376 if (window->overlay) {
378 addStaleWindow(window, window->overlay->win);
380 __glutFreeOverlay(window->overlay);
382 overlay = (GLUToverlay *) malloc(sizeof(GLUToverlay));
383 if (!overlay)
386 overlay->vis = determineOverlayVisual(&overlay->treatAsSingle,
387 &overlay->visAlloced, &fbc);
388 if (!overlay->vis) {
389 __glutFatalError("lacks overlay support.");
391 overlay->ctx = NULL;
399 overlay->ctx = glXCreateContext(__glutDisplay, overlay->vis,
402 if (!overlay->ctx) {
404 "failed to create overlay OpenGL rendering context.");
407 overlay->isDirect = glXIsDirect(__glutDisplay, overlay->ctx);
409 if (!overlay->isDirect) {
414 __glutSetupColormap(overlay->vis, &overlay->colormap, &overlay->cmap);
415 overlay->transparentPixel = __glutGetTransparentPixel(__glutDisplay,
416 overlay->vis);
417 wa.colormap = overlay->cmap;
418 wa.background_pixel = overlay->transparentPixel;
424 overlay->win = XCreateWindow(__glutDisplay,
427 overlay->vis->depth, InputOutput, overlay->vis->visual,
434 XLowerWindow(__glutDisplay, overlay->win);
436 XMapWindow(__glutDisplay, overlay->win);
437 overlay->shownState = 1;
439 overlay->display = NULL;
448 window->overlay = overlay;
451 if (overlay->treatAsSingle) {
461 GLUToverlay *overlay = __glutCurrentWindow->overlay;
463 if (!window->overlay)
466 /* If using overlay, switch to the normal layer. */
467 if (window->renderWin == overlay->win) {
471 addStaleWindow(window, overlay->win);
473 __glutFreeOverlay(overlay);
474 window->overlay = NULL;
495 without an overlay established is erroneous. Fix your
498 window->renderDc = window->overlay->hdc;
500 window->renderWin = window->overlay->win;
501 window->renderCtx = window->overlay->ctx;
529 if (!__glutCurrentWindow->overlay) {
530 __glutWarning("glutOverlayDisplayFunc: window has no overlay established");
533 __glutCurrentWindow->overlay->display = displayFunc;
539 if (!__glutCurrentWindow->overlay) {
540 __glutWarning("glutHideOverlay: window has no overlay established");
543 XUnmapWindow(__glutDisplay, __glutCurrentWindow->overlay->win);
544 __glutCurrentWindow->overlay->shownState = 0;
550 if (!__glutCurrentWindow->overlay) {
551 __glutWarning("glutShowOverlay: window has no overlay established");
554 XMapWindow(__glutDisplay, __glutCurrentWindow->overlay->win);
555 __glutCurrentWindow->overlay->shownState = 1;
579 return __glutCurrentWindow->overlay != NULL;
581 if (__glutCurrentWindow->overlay) {
582 return __glutCurrentWindow->overlay->transparentPixel;
588 the window (or overlay belwo) can be cleared before
596 if (__glutCurrentWindow->overlay) {