#ifndef EVAS_VG_PRIVATE_H_
# define EVAS_VG_PRIVATE_H_
-#ifdef HAVE_THORVG
#include <thorvg_capi.h>
-#else
-#include <Ector.h>
-#endif
-#ifdef HAVE_THORVG
typedef enum
{
EVAS_VG_GRADIENT_OWNER_TYPE_SHAPE = 0, /**< Gradient set as the fill of the shape */
EVAS_VG_GRADIENT_OWNER_TYPE_STROKE /**< Gradient set as the fill of the shape's stroke */
} Evas_Vg_Gradient_Owner_Type;
-#endif
typedef struct _Efl_Canvas_Vg_Node_Data Efl_Canvas_Vg_Node_Data;
typedef struct _Efl_Canvas_Vg_Container_Data Efl_Canvas_Vg_Container_Data;
Eina_Bool changed : 1;
Eina_Bool sync_render : 1;
-#ifdef HAVE_THORVG
Tvg_Canvas *tvg_canvas;
Eina_Size2D tvg_canvas_size;
uint32_t *tvg_buffer;
-#endif
};
struct _Efl_Canvas_Vg_Node_Data
Efl_VG *vg_obj;
Efl_Canvas_Vg_Object_Data *vd;
-#ifdef HAVE_THORVG
void (*render_pre_tvg)(Evas_Object_Protected_Data *vg_pd, Efl_VG *node, Efl_Canvas_Vg_Node_Data *nd, Eina_Matrix3 *ptransform, void *canvas, void *scene);
-#else
- Ector_Renderer *renderer;
-#endif
void (*render_pre)(Evas_Object_Protected_Data *vg_pd, Efl_VG *node,
Efl_Canvas_Vg_Node_Data *nd,
unsigned int stride; //blend buffer stride
} blend;
-#ifdef HAVE_THORVG
Tvg_Paint *scene;
-#endif
};
struct _Efl_Canvas_Vg_Gradient_Data
unsigned int colors_count;
Efl_Gfx_Gradient_Spread spread;
-#ifdef HAVE_THORVG
Tvg_Gradient *gradient;
Evas_Vg_Shape *shape;
void (*gradient_render_pre_tvg)(Efl_Canvas_Vg_Gradient_Data *gd, Tvg_Paint *shape, Evas_Vg_Gradient_Owner_Type owner);
-#endif
};
struct _Efl_Canvas_Vg_Interpolation
Eina_Inarray* evas_cache_vg_anim_sector_list_get(const Vg_Cache_Entry* vg_entry);
//
-#ifdef HAVE_THORVG
static inline void
_convert_eina_to_tvg_mat(const Eina_Matrix3 *eina_mat, Tvg_Matrix *tvg_mat)
{
default: return EFL_GFX_CAP_BUTT;
}
}
-#endif
static inline void
efl_canvas_vg_object_change(Efl_Canvas_Vg_Object_Data *vd)