Lines Matching +full:fetch +full:- +full:depth
40 …/* header (containing X Display + input user data pointer - keep aligned with x11_input module!) */
46 int dplanes; /**< X11 display depth */
101 #warning ("LV_COLOR_DEPTH=8 delivers black data only - open issue in lvgl?")
125 xd->flush_area.x1 = MIN(xd->flush_area.x1, area->x1); in x11_flush_cb()
126 xd->flush_area.x2 = MAX(xd->flush_area.x2, area->x2); in x11_flush_cb()
127 xd->flush_area.y1 = MIN(xd->flush_area.y1, area->y1); in x11_flush_cb()
128 xd->flush_area.y2 = MAX(xd->flush_area.y2, area->y2); in x11_flush_cb()
135 area->y1 + area->x1); in x11_flush_cb()
136 for(int16_t y = area->y1; y <= area->y2; y++) { in x11_flush_cb()
137 dst_offs = area->x1 + y * hor_res; in x11_flush_cb()
138 dst_data = &((lv_color32_t *)(xd->xdata))[dst_offs]; in x11_flush_cb()
139 for(int16_t x = area->x1; x <= area->x2; x++, src_data++, dst_data++) { in x11_flush_cb()
142 …= (LV_X11_RENDER_MODE == LV_DISPLAY_RENDER_MODE_PARTIAL ? 0 : hor_res - (area->x2 - area->x1 + 1)); in x11_flush_cb()
146 …LV_LOG_TRACE("(%d/%d), %dx%d)", xd->flush_area.x1, xd->flush_area.y1, xd->flush_area.x2 + 1 - xd->… in x11_flush_cb()
147 xd->flush_area.y2 + 1 - xd->flush_area.y1); in x11_flush_cb()
150 int16_t upd_w = xd->flush_area.x2 - xd->flush_area.x1 + 1; in x11_flush_cb()
151 int16_t upd_h = xd->flush_area.y2 - xd->flush_area.y1 + 1; in x11_flush_cb()
152 …XPutImage(xd->hdr.display, xd->window, xd->gc, xd->ximage, xd->flush_area.x1, xd->flush_area.y1, x… in x11_flush_cb()
153 xd->flush_area.y1, upd_w, upd_h); in x11_flush_cb()
156 xd->flush_area = inv_area; in x11_flush_cb()
176 /* update lvgl full-screen display draw buffers for new display size */ in x11_resolution_evt_cb()
178 xd->buffer[0] = realloc(xd->buffer[0], sz_buffers); in x11_resolution_evt_cb()
179 xd->buffer[1] = (LV_X11_DOUBLE_BUFFER ? realloc(xd->buffer[1], sz_buffers) : NULL); in x11_resolution_evt_cb()
180 lv_display_set_buffers(disp, xd->buffer[0], xd->buffer[1], sz_buffers, LV_X11_RENDER_MODE); in x11_resolution_evt_cb()
183 /* re-create cache image with new size */ in x11_resolution_evt_cb()
184 XDestroyImage(xd->ximage); in x11_resolution_evt_cb()
186 …xd->xdata = malloc(sz_buffers); /* use clib method here, x11 memory not part of device footprint */ in x11_resolution_evt_cb()
187 xd->ximage = XCreateImage(xd->hdr.display, xd->visual, xd->dplanes, ZPixmap, 0, xd->xdata, in x11_resolution_evt_cb()
200 lv_timer_delete(xd->timer); in x11_disp_delete_evt_cb()
202 free(xd->buffer[0]); in x11_disp_delete_evt_cb()
204 free(xd->buffer[1]); in x11_disp_delete_evt_cb()
207 XDestroyImage(xd->ximage); in x11_disp_delete_evt_cb()
208 XFreeGC(xd->hdr.display, xd->gc); in x11_disp_delete_evt_cb()
209 XUnmapWindow(xd->hdr.display, xd->window); in x11_disp_delete_evt_cb()
210 XDestroyWindow(xd->hdr.display, xd->window); in x11_disp_delete_evt_cb()
211 XFlush(xd->hdr.display); in x11_disp_delete_evt_cb()
215 if(0 == --count_windows) { in x11_disp_delete_evt_cb()
229 Pixmap empty_bitmap = XCreateBitmapFromData(xd->hdr.display, xd->window, empty_data, 1, 1); in x11_hide_cursor()
230 …Cursor inv_cursor = XCreatePixmapCursor(xd->hdr.display, empty_bitmap, empty_bitmap, &black, &blac… in x11_hide_cursor()
231 XDefineCursor(xd->hdr.display, xd->window, inv_cursor); in x11_hide_cursor()
232 XFreeCursor(xd->hdr.display, inv_cursor); in x11_hide_cursor()
233 XFreePixmap(xd->hdr.display, empty_bitmap); in x11_hide_cursor()
237 * X11 input event handler, predicated to fetch and handle only display related events
244 return (event->type == Expose in is_disp_event()
245 …|| (event->type >= DestroyNotify && event->type <= CirculateNotify) /* events from StructureNotify… in is_disp_event()
246 || event->type == ClientMessage); in is_disp_event()
256 while(XCheckIfEvent(xd->hdr.display, &event, is_disp_event, NULL)) { in x11_event_handler()
261 …XPutImage(xd->hdr.display, xd->window, xd->gc, xd->ximage, 0, 0, 0, 0, event.xexpose.width, event.… in x11_event_handler()
271 if(event.xclient.data.l[0] == (long)xd->wmDeleteMessage) { in x11_event_handler()
272 xd->terminated = true; in x11_event_handler()
274 pthread_join(xd->thr_tick, &ret); in x11_event_handler()
294 while(!xd->terminated) { in x11_tick_thread()
307 xd->hdr.display = XOpenDisplay(NULL); in x11_window_create()
308 int screen = XDefaultScreen(xd->hdr.display); in x11_window_create()
309 xd->visual = XDefaultVisual(xd->hdr.display, screen); in x11_window_create()
316 unsigned long col_fg = BlackPixel(xd->hdr.display, screen); in x11_window_create()
317 unsigned long col_bg = WhitePixel(xd->hdr.display, screen); in x11_window_create()
319 xd->window = XCreateSimpleWindow(xd->hdr.display, DefaultRootWindow(xd->hdr.display), in x11_window_create()
322 xd->window = XCreateWindow(xd->hdr.display, XDefaultRootWindow(xd->hdr.display), in x11_window_create()
324 XDefaultDepth(xd->hdr.display, screen), InputOutput, in x11_window_create()
325 xd->visual, 0, NULL); in x11_window_create()
328 XSetStandardProperties(xd->hdr.display, xd->window, title, NULL, None, NULL, 0, NULL); in x11_window_create()
329 xd->gc = XCreateGC(xd->hdr.display, xd->window, 0, 0); in x11_window_create()
332 XSelectInput(xd->hdr.display, xd->window, in x11_window_create()
335 xd->wmDeleteMessage = XInternAtom(xd->hdr.display, "WM_DELETE_WINDOW", False); in x11_window_create()
336 XSetWMProtocols(xd->hdr.display, xd->window, &xd->wmDeleteMessage, 1); in x11_window_create()
342 xd->dplanes = XDisplayPlanes(xd->hdr.display, screen); in x11_window_create()
343 …xd->xdata = malloc(sz_buffers); /* use clib method here, x11 memory not part of device footprint */ in x11_window_create()
344 xd->ximage = XCreateImage(xd->hdr.display, xd->visual, xd->dplanes, ZPixmap, 0, xd->xdata, in x11_window_create()
348 XMapRaised(xd->hdr.display, xd->window); in x11_window_create()
381 xd->buffer[0] = malloc(sz_buffers); in lv_x11_window_create()
382 xd->buffer[1] = (LV_X11_DOUBLE_BUFFER ? malloc(sz_buffers) : NULL); in lv_x11_window_create()
383 lv_display_set_buffers(disp, xd->buffer[0], xd->buffer[1], sz_buffers, LV_X11_RENDER_MODE); in lv_x11_window_create()
385 xd->timer = lv_timer_create(x11_event_handler, 5, disp); in lv_x11_window_create()
388 xd->terminated = false; in lv_x11_window_create()
389 pthread_create(&xd->thr_tick, NULL, x11_tick_thread, xd); in lv_x11_window_create()