forked from github/game-off-2012
-
Notifications
You must be signed in to change notification settings - Fork 0
/
text.js
78 lines (65 loc) · 1.74 KB
/
text.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Text Class...
// renderable text
function Text() {
this.mFont = "12px Arial";
this.mFontSize = "12";
this.mFontName = "Arial";
this.mString = "";
this.mColour = "#FFFFFF";
this.mShadowColour = "#000000";
this.mDepth = 0;
this.mPos = new IVec2(0, 12);
this.mOutline = false;
this.mShadow = false;
this.mRotation = 0;
this.mHeight = 12;
}
// returns the type of this object for validity checking
Text.prototype.Type = function() {
return "Text";
}
// make a copy of another (other) text (copy constructor)
Text.prototype.Copy = function(other) {
this.mFont = other.mFont;
this.mFontSize = other.mFontSize;
this.mFontName = other.mFontName;
this.mString = other.mString;
this.mColour = other.mColour;
this.mShadowColour = other.mShadowColour;
this.mDepth = other.mDepth;
this.mPos.Copy(other.mPos);
this.mOutline = other.mOutline;
this.mShadow = other.mShadow;
this.mRotation = other.mRotation;
this.mHeight = other.mHeight;
}
// return the width of the text
Text.prototype.GetWidth = function() {
nmain.game.mCurrContext.font = this.mFont;
var txtArr = this.mString.split("\n");
var longest = 0;
for (var i = 0; i < txtArr.length; ++i) {
var strLen = nmain.game.mCurrContext.measureText(txtArr[i]).width;
if (strLen > longest) {
longest = strLen;
}
}
return strLen;
}
// return the height of the text
Text.prototype.GetHeight = function() {
var txtArr = this.mString.split("\n");
return this.mHeight * txtArr.length;
}
//
Text.prototype.SetFontSize = function(size) {
this.mFontSize = size.toString();
this.mFont = this.mFontSize + "px " + this.mFontName;
this.mHeight = size;
}
//
Text.prototype.SetFontName = function(name) {
this.mFontName = name;
this.mFont = this.mFontSize + " " + this.mFontName;
}
// ...End