
    \Eh
                         S SK JrJr  S SKJr  S SKJr  S SKJrJ	r	  SSK
JrJr   \R                  S\R                  S0r " S	 S
\5      rg! \ a    \R                  S0r N"f = f)    )hello_imguiimmapp)Game)logging)Typeadd_hook   )DrawCallbackRenderBackendzEngine.GameViewportClient:Tickz(WillowGame.WillowGameViewportClient:Tickc                   b    \ rS rSrSS jr   SS\S\S-  S\S-  S\S-  SS4
S	 jjrSS
 jr	Sr
g)HookBasedBackend   returnNc                     [         R                  [        R                  " 5       5      =nc!  [	        S[        R                  " 5        35      e[        U[        R                  SU R                  5        g )NzUnsupported game: blimgui_hooked_render)	HOOK_ADDRESSESgetr   get_treeRuntimeErrorr   r   POST_UNCONDITIONALrender)self	hook_addrs     fZ:\mnt\Skyabridged\SteamLibrary\steamapps\common\Borderlands 2\sdk_mods\blimgui\backends\hook_based.py
initializeHookBasedBackend.initialize   sV    '++DMMO<<IE!3DMMO3DEFF###KK		
    titlewidthheightcallbackc                 4   U R                  5       (       a  [        S5        g SU l        U=(       d    U R                  =(       d    U R                  U l        SU l        [        R                  R                  [        R                  " [        R                  " SSS9[        R                  " U R                  S9[        R                  " U[        R                  " U(       a  U(       d  S OX#4S9SS9S	9[        R                  " SSSS
9S9  U R!                  5         g )NzWindow already open!Fg        )fps_idleenable_idling)show_gui)sizeT)window_titlewindow_geometryrestore_previous_geometry)
fps_idling	callbacksapp_window_params)with_implotwith_markdownwith_node_editor)runner_paramsadd_ons_params)is_window_openprint_should_close_draw_callback_fallback_drawcall_theme_appliedr   manual_rendersetup_from_runner_paramsRunnerParamsr   	FpsIdlingRunnerCallbacksAppWindowParamsWindowGeometryAddOnsParamsapply_theme)r   r   r   r    r!   s        r   create_windowHookBasedBackend.create_window#   s       ()"&X$*=*=XAXAX#55 --&00#US%55!00 #."="=!&$/$>$>).fT5/% /3# "..4tfjk 	6 	
  	r   c                    [         R                  " 5       (       d  g  [        R                  R	                  5         U R                  (       aS  [         R                  " 5       (       a  S[         R                  " 5       l        [        R                  R                  5         g g ! [
         a3  n[        R                  " SU 35        U R                  5          S nANS nAff = f)NzError during rendering: T)r   is_using_hello_imguir   r8   r   	Exceptionr   errorclose_windowr4   get_runner_paramsapp_shall_exit	tear_down)r   _es      r   r   HookBasedBackend.renderD   s    //11	   '') ,,..AE--/>  **,   	 MM4QC89	 s   B   
C*)CC)r5   r4   r7   )r   N)NNN)__name__
__module____qualname____firstlineno__r   strintr
   rA   r   __static_attributes__ r   r   r   r      sZ    	
 !!(, Tz d
	
 % 
B-r   r   N)imgui_bundler   r   	mods_baser   	unrealsdkr   unrealsdk.hooksr   r   backendr
   r   Willow1Willow2r   AttributeErrorr   rU   r   r   <module>r^      sh      * 0	6@N8-} 8-   	@Ns   A A#"A#