Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cocos/2d/CCLabel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2092,6 +2092,7 @@ FontDefinition Label::_getFontDefinition() const
systemFontDef._fontSize = _systemFontSize;
systemFontDef._alignment = _hAlignment;
systemFontDef._vertAlignment = _vAlignment;
systemFontDef._lineSpacing = _lineSpacing;
systemFontDef._dimensions.width = _labelWidth;
systemFontDef._dimensions.height = _labelHeight;
systemFontDef._fontFillColor.r = _textColor.r;
Expand Down
5 changes: 4 additions & 1 deletion cocos/base/ccTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,7 @@ struct CC_DLL FontDefinition
: _fontSize(0)
, _alignment(TextHAlignment::CENTER)
, _vertAlignment(TextVAlignment::TOP)
, _lineSpacing(0.0f)
, _dimensions(Size::ZERO)
, _fontFillColor(Color3B::WHITE)
, _fontAlpha(255)
Expand All @@ -575,7 +576,9 @@ struct CC_DLL FontDefinition
/// horizontal alignment
TextHAlignment _alignment;
/// vertical alignment
TextVAlignment _vertAlignment;
TextVAlignment _vertAlignment;
/// line spacing
float _lineSpacing;
/// rendering box
Size _dimensions;
/// font color
Expand Down
4 changes: 2 additions & 2 deletions cocos/platform/android/CCDevice-android.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ class BitmapDC
{
JniMethodInfo methodInfo;
if (! JniHelper::getStaticMethodInfo(methodInfo, "org.cocos2dx.lib.Cocos2dxBitmap", "createTextBitmapShadowStroke",
"([BLjava/lang/String;IIIIIIIIZFFFFZIIIIFZI)Z"))
"([BLjava/lang/String;IIIIIIIIFZFFFFZIIIIFZI)Z"))
{
CCLOG("%s %d: error to get methodInfo", __FILE__, __LINE__);
return false;
Expand Down Expand Up @@ -122,7 +122,7 @@ class BitmapDC
if(!methodInfo.env->CallStaticBooleanMethod(methodInfo.classID, methodInfo.methodID, strArray,
jstrFont, textDefinition._fontSize, textDefinition._fontFillColor.r, textDefinition._fontFillColor.g,
textDefinition._fontFillColor.b, textDefinition._fontAlpha,
eAlignMask, nWidth, nHeight,
eAlignMask, nWidth, nHeight, textDefinition._lineSpacing,
textDefinition._shadow._shadowEnabled, textDefinition._shadow._shadowOffset.width, -textDefinition._shadow._shadowOffset.height,
textDefinition._shadow._shadowBlur, textDefinition._shadow._shadowOpacity,
textDefinition._stroke._strokeEnabled, textDefinition._stroke._strokeColor.r, textDefinition._stroke._strokeColor.g,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ public static Typeface calculateShrinkTypeFace(String text, int width, int heigh

public static boolean createTextBitmapShadowStroke(byte[] bytes, final String fontName, int fontSize,
int fontTintR, int fontTintG, int fontTintB, int fontTintA,
int alignment, int width, int height,
int alignment, int width, int height, float lineSpacing,
boolean shadow, float shadowDX, float shadowDY, float shadowBlur, float shadowOpacity,
boolean stroke, int strokeR, int strokeG, int strokeB, int strokeA, float strokeSize, boolean enableWrap, int overflow) {
String string;
Expand Down Expand Up @@ -196,12 +196,12 @@ public static boolean createTextBitmapShadowStroke(byte[] bytes, final String f

if (overflow == 1 && !enableWrap){
int widthBoundary = (int)Math.ceil( StaticLayout.getDesiredWidth(string, paint));
layout = new StaticLayout(string, paint, widthBoundary , hAlignment,1.0f,0.0f,false);
layout = new StaticLayout(string, paint, widthBoundary, hAlignment, 1.0f, lineSpacing, false);
}else {
if (overflow == 2) {
calculateShrinkTypeFace(string, width, height, hAlignment, fontSize, paint, enableWrap);
}
layout = new StaticLayout(string, paint, maxWidth , hAlignment,1.0f,0.0f,false);
layout = new StaticLayout(string, paint, maxWidth, hAlignment, 1.0f, lineSpacing, false);
}

layoutWidth = layout.getWidth();
Expand Down
3 changes: 3 additions & 0 deletions cocos/platform/ios/CCDevice-ios.mm
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,7 @@ - (void)accelerometer:(CMAccelerometerData *)accelerometerData
float tintColorG;
float tintColorB;
float tintColorA;
float lineSpacing;

unsigned char* data;

Expand Down Expand Up @@ -414,6 +415,7 @@ static bool _initWithString(const char * text, cocos2d::Device::TextAlign align,
NSTextAlignment nsAlign = FontUtils::_calculateTextAlignment(align);
NSMutableParagraphStyle* paragraphStyle = FontUtils::_calculateParagraphStyle(enableWrap, overflow);
paragraphStyle.alignment = nsAlign;
paragraphStyle.lineSpacing = info->lineSpacing;

// measure text size with specified font and determine the rectangle to draw text in

Expand Down Expand Up @@ -579,6 +581,7 @@ static bool _initWithString(const char * text, cocos2d::Device::TextAlign align,
info.tintColorG = textDefinition._fontFillColor.g / 255.0f;
info.tintColorB = textDefinition._fontFillColor.b / 255.0f;
info.tintColorA = textDefinition._fontAlpha / 255.0f;
info.lineSpacing = textDefinition._lineSpacing;

if (! _initWithString(text, align, textDefinition._fontName.c_str(), textDefinition._fontSize, &info, textDefinition._enableWrap, textDefinition._overflow))
{
Expand Down
1 change: 1 addition & 0 deletions cocos/renderer/CCTexture2D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1144,6 +1144,7 @@ bool Texture2D::initWithString(const char *text, const FontDefinition& textDefin
auto textDef = textDefinition;
auto contentScaleFactor = CC_CONTENT_SCALE_FACTOR();
textDef._fontSize *= contentScaleFactor;
textDef._lineSpacing *= contentScaleFactor;
textDef._dimensions.width *= contentScaleFactor;
textDef._dimensions.height *= contentScaleFactor;
textDef._stroke._strokeSize *= contentScaleFactor;
Expand Down