@@ -7,14 +7,14 @@ use std::rc::Rc;
77use crate :: sbc:: command_system:: model:: Models ;
88use crate :: sbc:: panels:: editor:: Editor ;
99use crate :: sbc:: panels:: editor_base:: { FieldSet , Layout } ;
10- use crate :: sbc:: rml:: { element_by_id, escape_rml} ;
1110use crate :: sbc:: panels:: editors:: brush:: {
1211 non_empty, pattern_field, BrushAction , BrushActions , ASSETS ,
1312} ;
1413use crate :: sbc:: panels:: field:: { ChangeQueue , FieldValue , InteractionQueue } ;
1514use crate :: sbc:: panels:: fields:: { BooleanField , ChoiceField , ColorField , NumericField } ;
1615use crate :: sbc:: panels:: grid:: { list_assets, GridItem , GridView } ;
1716use crate :: sbc:: panels:: registry:: { EditorSpec , Tab } ;
17+ use crate :: sbc:: rml:: { element_by_id, escape_rml} ;
1818use crate :: sbc:: states:: { BrushKind , BrushSettings } ;
1919
2020// Mirrors TextureEditor:Register in scen_edit/view/map/texture_editor.lua.
@@ -478,16 +478,25 @@ impl TextureEditor {
478478 for ( id, visible) in [
479479 ( "texture-saved-brush-section" , material) ,
480480 ( "texture-saved-brush-grid" , material) ,
481- ( "texture-material-dialog" , material && self . material_picker_open ) ,
481+ (
482+ "texture-material-dialog" ,
483+ material && self . material_picker_open ,
484+ ) ,
482485 ( "texture-splat-section" , mode == "dnts" ) ,
483486 ] {
484487 if let Some ( elem) = element_by_id ( interface, doc, id) {
485- let _ = interface. rml_ui ( ) . element_set_class ( elem, "hidden" , !visible) ;
488+ let _ = interface
489+ . rml_ui ( )
490+ . element_set_class ( elem, "hidden" , !visible) ;
486491 }
487492 }
488493 }
489494
490- fn take_grid_clicks ( & mut self , interface : & NativeInterfaceRef , document : u64 ) -> Result < bool , Error > {
495+ fn take_grid_clicks (
496+ & mut self ,
497+ interface : & NativeInterfaceRef ,
498+ document : u64 ,
499+ ) -> Result < bool , Error > {
491500 let mut changed = false ;
492501 for id in self . saved_brush_grid . drain_clicks ( ) {
493502 if id == ADD_BRUSH_ID && self . paint_mode ( ) == "paint" {
@@ -548,39 +557,53 @@ impl TextureEditor {
548557 brush
549558 }
550559
551- fn load_saved_brush (
552- & mut self ,
553- id : & str ,
554- interface : & NativeInterfaceRef ,
555- ) {
560+ fn load_saved_brush ( & mut self , id : & str , interface : & NativeInterfaceRef ) {
556561 let Some ( saved) = self . saved_brushes . iter ( ) . find ( |brush| brush. id == id) else {
557562 return ;
558563 } ;
559564 let brush = saved. brush . clone ( ) ;
560565 self . selected_brush = Some ( id. to_string ( ) ) ;
561566 self . selected_material = Some ( saved. material . clone ( ) ) ;
562567 self . selected = brush. brush_textures . clone ( ) ;
563- self . fields . set ( "patternTexture" , FieldValue :: Text (
564- brush. pattern_texture . clone ( ) . unwrap_or_default ( ) ,
565- ) ) ;
568+ self . fields . set (
569+ "patternTexture" ,
570+ FieldValue :: Text ( brush. pattern_texture . clone ( ) . unwrap_or_default ( ) ) ,
571+ ) ;
566572 self . fields . set ( "size" , FieldValue :: Number ( brush. size ) ) ;
567- self . fields . set ( "rotation" , FieldValue :: Number ( brush. rotation ) ) ;
568- self . fields . set ( "texScale" , FieldValue :: Number ( brush. tex_scale ) ) ;
569- self . fields . set ( "texRotation" , FieldValue :: Number ( brush. tex_rotation ) ) ;
570- self . fields . set ( "texOffsetX" , FieldValue :: Number ( brush. tex_offset_x ) ) ;
571- self . fields . set ( "texOffsetY" , FieldValue :: Number ( brush. tex_offset_y ) ) ;
573+ self . fields
574+ . set ( "rotation" , FieldValue :: Number ( brush. rotation ) ) ;
575+ self . fields
576+ . set ( "texScale" , FieldValue :: Number ( brush. tex_scale ) ) ;
577+ self . fields
578+ . set ( "texRotation" , FieldValue :: Number ( brush. tex_rotation ) ) ;
579+ self . fields
580+ . set ( "texOffsetX" , FieldValue :: Number ( brush. tex_offset_x ) ) ;
581+ self . fields
582+ . set ( "texOffsetY" , FieldValue :: Number ( brush. tex_offset_y ) ) ;
572583 self . fields . set ( "mode" , FieldValue :: Text ( brush. mode ) ) ;
573- self . fields . set ( "kernelMode" , FieldValue :: Text ( brush. kernel_mode ) ) ;
574- self . fields . set ( "strength" , FieldValue :: Number ( brush. strength ) ) ;
575- self . fields . set ( "falloffFactor" , FieldValue :: Number ( brush. falloff_factor ) ) ;
576- self . fields . set ( "featureFactor" , FieldValue :: Number ( brush. feature_factor ) ) ;
584+ self . fields
585+ . set ( "kernelMode" , FieldValue :: Text ( brush. kernel_mode ) ) ;
586+ self . fields
587+ . set ( "strength" , FieldValue :: Number ( brush. strength ) ) ;
588+ self . fields
589+ . set ( "falloffFactor" , FieldValue :: Number ( brush. falloff_factor ) ) ;
590+ self . fields
591+ . set ( "featureFactor" , FieldValue :: Number ( brush. feature_factor ) ) ;
577592 self . fields . set ( "value" , FieldValue :: Number ( brush. value ) ) ;
578- self . fields . set ( "voidFactor" , FieldValue :: Number ( brush. void_factor ) ) ;
579- self . fields . set ( "splatTexScale" , FieldValue :: Number ( brush. splat_tex_scale ) ) ;
580- self . fields . set ( "splatTexMult" , FieldValue :: Number ( brush. splat_tex_mult ) ) ;
581- self . fields . set ( "exclusive" , FieldValue :: Bool ( brush. exclusive ) ) ;
582- self . fields . set ( "diffuseColor" , FieldValue :: Color ( brush. diffuse_color ) ) ;
583- self . fields . set ( "dntsIndex" , FieldValue :: Number ( ( brush. color_index - 1 ) as f32 ) ) ;
593+ self . fields
594+ . set ( "voidFactor" , FieldValue :: Number ( brush. void_factor ) ) ;
595+ self . fields
596+ . set ( "splatTexScale" , FieldValue :: Number ( brush. splat_tex_scale ) ) ;
597+ self . fields
598+ . set ( "splatTexMult" , FieldValue :: Number ( brush. splat_tex_mult ) ) ;
599+ self . fields
600+ . set ( "exclusive" , FieldValue :: Bool ( brush. exclusive ) ) ;
601+ self . fields
602+ . set ( "diffuseColor" , FieldValue :: Color ( brush. diffuse_color ) ) ;
603+ self . fields . set (
604+ "dntsIndex" ,
605+ FieldValue :: Number ( ( brush. color_index - 1 ) as f32 ) ,
606+ ) ;
584607 for channel in toggle_channels ( ) {
585608 self . fields . set (
586609 & enabled_name ( channel) ,
@@ -606,12 +629,20 @@ impl Editor for TextureEditor {
606629 let channel_toggles: Vec < String > = toggle_channels ( ) . map ( enabled_name) . collect ( ) ;
607630 self . fields . generate_rml ( & [
608631 Layout :: Raw ( self . actions . generate_rml ( ) ) ,
609- Layout :: Raw ( section_markup ( "texture-saved-brush-section" , "Saved brushes" ) ) ,
632+ Layout :: Raw ( section_markup (
633+ "texture-saved-brush-section" ,
634+ "Saved brushes" ,
635+ ) ) ,
610636 Layout :: Raw ( self . saved_brush_grid . container_rml ( ) ) ,
611637 Layout :: Raw ( section_markup ( "texture-pattern-section" , "Pattern" ) ) ,
612638 Layout :: Raw ( self . pattern_grid . container_rml ( ) ) ,
613639 Layout :: IdentifiedGroup ( & [ "size" , "rotation" , "texScale" ] ) ,
614- Layout :: IdentifiedGroup ( & channel_toggles. iter ( ) . map ( String :: as_str) . collect :: < Vec < _ > > ( ) ) ,
640+ Layout :: IdentifiedGroup (
641+ & channel_toggles
642+ . iter ( )
643+ . map ( String :: as_str)
644+ . collect :: < Vec < _ > > ( ) ,
645+ ) ,
615646 Layout :: IdentifiedGroup ( & [ "texRotation" , "texOffsetX" , "texOffsetY" ] ) ,
616647 Layout :: IdentifiedField ( "diffuseColor" ) ,
617648 Layout :: IdentifiedField ( "mode" ) ,
@@ -661,9 +692,11 @@ impl Editor for TextureEditor {
661692 }
662693 if let Some ( cancel) = element_by_id ( interface, document, "texture-material-cancel" ) {
663694 let events = self . material_picker_events . clone ( ) ;
664- interface. rml_ui ( ) . element_add_event_listener ( cancel, "click" , false , move || {
665- events. borrow_mut ( ) . push ( MaterialPickerEvent :: Cancel ) ;
666- } ) ?;
695+ interface
696+ . rml_ui ( )
697+ . element_add_event_listener ( cancel, "click" , false , move || {
698+ events. borrow_mut ( ) . push ( MaterialPickerEvent :: Cancel ) ;
699+ } ) ?;
667700 }
668701 self . render_grids ( interface, document) ?;
669702 self . apply_visibility ( interface) ;
@@ -699,10 +732,7 @@ impl Editor for TextureEditor {
699732 if self . paint_mode ( ) != "paint" && self . material_picker_open {
700733 self . material_picker_open = false ;
701734 }
702- if self
703- . take_grid_clicks ( interface, document)
704- . unwrap_or ( false )
705- {
735+ if self . take_grid_clicks ( interface, document) . unwrap_or ( false ) {
706736 let _ = self . fields . write_values ( interface) ;
707737 let _ = self . render_grids ( interface, document) ;
708738 self . apply_visibility ( interface) ;
0 commit comments