Labelクラスの修正
これまで、文字のアレンジが左、中、右、しかなかったのを縦方向にも上、中、下でセットできるようにした。
水平方向のアレンジもバグがあったので修正した。
奥行きも出来たほうがいいのかな?
void CLabel3D::Precompute(void) { CText3D::Precompute(); if(!font || !changedText) return; changedText = false; double newPos[3]; float llx, lly, llz, urx, ury, urz; float adv; font->ftFont->BBox(str, llx, lly, llz, urx, ury, urz); adv = font->ftFont->Advance(str); if(alignmentH == kLeft) newPos[0] = -width2 / 2.0 + marginH; else if(alignmentH == kCenter) newPos[0] = -adv / 2.0; else if(alignmentH == kRight) newPos[0] = width2 / 2.0 - marginH - adv; //追加 if(alignmentV == kTop) newPos[1] = height2 / 2.0 - ury - marginV; else if(alignmentV == kCenter) newPos[1] = (lly - ury) / 2.0; else if(alignmentV == kBottom) newPos[1] = -height2 / 2.0 + lly + marginV; if(card) { SetPosition(pos[0] + newPos[0], pos[1] + newPos[1], pos[2]); } else { newPos[2] = depth2 / 2.0; SetPosition(pos[0] + newPos[0], pos[1] + newPos[1], pos[2] + newPos[2]); } }