rL iXddlZddlZddlmZmZddlmZddlmZddl m Z ddl m Z m Z mZmZmZmZmZGdd ej&eZd ZGd d e ej,e ZGd dejeZGddej2eZe j6Gdde Zy)N)_apicbook)Gcf)_macosx)FigureCanvasAgg)_BackendFigureCanvasBaseFigureManagerBaseNavigationToolbar2 ResizeEvent TimerBase_allow_interruptceZdZdZy)TimerMacz6Subclass of `.TimerBase` using CFRunLoop timer events.N)__name__ __module__ __qualname____doc__h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/backends/backend_macosx.pyrr s@rrc8tdtjS)zEA context manager that allows terminating a plot by sending a SIGINT.cHtj|jSN)rwake_on_fd_writefileno)rsocks rz(_allow_interrupt_macos..sg..u||~>r)rrstoprrr_allow_interrupt_macosr!s >  NNrceZdZdZeZejdZfdZ fdZ dZ dZ dZ d fd Zd Zd d ZxZS) FigureCanvasMacmacosxctSr)FigureManagerMacclss rrzFigureCanvasMac.(s3Crc`t||d|_d|_t |_y)N)figureF)super__init__ _draw_pending _is_drawingset_timers)selfr* __class__s rr,zFigureCanvasMac.__init__*s, '" u rc|jrytj|d5t|ddd|j y#1swYxYw)z/Render the figure and update the macosx canvas.NT)r.)r.r _setattr_cmr+drawupdate)r1r2s rr5zFigureCanvasMac.draw1sH       t 6  GLN    s AAct|dds1t|dds#d|_|j|jyyy)Nr-Fr.T)getattrr-_single_shot_timer _draw_idler1s r draw_idlezFigureCanvasMac.draw_idle;s@ou5mU3!%D   # #DOO 4 46rcfd}jd}d|_|j|||jj ||j y)z/Add a single shot timer with the given callbackcJ|jj|yr)r0remove)callbacktimerr1s r callback_funcz9FigureCanvasMac._single_shot_timer..callback_funcFs J LL   &rr)intervalTN) new_timer single_shot add_callbackr0addstart)r1r@rBrAs` rr9z"FigureCanvasMac._single_shot_timerDsO '*  =(E:  rc|j5|js dddyd|_|jdddy#1swYyxYw)a  Draw method for singleshot timer This draw method can be added to a singleshot timer, which can accumulate draws while the eventloop is spinning. This method will then only draw the first time and short-circuit the others. NF)_idle_draw_cntxr-r5r;s rr:zFigureCanvasMac._draw_idleOsP ! ! # %%    "'D  IIK    sAAAcDt|||jyr)r+blitr6)r1bboxr2s rrLzFigureCanvasMac.blit_s  T rc|jj|jz }||z}||z}|jj||dt d|j |j y)NF)forward resize_event)r*dpidevice_pixel_ratioset_size_inchesr _processr<)r1widthheightscales rresizezFigureCanvasMac.resizedsb $"9"99 % ##E65#AND)224 rcft5|j|dddy#1swYyxYw)N)timeout)r!_start_event_loop)r1rZs rstart_event_loopz FigureCanvasMac.start_event_loopms0$ % 4  " "7 " 3 4 4 4s'0r)r)rrrrequired_interactive_frameworkr _timer_clsr classproperty manager_classr,r5r<r9r:rLrXr\ __classcell__r2s@rr#r#sK&."J&D&&'CDM5   4rr#c$eZdZdZdZdZdZy)NavigationToolbar2Macc tjdttj\}}}}t jj ||tfd|Dtd|Dtj ||y)Nimagesc3DK|]}|t|z dzyw)Nz.pdf)str).0 image_name data_paths r z1NavigationToolbar2Mac.__init__..{s/K :3Ii*,-6Ks c3&K|] }|| ywrr)ritooltips rrlz1NavigationToolbar2Mac.__init__..}sIgW5H'Is)r_get_data_pathzipr toolitemsrr,tuple)r1canvas_tooltips image_namesrks @rr,zNavigationToolbar2Mac.__init__vs((2 &)+=+G+G&H#8[!""++ & K$/K K II I  K ##D&1rc|jjt|t|t|t|yr)rsset_rubberbandint)r1eventx0y0x1y1s rdraw_rubberbandz%NavigationToolbar2Mac.draw_rubberbands* ""3r7CGSWc"gFrc8|jjyr)rsremove_rubberbandr;s rrz'NavigationToolbar2Mac.remove_rubberbands %%'rctjjtjd}t j d||jj}|ytjdr0tjj|tjd<|jjj||S)Nzsavefig.directoryzSave the figure) ospath expandusermplrcParamsrchoose_save_filersget_default_filenamedirnamer*savefig)r1args directoryfilenames r save_figurez!NavigationToolbar2Mac.save_figuresGG&&s||4G'HI ++,=,5,0KK,L,L,NP    <<+ ,020ICLL, - ""8,rN)rrrr,rrrrrrrdrdts2G( rrdcDeZdZeZdZdZfdZedZ dZ xZ S)r&cd|_tjj||t t j d}tjj|tj||||jtjd|j|jjtjr+|j|j j#yy)NFzimages/matplotlib.pdfzmacosx.window_mode)_shownr FigureManagerr,rhrroset_iconr _set_window_moderrtoolbarr6is_interactiveshowrsr<)r1rsnum icon_paths rr,zFigureManagerMac.__init__s &&tV4,,-DEF &&y1""45 cll+?@A << # LL   !     IIK KK ! ! # rcbtj||jjyr)rdestroyrs flush_eventsr;s r_close_button_pressedz&FigureManagerMac._close_button_presseds D   "rc|jjrK|jjj}|j|jjrKt|yr)rsr0popr r+r)r1rAr2s rrzFigureManagerMac.destroysNkk!!KK''++-E JJLkk!! rcjt5tjdddy#1swYyxYwr)r!rrr's rstart_main_loopz FigureManagerMac.start_main_loops($ %  LLN   s)2c|jjjr|jj|js|j d|_t jdr|jyy)NTzfigure.raise_window) rsr*staler<r_showrr_raiser;s rrzFigureManagerMac.showsW ;;   # # KK ! ! #{{ JJLDK <<- . KKM /r) rrrrd_toolbar2_classr,rr classmethodrrrarbs@rr&r&s0+O $# rr&c,eZdZeZeZejZy) _BackendMacN) rrrr# FigureCanvasr&rrmainlooprrrrrs"L$M//Hrr)r matplotlibrrrmatplotlib._pylab_helpersrr backend_aggrmatplotlib.backend_basesr r r r r rrTimerrr!rr#rdrr&exportrrrrrs ")(... Aw}}iA N Y4ow';';=MY4xG668J@)w,,.?)X 0(00r