Index: src/gpu/GrFontAtlasSizes.h |
diff --git a/src/gpu/GrFontAtlasSizes.h b/src/gpu/GrFontAtlasSizes.h |
index 24897e4a7ae2e0d4539767b8d0d60f990f49abe8..5a1821cdcebd3c821c7adced02e3ef40266c599e 100644 |
--- a/src/gpu/GrFontAtlasSizes.h |
+++ b/src/gpu/GrFontAtlasSizes.h |
@@ -9,20 +9,27 @@ |
#ifndef GrFontAtlasSizes_DEFINED |
#define GrFontAtlasSizes_DEFINED |
-#define GR_FONT_ATLAS_TEXTURE_WIDTH 1024 |
-#define GR_FONT_ATLAS_TEXTURE_HEIGHT 2048 |
+#include "SkDistanceFieldGen.h" |
-#define GR_FONT_ATLAS_PLOT_WIDTH 256 |
-#define GR_FONT_ATLAS_PLOT_HEIGHT 256 |
+#define GR_SDF_MAX_SIZE 156 |
-#define GR_FONT_ATLAS_NUM_PLOTS_X (GR_FONT_ATLAS_TEXTURE_WIDTH / GR_FONT_ATLAS_PLOT_WIDTH) |
-#define GR_FONT_ATLAS_NUM_PLOTS_Y (GR_FONT_ATLAS_TEXTURE_HEIGHT / GR_FONT_ATLAS_PLOT_HEIGHT) |
+// allows us to fit four of the largest distance field glyphs |
+#define GR_FONT_ATLAS_PLOT_WIDTH (2*(GR_SDF_MAX_SIZE+2*SK_DistanceFieldPad)) |
+#define GR_FONT_ATLAS_PLOT_HEIGHT (2*(GR_SDF_MAX_SIZE+2*SK_DistanceFieldPad)) |
+ |
+#define GR_FONT_ATLAS_NUM_PLOTS_X 5 |
+#define GR_FONT_ATLAS_NUM_PLOTS_Y 6 |
+ |
+#define GR_FONT_ATLAS_TEXTURE_WIDTH (GR_FONT_ATLAS_PLOT_WIDTH*GR_FONT_ATLAS_NUM_PLOTS_X) |
+SK_COMPILE_ASSERT(GR_FONT_ATLAS_TEXTURE_WIDTH == 1640, font_atlas_unexpected_size); |
+#define GR_FONT_ATLAS_TEXTURE_HEIGHT (GR_FONT_ATLAS_PLOT_HEIGHT*GR_FONT_ATLAS_NUM_PLOTS_Y) |
+SK_COMPILE_ASSERT(GR_FONT_ATLAS_TEXTURE_HEIGHT == 1968, font_atlas_unexpected_size); |
// one over width and height |
-#define GR_FONT_ATLAS_RECIP_WIDTH "0.0009765625" |
-#define GR_FONT_ATLAS_RECIP_HEIGHT "0.00048828125" |
+#define GR_FONT_ATLAS_RECIP_WIDTH "0.00060975609" |
+#define GR_FONT_ATLAS_RECIP_HEIGHT "0.00050813008" |
// 1/(3*width) |
-#define GR_FONT_ATLAS_LCD_DELTA "0.00032552083" |
+#define GR_FONT_ATLAS_LCD_DELTA "0.00020325203" |
#endif |