< prev index next >

src/java.desktop/share/native/libfontmanager/harfbuzz/hb-common.h

Print this page

        

*** 31,40 **** --- 31,44 ---- #endif #ifndef HB_COMMON_H #define HB_COMMON_H + #ifndef HB_EXTERN + #define HB_EXTERN extern + #endif + #ifndef HB_BEGIN_DECLS # ifdef __cplusplus # define HB_BEGIN_DECLS extern "C" { # define HB_END_DECLS } # else /* !__cplusplus */
*** 61,70 **** --- 65,91 ---- typedef unsigned __int64 uint64_t; #else # include <stdint.h> #endif + #if defined(__GNUC__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + #define HB_DEPRECATED __attribute__((__deprecated__)) + #elif defined(_MSC_VER) && (_MSC_VER >= 1300) + #define HB_DEPRECATED __declspec(deprecated) + #else + #define HB_DEPRECATED + #endif + + #if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) + #define HB_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' instead"))) + #elif defined(_MSC_FULL_VER) && (_MSC_FULL_VER > 140050320) + #define HB_DEPRECATED_FOR(f) __declspec(deprecated("is deprecated. Use '" #f "' instead")) + #else + #define HB_DEPRECATED_FOR(f) HB_DEPRECATED + #endif + + HB_BEGIN_DECLS typedef int hb_bool_t;
*** 84,95 **** /* hb_tag_t */ typedef uint32_t hb_tag_t; ! #define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint8_t)(c1))<<24)|(((uint8_t)(c2))<<16)|(((uint8_t)(c3))<<8)|((uint8_t)(c4)))) ! #define HB_UNTAG(tag) ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_t)((tag)>>8)), ((uint8_t)(tag)) #define HB_TAG_NONE HB_TAG(0,0,0,0) #define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff) #define HB_TAG_MAX_SIGNED HB_TAG(0x7f,0xff,0xff,0xff) --- 105,116 ---- /* hb_tag_t */ typedef uint32_t hb_tag_t; ! #define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint32_t)(c1)&0xFF)<<24)|(((uint32_t)(c2)&0xFF)<<16)|(((uint32_t)(c3)&0xFF)<<8)|((uint32_t)(c4)&0xFF))) ! #define HB_UNTAG(tag) (uint8_t)(((tag)>>24)&0xFF), (uint8_t)(((tag)>>16)&0xFF), (uint8_t)(((tag)>>8)&0xFF), (uint8_t)((tag)&0xFF) #define HB_TAG_NONE HB_TAG(0,0,0,0) #define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff) #define HB_TAG_MAX_SIGNED HB_TAG(0x7f,0xff,0xff,0xff)
*** 338,354 **** /* No script set. */ HB_SCRIPT_INVALID = HB_TAG_NONE, /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t ! * without risking undefined behavior. Include both a signed and unsigned max, ! * since technically enums are int, and indeed, hb_script_t ends up being signed. * See this thread for technicalities: * * https://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html */ ! _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/ _HB_SCRIPT_MAX_VALUE_SIGNED = HB_TAG_MAX_SIGNED /*< skip >*/ } hb_script_t; --- 359,377 ---- /* No script set. */ HB_SCRIPT_INVALID = HB_TAG_NONE, /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t ! * without risking undefined behavior. We have two, for historical reasons. ! * HB_TAG_MAX used to be unsigned, but that was invalid Ansi C, so was changed ! * to _HB_SCRIPT_MAX_VALUE to be equal to HB_TAG_MAX_SIGNED as well. ! * * See this thread for technicalities: * * https://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html */ ! _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX_SIGNED, /*< skip >*/ _HB_SCRIPT_MAX_VALUE_SIGNED = HB_TAG_MAX_SIGNED /*< skip >*/ } hb_script_t;
*** 377,386 **** --- 400,422 ---- typedef void (*hb_destroy_func_t) (void *user_data); /* Font features and variations. */ + /** + * HB_FEATURE_GLOBAL_START + * + * Since: 2.0.0 + */ + #define HB_FEATURE_GLOBAL_START 0 + /** + * HB_FEATURE_GLOBAL_END + * + * Since: 2.0.0 + */ + #define HB_FEATURE_GLOBAL_END ((unsigned int) -1) + typedef struct hb_feature_t { hb_tag_t tag; uint32_t value; unsigned int start; unsigned int end;
*** 410,418 **** --- 446,498 ---- HB_EXTERN void hb_variation_to_string (hb_variation_t *variation, char *buf, unsigned int size); + /** + * hb_color_t: + * + * Data type for holding color values. + * + * Since: 2.1.0 + */ + typedef uint32_t hb_color_t; + + #define HB_COLOR(b,g,r,a) ((hb_color_t) HB_TAG ((b),(g),(r),(a))) + + /** + * hb_color_get_alpha: + * + * + * + * Since: 2.1.0 + */ + #define hb_color_get_alpha(color) ((color) & 0xFF) + /** + * hb_color_get_red: + * + * + * + * Since: 2.1.0 + */ + #define hb_color_get_red(color) (((color) >> 8) & 0xFF) + /** + * hb_color_get_green: + * + * + * + * Since: 2.1.0 + */ + #define hb_color_get_green(color) (((color) >> 16) & 0xFF) + /** + * hb_color_get_blue: + * + * + * + * Since: 2.1.0 + */ + #define hb_color_get_blue(color) (((color) >> 24) & 0xFF) + HB_END_DECLS #endif /* HB_COMMON_H */
< prev index next >