Skip to content

Commit 3f78c2b

Browse files
Added Support for HDPI Displays to atlas based BitmapText
1 parent 4662100 commit 3f78c2b

5 files changed

Lines changed: 33 additions & 33 deletions

File tree

v2-community/build/phaser.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* Phaser - http://phaser.io
99
*
10-
* v2.7.2 "2016-12-06" - Built: Tue Dec 06 2016 23:48:14
10+
* v2.7.2 "2016-12-06" - Built: Mon Dec 12 2016 07:00:15
1111
*
1212
* By Richard Davey http://www.photonstorm.com @photonstorm
1313
*
@@ -71426,11 +71426,11 @@ Phaser.Cache.prototype = {
7142671426

7142771427
if (atlasType === 'json')
7142871428
{
71429-
obj.font = Phaser.LoaderParser.jsonBitmapFont(atlasData, obj.base, xSpacing, ySpacing);
71429+
obj.font = Phaser.LoaderParser.jsonBitmapFont(atlasData, obj.base, xSpacing, ySpacing, false, this.game.resolution);
7143071430
}
7143171431
else
7143271432
{
71433-
obj.font = Phaser.LoaderParser.xmlBitmapFont(atlasData, obj.base, xSpacing, ySpacing);
71433+
obj.font = Phaser.LoaderParser.xmlBitmapFont(atlasData, obj.base, xSpacing, ySpacing, false, this.game.resolution);
7143471434
}
7143571435

7143671436
this._cache.bitmapFont[key] = obj;
@@ -71482,12 +71482,12 @@ Phaser.Cache.prototype = {
7148271482
if (dataType === 'json')
7148371483
{
7148471484
fontData = this.getJSON(dataKey);
71485-
obj.font = Phaser.LoaderParser.jsonBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame);
71485+
obj.font = Phaser.LoaderParser.jsonBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame, this.game.resolution);
7148671486
}
7148771487
else
7148871488
{
7148971489
fontData = this.getXML(dataKey);
71490-
obj.font = Phaser.LoaderParser.xmlBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame);
71490+
obj.font = Phaser.LoaderParser.xmlBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame, this.game.resolution);
7149171491
}
7149271492

