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

uiconst.py (27181B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\uiconst.py
      2 import enum
      3 import re
      4 import sys
      5 from player_messaging import PromptIcon, PromptOptions, PromptResult
      6 POINTER_NONE = 0
      7 POINT_TOPLEFT = (0, 0)
      8 POINT_TOP_1 = (1, 0)
      9 POINT_TOP_2 = (2, 0)
     10 POINT_TOP_3 = (3, 0)
     11 POINT_TOPRIGHT = (4, 0)
     12 POINT_BOTTOMLEFT = (0, 4)
     13 POINT_BOTTOM_1 = (1, 4)
     14 POINT_BOTTOM_2 = (2, 4)
     15 POINT_BOTTOM_3 = (3, 4)
     16 POINT_BOTTOMRIGHT = (4, 4)
     17 POINT_LEFT_1 = (0, 1)
     18 POINT_LEFT_2 = (0, 2)
     19 POINT_LEFT_3 = (0, 3)
     20 POINT_RIGHT_1 = (4, 1)
     21 POINT_RIGHT_2 = (4, 2)
     22 POINT_RIGHT_3 = (4, 3)
     23 POINT_CENTER = (2, 2)
     24 S2D_RFX_COPY = 0
     25 S2D_RFX_FILTER = 1
     26 S2D_RFX_BLUR = 2
     27 S2D_RFX_MODULATE = 3
     28 OUTPUT_COLOR = 1
     29 OUTPUT_GLOW = 2
     30 OUTPUT_COLOR_AND_GLOW = 3
     31 TR2_SPS_OFF = 0
     32 TR2_SPS_ON = 1
     33 TR2_SPS_CHILDREN = 2
     34 ENTRY_DEFAULT_ICONSIZE = 16
     35 LABELTABMARGIN = 8
     36 SCROLLVERSION = 3
     37 SCROLL_COLUMN_FADEWIDTH = 20
     38 HORIZONTAL = 0
     39 VERTICAL = 1
     40 AUTOPOSNONE = 0
     41 AUTOPOSXCENTER = 1
     42 AUTOPOSYCENTER = 16
     43 AUTOPOSCENTER = 17
     44 WRAPMODE_FORCEWORD = 0
     45 WRAPMODE_FORCEALL = 1
     46 WRAPMODE_FORCENONE = 3
     47 MOUSELEFT = 0
     48 MOUSERIGHT = 1
     49 MOUSEMIDDLE = 2
     50 MOUSEXBUTTON1 = 3
     51 MOUSEXBUTTON2 = 4
     52 MOUSEBUTTONS = (MOUSELEFT,
     53  MOUSERIGHT,
     54  MOUSEMIDDLE,
     55  MOUSEXBUTTON1,
     56  MOUSEXBUTTON2)
     57 HTML_ALBASELINE = 0
     58 HTML_ALTOP = 1
     59 HTML_ALMIDDLE = 2
     60 HTML_ALBOTTOM = 3
     61 HTML_ALSUB = 4
     62 HTML_ALSUPER = 5
     63 HTML_BGTILED = 0
     64 HTML_BGSCROLL = 1
     65 HTML_BGFIXED = 2
     66 ID_NONE = PromptResult.NONE
     67 ID_OK = PromptResult.OK
     68 ID_CANCEL = PromptResult.CANCEL
     69 ID_YES = PromptResult.YES
     70 ID_NO = PromptResult.NO
     71 ID_CLOSE = PromptResult.CLOSE
     72 ID_HELP = PromptResult.HELP
     73 ID_APPLY = PromptResult.APPLY
     74 INFO = PromptIcon.INFO
     75 WARNING = PromptIcon.WARNING
     76 QUESTION = PromptIcon.QUESTION
     77 ERROR = PromptIcon.ERROR
     78 FATAL = PromptIcon.FATAL
     79 OK = PromptOptions.OK
     80 OKCANCEL = PromptOptions.OKCANCEL
     81 YESNOCANCEL = PromptOptions.YESNOCANCEL
     82 YESNO = PromptOptions.YESNO
     83 CLOSE = PromptOptions.CLOSE
     84 OKCLOSE = PromptOptions.OKCLOSE
     85 UICURSOR_DEFAULT = 'res:/UI/cursor/cursor00.png'
     86 UICURSOR_SELECT = 'res:/UI/cursor/cursor01.png'
     87 UICURSOR_DRAGGABLE = 'res:/UI/cursor/cursor03.png'
     88 UICURSOR_IBEAM = 'res:/UI/cursor/cursor07.png'
     89 UICURSOR_DIVIDERADJUST = 'res:/UI/cursor/cursor08.png'
     90 UICURSOR_NONE = 'res:/UI/cursor/cursor10.png'
     91 UICORSOR_VERTICAL_RESIZE = 'res:/UI/cursor/cursor11.png'
     92 UICURSOR_HASMENU = 'res:/UI/cursor/cursor12.png'
     93 UICURSOR_TOP_RIGHT_BOTTOM_LEFT_DRAG = 'res:/UI/cursor/cursor13.png'
     94 UICURSOR_TOP_LEFT_BOTTOM_RIGHT_DRAG = 'res:/UI/cursor/cursor15.png'
     95 UICURSOR_LEFT_RIGHT_DRAG = 'res:/UI/cursor/cursor16.png'
     96 UICURSOR_TOP_BOTTOM_DRAG = 'res:/UI/cursor/cursor17.png'
     97 UICORSOR_HORIZONTAL_RESIZE = 'res:/UI/cursor/cursor18.png'
     98 UICORSOR_FINGER = 'res:/UI/cursor/cursor21.png'
     99 UICURSOR_POINTER_MENU = 'res:/UI/cursor/cursor22.png'
    100 UICURSOR_MAGNIFIER = 'res:/UI/cursor/cursor23.png'
    101 UICURSOR_CCUPDOWN = 'res:/UI/cursor/cursor30.png'
    102 UICURSOR_CCLEFTRIGHT = 'res:/UI/cursor/cursor31.png'
    103 UICURSOR_CCALLDIRECTIONS = 'res:/UI/cursor/cursor32.png'
    104 UICURSOR_CCSELECTION = 'res:/UI/cursor/cursor33.png'
    105 UICURSOR_CCHEADTILT = 'res:/UI/cursor/cursor34.png'
    106 UICURSOR_CCSHOULDERTWIST = 'res:/UI/cursor/cursor35.png'
    107 UICURSOR_CCHEADALL = 'res:/UI/cursor/cursor36.png'
    108 UICURSOR_PLANET_CREATE_LINK = 'res:/UI/Texture/Planet/Cursors/cursorCreateLink.png'
    109 UICURSOR_PLANET_PLACE_PIN = 'res:/UI/Texture/Planet/Cursors/cursorPlacePin.png'
    110 UICURSOR_PLANET_DECOMMISSION = 'res:/UI/Texture/Planet/Cursors/cursorDecommission.png'
    111 UICURSOR_PLANET_CREATE_ROUTE = 'res:/UI/Texture/Planet/Cursors/cursorCreateRoute.png'
    112 UICURSOR_DISCOVERY_PICKER_2 = 'res:/UI/Cursor/DrawingTool/picker2.png'
    113 UICURSOR_DISCOVERY_PICKER_3 = 'res:/UI/Cursor/DrawingTool/picker3.png'
    114 UICURSOR_DISCOVERY_RESIZER_COLLAPSED = 'res:/UI/Cursor/DrawingTool/resizer_collapsed.png'
    115 UICURSOR_DISCOVERY_RESIZER_EXPANDED = 'res:/UI/Cursor/DrawingTool/resizer_expanded.png'
    116 UICURSOR_DISCOVERY_SCIFI_RADIUS = 'res:/UI/Cursor/DrawingTool/scifi_radius.png'
    117 UICURSOR_DISCOVERY_SCIFI_RADIUS_GRID = 'res:/UI/Cursor/DrawingTool/scifi_radius_grid.png'
    118 UICURSOR_DISCOVERY_SCIFI_RADIUS_INNER = 'res:/UI/Cursor/DrawingTool/scifi_radius_inner.png'
    119 UICURSOR_DISCOVERY_SELECTOR_POSITION = 'res:/UI/Cursor/DrawingTool/selector_position.png'
    120 UICURSOR_DISCOVERY_SELECTOR_TARGET = 'res:/UI/Cursor/DrawingTool/selector_target.png'
    121 UICURSOR_REPRESENTATIONS = {UICURSOR_DEFAULT: ('res:/UI/cursor/cursor00_x2.png', 'res:/UI/cursor/cursor00_x3.png'),
    122  UICURSOR_SELECT: ('res:/UI/cursor/cursor01_x2.png', 'res:/UI/cursor/cursor01_x3.png'),
    123  UICURSOR_DRAGGABLE: ('res:/UI/cursor/cursor03_x2.png', 'res:/UI/cursor/cursor03_x3.png'),
    124  UICURSOR_IBEAM: ('res:/UI/cursor/cursor07_x2.png', 'res:/UI/cursor/cursor07_x3.png'),
    125  UICURSOR_DIVIDERADJUST: ('res:/UI/cursor/cursor08_x2.png', 'res:/UI/cursor/cursor08_x3.png'),
    126  UICURSOR_NONE: ('res:/UI/cursor/cursor10_x2.png', 'res:/UI/cursor/cursor10_x3.png'),
    127  UICORSOR_VERTICAL_RESIZE: ('res:/UI/cursor/cursor11_x2.png', 'res:/UI/cursor/cursor11_x3.png'),
    128  UICURSOR_HASMENU: ('res:/UI/cursor/cursor12_x2.png', 'res:/UI/cursor/cursor12_x3.png'),
    129  UICURSOR_TOP_RIGHT_BOTTOM_LEFT_DRAG: ('res:/UI/cursor/cursor13_x2.png', 'res:/UI/cursor/cursor13_x3.png'),
    130  UICURSOR_TOP_LEFT_BOTTOM_RIGHT_DRAG: ('res:/UI/cursor/cursor15_x2.png', 'res:/UI/cursor/cursor15_x3.png'),
    131  UICURSOR_LEFT_RIGHT_DRAG: ('res:/UI/cursor/cursor16_x2.png', 'res:/UI/cursor/cursor16_x3.png'),
    132  UICURSOR_TOP_BOTTOM_DRAG: ('res:/UI/cursor/cursor17_x2.png', 'res:/UI/cursor/cursor17_x3.png'),
    133  UICORSOR_HORIZONTAL_RESIZE: ('res:/UI/cursor/cursor18_x2.png', 'res:/UI/cursor/cursor18_x3.png'),
    134  UICORSOR_FINGER: ('res:/UI/cursor/cursor21_x2.png', 'res:/UI/cursor/cursor21_x3.png'),
    135  UICURSOR_POINTER_MENU: ('res:/UI/cursor/cursor22_x2.png', 'res:/UI/cursor/cursor22_x3.png'),
    136  UICURSOR_MAGNIFIER: ('res:/UI/cursor/cursor23_x2.png', 'res:/UI/cursor/cursor23_x3.png'),
    137  UICURSOR_CCUPDOWN: ('res:/UI/cursor/cursor30_x2.png', 'res:/UI/cursor/cursor30_x3.png'),
    138  UICURSOR_CCLEFTRIGHT: ('res:/UI/cursor/cursor31_x2.png', 'res:/UI/cursor/cursor31_x3.png'),
    139  UICURSOR_CCALLDIRECTIONS: ('res:/UI/cursor/cursor32_x2.png', 'res:/UI/cursor/cursor32_x3.png'),
    140  UICURSOR_CCSELECTION: ('res:/UI/cursor/cursor33_x2.png', 'res:/UI/cursor/cursor33_x3.png'),
    141  UICURSOR_CCHEADTILT: ('res:/UI/cursor/cursor34_x2.png', 'res:/UI/cursor/cursor34_x3.png'),
    142  UICURSOR_CCSHOULDERTWIST: ('res:/UI/cursor/cursor35_x2.png', 'res:/UI/cursor/cursor35_x3.png'),
    143  UICURSOR_CCHEADALL: ('res:/UI/cursor/cursor36_x2.png', 'res:/UI/cursor/cursor36_x3.png'),
    144  UICURSOR_PLANET_CREATE_LINK: ('res:/UI/Texture/Planet/Cursors/cursorCreateLink_x2.png', 'res:/UI/Texture/Planet/Cursors/cursorCreateLink_x3.png'),
    145  UICURSOR_PLANET_PLACE_PIN: ('res:/UI/Texture/Planet/Cursors/cursorPlacePin_x2.png', 'res:/UI/Texture/Planet/Cursors/cursorPlacePin_x3.png'),
    146  UICURSOR_PLANET_DECOMMISSION: ('res:/UI/Texture/Planet/Cursors/cursorDecommission_x2.png', 'res:/UI/Texture/Planet/Cursors/cursorDecommission_x3.png'),
    147  UICURSOR_PLANET_CREATE_ROUTE: ('res:/UI/Texture/Planet/Cursors/cursorCreateRoute_x2.png', 'res:/UI/Texture/Planet/Cursors/cursorCreateRoute_x3.png'),
    148  UICURSOR_DISCOVERY_PICKER_2: ('res:/UI/Cursor/DrawingTool/picker2_x2.png', 'res:/UI/Cursor/DrawingTool/picker2_x3.png'),
    149  UICURSOR_DISCOVERY_PICKER_3: ('res:/UI/Cursor/DrawingTool/picker3_x2.png', 'res:/UI/Cursor/DrawingTool/picker3_x3.png'),
    150  UICURSOR_DISCOVERY_RESIZER_COLLAPSED: ('res:/UI/Cursor/DrawingTool/resizer_collapsed_x2.png', 'res:/UI/Cursor/DrawingTool/resizer_collapsed_x3.png'),
    151  UICURSOR_DISCOVERY_RESIZER_EXPANDED: ('res:/UI/Cursor/DrawingTool/resizer_expanded_x2.png', 'res:/UI/Cursor/DrawingTool/resizer_expanded_x3.png'),
    152  UICURSOR_DISCOVERY_SCIFI_RADIUS: ('res:/UI/Cursor/DrawingTool/scifi_radius.png', 'res:/UI/Cursor/DrawingTool/scifi_radius.png'),
    153  UICURSOR_DISCOVERY_SCIFI_RADIUS_GRID: ('res:/UI/Cursor/DrawingTool/scifi_radius_grid.png', 'res:/UI/Cursor/DrawingTool/scifi_radius_grid.png'),
    154  UICURSOR_DISCOVERY_SCIFI_RADIUS_INNER: ('res:/UI/Cursor/DrawingTool/scifi_radius_inner.png', 'res:/UI/Cursor/DrawingTool/scifi_radius_inner.png'),
    155  UICURSOR_DISCOVERY_SELECTOR_POSITION: ('res:/UI/Cursor/DrawingTool/selector_position_x2.png', 'res:/UI/Cursor/DrawingTool/selector_position_x3.png'),
    156  UICURSOR_DISCOVERY_SELECTOR_TARGET: ('res:/UI/Cursor/DrawingTool/selector_target_x2.png', 'res:/UI/Cursor/DrawingTool/selector_target_x3.png')}
    157 UI_ALNONE = 0
    158 UI_ALRIGHT = 2
    159 UI_ALLEFT = 1
    160 UI_ALTOP = 3
    161 UI_ALBOTTOM = 4
    162 UI_ALCLIENT = 5
    163 UI_ALABSOLUTE = 6
    164 UI_ANCHTOP = 1
    165 UI_ANCHLEFT = 2
    166 UI_ANCHRIGHT = 4
    167 UI_ANCHBOTTOM = 8
    168 UI_CONTEXTPOPUP = 111
    169 UI_DBLCLICK = 110
    170 UI_TRIPLECLICK = 112
    171 UI_DEACTIVATE = 9
    172 UI_DESTROY = 3
    173 UI_DRAGDROP = 12
    174 UI_DRAGENTER = 11
    175 UI_DRAGEXIT = 13
    176 UI_CREATE = 1
    177 UI_SETPARENT = 4
    178 UI_CLOSE = 6
    179 UI_RESIZE = 7
    180 UI_ACTIVATE = 8
    181 UI_STARTDRAG = 10
    182 UI_MOUSEMOVE = 101
    183 UI_MOUSEWHEEL = 102
    184 UI_MOUSEDOWN = 103
    185 UI_MOUSEUP = 104
    186 UI_MOUSEENTER = 106
    187 UI_MOUSEEXIT = 107
    188 UI_MOUSEHOVER = 108
    189 UI_CLICK = 109
    190 UI_CHAR = 201
    191 UI_KEYDOWN = 202
    192 UI_KEYUP = 203
    193 UI_SETFOCUS = 204
    194 UI_KILLFOCUS = 205
    195 UI_TRACKINGCHANGE = 302
    196 UI_STATECHANGE = 303
    197 UI_ACTIVE = 304
    198 UI_MOUSEDOWNDRAG = 401
    199 UI_MOUSEMOVEDRAG = 402
    200 UI_NORMAL = 0
    201 UI_DISABLED = 1
    202 UI_HIDDEN = 2
    203 UI_PICKCHILDREN = 3
    204 ANCH_TOPLEFT = 0
    205 ANCH_CENTERTOP = 1
    206 ANCH_TOPRIGHT = 2
    207 ANCH_CENTERRIGHT = 3
    208 ANCH_BOTTOMLEFT = 4
    209 ANCH_CENTERBOTTOM = 5
    210 ANCH_BOTTOMRIGHT = 6
    211 ANCH_CENTERLEFT = 7
    212 ANCH_CENTER = 8
    213 
    214 class Align(object):
    215     NOALIGN = -1
    216     TOPLEFT = 0
    217     TOPRIGHT = 1
    218     BOTTOMRIGHT = 2
    219     BOTTOMLEFT = 3
    220     CENTERLEFT = 9
    221     CENTERRIGHT = 10
    222     CENTERTOP = 11
    223     CENTERBOTTOM = 12
    224     CENTER = 13
    225     ABSOLUTE = 14
    226     CENTER_PRESERVE_ASPECT = 15
    227     CENTER_PRESERVE_ASPECT_CLIP = 16
    228     TOLEFT = 4
    229     TOTOP = 5
    230     TORIGHT = 6
    231     TOBOTTOM = 7
    232     TOALL = 8
    233     TOLEFT_PROP = 20
    234     TOTOP_PROP = 21
    235     TORIGHT_PROP = 22
    236     TOBOTTOM_PROP = 23
    237     TOPLEFT_PROP = 24
    238     TOLEFT_NOPUSH = 25
    239     TOTOP_NOPUSH = 26
    240     TORIGHT_NOPUSH = 27
    241     TOBOTTOM_NOPUSH = 28
    242     HORIZONTALLY_CENTERED = 29
    243     VERTICALLY_CENTERED = 30
    244     TOTOP_STICKY = 31
    245 
    246 
    247 RELATIVE = 0
    248 TOPLEFT = 0
    249 TOPRIGHT = 1
    250 BOTTOMRIGHT = 2
    251 BOTTOMLEFT = 3
    252 TOLEFT = 4
    253 TOTOP = 5
    254 TORIGHT = 6
    255 TOBOTTOM = 7
    256 TOALL = 8
    257 CENTERLEFT = 9
    258 CENTERRIGHT = 10
    259 CENTERTOP = 11
    260 CENTERBOTTOM = 12
    261 CENTER = 13
    262 ABSOLUTE = 14
    263 TOLEFT_PROP = 20
    264 TOTOP_PROP = 21
    265 TORIGHT_PROP = 22
    266 TOBOTTOM_PROP = 23
    267 TOPLEFT_PROP = 24
    268 TOLEFT_NOPUSH = 25
    269 TOTOP_NOPUSH = 26
    270 TORIGHT_NOPUSH = 27
    271 TOBOTTOM_NOPUSH = 28
    272 HORIZONTALLY_CENTERED = 29
    273 VERTICALLY_CENTERED = 30
    274 TOTOP_STICKY = 31
    275 NOALIGN = -1
    276 FRAME_FILLED_CORNER0 = ('ui_1_16_161', 7, -2)
    277 FRAME_FILLED_CORNER1 = ('ui_1_16_162', 7, -2)
    278 FRAME_FILLED_CORNER2 = ('ui_1_16_163', 7, -2)
    279 FRAME_FILLED_CORNER3 = ('ui_1_16_164', 7, -2)
    280 FRAME_FILLED_CORNER4 = ('ui_1_16_165', 7, -2)
    281 FRAME_FILLED_CORNER5 = ('ui_1_16_166', 7, -2)
    282 FRAME_FILLED_CORNER6 = ('ui_1_16_167', 7, -2)
    283 FRAME_FILLED_CORNER7 = ('ui_1_16_168', 7, -2)
    284 FRAME_FILLED_CORNER8 = ('ui_1_16_169', 7, -2)
    285 FRAME_FILLED_CORNER9 = ('ui_1_16_170', 7, -2)
    286 FRAME_FILLED_SHADOW_CORNER0 = ('ui_1_16_177', 7, -2)
    287 FRAME_FILLED_SHADOW_CORNER1 = ('ui_1_16_178', 7, -2)
    288 FRAME_FILLED_SHADOW_CORNER2 = ('ui_1_16_179', 7, -2)
    289 FRAME_FILLED_SHADOW_CORNER3 = ('ui_1_16_180', 7, -2)
    290 FRAME_FILLED_SHADOW_CORNER4 = ('ui_1_16_181', 7, -2)
    291 FRAME_FILLED_SHADOW_CORNER5 = ('ui_1_16_182', 7, -2)
    292 FRAME_FILLED_SHADOW_CORNER6 = ('ui_1_16_183', 7, -2)
    293 FRAME_FILLED_SHADOW_CORNER7 = ('ui_1_16_184', 7, -2)
    294 FRAME_FILLED_SHADOW_CORNER8 = ('ui_1_16_185', 7, -2)
    295 FRAME_FILLED_SHADOW_CORNER9 = ('ui_1_16_186', 7, -2)
    296 FRAME_BORDER1_CORNER0 = ('ui_1_16_193', 7, -2, 0)
    297 FRAME_BORDER1_CORNER1 = ('ui_1_16_194', 7, -2, 0)
    298 FRAME_BORDER1_CORNER2 = ('ui_1_16_195', 7, -2, 0)
    299 FRAME_BORDER1_CORNER3 = ('ui_1_16_196', 7, -2, 0)
    300 FRAME_BORDER1_CORNER4 = ('ui_1_16_197', 7, -2, 0)
    301 FRAME_BORDER1_CORNER5 = ('ui_1_16_198', 7, -2, 0)
    302 FRAME_BORDER1_CORNER6 = ('ui_1_16_199', 7, -2, 0)
    303 FRAME_BORDER1_CORNER7 = ('ui_1_16_200', 7, -2, 0)
    304 FRAME_BORDER1_CORNER8 = ('ui_1_16_201', 7, -2, 0)
    305 FRAME_BORDER1_CORNER9 = ('ui_1_16_202', 7, -2, 0)
    306 FRAME_BORDER1_SHADOW_CORNER0 = ('ui_1_16_209', 7, -2, 0)
    307 FRAME_BORDER1_SHADOW_CORNER1 = ('ui_1_16_210', 7, -2, 0)
    308 FRAME_BORDER1_SHADOW_CORNER2 = ('ui_1_16_211', 7, -2, 0)
    309 FRAME_BORDER1_SHADOW_CORNER3 = ('ui_1_16_212', 7, -2, 0)
    310 FRAME_BORDER1_SHADOW_CORNER4 = ('ui_1_16_213', 7, -2, 0)
    311 FRAME_BORDER1_SHADOW_CORNER5 = ('ui_1_16_214', 7, -2, 0)
    312 FRAME_BORDER1_SHADOW_CORNER6 = ('ui_1_16_215', 7, -2, 0)
    313 FRAME_BORDER1_SHADOW_CORNER7 = ('ui_1_16_216', 7, -2, 0)
    314 FRAME_BORDER1_SHADOW_CORNER8 = ('ui_1_16_217', 7, -2, 0)
    315 FRAME_BORDER1_SHADOW_CORNER9 = ('ui_1_16_218', 7, -2, 0)
    316 FRAME_BORDER2_CORNER0 = ('ui_1_16_225', 7, -2, 0)
    317 FRAME_BORDER2_CORNER1 = ('ui_1_16_226', 7, -2, 0)
    318 FRAME_BORDER2_CORNER2 = ('ui_1_16_227', 7, -2, 0)
    319 FRAME_BORDER2_CORNER3 = ('ui_1_16_228', 7, -2, 0)
    320 FRAME_BORDER2_CORNER4 = ('ui_1_16_229', 7, -2, 0)
    321 FRAME_BORDER2_CORNER5 = ('ui_1_16_230', 7, -2, 0)
    322 FRAME_BORDER2_CORNER6 = ('ui_1_16_231', 7, -2, 0)
    323 FRAME_BORDER2_CORNER7 = ('ui_1_16_232', 7, -2, 0)
    324 FRAME_BORDER2_CORNER8 = ('ui_1_16_233', 7, -2, 0)
    325 FRAME_BORDER2_CORNER9 = ('ui_1_16_234', 7, -2, 0)
    326 FRAME_BORDER2_SHADOW_CORNER0 = ('ui_1_16_241', 7, -2, 0)
    327 FRAME_BORDER2_SHADOW_CORNER1 = ('ui_1_16_242', 7, -2, 0)
    328 FRAME_BORDER2_SHADOW_CORNER2 = ('ui_1_16_243', 7, -2, 0)
    329 FRAME_BORDER2_SHADOW_CORNER3 = ('ui_1_16_244', 7, -2, 0)
    330 FRAME_BORDER2_SHADOW_CORNER4 = ('ui_1_16_245', 7, -2, 0)
    331 FRAME_BORDER2_SHADOW_CORNER5 = ('ui_1_16_246', 7, -2, 0)
    332 FRAME_BORDER2_SHADOW_CORNER6 = ('ui_1_16_247', 7, -2, 0)
    333 FRAME_BORDER2_SHADOW_CORNER7 = ('ui_1_16_248', 7, -2, 0)
    334 FRAME_BORDER2_SHADOW_CORNER8 = ('ui_1_16_249', 7, -2, 0)
    335 FRAME_BORDER2_SHADOW_CORNER9 = ('ui_1_16_250', 7, -2, 0)
    336 FRAME_FILLED_BLUR1 = ('res:/UI/Texture/Frames/FILLED_BLUR1.png', 8, -8, 1)
    337 FRAME_FILLED_BLUR2 = ('res:/UI/Texture/Frames/FILLED_BLUR2.png', 8, -8, 1)
    338 FRAME_FILLED_BLUR3 = ('res:/UI/Texture/Frames/FILLED_BLUR3.png', 8, -8, 1)
    339 FRAME_FILLED_BLUR4 = ('res:/UI/Texture/Frames/FILLED_BLUR4.png', 8, -8, 1)
    340 FRAME_FILLED_BLUR5 = ('res:/UI/Texture/Frames/FILLED_BLUR5.png', 9, -9, 1)
    341 FRAME_FILLED_BLUR6 = ('res:/UI/Texture/Frames/FILLED_BLUR6.png', 9, -9, 1)
    342 FRAME_FILLED_BLUR7 = ('res:/UI/Texture/Frames/FILLED_BLUR7.png', 9, -9, 1)
    343 ACTIVE_FRAME_ALPHA = 0.2
    344 OPACITY_FRAME = 0.25
    345 COLORTYPE_UIBASE = 1
    346 COLORTYPE_UIHILIGHT = 2
    347 COLORTYPE_UIBASECONTRAST = 3
    348 COLORTYPE_UIHILIGHTGLOW = 5
    349 COLORTYPE_FLASH = 6
    350 COLORTYPE_ACCENT = 7
    351 LINK_IDLE = 1
    352 LINK_ACTIVE = 2
    353 LINK_HOVER = 3
    354 LINK_DISABLED = 4
    355 LINKSTYLE_REGULAR = 1
    356 LINKSTYLE_SUBTLE = 2
    357 LINKSTYLE_UNBOLD = 3
    358 ANIM_LINEAR = 1
    359 ANIM_SMOOTH = 2
    360 ANIM_OVERSHOT = 3
    361 ANIM_OVERSHOT2 = 7
    362 ANIM_OVERSHOT3 = 8
    363 ANIM_OVERSHOT4 = 9
    364 ANIM_OVERSHOT5 = 9
    365 ANIM_WAVE = 4
    366 ANIM_RANDOM = 5
    367 ANIM_BOUNCE = 6
    368 ANIM_REPEAT = -1
    369 ANIM_OVERSHOT_TYPES = (ANIM_OVERSHOT,
    370  ANIM_OVERSHOT2,
    371  ANIM_OVERSHOT3,
    372  ANIM_OVERSHOT4,
    373  ANIM_OVERSHOT5)
    374 TIME_ENTRY = 0.1
    375 TIME_EXIT = 0.3
    376 TIME_SELECT = 0.2
    377 TIME_DESELECT = 0.2
    378 TIME_MOUSEDOWN = 0.1
    379 TIME_MOUSEUP = 0.1
    380 TIME_BLINK = 0.25
    381 NUMERIC_VALUES = '[\\+-]?(?:[,\\.]?[0-9]+)+[\\.,]*'
    382 EN_US_CANNOT_START_LINE = u' /\\-;:,'
    383 EN_ADDITIONAL_VALID_CHARACTERS = u'\'"\x91\x92\x93\x94'
    384 JA_OPENING_BRACKETS = u'\\(\\[\\{\uff08\uff5b\u3014\u3008\u300a\u300c\u300e\u3010\u3018\u3016\u301d\u2018\u201c\uff5f\xab'
    385 JA_CLOSING_BRACKETS = u'\\)\\]\\}\uff09\uff5d\u3015\u3009\u300b\u300d\u300f\u3011\u3019\u3017\u301f\u2019\u201d\uff60\xbb'
    386 JA_CHARACTERS = u'\u30fd\u30fe\u30fc\u30a1\u30a3\u30a5\u30a7\u30a9\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308e\u3095\u3096\u31f0\u31f1\u31f2\u31f3\u31f4\u31f5\u31f6\u31f7\u31f8\u31f9\u31fa\u31fb\u31fc\u31fd\u31fe\u31ff\u3005\u303b\uff67\uff68\uff69\uff6a\uff6b\uff6c\uff6d\uff6e\uff6f'
    387 JA_HYPHENS = u'\u2010\u30a0\u2013\u301c\uff70'
    388 JA_DELIMITERS = u'\\?\\!\uff1f\uff01\u203c\u2047\u2048\u2049'
    389 JA_MID_SENTENCE_PUNCTUATION = u'\u30fb\u3001:;,'
    390 JA_SENTENCE_ENDING_PUNCTUATION = u'\u3002\uff0e\\.'
    391 JA_UNSEPARATABLE_CHARACTERS = u'\u2014\u2026\u2025\u3033\u3034\u3035'
    392 JA_CANNOT_START_LINE = JA_CLOSING_BRACKETS + JA_CHARACTERS + JA_HYPHENS + JA_DELIMITERS + JA_MID_SENTENCE_PUNCTUATION + JA_SENTENCE_ENDING_PUNCTUATION
    393 JA_CANNOT_END_LINE = JA_OPENING_BRACKETS
    394 JA_DO_NOT_SPLIT = JA_UNSEPARATABLE_CHARACTERS
    395 ZH_CN_CANNOT_START_LINE = u'\\!%\\),\\.:;>\\?\\]\\}\xa2\xa8\xb0\xb7\u02c7\u02c9\u2015\u2016\u2019\u201d\u201e\u201f\u2020\u2021\u203a\u2103\u2236\u3001\u3002\u3003\u3006\u3009\u300b\u300d\u300f\u3011\u3015\u3017\u301e\ufe35\ufe39\ufe3d\ufe3f\ufe43\ufe58\ufe5a\ufe5c\uff01\uff02\uff05\uff07\uff09\uff0c\uff0e\uff1a\uff1b\uff1f\uff3d\uff40\uff5c\uff5d\uff5e'
    396 ZH_CN_CANNOT_END_LINE = u'\\$\\(\\[\\{\\*,<\xa3\xa5\xb7\u2018\u201c\u3008\u300a\u300c\u300e\u3010\u3014\u3016\u301d\ufe57\ufe59\ufe5b\uff04\uff08\uff0e\uff3b\uff5b\uffe1\uffe5'
    397 KO_CANNOT_START_LINE = u'\\!%\\),\\.:;\\?\\]\\}\xa2\xb0\u2019\u201d\u2020\u2021\u2103\u3006\u3009\u300b\u300d\u300f\u3015\uff01\uff05\uff09\uff0c\uff0e\uff1a\uff1b\uff1f\uff3d\uff5d'
    398 KO_CANNOT_END_LINE = u'\\$\\(\\[\\\\{\xa3\xa5\u2018\u201c\u3005\u3007\u3008\u300a\u300c\u300e\u3014\uff04\uff08\uff3b\uff5b\uffe5\uffe6#'
    399 RU_ADDITIONAL_VALID_CHARACTERS = u'\u0301'
    400 REGEX_CANNOT_START_LINE = EN_US_CANNOT_START_LINE + JA_CANNOT_START_LINE + ZH_CN_CANNOT_START_LINE + KO_CANNOT_START_LINE
    401 REGEX_CANNOT_END_LINE = JA_CANNOT_END_LINE + ZH_CN_CANNOT_START_LINE + KO_CANNOT_END_LINE
    402 REGEX_DO_NOT_SPLIT = JA_DO_NOT_SPLIT
    403 REGEX_ADDITIONAL_VALID_CHARACTERS = EN_ADDITIONAL_VALID_CHARACTERS + RU_ADDITIONAL_VALID_CHARACTERS
    404 
    405 def RegexSubtractSet(startCharacter, endCharacter, characterSet):
    406     if startCharacter > endCharacter:
    407         return '[]'
    408     for char in characterSet[:]:
    409         if char < startCharacter or char > endCharacter:
    410             characterSet = characterSet.replace(char, '')
    411 
    412     if not characterSet:
    413         return '[' + startCharacter + '-' + endCharacter + ']'
    414     startOrd = ord(startCharacter)
    415     endOrd = ord(endCharacter)
    416     boundaryOrds = sorted([ (ord(char) - 1, ord(char) + 1) for char in characterSet ])
    417     finalSet = '['
    418     lastStop = lastStart = startOrd
    419     for stopAt, startAt in boundaryOrds:
    420         if stopAt > lastStop and stopAt > lastStart:
    421             finalSet += '-'.join((unichr(lastStart), unichr(stopAt)))
    422             lastStop = stopAt
    423         elif stopAt == lastStart:
    424             finalSet += unichr(stopAt)
    425             lastStop = stopAt
    426         lastStart = startAt
    427 
    428     if endOrd > startAt:
    429         finalSet += '-'.join((unichr(startAt), unichr(endOrd)))
    430     elif endOrd == startAt:
    431         finalSet += unichr(startAt)
    432     finalSet += ']'
    433     return finalSet
    434 
    435 
    436 CJK_RANGE_START = u'\u2e80'
    437 CJK_RANGE_END = u'\uffff'
    438 CJK_NORMAL_CHARACTER_SET = RegexSubtractSet(CJK_RANGE_START, CJK_RANGE_END, REGEX_CANNOT_START_LINE + REGEX_CANNOT_END_LINE + REGEX_DO_NOT_SPLIT)
    439 LINE_BREAK_BOUNDARY_REGEX = re.compile(u'(' + NUMERIC_VALUES + '|' + u'[^' + REGEX_DO_NOT_SPLIT + REGEX_CANNOT_START_LINE + u'][' + REGEX_DO_NOT_SPLIT + u']+[^' + REGEX_CANNOT_END_LINE + u']|' + u'(?<!' + REGEX_DO_NOT_SPLIT + u')[' + REGEX_CANNOT_END_LINE + u']*' + CJK_NORMAL_CHARACTER_SET + u'[' + REGEX_CANNOT_START_LINE + u']*(?!' + REGEX_DO_NOT_SPLIT + u')|' + u'(?<!' + REGEX_DO_NOT_SPLIT + u')[' + REGEX_CANNOT_END_LINE + u']*[\\w' + REGEX_ADDITIONAL_VALID_CHARACTERS + ']+[' + REGEX_CANNOT_START_LINE + u']*(?!' + REGEX_DO_NOT_SPLIT + u'))', re.UNICODE)
    440 REGEX_RANGE_LATIN = u"0-9A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\xff'\x92"
    441 REGEX_RANGE_CYRILLIC = u"0-9\u0400-\u052f\u2de0-\u2dff\ua640-\ua69f'\x92"
    442 REGEX_RANGE_GREEK = u"0-9\u0370-\u03ff\u1f00-\u1fff'\x92"
    443 REGEX_RANGE_HIRAGANA = u'\u3040-\u309f'
    444 REGEX_RANGE_KATAKANA = u'\u30a0-\u30fa\u30fd-\u30ff'
    445 REGEX_RANGE_KATAKANA_PHONETIC_EXTENSIONS = u'\u31f0-\u31ff'
    446 REGEX_RANGE_HALF_WIDTH_KATAKANA = u'\uff66-\uff9f'
    447 REGEX_RANGE_HANGUL = u'\u1100-\u11ff\u3130-\u318f\ua960-\ua97f\uac00-\ud7af\ud7b0-\ud7ff'
    448 REGEX_RANGE_CJK_IDEOGRAPHS = u'\u3300-\u4dbf\u4e00-\u9fff\uf900-\ufaff'
    449 WORD_BOUNDARY_REGEX = re.compile(u'([' + u']+ *|['.join((REGEX_RANGE_LATIN,
    450  REGEX_RANGE_CYRILLIC,
    451  REGEX_RANGE_CJK_IDEOGRAPHS,
    452  REGEX_RANGE_HIRAGANA,
    453  REGEX_RANGE_KATAKANA + REGEX_RANGE_KATAKANA_PHONETIC_EXTENSIONS,
    454  REGEX_RANGE_HALF_WIDTH_KATAKANA,
    455  REGEX_RANGE_HANGUL)) + u']+ *)', re.UNICODE)
    456 VK_H = 72
    457 VK_I = 73
    458 VK_J = 74
    459 VK_K = 75
    460 VK_L = 76
    461 VK_M = 77
    462 VK_N = 78
    463 VK_O = 79
    464 VK_A = 65
    465 VK_B = 66
    466 VK_C = 67
    467 VK_D = 68
    468 VK_E = 69
    469 VK_F = 70
    470 VK_G = 71
    471 VK_KANA = 21
    472 VK_Y = 89
    473 VK_Z = 90
    474 VK_RIGHT = 39
    475 VK_P = 80
    476 VK_Q = 81
    477 VK_R = 82
    478 VK_S = 83
    479 VK_T = 84
    480 VK_U = 85
    481 VK_V = 86
    482 VK_TAB = 9
    483 VK_SCROLL = 145
    484 VK_LAUNCH_APP2 = 183
    485 VK_CONTROL = 17
    486 VK_PA1 = 253
    487 VK_VOLUME_MUTE = 173
    488 VK_LAUNCH_APP1 = 182
    489 VK_RSHIFT = 161
    490 VK_NEXT = 34
    491 VK_X = 88
    492 VK_BROWSER_REFRESH = 168
    493 VK_NUMLOCK = 144
    494 VK_ADD = 107
    495 VK_MEDIA_NEXT_TRACK = 176
    496 VK_8 = 56
    497 VK_9 = 57
    498 VK_0 = 48
    499 VK_1 = 49
    500 VK_2 = 50
    501 VK_3 = 51
    502 VK_4 = 52
    503 VK_5 = 53
    504 VK_6 = 54
    505 VK_7 = 55
    506 VK_PRIOR = 33
    507 VK_ACCEPT = 30
    508 VK_BACK = 8
    509 VK_APPS = 93
    510 VK_RBUTTON = 2
    511 VK_HELP = 47
    512 VK_RWIN = 92
    513 VK_SELECT = 41
    514 VK_HANJA = 25
    515 VK_RETURN = 13
    516 VK_F9 = 120
    517 VK_DECIMAL = 110
    518 VK_EXSEL = 248
    519 VK_F3 = 114
    520 VK_F2 = 113
    521 VK_F1 = 112
    522 VK_F7 = 118
    523 VK_F6 = 117
    524 VK_F5 = 116
    525 VK_F4 = 115
    526 VK_SHIFT = 16
    527 VK_ZOOM = 251
    528 VK_CANCEL = 3
    529 VK_BROWSER_SEARCH = 170
    530 VK_W = 87
    531 VK_CLEAR = 12
    532 VK_BROWSER_STOP = 169
    533 VK_MENU = 18
    534 VK_OEM_4 = 219
    535 VK_OEM_5 = 220
    536 VK_OEM_6 = 221
    537 VK_OEM_7 = 222
    538 VK_OEM_1 = 186
    539 VK_OEM_2 = 191
    540 VK_MULTIPLY = 106
    541 VK_JUNJA = 23
    542 VK_OEM_8 = 223
    543 VK_UP = 38
    544 VK_MEDIA_PLAY_PAUSE = 179
    545 VK_LAUNCH_MAIL = 180
    546 VK_OEM_CLEAR = 254
    547 VK_ESCAPE = 27
    548 VK_SLEEP = 95
    549 VK_PLAY = 250
    550 VK_INSERT = 45
    551 VK_DOWN = 40
    552 VK_LAUNCH_MEDIA_SELECT = 181
    553 VK_LSHIFT = 160
    554 VK_PAUSE = 19
    555 VK_OEM_3 = 192
    556 VK_HOME = 36
    557 VK_KANJI = 25
    558 VK_BROWSER_HOME = 172
    559 VK_NONAME = 252
    560 VK_LCONTROL = 162
    561 VK_ATTN = 246
    562 VK_F22 = 133
    563 VK_F23 = 134
    564 VK_F20 = 131
    565 VK_F21 = 132
    566 VK_BROWSER_BACK = 166
    567 VK_F24 = 135
    568 VK_END = 35
    569 VK_VOLUME_UP = 175
    570 VK_PRINT = 42
    571 VK_NONCONVERT = 29
    572 VK_F8 = 119
    573 VK_LEFT = 37
    574 VK_OEM_102 = 226
    575 VK_XBUTTON2 = 6
    576 VK_XBUTTON1 = 5
    577 VK_PROCESSKEY = 229
    578 VK_SEPARATOR = 108
    579 VK_SPACE = 32
    580 VK_LMENU = 164
    581 VK_CRSEL = 247
    582 VK_SUBTRACT = 109
    583 VK_RCONTROL = 163
    584 VK_NUMPAD9 = 105
    585 VK_NUMPAD8 = 104
    586 VK_BROWSER_FAVORITES = 171
    587 VK_NUMPAD3 = 99
    588 VK_NUMPAD2 = 98
    589 VK_NUMPAD1 = 97
    590 VK_NUMPAD0 = 96
    591 VK_NUMPAD7 = 103
    592 VK_NUMPAD6 = 102
    593 VK_NUMPAD5 = 101
    594 VK_NUMPAD4 = 100
    595 VK_OEM_COMMA = 188
    596 VK_LWIN = 91
    597 VK_OEM_MINUS = 189
    598 VK_MEDIA_PREV_TRACK = 177
    599 VK_MEDIA_STOP = 178
    600 VK_MBUTTON = 4
    601 VK_MODECHANGE = 31
    602 VK_OEM_PLUS = 187
    603 VK_HANGUL = 21
    604 VK_EREOF = 249
    605 VK_F18 = 129
    606 VK_DELETE = 46
    607 VK_PACKET = 231
    608 VK_OEM_PERIOD = 190
    609 VK_EXECUTE = 43
    610 VK_FINAL = 24
    611 VK_CONVERT = 28
    612 VK_CAPITAL = 20
    613 VK_LBUTTON = 1
    614 VK_BROWSER_FORWARD = 167
    615 VK_VOLUME_DOWN = 174
    616 VK_DIVIDE = 111
    617 VK_F19 = 130
    618 VK_SNAPSHOT = 44
    619 VK_RMENU = 165
    620 VK_F13 = 124
    621 VK_F12 = 123
    622 VK_F11 = 122
    623 VK_F10 = 121
    624 VK_F17 = 128
    625 VK_F16 = 127
    626 VK_F15 = 126
    627 VK_F14 = 125
    628 if 'VK_CONTROL' not in locals():
    629     VK_CONTROL = 1
    630     VK_MENU = 2
    631     VK_SHIFT = 3
    632     VK_MBUTTON = 4
    633     VK_XBUTTON1 = 5
    634     VK_XBUTTON2 = 6
    635 MODKEYS = (VK_CONTROL,
    636  VK_MENU,
    637  VK_SHIFT,
    638  VK_MBUTTON,
    639  VK_XBUTTON1,
    640  VK_XBUTTON2) + ((VK_LWIN,) if sys.platform.startswith('darwin') else ())
    641 PUSHALIGNMENTS = frozenset([Align.TOLEFT,
    642  Align.TOTOP,
    643  Align.TORIGHT,
    644  Align.TOBOTTOM,
    645  Align.TOLEFT_PROP,
    646  Align.TOTOP_PROP,
    647  Align.TORIGHT_PROP,
    648  Align.TOBOTTOM_PROP,
    649  Align.TOTOP_STICKY])
    650 
    651 def is_push_alignment(alignment):
    652     return alignment in PUSHALIGNMENTS
    653 
    654 
    655 AFFECTEDBYPUSHALIGNMENTS = PUSHALIGNMENTS | {Align.TOALL,
    656  Align.TOLEFT_NOPUSH,
    657  Align.TOTOP_NOPUSH,
    658  Align.TORIGHT_NOPUSH,
    659  Align.TOBOTTOM_NOPUSH,
    660  Align.VERTICALLY_CENTERED,
    661  Align.HORIZONTALLY_CENTERED}
    662 
    663 def is_affected_by_push_alignment(alignment):
    664     return alignment in AFFECTEDBYPUSHALIGNMENTS
    665 
    666 
    667 PROPORTIONALALIGNMENTS = frozenset([Align.TOLEFT_PROP,
    668  Align.TOTOP_PROP,
    669  Align.TORIGHT_PROP,
    670  Align.TOBOTTOM_PROP])
    671 ALIGNMENTS_WITH_RELEVANT_WIDTH = frozenset([Align.TOPLEFT,
    672  Align.TOPRIGHT,
    673  Align.BOTTOMLEFT,
    674  Align.BOTTOMRIGHT,
    675  Align.CENTER,
    676  Align.CENTERLEFT,
    677  Align.CENTERTOP,
    678  Align.CENTERRIGHT,
    679  Align.CENTERBOTTOM,
    680  Align.CENTER_PRESERVE_ASPECT,
    681  Align.CENTER_PRESERVE_ASPECT_CLIP,
    682  Align.TOLEFT,
    683  Align.TOLEFT_NOPUSH,
    684  Align.TOLEFT_PROP,
    685  Align.TORIGHT,
    686  Align.TORIGHT_NOPUSH,
    687  Align.TORIGHT_PROP,
    688  Align.HORIZONTALLY_CENTERED])
    689 ALIGNMENTS_WITH_RELEVANT_HEIGHT = frozenset([Align.TOPLEFT,
    690  Align.TOPRIGHT,
    691  Align.BOTTOMLEFT,
    692  Align.BOTTOMRIGHT,
    693  Align.CENTER,
    694  Align.CENTERLEFT,
    695  Align.CENTERTOP,
    696  Align.CENTERRIGHT,
    697  Align.CENTERBOTTOM,
    698  Align.CENTER_PRESERVE_ASPECT,
    699  Align.CENTER_PRESERVE_ASPECT_CLIP,
    700  Align.TOTOP,
    701  Align.TOTOP_NOPUSH,
    702  Align.TOTOP_PROP,
    703  Align.TOBOTTOM,
    704  Align.TOBOTTOM_NOPUSH,
    705  Align.TOBOTTOM_PROP,
    706  Align.VERTICALLY_CENTERED])
    707 ALIGNMENTS_WITH_INCLUDED_HORIZONTAL_PADDING = frozenset([Align.TOPLEFT,
    708  Align.TOPRIGHT,
    709  Align.BOTTOMLEFT,
    710  Align.BOTTOMRIGHT,
    711  Align.CENTER,
    712  Align.CENTERLEFT,
    713  Align.CENTERTOP,
    714  Align.CENTERRIGHT,
    715  Align.CENTERBOTTOM,
    716  Align.CENTER_PRESERVE_ASPECT,
    717  Align.CENTER_PRESERVE_ASPECT_CLIP,
    718  Align.TOLEFT_PROP,
    719  Align.TORIGHT_PROP])
    720 ALIGNMENTS_WITH_INCLUDED_VERTICAL_PADDING = frozenset([Align.TOPLEFT,
    721  Align.TOPRIGHT,
    722  Align.BOTTOMLEFT,
    723  Align.BOTTOMRIGHT,
    724  Align.CENTER,
    725  Align.CENTERLEFT,
    726  Align.CENTERTOP,
    727  Align.CENTERRIGHT,
    728  Align.CENTERBOTTOM,
    729  Align.CENTER_PRESERVE_ASPECT,
    730  Align.CENTER_PRESERVE_ASPECT_CLIP,
    731  Align.TOTOP_PROP,
    732  Align.TOBOTTOM_PROP])
    733 BUTTONGROUPMARGIN = (4, 3)
    734 NOT_CHECKED = 0
    735 HALF_CHECKED = 1
    736 FULL_CHECKED = 2
    737 SOUND_BUTTON_HOVER = 'ui_button_soft1_play'
    738 SOUND_BUTTON_CLICK = 'ui_button_soft4_play'
    739 SOUND_ENTRY_HOVER = 'ui_button_soft2_play'
    740 SOUND_ENTRY_SELECT = 'msg_ListEntryClick_play'
    741 SOUND_TEXTEDIT_HOVER = 'ui_button_soft1_play'
    742 SOUND_VALUECHANGE_TICK = 'msg_ContextMenuEnter_play'
    743 SOUND_EXPAND = 'ui_expand_play'
    744 SOUND_COLLAPSE = 'ui_collapse_play'
    745 SOUND_CLOSE = 'ui_object_close_play'
    746 SOUND_ADD_OR_USE = 'skill_training_add_play'
    747 SOUND_REMOVE = 'skill_training_remove_play'
    748 SOUND_SETSELECTED = 'ui_button_soft4_play'
    749 SOUND_SETDESELECTED = 'msg_DiodeDeselect_play'
    750 SOUND_DRAGDROPLOOP = 'ui_loop'
    751 SOUND_ISK_RECEIVED = 'ui_money_in2_play'
    752 SOUND_ISK_PAID = 'ui_money_out_play'
    753 SCOPE_NONE = 0
    754 SCOPE_INFLIGHT = 1
    755 SCOPE_STATION = 2
    756 SCOPE_STRUCTURE = 4
    757 SCOPE_DOCKED = SCOPE_STATION | SCOPE_STRUCTURE
    758 SCOPE_INGAME = SCOPE_DOCKED | SCOPE_INFLIGHT
    759 SCOPE_ALL = -1
    760 UI_DEFAULT_WIDTH_THRESHOLD_LARGE = 1800
    761 UI_DEFAULT_HEIGHT_THRESHOLD_LARGE = 1020
    762 UI_DEFAULT_WIDTH_THRESHOLD_MEDIUM = 1280
    763 UI_DEFAULT_HEIGHT_THRESHOLD_MEDIUM = 900
    764 DEFAULT_MODAL_OPACITY = 0.5
    765 DEFAULT_MODAL_SCENE_SATURATION = 0.0
    766 defaultPadding = 4
    767 GOLDEN_RATIO = 1.61803
    768 CARET_BLINK_INTERVAL_MS = 400
    769 AUTO_UI_SCALE_OPTION_ID = 'auto'
    770 
    771 class PickState(object):
    772     OFF = 0
    773     ON = 1
    774     CHILDREN = 2
    775 
    776 
    777 class Axis(object):
    778     VERTICAL = 1
    779     HORIZONTAL = 2
    780 
    781 
    782 class AxisAlignment(object):
    783     START = 1
    784     CENTER = 2
    785     END = 3
    786 
    787 
    788 class SpriteEffect(object):
    789     FILL = 0
    790     FILL_AA = 1
    791     COPY = 32
    792     MODULATE = 64
    793     FONT = 42
    794     DROPSHADOW = 35
    795     MASK = 65
    796     NOALPHA = 34
    797     COLOROVERLAY = 36
    798     SOFTLIGHT = 37
    799     BLUR = 38
    800     BLURBACKGROUNDCOLORE = 39
    801     BLURBACKGROUND = 40
    802     DOT = 33
    803 
    804 
    805 class BlendMode(object):
    806     BLEND = 1
    807     ADD = 2
    808     ADDX2 = 3
    809 
    810 
    811 class OutputMode(object):
    812     COLOR = 1
    813     GLOW = 2
    814     COLOR_AND_GLOW = 3
    815 
    816 
    817 class Density(enum.Enum):
    818     NORMAL = 1
    819     COMPACT = 2
    820     EXPANDED = 3
    821 
    822 
    823 class IdealSize(object):
    824     SIZE_240 = 240
    825     SIZE_410 = 410
    826     SIZE_480 = 480
    827     SIZE_720 = 720
    828     SIZE_960 = 960
    829     SIZE_1200 = 1200
    830     SIZE_1440 = 1440
    831     SIZE_1680 = 1680
    832     SIZE_1920 = 1920