<?xml 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.
    ====================================================================
-->
<record fromfile="true" name="SHD80" package="org.apache.poi.hwpf.model.types">
    <suffix>AbstractType</suffix>
    <description>The Shd80 structure specifies the colors and pattern that are used for background
        shading. As an exception to the constraints that are specified by Ico and Ipat, a Shd80 can
        be set to Shd80Nil and specifies that no shading is applied. &lt;p&gt;Class and fields
        descriptions are quoted from Word (.doc) Binary File Format by Microsoft Corporation
    </description>
    <author>Sergey Vladimirov; according to Word (.doc) Binary File Format by Microsoft Corporation.
    </author>
    <fields>
        <field type="short" size="2" name="value">
            <bit number="1" mask="0x001F" name="icoFore" description="Foreground color"/>
            <bit number="2" mask="0x03E0" name="icoBack" description="Background color"/>
            <bit number="3" mask="0xFC00" name="ipat" description="Shading pattern"/>
        </field>
    </fields>
</record>
