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

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