Lines Matching refs:scrpriv
120 EphyrScrPriv *scrpriv = screen->driver;
122 if (scrpriv && (scrpriv->win_pre_existing != None ||
123 scrpriv->output != NULL ||
125 *x = scrpriv->win_x;
126 *y = scrpriv->win_y;
127 *width = scrpriv->win_width;
128 *height = scrpriv->win_height;
138 EphyrScrPriv *scrpriv = screen->driver;
146 scrpriv->screen = screen;
147 scrpriv->win_pre_existing = win_id;
148 scrpriv->win_explicit_position = use_geometry;
149 scrpriv->output = output;
161 EphyrScrPriv *scrpriv = screen->driver;
163 if (scrpriv) {
164 scrpriv->mynum = number;
172 EphyrScrPriv *scrpriv = screen->driver;
174 if (!scrpriv)
179 scrpriv->win,
191 scrpriv->mynum, (extra_text != NULL) ? extra_text : "");
194 scrpriv->win,
224 EphyrScrPriv *scrpriv = screen->driver;
226 if (scrpriv && scrpriv->win_pre_existing) {
379 EphyrScrPriv *scrpriv = HostX.screens[index]->driver;
382 scrpriv->win,
586 EphyrScrPriv *scrpriv = screen->driver;
588 scrpriv->win = xcb_generate_id(HostX.conn);
589 scrpriv->server_depth = HostX.depth;
590 scrpriv->ximg = NULL;
591 scrpriv->win_x = 0;
592 scrpriv->win_y = 0;
594 if (scrpriv->win_pre_existing != XCB_WINDOW_NONE) {
601 scrpriv->win_pre_existing);
611 scrpriv->win_width = prewin_geom->width;
612 scrpriv->win_height = prewin_geom->height;
618 scrpriv->win,
619 scrpriv->win_pre_existing,
621 scrpriv->win_width,
622 scrpriv->win_height,
632 scrpriv->win,
645 scrpriv->win_width = xscreen->width_in_pixels;
646 scrpriv->win_height = xscreen->height_in_pixels;
650 else if (scrpriv->output) {
651 hostx_get_output_geometry(scrpriv->output,
652 &scrpriv->win_x,
653 &scrpriv->win_y,
654 &scrpriv->win_width,
655 &scrpriv->win_height);
672 scrpriv->win,
729 EphyrScrPriv *scrpriv = screen->driver;
732 scrpriv->win,
775 EphyrScrPriv *scrpriv = screen->driver;
777 return scrpriv ? scrpriv->server_depth : 0;
783 EphyrScrPriv *scrpriv = screen->driver;
785 if (!scrpriv)
788 if (host_depth_matches_server(scrpriv))
791 return scrpriv->server_depth; /*XXX correct ?*/
798 EphyrScrPriv *scrpriv = screen->driver;
800 if (!scrpriv)
803 if (host_depth_matches_server(scrpriv)) {
808 else if (scrpriv->server_depth == 16) {
842 EphyrScrPriv *scrpriv = screen->driver;
854 scrpriv->cmap[idx] = ((r << rshift) & HostX.visual->red_mask) |
877 EphyrScrPriv *scrpriv = screen->driver;
880 if (!scrpriv) {
888 if (scrpriv->ximg != NULL) {
894 xcb_image_destroy(scrpriv->ximg);
895 hostx_destroy_shm_segment(&scrpriv->shminfo, scrpriv->shmsize);
898 free(scrpriv->ximg->data);
899 scrpriv->ximg->data = NULL;
901 xcb_image_destroy(scrpriv->ximg);
906 scrpriv->ximg = xcb_image_create_native(HostX.conn,
915 scrpriv->shmsize = scrpriv->ximg->stride * buffer_height;
916 if (!hostx_create_shm_segment(&scrpriv->shminfo,
917 scrpriv->shmsize)) {
921 xcb_image_destroy(scrpriv->ximg);
924 EPHYR_DBG("SHM segment created %p", scrpriv->shminfo.shmaddr);
925 scrpriv->ximg->data = scrpriv->shminfo.shmaddr;
931 EPHYR_DBG("Creating image %dx%d for screen scrpriv=%p\n",
932 width, buffer_height, scrpriv);
933 scrpriv->ximg = xcb_image_create_native(HostX.conn,
944 if (host_depth_matches_server(scrpriv))
945 scrpriv->ximg->byte_order = IMAGE_BYTE_ORDER;
947 scrpriv->ximg->data =
948 xallocarray(scrpriv->ximg->stride, buffer_height);
955 xcb_configure_window(HostX.conn, scrpriv->win, mask, values);
958 if (scrpriv->win_pre_existing == None && !EphyrWantResize) {
965 xcb_icccm_set_wm_normal_hints(HostX.conn, scrpriv->win,
972 xcb_map_window(HostX.conn, scrpriv->win);
979 if (scrpriv->win_explicit_position)
983 xcb_configure_window(HostX.conn, scrpriv->win, mask, values);
989 scrpriv->win_width = width;
990 scrpriv->win_height = height;
991 scrpriv->win_x = x;
992 scrpriv->win_y = y;
997 ephyr_glamor_set_window_size(scrpriv->glamor,
998 scrpriv->win_width, scrpriv->win_height);
1002 if (host_depth_matches_server(scrpriv)) {
1003 *bytes_per_line = scrpriv->ximg->stride;
1004 *bits_per_pixel = scrpriv->ximg->bpp;
1007 return scrpriv->ximg->data;
1010 int bytes_per_pixel = scrpriv->server_depth >> 3;
1014 *bits_per_pixel = scrpriv->server_depth;
1017 scrpriv->fb_data = xallocarray (stride, buffer_height);
1018 return scrpriv->fb_data;
1029 EphyrScrPriv *scrpriv = screen->driver;
1031 EPHYR_DBG("painting in screen %d\n", scrpriv->mynum);
1044 ephyr_glamor_damage_redisplay(scrpriv->glamor, ®ion);
1071 if (!host_depth_matches_server(scrpriv)) {
1072 int x, y, idx, bytes_per_pixel = (scrpriv->server_depth >> 3);
1073 int stride = (scrpriv->win_width * bytes_per_pixel + 0x3) & ~0x3;
1077 EPHYR_DBG("Unmatched host depth scrpriv=%p\n", scrpriv);
1082 switch (scrpriv->server_depth) {
1086 *(unsigned short *) (scrpriv->fb_data + idx);
1094 xcb_image_put_pixel(scrpriv->ximg, x, y, host_pixel);
1100 *(unsigned char *) (scrpriv->fb_data + idx);
1101 xcb_image_put_pixel(scrpriv->ximg, x, y,
1102 scrpriv->cmap[pixel]);
1112 xcb_image_shm_put(HostX.conn, scrpriv->win,
1113 HostX.gc, scrpriv->ximg,
1114 scrpriv->shminfo,
1118 xcb_image_t *subimg = xcb_image_subimage(scrpriv->ximg, sx, sy,
1121 xcb_image_put(HostX.conn, scrpriv->win, HostX.gc, img, dx, dy, 0);
1134 EphyrScrPriv *scrpriv = screen->driver;
1148 cookie = xcb_poly_fill_rectangle_checked(HostX.conn, scrpriv->win,
1341 EphyrScrPriv *scrpriv;
1346 scrpriv = HostX.screens[a_screen_number]->driver;
1347 return scrpriv->win;
1440 EphyrScrPriv *scrpriv = HostX.screens[a_screen_number]->driver;
1478 if (scrpriv->peer_win == XCB_NONE) {
1479 scrpriv->peer_win = win;
1571 EphyrScrPriv *scrpriv = kd_screen->driver;
1573 scrpriv->glamor = ephyr_glamor_glx_screen_init(scrpriv->win);
1574 ephyr_glamor_set_window_size(scrpriv->glamor,
1575 scrpriv->win_width, scrpriv->win_height);
1602 EphyrScrPriv *scrpriv = kd_screen->driver;
1640 ephyr_glamor_set_texture(scrpriv->glamor, tex);
1660 EphyrScrPriv *scrpriv = kd_screen->driver;
1663 ephyr_glamor_glx_screen_fini(scrpriv->glamor);
1664 scrpriv->glamor = NULL;