Index: ppapi/c/dev/ppb_font_dev.h |
=================================================================== |
--- ppapi/c/dev/ppb_font_dev.h (revision 68603) |
+++ ppapi/c/dev/ppb_font_dev.h (working copy) |
@@ -6,12 +6,13 @@ |
#define PPAPI_C_DEV_PPB_FONT_DEV_H_ |
#include "ppapi/c/pp_bool.h" |
+#include "ppapi/c/pp_macros.h" |
#include "ppapi/c/pp_module.h" |
#include "ppapi/c/pp_resource.h" |
#include "ppapi/c/pp_stdint.h" |
#include "ppapi/c/pp_var.h" |
-#define PPB_FONT_DEV_INTERFACE "PPB_Font(Dev);0.2" |
+#define PPB_FONT_DEV_INTERFACE "PPB_Font(Dev);0.4" |
struct PP_Point; |
struct PP_Rect; |
@@ -27,6 +28,7 @@ |
PP_FONTFAMILY_SANSSERIF = 2, |
PP_FONTFAMILY_MONOSPACE = 3 |
} PP_FontFamily_Dev; |
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FontFamily_Dev, 4); |
typedef enum { |
PP_FONTWEIGHT_100 = 0, |
@@ -41,6 +43,7 @@ |
PP_FONTWEIGHT_NORMAL = PP_FONTWEIGHT_400, |
PP_FONTWEIGHT_BOLD = PP_FONTWEIGHT_700 |
} PP_FontWeight_Dev; |
+PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_FontWeight_Dev, 4); |
struct PP_FontDescription_Dev { |
// Font face name as a string. This can also be a Null var, in which case the |
@@ -62,9 +65,17 @@ |
// Adjustment to apply to letter and word spacing, respectively. Initialize |
// to 0 to get normal spacing. Negative values bring letters/words closer |
// together, positive values separate them. |
- int letter_spacing; |
- int word_spacing; |
+ int32_t letter_spacing; |
+ int32_t word_spacing; |
+ |
+ // Ensure that this struct is 48-bytes wide by padding the end. In some |
+ // compilers, PP_Var is 8-byte aligned, so those compilers align this struct |
+ // on 8-byte boundaries as well and pad it to 16 bytes even without this |
+ // padding attribute. This padding makes its size consistent across |
+ // compilers. |
+ int32_t padding; |
}; |
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FontDescription_Dev, 48); |
struct PP_FontMetrics_Dev { |
int32_t height; |
@@ -73,6 +84,7 @@ |
int32_t line_spacing; |
int32_t x_height; |
}; |
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FontMetrics_Dev, 20); |
struct PP_TextRun_Dev { |
// This var must either be a string or a null var (which will be treated as |
@@ -86,6 +98,7 @@ |
// content |
PP_Bool override_direction; |
}; |
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_TextRun_Dev, 24); |
struct PPB_Font_Dev { |
// Returns a font which best matches the given description. The return value |