forked from enlightenment/efl
62 lines
1.1 KiB
C
62 lines
1.1 KiB
C
|
/*
|
||
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||
|
*/
|
||
|
|
||
|
#include "ecore_x_private.h"
|
||
|
#include "Ecore_X.h"
|
||
|
|
||
|
static int _damage_available;
|
||
|
static int _damage_major, _damage_minor;
|
||
|
|
||
|
void
|
||
|
_ecore_x_damage_init(void)
|
||
|
{
|
||
|
#ifdef ECORE_XDAMAGE
|
||
|
_damage_major = 1;
|
||
|
_damage_minor = 0;
|
||
|
|
||
|
if (XDamageQueryVersion(_ecore_x_disp, &_damage_major, &_damage_minor))
|
||
|
_damage_available = 1;
|
||
|
else
|
||
|
_damage_available = 0;
|
||
|
#else
|
||
|
_damage_available = 0;
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
EAPI int
|
||
|
ecore_x_damage_query(void)
|
||
|
{
|
||
|
return _damage_available;
|
||
|
}
|
||
|
|
||
|
EAPI Ecore_X_Damage
|
||
|
ecore_x_damage_new(Ecore_X_Drawable d, Ecore_X_Damage_Report_Level level)
|
||
|
{
|
||
|
#ifdef ECORE_XDAMAGE
|
||
|
Ecore_X_Damage damage;
|
||
|
|
||
|
damage = XDamageCreate(_ecore_x_disp, d, level);
|
||
|
return damage;
|
||
|
#else
|
||
|
return 0;
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
EAPI void
|
||
|
ecore_x_damage_del(Ecore_X_Damage damage)
|
||
|
{
|
||
|
#ifdef ECORE_XDAMAGE
|
||
|
XDamageDestroy(_ecore_x_disp, damage);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
EAPI void
|
||
|
ecore_x_damage_subtract(Ecore_X_Damage damage, Ecore_X_Region repair, Ecore_X_Region parts)
|
||
|
{
|
||
|
#ifdef ECORE_XDAMAGE
|
||
|
XDamageSubtract(_ecore_x_disp, damage, repair, parts);
|
||
|
#endif
|
||
|
}
|
||
|
|