efl/legacy/evas/src/modules/engines/software_x11/evas_xcb_buffer.h

68 lines
3.3 KiB
C

#ifndef EVAS_XCB_BUFFER_H
#define EVAS_XCB_BUFFER_H
#include "evas_engine.h"
typedef struct _Xcb_Output_Buffer Xcb_Output_Buffer;
struct _Xcb_Output_Buffer
{
xcb_connection_t *connection;
xcb_image_t *image;
xcb_shm_segment_info_t *shm_info;
void *data;
int w;
int h;
int bpl;
int psize;
};
void evas_software_xcb_x_write_mask_line (Outbuf *buf,
Xcb_Output_Buffer *xcbob,
DATA32 *src,
int w,
int y);
void evas_software_xcb_x_write_mask_line_rev (Outbuf *buf,
Xcb_Output_Buffer *xcbob,
DATA32 *src,
int w,
int y);
void evas_software_xcb_x_write_mask_line_vert (Outbuf *buf,
Xcb_Output_Buffer *xcbob,
DATA32 *src,
int h,
int ym,
int w);
void evas_software_xcb_x_write_mask_line_vert_rev(Outbuf *buf,
Xcb_Output_Buffer *xcbob,
DATA32 *src,
int h,
int ym,
int w);
int evas_software_xcb_x_can_do_shm (xcb_connection_t *c,
xcb_screen_t *screen);
Xcb_Output_Buffer *evas_software_xcb_x_output_buffer_new (xcb_connection_t *c,
int depth,
int w,
int h,
int try_shm,
void *data);
void evas_software_xcb_x_output_buffer_free (Xcb_Output_Buffer *xcbob,
int sync);
void evas_software_xcb_x_output_buffer_paste (Xcb_Output_Buffer *xcbob,
xcb_drawable_t d,
xcb_gcontext_t gc,
int x,
int y,
int sync);
DATA8 *evas_software_xcb_x_output_buffer_data (Xcb_Output_Buffer *xcbob,
int *bytes_per_line_ret);
int evas_software_xcb_x_output_buffer_depth (Xcb_Output_Buffer *xcbob);
int evas_software_xcb_x_output_buffer_byte_order(Xcb_Output_Buffer *xcbob);
int evas_software_xcb_x_output_buffer_bit_order (Xcb_Output_Buffer *xcbob);
#endif