2002-11-08 00:02:15 -08:00
|
|
|
#ifndef EVAS_ENGINE_H
|
|
|
|
#define EVAS_ENGINE_H
|
|
|
|
|
2009-10-22 08:22:22 -07:00
|
|
|
extern int _evas_engine_soft_qtopia_log_dom ;
|
|
|
|
#ifdef ERR
|
|
|
|
# undef ERR
|
|
|
|
#endif
|
|
|
|
#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_qtopia_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef DBG
|
|
|
|
# undef DBG
|
|
|
|
#endif
|
|
|
|
#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_qtopia_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef INF
|
|
|
|
# undef INF
|
|
|
|
#endif
|
|
|
|
#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_qtopia_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef WRN
|
|
|
|
# undef WRN
|
|
|
|
#endif
|
|
|
|
#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_qtopia_log_dom, __VA_ARGS__)
|
|
|
|
|
|
|
|
#ifdef CRIT
|
|
|
|
# undef CRIT
|
|
|
|
#endif
|
|
|
|
#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_qtopia_log_dom, __VA_ARGS__)
|
|
|
|
|
2002-11-08 00:02:15 -08:00
|
|
|
typedef struct _Outbuf Outbuf;
|
|
|
|
typedef struct _QT_Direct QT_Direct;
|
|
|
|
typedef struct _QT_Direct_Rect QT_Direct_Rect;
|
|
|
|
|
|
|
|
enum _Outbuf_Depth
|
|
|
|
{
|
|
|
|
OUTBUF_DEPTH_NONE,
|
|
|
|
OUTBUF_DEPTH_INHERIT,
|
|
|
|
OUTBUF_DEPTH_RGB_16BPP_565_565_DITHERED,
|
|
|
|
OUTBUF_DEPTH_RGB_16BPP_555_555_DITHERED,
|
|
|
|
OUTBUF_DEPTH_RGB_16BPP_444_444_DITHERED,
|
|
|
|
OUTBUF_DEPTH_RGB_16BPP_565_444_DITHERED,
|
|
|
|
OUTBUF_DEPTH_RGB_32BPP_888_8888,
|
|
|
|
OUTBUF_DEPTH_LAST
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum _Outbuf_Depth Outbuf_Depth;
|
|
|
|
|
|
|
|
|
|
|
|
struct _Outbuf
|
|
|
|
{
|
|
|
|
Outbuf_Depth depth;
|
|
|
|
int w, h;
|
|
|
|
int rot;
|
2005-05-21 19:49:50 -07:00
|
|
|
|
2002-11-08 00:02:15 -08:00
|
|
|
struct {
|
|
|
|
void *target;
|
2005-05-21 19:49:50 -07:00
|
|
|
|
2002-11-08 00:02:15 -08:00
|
|
|
struct {
|
|
|
|
DATA32 r, g, b;
|
|
|
|
} mask;
|
|
|
|
RGBA_Image *back_buf;
|
|
|
|
} priv;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _QT_Direct_Rect
|
|
|
|
{
|
|
|
|
int x, y, w, h;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _QT_Direct
|
|
|
|
{
|
|
|
|
/* our target widget */
|
|
|
|
void *target;
|
|
|
|
/* our direct painter object */
|
|
|
|
void *direct;
|
|
|
|
/* The fb */
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
DATA8 *data;
|
|
|
|
int bpp;
|
|
|
|
int rotation;
|
|
|
|
int width;
|
|
|
|
struct {
|
|
|
|
DATA32 r, g, b;
|
|
|
|
} mask;
|
|
|
|
} fb;
|
|
|
|
/* Relative to fb coords */
|
|
|
|
struct {
|
|
|
|
int count;
|
|
|
|
QT_Direct_Rect *r;
|
|
|
|
} rects;
|
|
|
|
/* Relative to fb coords */
|
|
|
|
QT_Direct_Rect location;
|
|
|
|
QT_Direct_Rect updated;
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2005-05-21 19:49:50 -07:00
|
|
|
|
2002-11-08 00:02:15 -08:00
|
|
|
/****/
|
|
|
|
void x_software_qtopia_init (void);
|
2005-05-21 19:49:50 -07:00
|
|
|
|
2002-11-13 21:38:10 -08:00
|
|
|
void evas_qtopia_outbuf_software_qtopia_init (void);
|
|
|
|
void evas_qtopia_outbuf_software_qtopia_free (Outbuf *buf);
|
2002-11-08 00:02:15 -08:00
|
|
|
|
2002-11-13 21:38:10 -08:00
|
|
|
Outbuf *evas_qtopia_outbuf_software_qtopia_setup_q (int w, int h, int rot, Outbuf_Depth depth, void *target);
|
2002-11-08 00:02:15 -08:00
|
|
|
|
2002-11-13 21:38:10 -08:00
|
|
|
void evas_qtopia_outbuf_software_qtopia_blit (Outbuf *buf, int src_x, int src_y, int w, int h, int dst_x, int dst_y);
|
|
|
|
void evas_qtopia_outbuf_software_qtopia_update (Outbuf *buf, int x, int y, int w, int h);
|
|
|
|
RGBA_Image *evas_qtopia_outbuf_software_qtopia_new_region_for_update (Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
|
|
|
|
void evas_qtopia_outbuf_software_qtopia_free_region_for_update (Outbuf *buf, RGBA_Image *update);
|
|
|
|
void evas_qtopia_outbuf_software_qtopia_push_updated_region (Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h);
|
|
|
|
void evas_qtopia_outbuf_software_qtopia_reconfigure (Outbuf *buf, int w, int h, int rot, Outbuf_Depth depth);
|
|
|
|
int evas_qtopia_outbuf_software_qtopia_get_width (Outbuf *buf);
|
|
|
|
int evas_qtopia_outbuf_software_qtopia_get_height (Outbuf *buf);
|
|
|
|
Outbuf_Depth evas_qtopia_outbuf_software_qtopia_get_depth (Outbuf *buf);
|
|
|
|
int evas_qtopia_outbuf_software_qtopia_get_rot (Outbuf *buf);
|
|
|
|
int evas_qtopia_outbuf_software_qtopia_get_have_backbuf (Outbuf *buf);
|
|
|
|
void evas_qtopia_outbuf_software_qtopia_set_have_backbuf (Outbuf *buf, int have_backbuf);
|
2002-11-08 00:02:15 -08:00
|
|
|
|
|
|
|
QT_Direct *evas_qt_main_direct_start (void *target);
|
|
|
|
void evas_qt_main_direct_stop (QT_Direct *d);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|