/
classCC_DLLLabel:publicSpriteBatchNode,publicLabelProtocol
{
/**
*字体设置
*-setSystemFontName:字体(字体名字、字体
文件)
*-setSystemFontSize:字体大小
**/
//设置SystemFont类型的字体(字体名字、字体
文件)
//设置SystemFont类型的字体大小
//请不要用于其他Label类型!(TTF、CharMap、BMFont)
virtualvoidsetSystemFontName(conststd::string&systemFont);
virtualvoidsetSystemFontSize(floatfontSize);
virtualconststd::string&getSystemFontName()const{return_systemFont;}
virtualfloatgetSystemFontSize()const{return_systemFontSize;}
@H_
301_176@
//改变字符串
内容并重新渲染
//注:如果你没有为Label设置TTF/BMFont/CharMap,会产生很大的开销
virtualvoidsetString(conststd::string&text)override;
virtualconststd::string&getString()constoverride{return_originalUTF8String;}
//设置
文字颜色,仅
支持TTF和SystemFont
//注:区别Node节点的颜色
//Node::setColor:Color3B
//Label::setTextColor:Color4B
virtualvoidsetTextColor(constColor4B&color);
constColor4B&getTextColor()const{return_textColor;}
/**
*-getLetter
**/
virtualSprite*getLetter(intlettetIndex);
/**
*-Shadow:阴影
**/
//阴影Shadow(阴影颜色,相对Label的偏移,模糊度)
//注:其中blurRadius在3.2中并未实现
virtualvoidenableShadow(constColor4B&shadowColor=Color4B::BLACK,constSize&offset=Size(2,-2),intblurRadius=0);
//轮廓Outline,仅
支持TTF(轮廓颜色,轮廓粗细)
virtualvoidenableOutline(constColor4B&outlineColor,intoutlineSize=-1);
virtualvoidenableGlow(constColor4B&glowColor);
virtualvoiddisableEffect();
/**
*对齐方式
*>TextHAlignment:水平对齐方式
*-TextHAlignment:LEFT:左对齐
*-TextHAlignment:CENTER:居中对齐,默认
*-TextHAlignment:RIGHT:右对齐
*>TextVAlignment:垂直对齐方式
*-TextVAlignment::TOP:顶部,默认
*-TextVAlignment::CENTER:中心
*-TextVAlignment::BOTTOM:
底部
**/
//设置对齐方式
voidsetAlignment(TextHAlignmenthAlignment){setAlignment(hAlignment,_vAlignment);}
voidsetAlignment(TextHAlignmenthAlignment,TextVAlignmentvAlignment);
TextHAlignmentgetTextAlignment()const{return_hAlignment;}
//设置水平对齐方式
voidsetHorizontalAlignment(TextHAlignmenthAlignment){setAlignment(hAlignment,_vAlignment);}
TextHAlignmentgetHorizontalAlignment()const{return_hAlignment;}
//设置垂直对齐方式
voidsetVerticalAlignment(TextVAlignmentvAlignment){setAlignment(_hAlignment,vAlignment);}
TextVAlignmentgetVerticalAlignment()const{return_vAlignment;}
/**
*Label尺寸大小
*-setLineBreakWithoutSpace:开启
自动换行
功能
*-setMaxLineWidth:
文字内容的最大行宽
*-setWidth:Label尺寸大小,宽
*-setHeight:Label尺寸大小,高
*-setDimensions:Label尺寸大小
**/
voidsetLineBreakWithoutSpace(boolbreakWithoutSpace);
//最大行宽,
内容超过MaxLineWidth,就会
自动换行
//前提条件:仅在width==0时,起作用。
//>width==0;
//>setMaxLineWidth(lineWidth);
//>setLineBreakWithoutSpace(true);
//>setWidth(lineWidth);
//>setLineBreakWithoutSpace(true);
//只是width==0时,就无法设置文本的对齐方式了.
voidsetMaxLineWidth(unsignedintmaxLineWidth);
unsignedintgetMaxLineWidth(){return_maxLineWidth;}
//设置Label的尺寸大小
//可以理解为Label的文本框大小
//当setLineBreakWithoutSpace(true)时,
内容超过width,会
自动换行
//注:设置尺寸大小,使用的是setDimensions,而不是setContentSize!
voidsetWidth(unsignedintwidth){setDimensions(width,_labelHeight);}
voidsetHeight(unsignedintheight){setDimensions(_labelWidth,height);}
voidsetDimensions(unsignedintwidth,unsignedintheight);
unsignedintgetWidth()const{return_labelWidth;}
unsignedintgetHeight()const{return_labelHeight;}
constSize&getDimensions()const{return_labelDimensions;}
/**
*v3.2新增
*-setLineHeight:设置行间距
*-setAdditionalKerning:设置
文字间距
*-getStringLength:字符串
内容长度
*/
voidsetLineHeight(floatheight);
floatgetLineHeight()const;
voidsetAdditionalKerning(floatspace);
floatgetAdditionalKerning()const;
intgetStringLength()const;
/**
*-setBlendFunc:混合模式
*-setScale:放缩字体大小
*-getDescription:
显示Label的描述
**/
//设置颜色混合模式
virtualvoidsetBlendFunc(constBlendFunc&blendFunc)override;
//放缩字体大小(一般用于CharMap、BMFont)
virtualvoidsetScale(floatscale)override;
virtualvoidsetScaleX(floatscaleX)override;
virtualvoidsetScaleY(floatscaleY)override;
virtualfloatgetScaleX()constoverride;
virtualfloatgetScaleY()constoverride;
virtualvoidaddChild(Node*child,intzOrder=0,inttag=0)override;
virtualvoidsortAllChildren()override;
//Label描述
virtualstd::stringgetDescription()constoverride;
};
//