7149371493
this._cache.bitmapFont[key] = obj;
@@ -76217,7 +76217,7 @@ Phaser.LoaderParser = {
7621776217
* @param {Phaser.Frame} [frame] - Optional Frame, if this font is embedded in a texture atlas.
7621876218
* @return {object} The parsed Bitmap Font data.
7621976219
*/
76220-
xmlBitmapFont: function (xml, baseTexture, xSpacing, ySpacing, frame) {
76220+
xmlBitmapFont: function (xml, baseTexture, xSpacing, ySpacing, frame, resolution) {
7622176221

7622276222
var data = {};
7622376223
var info = xml.getElementsByTagName('info')[0];
@@ -76242,9 +76242,9 @@ Phaser.LoaderParser = {
7624276242
y: y + parseInt(letters[i].getAttribute('y'), 10),
7624376243
width: parseInt(letters[i].getAttribute('width'), 10),
7624476244
height: parseInt(letters[i].getAttribute('height'), 10),
76245-
xOffset: parseInt(letters[i].getAttribute('xoffset'), 10),
76246-
yOffset: parseInt(letters[i].getAttribute('yoffset'), 10),
76247-
xAdvance: parseInt(letters[i].getAttribute('xadvance'), 10) + xSpacing,
76245+
xOffset: parseInt(letters[i].getAttribute('xoffset'), 10) / resolution,
76246+
yOffset: parseInt(letters[i].getAttribute('yoffset'), 10) / resolution,
76247+
xAdvance: (parseInt(letters[i].getAttribute('xadvance'), 10) + xSpacing) / resolution,
7624876248
kerning: {}
7624976249
};
7625076250
}
@@ -76255,7 +76255,7 @@ Phaser.LoaderParser = {
7625576255
{
7625676256
var first = parseInt(kernings[i].getAttribute('first'), 10);
7625776257
var second = parseInt(kernings[i].getAttribute('second'), 10);
76258-
var amount = parseInt(kernings[i].getAttribute('amount'), 10);
76258+
var amount = parseInt(kernings[i].getAttribute('amount'), 10) / resolution;
7625976259

7626076260
data.chars[second].kerning[first] = amount;
7626176261
}
@@ -76298,9 +76298,9 @@ Phaser.LoaderParser = {
7629876298
y: y + parseInt(letter._y, 10),
7629976299
width: parseInt(letter._width, 10),
7630076300
height: parseInt(letter._height, 10),
76301-
xOffset: parseInt(letter._xoffset, 10),
76302-
yOffset: parseInt(letter._yoffset, 10),
76303-
xAdvance: parseInt(letter._xadvance, 10) + xSpacing,
76301+
xOffset: parseInt(letter._xoffset, 10) / resolution,
76302+
yOffset: parseInt(letter._yoffset, 10) / resolution,
76303+
xAdvance: (parseInt(letter._xadvance, 10) + xSpacing) / resolution,
7630476304
kerning: {}
7630576305
};
7630676306
}
@@ -76313,7 +76313,7 @@ Phaser.LoaderParser = {
7631376313

7631476314
function parseKerning(kerning) {
7631576315

76316-
data.chars[kerning._second].kerning[kerning._first] = parseInt(kerning._amount, 10);
76316+
data.chars[kerning._second].kerning[kerning._first] = parseInt(kerning._amount, 10) / resolution;
7631776317

7631876318
}
7631976319

v2-community/build/phaser.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

v2-community/build/phaser.min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

v2-community/src/loader/Cache.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -526,11 +526,11 @@ Phaser.Cache.prototype = {
526526

527527
if (atlasType === 'json')
528528
{
529-
obj.font = Phaser.LoaderParser.jsonBitmapFont(atlasData, obj.base, xSpacing, ySpacing);
529+
obj.font = Phaser.LoaderParser.jsonBitmapFont(atlasData, obj.base, xSpacing, ySpacing, false, this.game.resolution);
530530
}
531531
else
532532
{
533-
obj.font = Phaser.LoaderParser.xmlBitmapFont(atlasData, obj.base, xSpacing, ySpacing);
533+
obj.font = Phaser.LoaderParser.xmlBitmapFont(atlasData, obj.base, xSpacing, ySpacing, false, this.game.resolution);
534534
}
535535

536536
this._cache.bitmapFont[key] = obj;
@@ -582,12 +582,12 @@ Phaser.Cache.prototype = {
582582
if (dataType === 'json')
583583
{
584584
fontData = this.getJSON(dataKey);
585-
obj.font = Phaser.LoaderParser.jsonBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame);
585+
obj.font = Phaser.LoaderParser.jsonBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame, this.game.resolution);
586586
}
587587
else
588588
{
589589
fontData = this.getXML(dataKey);
590-
obj.font = Phaser.LoaderParser.xmlBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame);
590+
obj.font = Phaser.LoaderParser.xmlBitmapFont(fontData, obj.base, xSpacing, ySpacing, frame, this.game.resolution);
591591
}
592592

593593
this._cache.bitmapFont[key] = obj;

v2-community/src/loader/LoaderParser.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Phaser.LoaderParser = {
3838
* @param {Phaser.Frame} [frame] - Optional Frame, if this font is embedded in a texture atlas.
3939
* @return {object} The parsed Bitmap Font data.
4040
*/
41-
xmlBitmapFont: function (xml, baseTexture, xSpacing, ySpacing, frame) {
41+
xmlBitmapFont: function (xml, baseTexture, xSpacing, ySpacing, frame, resolution) {
4242

4343
var data = {};
4444
var info = xml.getElementsByTagName('info')[0];
@@ -63,9 +63,9 @@ Phaser.LoaderParser = {
6363
y: y + parseInt(letters[i].getAttribute('y'), 10),
6464
width: parseInt(letters[i].getAttribute('width'), 10),
6565
height: parseInt(letters[i].getAttribute('height'), 10),
66-
xOffset: parseInt(letters[i].getAttribute('xoffset'), 10),
67-
yOffset: parseInt(letters[i].getAttribute('yoffset'), 10),
68-
xAdvance: parseInt(letters[i].getAttribute('xadvance'), 10) + xSpacing,
66+
xOffset: parseInt(letters[i].getAttribute('xoffset'), 10) / resolution,
67+
yOffset: parseInt(letters[i].getAttribute('yoffset'), 10) / resolution,
68+
xAdvance: (parseInt(letters[i].getAttribute('xadvance'), 10) + xSpacing) / resolution,
6969
kerning: {}
7070
};
7171
}
@@ -76,7 +76,7 @@ Phaser.LoaderParser = {
7676
{
7777
var first = parseInt(kernings[i].getAttribute('first'), 10);
7878
var second = parseInt(kernings[i].getAttribute('second'), 10);
79-
var amount = parseInt(kernings[i].getAttribute('amount'), 10);
79+
var amount = parseInt(kernings[i].getAttribute('amount'), 10) / resolution;
8080

8181
data.chars[second].kerning[first] = amount;
8282
}
@@ -119,9 +119,9 @@ Phaser.LoaderParser = {
119119
y: y + parseInt(letter._y, 10),
120120
width: parseInt(letter._width, 10),
121121
height: parseInt(letter._height, 10),
122-
xOffset: parseInt(letter._xoffset, 10),
123-
yOffset: parseInt(letter._yoffset, 10),
124-
xAdvance: parseInt(letter._xadvance, 10) + xSpacing,
122+
xOffset: parseInt(letter._xoffset, 10) / resolution,
123+
yOffset: parseInt(letter._yoffset, 10) / resolution,
124+
xAdvance: (parseInt(letter._xadvance, 10) + xSpacing) / resolution,
125125
kerning: {}
126126
};
127127
}
@@ -134,7 +134,7 @@ Phaser.LoaderParser = {
134134

135135
function parseKerning(kerning) {
136136

137-
data.chars[kerning._second].kerning[kerning._first] = parseInt(kerning._amount, 10);
137+
data.chars[kerning._second].kerning[kerning._first] = parseInt(kerning._amount, 10) / resolution;
138138

139139
}
140140

0 commit comments

Comments
 (0)