mapMarkerBase_Label.py (2140B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\markers\mapMarkerBase_Label.py 2 from carbon.common.script.util.commonutils import StripTags 3 from carbonui.primitives.base import ScaleDpi, ReverseScaleDpi 4 from eve.client.script.ui.shared.mapView.markers.mapMarkerBase import MarkerBase 5 import trinity 6 7 class MarkerLabelBase(MarkerBase): 8 fontSize = 10 9 fontColor = (1.0, 1.0, 1.0, 0.6) 10 fontPath = 'res:/UI/Fonts/EveSansNeue-ExpandedBold.otf' 11 letterSpace = 0 12 textSprite = None 13 measurer = None 14 15 def __init__(self, *args, **kwargs): 16 MarkerBase.__init__(self, *args, **kwargs) 17 if 'fontColor' in kwargs: 18 self.fontColor = kwargs['fontColor'] 19 20 def DestroyRenderObject(self): 21 if self.textSprite: 22 self.textSprite.fontMeasurer = None 23 self.textSprite = None 24 self.measurer = None 25 MarkerBase.DestroyRenderObject(self) 26 27 def GetLabelText(self): 28 return cfg.evelocations.Get(self.markerID).name 29 30 def Load(self): 31 self.isLoaded = True 32 if self.measurer is None: 33 measurer = trinity.Tr2FontMeasurer() 34 measurer.limit = 0 35 measurer.font = self.fontPath 36 measurer.fontSize = ScaleDpi(self.fontSize) 37 measurer.letterSpace = ScaleDpi(self.letterSpace) 38 measurer.AddText(StripTags(self.GetLabelText())) 39 measurer.CommitText(0, measurer.ascender) 40 self.measurer = measurer 41 textSprite = trinity.Tr2Sprite2dTextObject() 42 textSprite.fontMeasurer = self.measurer 43 textSprite.color = self.fontColor 44 textSprite.blendMode = trinity.TR2_SBM_BLEND 45 self.markerContainer.renderObject.children.append(textSprite) 46 self.textSprite = textSprite 47 height = self.measurer.ascender - self.measurer.descender 48 width = self.measurer.cursorX 49 self.textSprite.textWidth = width 50 self.textSprite.textHeight = height 51 self.markerContainer.pos = (0, 52 0, 53 ReverseScaleDpi(width), 54 ReverseScaleDpi(height))