<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->

<document id="panoramas">
    <properties>
        <title>Panoramas</title>
    </properties>

    <body>
        <p>
            Panoramas scroll via four directional scroll arrows shown at the top, left, bottom, or
            right as needed. They are not as common as scroll panes in application development, but
            are used by other components such as <tt>ListButton</tt> and <tt>MenuPopup</tt> to
            present long lists of items.
        </p>

        <p>
            The following example demonstrates the <tt>Panorama</tt> component. It is identical to
            the previous example except that it uses a panorama instead of a scroll pane:
        </p>

        <application class="org.apache.pivot.wtk.ScriptApplication"
            width="400" height="320">
            <libraries>
                <library>core</library>
                <library>wtk</library>
                <library>wtk-terra</library>
                <library>tutorials</library>
            </libraries>
            <startup-properties>
                <src>/org/apache/pivot/tutorials/navigation/panoramas.bxml</src>
            </startup-properties>
        </application>

        <source type="xml" location="org/apache/pivot/tutorials/navigation/panoramas.bxml">
            <![CDATA[
            <Window title="Panoramas" maximized="true"
                xmlns:bxml="http://pivot.apache.org/bxml"
                xmlns="org.apache.pivot.wtk">
                <Border styles="{color:10}">
                    <Panorama styles="{buttonColor:'0xffffffff', buttonBackgroundColor:'0x00000044'}">
                        <ImageView image="/org/apache/pivot/tutorials/IMG_1147.jpg"
                            tooltipText="Pemaquid Point Lighthouse, Bristol ME"/>
                    </Panorama>
                </Border>
            </Window>
            ]]>
        </source>

        <p>
            Since this example contains no logic, there is no associated Java source.
        </p>
    </body>
</document>
