def __init__(self, text, parent, size=72, shadow=0, hspace=8, font=None): self.transform = trinity.EveTransform() self.transform.mesh = trinity.Tr2Mesh() self.transform.mesh.geometryResPath = 'res:/Model/Global/zsprite.gr2' self.transform.modifier = 1 self.measurer = trinity.Tr2FontMeasurer() self.measurer.limit = 0 if font is None: font = _GetDefaultFont() self.measurer.font = font self.measurer.fontSize = size self.measurer.letterSpace = hspace area = trinity.Tr2MeshArea() self.transform.mesh.transparentAreas.append(area) area.effect = self.effect = trinity.Tr2Effect() sampler = list(self.effect.samplerOverrides.GetDefaultValue()) sampler[0] = 'DiffuseMapSampler' sampler[1] = trinity.TRITADDRESS_CLAMP sampler[2] = trinity.TRITADDRESS_CLAMP self.effect.samplerOverrides.append(tuple(sampler)) self.effect.effectFilePath = 'res:/Graphics/Effect/Managed/Space/SpecialFX/TextureColor.fx' diffuseColor = trinity.Tr2Vector4Parameter() diffuseColor.name = 'DiffuseColor' self.effect.parameters.append(diffuseColor) self.diffuseColor = diffuseColor self.diffuseMap = trinity.TriTextureParameter() self.diffuseMap.name = 'DiffuseMap' self.effect.resources.append(self.diffuseMap) parent.children.append(self.transform) trinity.device.RegisterResource(self) self.SetText(text)
def ApplyAttributes(self, attributes): uiprimitives.VisibleBase.ApplyAttributes(self, attributes) self.fadeSize = self.ScaleDpi(COLUMNFADESIZE) self.rightAligned = False measurer = trinity.Tr2FontMeasurer() measurer.limit = 0 measurer.fontSize = uicore.ScaleDpi(uicore.fontSizeFactor * attributes.fontSize) measurer.font = str(uicore.font.GetFontDefault()) measurer.letterSpace = 0 self.renderObject.fontMeasurer = measurer self.renderObject.shadowOffset = (0, 1) self.measurer = measurer
def Load(self): self.isLoaded = True if self.measurer is None: measurer = trinity.Tr2FontMeasurer() measurer.limit = 0 measurer.font = self.fontPath measurer.fontSize = ScaleDpi(self.fontSize) measurer.letterSpace = ScaleDpi(self.letterSpace) measurer.AddText(StripTags(self.GetLabelText())) measurer.CommitText(0, measurer.ascender) self.measurer = measurer textSprite = trinity.Tr2Sprite2dTextObject() textSprite.fontMeasurer = self.measurer textSprite.color = self.fontColor textSprite.blendMode = trinity.TR2_SBM_ADD self.markerContainer.renderObject.children.append(textSprite) self.textSprite = textSprite height = self.measurer.ascender - self.measurer.descender width = self.measurer.cursorX self.textSprite.textWidth = width self.textSprite.textHeight = height self.markerContainer.pos = (0, 0, ReverseScaleDpi(width), ReverseScaleDpi(height))
def __init__(self, text, parent, size=72, shadow=0, hspace=8): self.transform = trinity.EveTransform() self.transform.mesh = trinity.Tr2Mesh() self.transform.mesh.geometryResPath = 'res:/Model/Global/zsprite.gr2' self.transform.modifier = 1 self.measurer = trinity.Tr2FontMeasurer() self.measurer.limit = 0 fontFamily = uicore.font.GetFontFamilyBasedOnClientLanguageID()[ fontConst.STYLE_DEFAULT] self.measurer.font = fontFamily[2] self.measurer.fontSize = size self.measurer.letterSpace = hspace self.measurer.AddText(text.upper()) height = self.measurer.ascender - self.measurer.descender width = self.measurer.cursorX self.measurer.CommitText(0, self.measurer.ascender) self.transform.scaling = (width, height, 0) area = trinity.Tr2MeshArea() self.transform.mesh.transparentAreas.append(area) area.effect = self.effect = trinity.Tr2Effect() sampler = list(self.effect.samplerOverrides.GetDefaultValue()) sampler[0] = 'DiffuseMapSampler' sampler[1] = trinity.TRITADDRESS_CLAMP sampler[2] = trinity.TRITADDRESS_CLAMP self.effect.samplerOverrides.append(tuple(sampler)) self.effect.effectFilePath = 'res:/Graphics/Effect/Managed/Space/SpecialFX/TextureColor.fx' diffuseColor = trinity.Tr2Vector4Parameter() diffuseColor.name = 'DiffuseColor' self.effect.parameters.append(diffuseColor) self.diffuseColor = diffuseColor self.diffuseMap = trinity.TriTextureParameter() self.diffuseMap.name = 'DiffuseMap' self.effect.resources.append(self.diffuseMap) parent.children.append(self.transform) trinity.device.RegisterResource(self) self.OnCreate(trinity.device)