parent
d747ac76aa
commit
118f61ab58
115
src/bin/e.h
115
src/bin/e.h
|
@ -21,7 +21,7 @@
|
|||
# endif
|
||||
|
||||
# ifndef _FILE_OFFSET_BITS
|
||||
# define _FILE_OFFSET_BITS 64
|
||||
# define _FILE_OFFSET_BITS 64
|
||||
# endif
|
||||
|
||||
# ifdef HAVE_ALLOCA_H
|
||||
|
@ -38,7 +38,7 @@
|
|||
# ifdef __cplusplus
|
||||
extern "C"
|
||||
# endif
|
||||
void *alloca (size_t);
|
||||
void *alloca(size_t);
|
||||
# endif
|
||||
|
||||
# ifdef __linux__
|
||||
|
@ -156,83 +156,82 @@ void *alloca (size_t);
|
|||
# define strndupa(str, len) strncpy(alloca(len + 1), str, len)
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct _E_Before_Idler E_Before_Idler;
|
||||
typedef struct _E_Rect E_Rect;
|
||||
typedef struct _E_Rect E_Rect;
|
||||
|
||||
/* convenience macro to compress code and avoid typos */
|
||||
# define E_FN_DEL(_fn, _h) if (_h) { _fn(_h); _h = NULL; }
|
||||
# define E_INTERSECTS(x, y, w, h, xx, yy, ww, hh) \
|
||||
(((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && (((x) + (w)) > (xx)) && (((y) + (h)) > (yy)))
|
||||
(((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && (((x) + (w)) > (xx)) && (((y) + (h)) > (yy)))
|
||||
# define E_INSIDE(x, y, xx, yy, ww, hh) \
|
||||
(((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && ((x) >= (xx)) && ((y) >= (yy)))
|
||||
(((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && ((x) >= (xx)) && ((y) >= (yy)))
|
||||
# define E_CONTAINS(x, y, w, h, xx, yy, ww, hh) \
|
||||
(((xx) >= (x)) && (((x) + (w)) >= ((xx) + (ww))) && ((yy) >= (y)) && (((y) + (h)) >= ((yy) + (hh))))
|
||||
(((xx) >= (x)) && (((x) + (w)) >= ((xx) + (ww))) && ((yy) >= (y)) && (((y) + (h)) >= ((yy) + (hh))))
|
||||
# define E_SPANS_COMMON(x1, w1, x2, w2) \
|
||||
(!((((x2) + (w2)) <= (x1)) || ((x2) >= ((x1) + (w1)))))
|
||||
# define E_REALLOC(p, s, n) p = (s *)realloc(p, sizeof(s) * n)
|
||||
# define E_NEW(s, n) (s *)calloc(n, sizeof(s))
|
||||
# define E_NEW_RAW(s, n) (s *)malloc(n * sizeof(s))
|
||||
# define E_FREE(p) do { free(p); p = NULL; } while (0)
|
||||
# define E_FREE_LIST(list, free) \
|
||||
do \
|
||||
{ \
|
||||
void *_tmp_; \
|
||||
EINA_LIST_FREE(list, _tmp_) \
|
||||
{ \
|
||||
free(_tmp_); \
|
||||
} \
|
||||
} \
|
||||
(!((((x2) + (w2)) <= (x1)) || ((x2) >= ((x1) + (w1)))))
|
||||
# define E_REALLOC(p, s, n) p = (s *)realloc(p, sizeof(s) * n)
|
||||
# define E_NEW(s, n) (s *)calloc(n, sizeof(s))
|
||||
# define E_NEW_RAW(s, n) (s *)malloc(n * sizeof(s))
|
||||
# define E_FREE(p) do { free(p); p = NULL; } while (0)
|
||||
# define E_FREE_LIST(list, free) \
|
||||
do \
|
||||
{ \
|
||||
void *_tmp_; \
|
||||
EINA_LIST_FREE(list, _tmp_) \
|
||||
{ \
|
||||
free(_tmp_); \
|
||||
} \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
# define E_CLAMP(x, min, max) (x < min ? min : (x > max ? max : x))
|
||||
# define E_RECTS_CLIP_TO_RECT(_x, _y, _w, _h, _cx, _cy, _cw, _ch) \
|
||||
{ \
|
||||
if (E_INTERSECTS(_x, _y, _w, _h, _cx, _cy, _cw, _ch)) \
|
||||
{ \
|
||||
if ((int) _x < (int)(_cx)) \
|
||||
{ \
|
||||
_w += _x - (_cx); \
|
||||
_x = (_cx); \
|
||||
if ((int)_w < 0) _w = 0; \
|
||||
} \
|
||||
if ((int) (_x + _w) > (int) ((_cx) + (_cw))) \
|
||||
_w = (_cx) + (_cw) - _x; \
|
||||
if ((int) _y < (int) (_cy)) \
|
||||
{ \
|
||||
_h += _y - (_cy); \
|
||||
_y = (_cy); \
|
||||
if ((int)_h < 0) _h = 0; \
|
||||
} \
|
||||
if ((int) (_y + _h) > (int) ((_cy) + (_ch))) \
|
||||
_h = (_cy) + (_ch) - _y; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
_w = 0; _h = 0; \
|
||||
} \
|
||||
# define E_RECTS_CLIP_TO_RECT(_x, _y, _w, _h, _cx, _cy, _cw, _ch) \
|
||||
{ \
|
||||
if (E_INTERSECTS(_x, _y, _w, _h, _cx, _cy, _cw, _ch)) \
|
||||
{ \
|
||||
if ((int)_x < (int)(_cx)) \
|
||||
{ \
|
||||
_w += _x - (_cx); \
|
||||
_x = (_cx); \
|
||||
if ((int)_w < 0) _w = 0; \
|
||||
} \
|
||||
if ((int)(_x + _w) > (int)((_cx) + (_cw))) \
|
||||
_w = (_cx) + (_cw) - _x; \
|
||||
if ((int)_y < (int)(_cy)) \
|
||||
{ \
|
||||
_h += _y - (_cy); \
|
||||
_y = (_cy); \
|
||||
if ((int)_h < 0) _h = 0; \
|
||||
} \
|
||||
if ((int)(_y + _h) > (int)((_cy) + (_ch))) \
|
||||
_h = (_cy) + (_ch) - _y; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
_w = 0; _h = 0; \
|
||||
} \
|
||||
}
|
||||
|
||||
# define E_REMOTE_OPTIONS 1
|
||||
# define E_REMOTE_OUT 2
|
||||
# define E_WM_IN 3
|
||||
# define E_REMOTE_IN 4
|
||||
# define E_ENUM 5
|
||||
# define E_LIB_IN 6
|
||||
# define E_REMOTE_OUT 2
|
||||
# define E_WM_IN 3
|
||||
# define E_REMOTE_IN 4
|
||||
# define E_ENUM 5
|
||||
# define E_LIB_IN 6
|
||||
|
||||
# define E_TYPEDEFS 1
|
||||
# define E_TYPEDEFS 1
|
||||
# include "e_includes.h"
|
||||
# undef E_TYPEDEFS
|
||||
# include "e_includes.h"
|
||||
|
||||
EAPI E_Before_Idler *e_main_idler_before_add(int (*func) (void *data), void *data, int once);
|
||||
EAPI void e_main_idler_before_del(E_Before_Idler *eb);
|
||||
EAPI double e_main_ts(const char *str);
|
||||
EAPI E_Before_Idler *e_main_idler_before_add(int (*func)(void *data), void *data, int once);
|
||||
EAPI void e_main_idler_before_del(E_Before_Idler *eb);
|
||||
EAPI double e_main_ts(const char *str);
|
||||
|
||||
struct _E_Before_Idler
|
||||
{
|
||||
int (*func) (void *data);
|
||||
void *data;
|
||||
int (*func)(void *data);
|
||||
void *data;
|
||||
Eina_Bool once : 1;
|
||||
Eina_Bool delete_me : 1;
|
||||
};
|
||||
|
@ -263,7 +262,7 @@ extern EAPI unsigned long e_alert_composite_win;
|
|||
|
||||
//#define SMARTERR(args...) abort()
|
||||
#define SMARTERRNR() return
|
||||
#define SMARTERR(x) return x
|
||||
#define SMARTERR(x) return x
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
|
Loading…
Reference in New Issue