Index: trunk/doc/developer/symbol_as_sheet.txt =================================================================== --- trunk/doc/developer/symbol_as_sheet.txt (nonexistent) +++ trunk/doc/developer/symbol_as_sheet.txt (revision 9000) @@ -0,0 +1,18 @@ +Symbol loaded as a sheet +~~~~~~~~~~~~~~~~~~~~~~~~ + +Also known as: symbol edit mode or symedit. + +When this happens, sheet->is_symbol is set to 1 which triggers a bunch of +special cases here and there. The general structure is this: + +- a symbol file is a single group (stored under a csch group in lihata) +- when the loader detects this root, this group is loaded as sheet->direct +- in sch-rnd sheet postproc some extra steps are done to load pens from the + default sheet, else all pens would be invalid; these pens are marked + ->copied_from_default=1 +- on save sheet->is_symbol decides only the direct group needs to be saved, + using the csch group root node instead of a sheet root +- on save pens that are marked ->copied_from_default==1 are not saved + (undoable pen modify always resets this bit so any pen modification forces + saving the pen)