cocos2dx Label系统字体怎么设置行高?

Label系统字体怎么设置行高?

  • 研究了一天也没有解决
    • 暂时的想法是自己分行,每行使用一个Label
  • 平台: win32
  • 记录一下

1. Label::createWithSystemFont

2. Label::createSpriteForSystemFont

void Label::createSpriteForSystemFont(const FontDefinition& fontDef)
{
    _currentLabelType = LabelType::STRING_TEXTURE;

	//文本纹理
    auto texture = new (std::nothrow) Texture2D;
    texture->initWithString(_utf8Text.c_str(), fontDef);

3. Texture2D::initWithString

bool hasPremultipliedAlpha;
Data outData = Device::getTextureDataForText(text, textDef, align, imageWidth, imageHeight, hasPremultipliedAlpha);

4. Device::getTextureDataForText

SIZE size = { (LONG)textDefinition._dimensions.width,(LONG)textDefinition._dimensions.height };
CC_BREAK_IF(!dc.drawText(text, size, align, textDefinition._fontName.c_str(), (int)textDefinition._fontSize, textDefinition._enableWrap, textDefinition._overflow));

5. BitmapDC::drawText

int drawText(const char * pszText, SIZE& tSize, Device::TextAlign eAlign, const char * fontName, int textSize,
	bool enableWrap, int overflow)
{
	if (fixedText)
	{
		nRet = DrawTextW(_DC, fixedText, nLen, &rcText, dwFmt);
	}
	else
	{
		nRet = DrawTextW(_DC, pwszBuffer, nLen, &rcText, dwFmt);
	}

6. win32.DrawTextW

DrawText(
  hDC: HDC;          {设备句柄}
  lpString: PChar;   {文本}
  nCount: Integer;   {要绘制的字符个数; -1 表示全部}
  var lpRect: TRect; {矩形结构}
  uFormat: UINT      {选项}
): Integer;          {返回文本高度}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值