golden.py (1469B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\heronotification\golden.py 2 from carbonui import uiconst 3 from carbonui.primitives.base import ReverseScaleDpi, ScaleDpiF 4 from carbonui.primitives.containerAutoSize import ContainerAutoSize 5 6 class GoldenPositionContainerAutoSize(ContainerAutoSize): 7 8 def SetAlign(self, align): 9 super(GoldenPositionContainerAutoSize, self).SetAlign(align) 10 self.isPushAligned = False 11 self.isAffectedByPushAlignment = False 12 self._alignFunc = GoldenPositionContainerAutoSize.UpdateGoldenPositionAlignment 13 14 def UpdateGoldenPositionAlignment(self, budget_only, *budget): 15 if budget_only: 16 return budget 17 left, top, width, height = self.pos 18 pad_left, pad_top, pad_right, pad_bottom = self.padding 19 parent_height = ReverseScaleDpi(self.parent.displayHeight) 20 half_height = int(round(height / 2.0)) 21 proportion = 1.0 - 1.0 / uiconst.GOLDEN_RATIO 22 top += max(0, parent_height * proportion - half_height) 23 displayX = (self.parent.displayWidth - ScaleDpiF(width)) / 2 + ScaleDpiF(left + pad_left) 24 displayY = ScaleDpiF(top + pad_top) 25 displayWidth = ScaleDpiF(width - pad_left - pad_right) 26 displayHeight = ScaleDpiF(height - pad_top - pad_bottom) 27 self.displayRect = (displayX, 28 displayY, 29 displayWidth, 30 displayHeight) 31 return budget