
    ai6                     d   S SK r S SKJrJrJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr   " S S\5      r " S	 S
\5      r " S S5      r " S S\\5      r " S S\\	\5      r " S S\\5      rS r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      rS/S jrS/S jrS r " S S \\5      r " S! S"\\5      r " S# S$\\5      r " S% S&\\5      r " S' S(\\5      r  " S) S*\\5      r! " S+ S,\\\5      r"\\\\\\\\\\\\!\ \\"\4r#\$S-:X  a  S S.K%J&r&  \# H  r'\&" \'5        M     gg)0    N)MenuPanelUIList)contexts)PropertyPanel)find_node_input)PropertiesAnimationMixinc                       \ rS rSrSrS rSrg)MATERIAL_MT_context_menu   zMaterial Specialsc                     U R                   nUR                  SSS9  UR                  S5        UR                  SSS9  UR                  S5        UR                  S5        g )	Nzmaterial.copyCOPYDOWN)iconzobject.material_slot_copyzmaterial.paste	PASTEDOWNz"object.material_slot_remove_unusedzobject.material_slot_remove_all)layoutoperator)self_contextr   s      a/home/wildlama/Downloads/blender-5.1.2-linux-x64/5.1/scripts/startup/bl_ui/properties_material.pydrawMATERIAL_MT_context_menu.draw   sS    j934({;<=9:     N)__name__
__module____qualname____firstlineno__bl_labelr   __static_attributes__r   r   r   r   r      s    "H;r   r   c                       \ rS rSrS rSrg)MATERIAL_UL_matslots   c	                     Un	U	R                   n
UR                  SU
5        UR                  SU	5        U
(       a  UR                  U
SSSUS9  g UR                  SUS9  g )Nidmaterial_slotname F)textemboss
icon_value)r(   r*   )materialcontext_pointer_setproplabel)r   r   r   _dataitemr   _active_data_active_propname_indexslotmas              r   	draw_itemMATERIAL_UL_matslots.draw_item   s[     ]]""4,""?D9KKFEdKKLLbTL2r   r   N)r   r   r   r   r6   r   r   r   r   r!   r!      s    3r   r!   c                   0    \ rS rSrSrSrSr\S 5       rSr	g)MaterialButtonsPanel,   
PROPERTIESWINDOWr+   c                     UR                   nU=(       a1    UR                  U R                  ;   =(       a    UR                  (       + $ N)r+   engineCOMPAT_ENGINESgrease_pencilclscontextmats      r   pollMaterialButtonsPanel.poll2   s5    W#*<*<<WcFWFWBWWr   r   N)
r   r   r   r   bl_space_typebl_region_type
bl_contextclassmethodrF   r   r   r   r   r9   r9   ,   s'     MNJ X Xr   r9   c                   *    \ rS rSrSrS1rS1rS rSrg)MATERIAL_PT_preview8   PreviewDEFAULT_CLOSEDBLENDER_EEVEEc                 N    U R                   R                  UR                  5        g r>   )r   template_previewr+   r   rD   s     r   r   MATERIAL_PT_preview.draw=   s    $$W%5%56r   r   N)	r   r   r   r   r   
bl_optionsr@   r   r   r   r   r   rM   rM   8   s    H"#J%&N7r   rM   c                   L    \ rS rSr1 SkrSr\R                  R                  r	Sr
g)MATERIAL_PT_custom_propsA   >   rQ   BLENDER_RENDERBLENDER_WORKBENCHr+   r   N)r   r   r   r   r@   _context_pathbpytypesMaterial_property_typer   r   r   r   rX   rX   A   s    N
 MYY''Nr   rX   c                   @    \ rS rSrSrSrS1rSS1r\S 5       r	S r
S	rg
)"EEVEE_MATERIAL_PT_context_materialK   r'   r+   HIDE_HEADERrQ   r[   c                     UR                   nUR                  nU(       a  UR                  (       a  gU(       a  UR                  S:X  a  gU=(       d    U=(       a    UR                  U R
                  ;   $ )NFGREASEPENCIL)objectr+   rA   typer?   r@   )rC   rD   obrE   s       r   rF   'EEVEE_MATERIAL_PT_context_material.pollT   sZ    ^^3$$"''^+ Y3 3^^s111	
