<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
	
<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


 
	
<meta>
<topic id="textshared02paintbrushxml" indexer="include">
<title id="tit" xml-lang="en-US">Format Paintbrush</title>
<filename>/text/shared/02/paintbrush.xhp</filename>
</topic>
</meta>
<body>
<section id="paintbrush">
<bookmark xml-lang="en-US" branch="hid/.uno:FormatPaintbrush" id="bm_id1629078" localize="false"/>
<bookmark xml-lang="en-US" branch="hid/.uno:FormatPaintbrush" id="bm_id3944822" localize="false"/>
<paragraph role="heading" id="par_idN1056A" xml-lang="en-US" level="1" l10n="NEW"><link href="text/shared/02/paintbrush.xhp">Format Paintbrush</link></paragraph>
<paragraph role="paragraph" id="par_idN1057A" xml-lang="en-US" l10n="CHG"><ahelp hid=".">First select some text or an object, then click this icon. Then click on or drag across other text or click an object to apply the same formatting.</ahelp><comment>i93691</comment></paragraph>
<section id="howtoget">
<paragraph role="paragraph" id="par_idN10617" xml-lang="en-US" l10n="NEW">Click the <emph>Format Paintbrush</emph> icon 
<image id="img_id3610034" src="res/commandimagelist/sc_formatpaintbrush.png" width="0.423cm" height="0.423cm"><alt id="alt_id3610034" xml-lang="en-US">Icon</alt>
	</image> on the <emph>Standard</emph> toolbar. </paragraph>
</section>
<section id="sypaintbrush">
<table id="tbl_id4703817">
<tablerow>
<tablecell>
<paragraph role="paragraph" id="par_idN10639" xml-lang="en-US" l10n="NEW">
<image id="img_id5406964" src="res/commandimagelist/sc_formatpaintbrush.png" width="0.423cm" height="0.423cm"><alt id="alt_id5406964" xml-lang="en-US">Icon</alt>
	</image></paragraph>
</tablecell>
<tablecell>
<paragraph role="tablecontent" id="par_idN10657" xml-lang="en-US" l10n="NEW">Format Paintbrush</paragraph>
</tablecell>
</tablerow>
</table>

</section>
</section>
<section id="relatedtopics">
<embed href="text/shared/guide/paintbrush.xhp#formatpaintbrush"/>
</section>
</body>
</helpdocument>
