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

frame.py (3381B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\primitives\frame.py
      2 import trinity
      3 from carbonui import uiconst
      4 from carbonui.primitives.sprite import TexturedBase
      5 from carbonui.uicore import uicore
      6 from eve.client.script.ui import eveColor
      7 
      8 class Frame(TexturedBase):
      9     __renderObject__ = trinity.Tr2Sprite2dFrame
     10     default_name = 'framesprite'
     11     default_left = 0
     12     default_top = 0
     13     default_width = 0
     14     default_height = 0
     15     default_color = eveColor.WHITE
     16     default_align = uiconst.TOALL
     17     default_frameConst = uiconst.FRAME_BORDER1_CORNER0
     18     default_state = uiconst.UI_DISABLED
     19     default_offset = 0
     20     default_cornerSize = 6
     21     default_fillCenter = True
     22     default_filter = False
     23     default_uiScaleVertices = False
     24     _offset = 0
     25     _cornerSize = 0
     26 
     27     def ApplyAttributes(self, attributes):
     28         self.offset = self.default_offset
     29         self.cornerSize = self.default_cornerSize
     30         self.fillCenter = attributes.get('fillCenter', self.default_fillCenter)
     31         self.uiScaleVertices = attributes.get('uiScaleVertices', self.default_uiScaleVertices)
     32         TexturedBase.ApplyAttributes(self, attributes)
     33         texturePath = attributes.get('texturePath', self.default_texturePath)
     34         if texturePath:
     35             self.cornerSize = attributes.get('cornerSize', self.default_cornerSize)
     36             self.offset = attributes.get('offset', self.default_offset)
     37         else:
     38             self.LoadFrame(attributes.get('frameConst', self.default_frameConst))
     39         if self.uiScaleVertices:
     40             self.renderObject.cornerScale = uicore.desktop.dpiScaling
     41 
     42     @property
     43     def cornerSize(self):
     44         return self._cornerSize
     45 
     46     @cornerSize.setter
     47     def cornerSize(self, value):
     48         self._cornerSize = value
     49         ro = self.renderObject
     50         if ro:
     51             ro.cornerSize = value
     52 
     53     @property
     54     def fillCenter(self):
     55         return self._fillCenter
     56 
     57     @fillCenter.setter
     58     def fillCenter(self, value):
     59         self._fillCenter = value
     60         ro = self.renderObject
     61         if ro:
     62             ro.fillCenter = value
     63 
     64     @property
     65     def offset(self):
     66         return self._offset
     67 
     68     @offset.setter
     69     def offset(self, value):
     70         self._offset = value
     71         ro = self.renderObject
     72         if ro:
     73             ro.offset = value
     74         self.FlagAlignmentDirty()
     75 
     76     def LoadFrame(self, frameConst = None):
     77         frameConst = frameConst or uiconst.FRAME_BORDER1_CORNER0
     78         if len(frameConst) == 4:
     79             iconNo, cornerSize, offset, fillCenter = frameConst
     80             self.fillCenter = fillCenter
     81         else:
     82             iconNo, cornerSize, offset = frameConst
     83             self.fillCenter = True
     84         if 'ui_' in iconNo:
     85             resPath = iconNo.replace('ui_', 'res:/ui/texture/icons/') + '.png'
     86         else:
     87             resPath = iconNo
     88         self.SetTexturePath(resPath)
     89         self.cornerSize = cornerSize
     90         self.offset = offset
     91 
     92     def SetOffset(self, offset):
     93         self.offset = offset
     94 
     95     def GetOffset(self):
     96         return self.offset
     97 
     98     def SetCornerSize(self, cornerSize = 0):
     99         self.cornerSize = cornerSize
    100 
    101     def GetCornerSize(self):
    102         return self.cornerSize
    103 
    104     def UpdateUIScaling(self, value, oldValue):
    105         if self.uiScaleVertices:
    106             self.renderObject.cornerScale = value