<?xml version="1.0" encoding="UTF-8"?>
<!--
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
 -->
<oor:component-schema xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en-US" oor:package="org.openoffice.Office" oor:name="PresenterScreen">
  <info>
    <desc>Configuration of the Presenter Screen extension.</desc>
  </info>
  <import oor:component="org.openoffice.Office.Impress"/>
  <templates>
    <group oor:name="BitmapDescriptor">
      <info>
        <desc>Describes one bitmap that can be used as button icon or to paint
          a pane border.</desc>
      </info>
      <prop oor:name="Name" oor:type="xs:string">
        <info>
          <desc>Name of the bitmap. Used to look-up the bitmap in a container.</desc>
        </info>
      </prop>
      <prop oor:name="Text" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>Text that is displayed together with the icon.</desc>
        </info>
      </prop>
      <prop oor:name="NormalFileName" oor:type="xs:string">
        <info>
          <desc>Relative file name to the bitmap for the normal icon.</desc>
        </info>
      </prop>
      <prop oor:name="MouseOverFileName" oor:type="xs:string">
        <info>
          <desc>Relative file name to the bitmap for the mouse over icon.</desc>
        </info>
      </prop>
      <prop oor:name="ButtonDownFileName" oor:type="xs:string">
        <info>
          <desc>Relative file name to the bitmap for the button down icon.</desc>
        </info>
      </prop>
      <prop oor:name="DisabledFileName" oor:type="xs:string">
        <info>
          <desc>Relative file name to the bitmap for the icon in disabled state.</desc>
        </info>
      </prop>
      <prop oor:name="SelectedFileName" oor:type="xs:string">
        <info>
          <desc>Relative file name to the bitmap for the icon in disabled state.</desc>
        </info>
      </prop>
      <prop oor:name="MaskFileName" oor:type="xs:string">
        <info>
          <desc>The file name of the mask bitmap. Use red for pixel outside of
            the border and blue for inside pixels.</desc>
        </info>
        <value/>
      </prop>
      <prop oor:name="XOffset" oor:type="xs:int">
        <info>
          <desc>Horizontal offset to move the bitmap just outside the
            window border.</desc>
        </info>
        <value>0</value>
      </prop>
      <prop oor:name="YOffset" oor:type="xs:int">
        <info>
          <desc>Vertical offset to move the bitmap just outside the
            window border.</desc>
        </info>
        <value>0</value>
      </prop>
      <prop oor:name="XHotSpot" oor:type="xs:int">
        <info>
          <desc>Horizontal position of a hot spot.</desc>
        </info>
      </prop>
      <prop oor:name="YHotSpot" oor:type="xs:int">
        <info>
          <desc>Vertical position of a hot spot.</desc>
        </info>
      </prop>
      <prop oor:name="ReplacementColor" oor:type="xs:hexBinary">
        <info>
          <desc>Color that is used as replacement for the bitmap when the later
            can for some reason not be used.</desc>
        </info>
      </prop>
      <prop oor:name="HorizontalTexturingMode" oor:type="xs:string">
        <info>
          <desc>Horizontal texturing mode.</desc>
        </info>
        <constraints>
          <enumeration oor:value="Once">
            <info>
              <desc>Show texture only once</desc>
            </info>
          </enumeration>
          <enumeration oor:value="Repeat">
            <info>
              <desc>Repeat the texture</desc>
            </info>
          </enumeration>
          <enumeration oor:value="Stretch">
            <info>
              <desc>Stretch the texture to cover the paint area</desc>
            </info>
          </enumeration>
        </constraints>
      </prop>
      <prop oor:name="VerticalTexturingMode" oor:type="xs:string">
        <info>
          <desc>Vertical texturing mode.</desc>
        </info>
        <constraints>
          <enumeration oor:value="Once">
            <info>
              <desc>Show texture only once</desc>
            </info>
          </enumeration>
          <enumeration oor:value="Repeat">
            <info>
              <desc>Repeat the texture</desc>
            </info>
          </enumeration>
          <enumeration oor:value="Stretch">
            <info>
              <desc>Stretch the texture to cover the paint area</desc>
            </info>
          </enumeration>
        </constraints>
        <value>Once</value>
      </prop>
    </group>
    <group oor:name="ThemeBorderSize">
      <info>
        <desc>Four values describing the sizes of a border around a
          rectangular area.</desc>
      </info>
      <prop oor:name="Left" oor:type="xs:int">
        <info>
          <desc>Left border size.</desc>
        </info>
      </prop>
      <prop oor:name="Top" oor:type="xs:int">
        <info>
          <desc>Top border size.</desc>
        </info>
      </prop>
      <prop oor:name="Right" oor:type="xs:int">
        <info>
          <desc>Right border size.</desc>
        </info>
      </prop>
      <prop oor:name="Bottom" oor:type="xs:int">
        <info>
          <desc>Bottom border size.</desc>
        </info>
      </prop>
    </group>
    <group oor:name="Font">
      <info>
        <desc>Font description.</desc>
      </info>
      <prop oor:name="FamilyName" oor:type="xs:string">
        <info>
          <desc>The name of the font family.</desc>
        </info>
      </prop>
      <prop oor:name="Size" oor:type="xs:int">
        <info>
          <desc>Font size.</desc>
        </info>
      </prop>
      <prop oor:name="Style" oor:type="xs:string">
        <info>
          <desc>Something like "Bold" or "Italic" or "Bold Italic".</desc>
        </info>
      </prop>
      <prop oor:name="Color" oor:type="xs:hexBinary">
        <info>
          <desc>Font color.</desc>
        </info>
      </prop>
      <prop oor:name="Anchor" oor:type="xs:string">
        <info>
          <desc>Orientation of text. Can be left, right, or centered.</desc>
        </info>
        <constraints>
          <enumeration oor:value="Left">
            <info>
              <desc>Flush left</desc>
            </info>
          </enumeration>
          <enumeration oor:value="Right">
            <info>
              <desc>Flush right</desc>
            </info>
          </enumeration>
          <enumeration oor:value="Center">
            <info>
              <desc>Centered</desc>
            </info>
          </enumeration>
        </constraints>
      </prop>
      <prop oor:name="XOffset" oor:type="xs:int">
        <info>
          <desc>Horizontal offset in relation to the anchor point.</desc>
        </info>
      </prop>
      <prop oor:name="YOffset" oor:type="xs:int">
        <info>
          <desc>Vertical offset in relation to the anchor point.</desc>
        </info>
      </prop>
    </group>
    <group oor:name="ToolBarDescription">
      <info>
        <desc>Description of a tool bar entry state.</desc>
      </info>
      <node-ref oor:name="Font" oor:node-type="Font">
        <info>
          <desc>Font used for displaying the text.</desc>
        </info>
      </node-ref>
      <node-ref oor:name="Icon" oor:node-type="BitmapDescriptor">
        <info>
          <desc>The icon to display.</desc>
        </info>
      </node-ref>
      <prop oor:name="Text" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>The text to display.</desc>
        </info>
      </prop>
      <prop oor:name="Action" oor:type="xs:string">
        <info>
          <desc>Action to execute when a button is triggered.</desc>
        </info>
      </prop>
    </group>
    <group oor:name="ToolBarEntry">
      <info>
        <desc>Definition of a tool bar entry.</desc>
      </info>
      <prop oor:name="Name" oor:type="xs:string">
        <info>
          <desc>Name of the entry. May be used to have mode dependent entries.</desc>
        </info>
      </prop>
      <prop oor:name="Type" oor:type="xs:string">
        <info>
          <desc>Type of the entry. Examples are "Label" and "Button".</desc>
        </info>
      </prop>
      <node-ref oor:name="Normal" oor:node-type="ToolBarDescription">
        <info>
          <desc>Description of a tool bar entry in normal mode (not selected, not mouse over)</desc>
        </info>
      </node-ref>
      <node-ref oor:name="MouseOver" oor:node-type="ToolBarDescription">
        <info>
          <desc>Description of a tool bar entry when the mouse is over it.</desc>
        </info>
      </node-ref>
      <node-ref oor:name="Selected" oor:node-type="ToolBarDescription">
        <info>
          <desc>Description of a tool bar entry when it is selected.</desc>
        </info>
      </node-ref>
      <node-ref oor:name="Disabled" oor:node-type="ToolBarDescription">
        <info>
          <desc>Description of a tool bar entry when it is disabled.</desc>
        </info>
      </node-ref>
    </group>
    <group oor:name="ToolBar">
      <info>
        <desc>Definition of one tool bar.</desc>
      </info>
      <set oor:name="Entries" oor:node-type="ToolBarEntry">
        <info>
          <desc>Entries of the tool bars.</desc>
        </info>
      </set>
    </group>
    <group oor:name="Button">
      <info>
        <desc>Description of a button.</desc>
      </info>
      <prop oor:name="Name" oor:type="xs:string">
        <info>
          <desc>Name of the button that is used to look up the button.</desc>
        </info>
      </prop>
      <node-ref oor:name="Font" oor:node-type="Font">
        <info>
          <desc>Font used for displaying the text.</desc>
        </info>
      </node-ref>
      <node-ref oor:name="Icon" oor:node-type="BitmapDescriptor">
        <info>
          <desc>The icon to display.</desc>
        </info>
      </node-ref>
      <prop oor:name="Text" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>The text to display.</desc>
        </info>
      </prop>
      <prop oor:name="Action" oor:type="xs:string">
        <info>
          <desc>Action to execute when a button is triggered.</desc>
        </info>
      </prop>
    </group>
    <group oor:name="HelpEntry">
      <info>
        <desc>Description of a help entry.</desc>
      </info>
      <prop oor:name="Left" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>Typically a list of keyboard key names.</desc>
        </info>
      </prop>
      <prop oor:name="Right" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>Typically a description of the action triggered by pressing the keys on the left.</desc>
        </info>
      </prop>
    </group>
    <group oor:name="PaneStyle">
      <info>
        <desc>Visual properties of a pane style:
          the border of a pane and its title font.</desc>
      </info>
      <prop oor:name="StyleName" oor:type="xs:string">
        <info>
          <desc>Name of the style. Used for referencing the style.
            Has to be unique among pane styles and view styles
            in one theme.</desc>
        </info>
      </prop>
      <prop oor:name="ParentStyle" oor:type="xs:string">
        <info>
          <desc>Name of the parent style. Values not supplied in this style
            are taken from the parent style. Empty string or missing
            mean no parent.</desc>
        </info>
        <value/>
      </prop>
      <node-ref oor:name="TitleFont" oor:node-type="Font">
        <info>
          <desc>Font used for displaying the pane title.</desc>
        </info>
      </node-ref>
      <node-ref oor:name="InnerBorderSize" oor:node-type="ThemeBorderSize">
        <info>
          <desc>Size of the inner part of the border.</desc>
        </info>
      </node-ref>
      <node-ref oor:name="OuterBorderSize" oor:node-type="ThemeBorderSize">
        <info>
          <desc>Size of the outer part of the border.</desc>
        </info>
      </node-ref>
      <set oor:name="BorderBitmapList" oor:node-type="BitmapDescriptor">
        <info>
          <desc>Bitmaps that are used to paint the borders of
            a pane.</desc>
        </info>
      </set>
    </group>
    <group oor:name="ViewStyle">
      <info>
        <desc>Visual properties of a view style:
          font and background color.</desc>
      </info>
      <prop oor:name="StyleName" oor:type="xs:string">
        <info>
          <desc>Name of the style. Used for referencing the style.
            Has to be unique among pane styles and view styles
            in one theme.</desc>
        </info>
      </prop>
      <prop oor:name="ParentStyle" oor:type="xs:string">
        <info>
          <desc>Name of the parent style. Values not supplied in this style
            are taken from the parent style. Empty string or missing
            mean no parent.</desc>
        </info>
        <value/>
      </prop>
      <node-ref oor:name="Font" oor:node-type="Font">
        <info>
          <desc>Font used for text display inside a view.</desc>
        </info>
      </node-ref>
      <node-ref oor:name="Background" oor:node-type="BitmapDescriptor">
        <info>
          <desc>Color (or bitmap) that is used to paint the
            background of a view.</desc>
        </info>
      </node-ref>
    </group>
    <group oor:name="Style_Association">
      <info>
        <desc>Association of a drawing framework resource to a
          style of the presenter theme.</desc>
      </info>
      <prop oor:name="ResourceURL" oor:type="xs:string">
        <info>
          <desc>URL of a drawing framework resource.</desc>
        </info>
      </prop>
      <prop oor:name="StyleName" oor:type="xs:string">
        <info>
          <desc>Name of a pane style or a view style.</desc>
        </info>
      </prop>
    </group>
    <group oor:name="PresenterString">
      <info>
        <desc>Presenter string, whatever that might mean.</desc>
      </info>
      <prop oor:name="String" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>Just a string.</desc>
        </info>
      </prop>
    </group>
    <group oor:name="ViewDescription">
      <info>
        <desc>Association of a drawing framework resource to a
          style of the presenter theme.</desc>
      </info>
      <prop oor:name="ViewURL" oor:type="xs:string">
        <info>
          <desc>URL of a drawing framework view.</desc>
        </info>
      </prop>
      <prop oor:name="StyleName" oor:type="xs:string">
        <info>
          <desc>Name of a view style.</desc>
        </info>
      </prop>
      <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>Title displayed for the component. An empty or missing
            title means that no title is displayed.</desc>
        </info>
        <value/>
      </prop>
      <prop oor:name="AccessibleTitle" oor:type="xs:string" oor:localized="true">
        <info>
          <desc>Title displayed for the component when accessibility support is active.
            An empty or missing title means that no title is displayed.</desc>
        </info>
        <value/>
      </prop>
      <prop oor:name="IsOpaque" oor:type="xs:boolean">
        <info>
          <desc>When the value is false then the background is painted before the
            view is painted.</desc>
        </info>
        <value>false</value>
      </prop>
      <set oor:name="Strings" oor:node-type="PresenterString">
        <info>
          <desc>List of localizable strings used by the view.</desc>
        </info>
      </set>
    </group>
    <group oor:name="PresenterTheme">
      <info>
        <desc>Visual properties of the presenter view. The values in a theme
          are hints and can be ignored.</desc>
      </info>
      <prop oor:name="ThemeName" oor:type="xs:string">
        <info>
          <desc>Name of the theme. Used for referencing the theme.
            Has to be unique among all themes. The name of the
            default theme is 'DefaultTheme'</desc>
        </info>
      </prop>
      <prop oor:name="ParentTheme" oor:type="xs:string">
        <info>
          <desc>Name of the parent theme. Values not supplied in this theme
            are taken from the parent theme. Empty string or missing
            mean default theme.</desc>
        </info>
        <value/>
      </prop>
      <node-ref oor:name="Background" oor:node-type="BitmapDescriptor">
        <info>
          <desc>Color or bitmap that is used to paint the
            background.</desc>
        </info>
      </node-ref>
      <set oor:name="PaneStyles" oor:node-type="PaneStyle">
        <info>
          <desc>List of pane styles.</desc>
        </info>
      </set>
      <set oor:name="ViewStyles" oor:node-type="ViewStyle">
        <info>
          <desc>List of view styles.</desc>
        </info>
      </set>
      <set oor:name="StyleAssociations" oor:node-type="Style_Association">
        <info>
          <desc>List of style associations.</desc>
        </info>
      </set>
      <set oor:name="Bitmaps" oor:node-type="BitmapDescriptor">
        <info>
          <desc>List of additional bitmaps for example for buttons.</desc>
        </info>
      </set>
      <set oor:name="Fonts" oor:node-type="Font">
        <info>
          <desc>List of additional fonts.</desc>
        </info>
      </set>
    </group>
    <group oor:name="PresenterComponentLayout">
      <info>
        <desc>Layout of a component of the presenter screen.</desc>
      </info>
      <prop oor:name="PaneURL" oor:type="xs:string">
        <info>
          <desc>URL of a pane resource.</desc>
        </info>
      </prop>
      <prop oor:name="ViewURL" oor:type="xs:string">
        <info>
          <desc>URL of a view resource that is to be displayed in
            the pane.</desc>
        </info>
      </prop>
      <prop oor:name="RelativeX" oor:type="xs:double">
        <info>
          <desc>Relative x position in the range of [0,1].</desc>
        </info>
      </prop>
      <prop oor:name="RelativeY" oor:type="xs:double">
        <info>
          <desc>Relative y position in the range of [0,1].</desc>
        </info>
      </prop>
      <prop oor:name="RelativeWidth" oor:type="xs:double">
        <info>
          <desc>Relative width in the range of [0,1].</desc>
        </info>
      </prop>
      <prop oor:name="RelativeHeight" oor:type="xs:double">
        <info>
          <desc>Relative height in the range of [0,1].</desc>
        </info>
      </prop>
    </group>
    <group oor:name="PresenterLayout">
      <info>
        <desc>Layout of all components of the presenter screen.</desc>
      </info>
      <prop oor:name="LayoutName" oor:type="xs:string">
        <info>
          <desc>Name of the layout. Used for referencing the layout.
            Has to be unique among all presenter layouts.</desc>
        </info>
      </prop>
      <prop oor:name="ParentLayout" oor:type="xs:string">
        <info>
          <desc>Name of the parent layout. Values not supplied in this layout
            are taken from the parent layout. Missing or empty string
            mean no parent layout.</desc>
        </info>
        <value/>
      </prop>
      <set oor:name="Layout" oor:node-type="PresenterComponentLayout">
        <info>
          <desc>List of component layouts.</desc>
        </info>
      </set>
    </group>
  </templates>
  <component>
    <group oor:name="PresenterScreenSettings">
      <info>
        <desc>Settings regarding controls that are only used by the Presenter
          Screen.</desc>
      </info>
      <set oor:name="ToolBars" oor:node-type="ToolBar">
        <info>
          <desc>Set of tool bars.</desc>
        </info>
      </set>
      <set oor:name="Buttons" oor:node-type="Button">
        <info>
          <desc>Set of buttons.</desc>
        </info>
      </set>
      <group oor:name="ScrollBar">
        <info>
          <desc>Settings of scroll bars.</desc>
        </info>
        <set oor:name="Bitmaps" oor:node-type="BitmapDescriptor">
          <info>
            <desc>Bitmaps of icons used for displaying the scroll bar.</desc>
          </info>
        </set>
      </group>
      <group oor:name="SlideSorter">
        <info>
          <desc>Settings of the slide sorter of the presenter screen.</desc>
        </info>
        <node-ref oor:name="BorderSize" oor:node-type="ThemeBorderSize">
          <info>
            <desc>Size of the border around the current slide.</desc>
          </info>
        </node-ref>
        <set oor:name="CurrentSlideBorderBitmaps" oor:node-type="BitmapDescriptor">
          <info>
            <desc>Bitmaps that are used to paint the border around the current
              slide.</desc>
          </info>
        </set>
      </group>
      <group oor:name="HelpView">
        <info>
          <desc>Settings of help view.</desc>
        </info>
        <set oor:name="HelpStrings" oor:node-type="HelpEntry">
          <info>
            <desc>List of entries displayed in the help view.</desc>
          </info>
        </set>
      </group>
    </group>
    <group oor:name="Presenter">
      <info>
        <desc>General properties of the presenter view.</desc>
      </info>
      <prop oor:name="StartAlways" oor:type="xs:boolean">
        <info>
          <desc>When true then presenter screen is displayed on single screen systems
            or when fullscreen presentation spans all screens.</desc>
        </info>
        <value>false</value>
      </prop>
      <set oor:name="Themes" oor:node-type="PresenterTheme">
        <info>
          <desc>List of available themes.</desc>
        </info>
      </set>
      <prop oor:name="CurrentTheme" oor:type="xs:string">
        <info>
          <desc>Name of the current theme. An empty name or the string "DefaultTheme"
            specify the default theme.</desc>
        </info>
        <value>DefaultTheme</value>
      </prop>
      <set oor:name="Views" oor:node-type="ViewDescription">
        <info>
          <desc>Description of the views.</desc>
        </info>
      </set>
      <set oor:name="Layouts" oor:node-type="PresenterLayout">
        <info>
          <desc>List of visible presenter components.</desc>
        </info>
      </set>
      <prop oor:name="CurrentLayout" oor:type="xs:string">
        <info>
          <desc>Name of the current layout. An empty name or the
            string "DefaultLayout" specify the default layout.</desc>
        </info>
        <value>DefaultLayout</value>
      </prop>
      <set oor:name="Accessibility" oor:node-type="PresenterString">
        <info>
          <desc>Strings that are used make the presenter console accessible.</desc>
        </info>
      </set>
      <prop oor:name="InitialViewMode" oor:type="xs:int">
        <info>
          <desc>The view mode on start up of the extension. Valid values are 0 for the Preview-only mode, 1 for the notes view, 2 for the slide overview.</desc>
        </info>
        <value>0</value>
      </prop>
    </group>
  </component>
</oor:component-schema>
