<?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="textshared0105250200xml" indexer="include">
<title id="tit" xml-lang="en-US">Bring Forward </title>
<filename>/text/shared/01/05250200.xhp</filename>
</topic>
</meta>
<body>
<section id="positionnachvorn">
<bookmark xml-lang="en-US" branch="hid/.uno:Forward" id="bm_id9123117" localize="false"/>
<bookmark xml-lang="en-US" branch="hid/.uno:Forward" id="bm_id3155620" localize="false"/>
<bookmark xml-lang="en-US" branch="hid/.uno:ObjectForwardOne" id="bm_id0801200803082196" localize="false"/>
<bookmark xml-lang="en-US" branch="hid/.uno:ObjectForwardOne" id="bm_id080120080307113" localize="false"/>
<paragraph role="heading" id="hd_id3152790" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/shared/01/05250200.xhp" name="Bring Forward ">Bring Forward </link></paragraph>
<paragraph role="paragraph" id="par_id3151264" xml-lang="en-US" l10n="CHG" oldref="2"><ahelp hid=".">Moves the selected object up one level, so that it is closer to top of the stacking order.</ahelp></paragraph>
</section>
<section id="howtoget">
<embed href="text/shared/00/00040501.xhp#nachvorn"/>
</section>
<section id="relatedtopics">
<paragraph role="paragraph" id="par_id3149495" xml-lang="en-US" l10n="U" oldref="3"><link href="text/shared/01/05250000.xhp" name="Layer">Layer</link></paragraph>
</section>
</body>
</helpdocument>
