aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/lib/engines/common/evas_font_private.h
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-04 18:41:13 +1000
committerDavid Walter Seikel2012-01-04 18:41:13 +1000
commitdd7595a3475407a7fa96a97393bae8c5220e8762 (patch)
treee341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/evas/src/lib/engines/common/evas_font_private.h
parentAdd the skeleton. (diff)
downloadSledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.zip
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.gz
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.bz2
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.xz
Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje.
Note that embryo wont be used, but I'm not sure yet if you can build edje without it.
Diffstat (limited to '')
-rw-r--r--libraries/evas/src/lib/engines/common/evas_font_private.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/libraries/evas/src/lib/engines/common/evas_font_private.h b/libraries/evas/src/lib/engines/common/evas_font_private.h
new file mode 100644
index 0000000..eed3faf
--- /dev/null
+++ b/libraries/evas/src/lib/engines/common/evas_font_private.h
@@ -0,0 +1,52 @@
1#ifndef _EVAS_FONT_PRIVATE_H
2# define _EVAS_FONT_PRIVATE_H
3#include "evas_font_ot.h"
4
5#ifdef BUILD_PTHREAD
6extern LK(lock_font_draw); // for freetype2 API calls
7extern LK(lock_bidi); // for fribidi API calls
8extern LK(lock_ot); // for harfbuzz calls
9#endif
10
11# if defined(EVAS_FRAME_QUEUING) || defined(BUILD_PIPE_RENDER)
12# define FTLOCK() LKL(lock_font_draw)
13# define FTUNLOCK() LKU(lock_font_draw)
14
15# define BIDILOCK() LKL(lock_bidi)
16# define BIDIUNLOCK() LKU(lock_bidi)
17
18# define OTLOCK() LKL(lock_ot)
19# define OTUNLOCK() LKU(lock_ot)
20# else
21# define FTLOCK(x)
22# define FTUNLOCK(x)
23
24# define BIDILOCK()
25# define BIDIUNLOCK()
26
27/* Macros for text walking */
28# define OTLOCK()
29# define OTUNLOCK()
30# endif
31
32void evas_common_font_source_unload(RGBA_Font_Source *fs);
33void evas_common_font_source_reload(RGBA_Font_Source *fs);
34
35void evas_common_font_int_promote(RGBA_Font_Int *fi);
36void evas_common_font_int_use_increase(int size);
37void evas_common_font_int_use_trim(void);
38void evas_common_font_int_unload(RGBA_Font_Int *fi);
39void evas_common_font_int_reload(RGBA_Font_Int *fi);
40
41/* 6th bit is on is the same as frac part >= 0.5 */
42# define EVAS_FONT_ROUND_26_6_TO_INT(x) \
43 (((x + 0x20) & -0x40) >> 6)
44
45# define EVAS_FONT_CHARACTER_IS_INVISIBLE(x) ( \
46 ((0x200C <= (x)) && ((x) <= 0x200D)) || /* ZWNJ..ZWH */ \
47 ((0x200E <= (x)) && ((x) <= 0x200F)) || /* BIDI stuff */ \
48 ((0x202A <= (x)) && ((x) <= 0x202E)) /* BIDI stuff */ \
49 )
50
51# include "evas_font_default_walk.x"
52#endif /* !_EVAS_FONT_PRIVATE_H */