r   c           
         U R                   nUR                  nUR                  nUR                  nUR                  nU(       a  [        UR                  5      S:  nSnU(       a  SnUR                  5       n	U	R                  SSUSUSUS9  U	R                  S	S
9n
U
R                  SSSS9  U
R                  SSSS9  U
R                  5         U
R                  SSSS9  U(       a<  U
R                  5         SU
R                  SSSS9l        SU
R                  SSSS9l        UR                  5       n	U(       az  U	R                  USSS9  U(       a  U	R                  USS	S9  UR                   S:X  a@  UR                  S	S
9n	U	R                  SSS9  U	R                  S S!S9  U	R                  S"S#S9  g g U(       a  U	R                  US$5        g g )%N         r!   r'   material_slotsactive_material_index)rowsTalignzobject.material_slot_addADD)r   r(   zobject.material_slot_removeREMOVEr   DOWNARROW_HLTUPzobject.material_slot_moveTRIA_UPDOWN	TRIA_DOWNactive_materialzmaterial.new)newlink)	icon_onlyEDITzobject.material_slot_assignAssignr(   zobject.material_slot_selectSelectzobject.material_slot_deselectDeselectpin_id)r   r+   rg   r%   
space_datalenro   rowtemplate_listcolumnr   	separatormenu	directiontemplate_IDr-   mode)r   rD   r   rE   ri   r4   spaceis_sortablerq   r   cols              r   r   'EEVEE_MATERIAL_PT_context_material.drawc   s   ^^$$""b//014KD**,C4b">NPRTkrvw**4*(CLL3%bLILL6XBLOMMOHH/oBHO_c8yrR\ag8{QST^jjlOOB 1~OFv6ww& jjtj,:J:J<:N	 ! OOE8, r   r   Nr   r   r   r   r   rJ   rV   r@   rK   rF   r   r   r   r   r   rb   rb   K   s9    HJJN
 
 
/-r   rb   c                     UR                  S5      nU(       a5  [        XC5      nU(       a  U R                  XU5        g U R                  SS9  g U R                  SS9  g )NEEVEEzIncompatible output noder   zNo output node)get_output_noder   template_node_viewr.   )r   ntree_output_type
input_namenodeinputs         r   panel_node_drawr      sP      )D1%%e59LL8L9*+r   c                   (    \ rS rSrSrSrS1rS rSrg)EEVEE_MATERIAL_PT_surface   Surfacer+   rQ   c                 p    U R                   nUR                  nSUl        [        X#R                  SS5        g )NTOUTPUT_MATERIALr   )r   r+   use_property_splitr   	node_treer   rD   r   rE   s       r   r   EEVEE_MATERIAL_PT_surface.draw   s/    $(!/@)Lr   r   N	r   r   r   r   r   rJ   r@   r   r   r   r   r   r   r      s    HJ%&NMr   r   c                   V    \ rS rSrSr\R                  rSrS1r	S1r
\S 5       rS rSrg	)
EEVEE_MATERIAL_PT_volume   Volumer+   rP   rQ   c                     UR                   nUR                  nU=(       a&    X R                  ;   =(       a    UR                  (       + $ r>   r?   r+   r@   rA   rC   rD   r?   rE   s       r   rF   EEVEE_MATERIAL_PT_volume.poll   8    O"4"44Oc>O>O:OOr   c                 p    U R                   nSUl        UR                  n[        X#R                  SS5        g )NTr   r   r   r   r+   r   r   r   s       r   r   EEVEE_MATERIAL_PT_volume.draw   s/    $(!/@(Kr   r   N)r   r   r   r   r   i18n_contextsid_idbl_translation_contextrJ   rV   r@   rK   rF   r   r   r   r   r   r   r      sB    H*00J"#J%&NP P
Lr   r   c                   >    \ rS rSrSrSrS1rS1r\S 5       r	S r
Srg	)
EEVEE_MATERIAL_PT_displacement   Displacementr+   rP   rQ   c                     UR                   nUR                  nU=(       a&    X R                  ;   =(       a    UR                  (       + $ r>   r   r   s       r   rF   #EEVEE_MATERIAL_PT_displacement.poll   r   r   c                 p    U R                   nSUl        UR                  n[        X#R                  SS5        g )NTr   r   r   r   s       r   r   #EEVEE_MATERIAL_PT_displacement.draw   s/    $(!/@.Qr   r   Nr   r   r   r   r   r      s6    HJ"#J%&NP P
Rr   r   c                   V    \ rS rSrSr\R                  rSrS1r	S1r
\S 5       rS rSrg	)
EEVEE_MATERIAL_PT_thickness   	Thicknessr+   rP   rQ   c                     UR                   nUR                  nU=(       a&    X R                  ;   =(       a    UR                  (       + $ r>   r   r   s       r   rF    EEVEE_MATERIAL_PT_thickness.poll   r   r   c                 p    U R                   nSUl        UR                  n[        X#R                  SS5        g )NTr   r   r   r   s       r   r    EEVEE_MATERIAL_PT_thickness.draw   s/    $(!/@+Nr   r   N)r   r   r   r   r   r   id_materialr   rJ   rV   r@   rK   rF   r   r   r   r   r   r   r      sB    H*66J"#J%&NP P
Or   r   c                    U R                  SS9nUR                  USSS9  UR                  USSS9  UR                  USS	S9  U R                  S
S9nU(       a   UR                  USSS9  UR                  S
S9nUR                  S:g  Ul        U(       a  SOSnUR                  USUS9  UR                  S:X  a  U R	                  SSS9  U(       a  U R                  US5        U R                  5       nUR                  USSS9  UR
                  S:X  a  UR                  USSS9  O!UR
                  S:X  a  UR                  USSS9  U R                  5       nUR                  USS S9  UR
                  S:X  a  UR                  US!S"S9  g g )#NzBackface Cullingheadinguse_backface_cullingCamerar   use_backface_culling_shadowShadow&use_backface_culling_lightprobe_volumezLight Probe VolumeTrr   displacement_methodr   BUMPzMax DistancezMax Displacementmax_vertex_displacementDISPLACEMENTzUnsupported displacement methodERROR)r(   r   use_transparent_shadowsurface_render_methodzRender MethodBLENDEDuse_transparency_overlapzTransparency OverlapDITHEREDuse_raytrace_refractionzRaytraced Transmissionthickness_moder   use_thickness_from_shadowzFrom Shadow)r   r-   r   enabledr.   r   )r   rE   is_eeveer   max_diplacement_texts        r   draw_material_surface_settingsr      s   
-- 2-
3CHHS(xH8HHS/hH?HHS:AUHV
--d-
#C+.Ajjtj$))V3CK-5>;MHHS+2FHG
.0;'JC12
--/CHHS)H@
  I-07MN		"	"j	0/6NO
--/CHHS"H5
  J.1F /r   c                 8    U R                  USU(       a  SOSS9  g )Nvolume_intersection_methodIntersectionzVolume Intersectionr   )r-   )r   rE   r   s      r   draw_material_volume_settingsr     s    
KK1(XmKnr   c                     U R                   nSUl        SUl        UR                  n[	        X#S5        [        X#S5        g NTF)r   r   use_property_decorater+   r   r   r   s       r   draw_material_settingsr     s:    [[F $F#(F 


C"66!&u5r   c                   ,    \ rS rSrSrSrSrS1rS rSr	g)	#EEVEE_MATERIAL_PT_viewport_settingsi'  Settingsr+   MATERIAL_PT_viewportrZ   c                     [        X5        g r>   )r   rT   s     r   r   (EEVEE_MATERIAL_PT_viewport_settings.draw-  s
    t-r   r   N
r   r   r   r   r   rJ   bl_parent_idr@   r   r   r   r   r   r   r   '  s    HJ)L&'N.r   r   c                   (    \ rS rSrSrSrS1rS rSrg)EEVEE_MATERIAL_PT_settingsi1  r   r+   rQ   c                 t    U R                   nSUl        SUl        UR                  nUR	                  US5        g )NTF
pass_index)r   r   r   r+   r-   r   s       r   r   EEVEE_MATERIAL_PT_settings.draw6  s4    $(!',$C&r   r   Nr   r   r   r   r   r   1  s    HJ%&N'r   r   c                   ,    \ rS rSrSrSrSrS1rS rSr	g)	"EEVEE_MATERIAL_PT_settings_surfacei@  r   r+   r   rQ   c                 f    U R                   nSUl        SUl        UR                  n[	        X#5        g r   )r   r   r   r+   r   r   s       r   r   'EEVEE_MATERIAL_PT_settings_surface.drawF  s.    $(!',$&v3r   r   Nr   r   r   r   r   r   @  s    HJ/L%&N4r   r   c                   ,    \ rS rSrSrSrSrS1rS rSr	g)	!EEVEE_MATERIAL_PT_settings_volumeiP  r   r+   r   rQ   c                 f    U R                   nSUl        SUl        UR                  n[	        X#5        g r   )r   r   r   r+   r   r   s       r   r   &EEVEE_MATERIAL_PT_settings_volume.drawV  s.    $(!',$%f2r   r   Nr   r   r   r   r   r   P  s    HJ/L%&N3r   r   c                   <    \ rS rSrSrSrS1rSr\S 5       r	S r
Srg	)
r   i`  zViewport Displayr+   rP   
   c                 N    UR                   nU=(       a    UR                  (       + $ r>   r+   rA   rB   s      r   rF   MATERIAL_PT_viewport.pollf  !    ,3,,,,r   c                     U R                   nSUl        UR                  nUR                  5       nUR	                  USSS9  UR	                  US5        UR	                  US5        g )NTdiffuse_colorColorr   metallic	roughness)r   r   r+   r   r-   )r   rD   r   rE   r   s        r   r   MATERIAL_PT_viewport.drawk  sW    $(!mmooG4j!k"r   r   N)r   r   r   r   r   rJ   rV   bl_orderrK   rF   r   r   r   r   r   r   r   `  s0    !HJ"#JH- -	#r   r   c                   8    \ rS rSrSrS1rSr\S 5       rS r	Sr
g)	MATERIAL_PT_lineartiw  zLine ArtrP   r   c                 N    UR                   nU=(       a    UR                  (       + $ r>   r  rB   s      r   rF   MATERIAL_PT_lineart.poll|  r  r   c           	      :   U R                   nSUl        UR                  nUR                  nUR	                  USSS9  UR                  SS9nUR                  Ul        UR                  SSS9n[        S5       H-  nUR	                  US	S
USS9  US:X  d  M  UR                  SS9nM/     UR                  SSS9nUR	                  USSS9  UR                  SS9nUR	                  USSS9  UR                  5       nUR                  Ul        UR	                  USSS9  g )NTuse_material_maskzMaterial Maskr   rr   Masks)rs   r      use_material_mask_bits )r(   indextogglerm   zCustom Occlusionmat_occlusionLevelszIntersection Priorityr   "use_intersection_priority_overrider'   intersection_priority)r   r   r+   lineartr-   r   r  activer   ranger  )	r   rD   r   rE   r  r   r   isubrows	            r   r   MATERIAL_PT_lineart.draw  s   $(!++G0Gmm$m'..
ggD'g2qAHHW6SRVHWAvggDg) 
 jjt-?j@/9jj!8j9>RHBBG42>r   r   N)r   r   r   r   r   rV   r  rK   rF   r   r   r   r   r   r  r  w  s+    H"#JH- -?r   r  c                   "    \ rS rSr1 SkrS rSrg)MATERIAL_PT_animationi  >   rQ   rZ   r[   c                 8   U R                   nSUl        SUl        UR                  nUR	                  SS9nUR                  SS9  U R                  XU5        UR                  =n(       a1  UR	                  SS9nUR                  SS9  U R                  XU5        g g )NTFrr   r_   r   zShader Node Tree)r   r   r   r+   r   r.   draw_action_and_slot_selectorr   )r   rD   r   r+   r   r   s         r   r   MATERIAL_PT_animation.draw  s    $(!',$ ##mm$m'		z	"**7B ***9*--d-+CII-I...wYG +r   r   N)r   r   r   r   r@   r   r   r   r   r   r#  r#    s    NHr   r#  __main__)register_class)T)(r]   	bpy.typesr   r   r   bpy.app.translationsr   r   rna_prop_uir   bpy_extras.node_utilsr   bl_ui.space_propertiesr	   r   r!   r9   rM   rX   rb   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r#  classesr   	bpy.utilsr(  rC   r   r   r   <module>r0     s  
  ) ) : % 1 ;
;t 
;36 3"	X 	X7. 7(3]E (G-)=u G-T
,M 4e ML3U L.R%95 R,O"6 O.!GHo6.*> .'!5u '4)=u 4 3(<e 3 #/ #."?. "?JH0%9Q H4 &"&%'!( z(s  r   