eolian: rename is_ref API to is_ptr to match syntax
[platform/upstream/efl.git] / src / modules / evas / engines / software_x11 / evas_xcb_buffer.h
1 #ifndef EVAS_XCB_BUFFER_H
2 # define EVAS_XCB_BUFFER_H
3
4 # include "evas_engine.h"
5
6 typedef struct _Xcb_Output_Buffer Xcb_Output_Buffer;
7 struct _Xcb_Output_Buffer 
8 {
9    xcb_connection_t *connection;
10    xcb_visualtype_t *visual;
11    xcb_image_t *xim;
12    xcb_shm_segment_info_t *shm_info;
13    unsigned char *data;
14    int w, h, bpl, psize;
15    unsigned int refcount;
16 };
17
18 void evas_software_xcb_write_mask_line(Outbuf *buf, Xcb_Output_Buffer *xcbob, DATA32 *src, int w, int y);
19 void evas_software_xcb_write_mask_line_rev(Outbuf *buf, Xcb_Output_Buffer *xcbob, DATA32 *src, int w, int y);
20 void evas_software_xcb_write_mask_line_vert(Outbuf *buf, Xcb_Output_Buffer *xcbob, DATA32 *src, int h, int y, int w);
21 void evas_software_xcb_write_mask_line_vert_rev(Outbuf *buf, Xcb_Output_Buffer *xcbob, DATA32 *src, int h, int y, int w);
22 Eina_Bool evas_software_xcb_can_do_shm(xcb_connection_t *conn, xcb_screen_t *screen);
23 Xcb_Output_Buffer *evas_software_xcb_output_buffer_new(xcb_connection_t *conn, xcb_visualtype_t *vis, int depth, int w, int h, int try_shm, unsigned char *data);
24 void evas_software_xcb_output_buffer_unref(Xcb_Output_Buffer *xcbob, Eina_Bool sync);
25 Xcb_Output_Buffer *evas_software_xcb_output_buffer_ref(Xcb_Output_Buffer *xcbob);
26 void evas_software_xcb_output_buffer_paste(Xcb_Output_Buffer *xcbob, xcb_drawable_t drawable, xcb_gcontext_t gc, int x, int y, Eina_Bool sync);
27 DATA8 *evas_software_xcb_output_buffer_data(Xcb_Output_Buffer *xcbob, int *bpl_ret);
28 int evas_software_xcb_output_buffer_depth(Xcb_Output_Buffer *xcbob);
29 int evas_software_xcb_output_buffer_byte_order(Xcb_Output_Buffer *xcbob);
30 int evas_software_xcb_output_buffer_bit_order(Xcb_Output_Buffer *xcbob);
31
32 #endif