NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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))