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