<?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.
-->
<!-- $Id$ -->
<testcase>
  <info>
    <p>
      This test checks external-graphics.
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg"
          xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="normal" page-width="10in" page-height="15in">
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="normal" white-space-collapse="true">
        <fo:flow flow-name="xsl-region-body">
          <fo:block text-align="left">2 inch wide SVG external-graphic on LHS</fo:block>
          <fo:block text-align="left">
            <fo:external-graphic src="../resources/images/img.svg" content-width="2in" scaling="uniform" />EOG
          </fo:block>
          <fo:block text-align="right">4 inch wide SVG external-graphic on RHS</fo:block>
          <fo:block text-align="right">
            <fo:external-graphic src="../resources/images/img.svg" content-width="4in" scaling="uniform" />EOG
          </fo:block>
          <fo:block text-align="center">6 inch wide SVG external-graphic in center, non-uniformly squeezed to a height of 4in.</fo:block>
          <fo:block text-align="center">
            <fo:external-graphic src="../resources/images/img.svg" content-width="6in" content-height="4in" scaling="non-uniform" />EOG
          </fo:block>
          <fo:block text-align="left">SVG external-graphic with an intrinsic size (16ptx16pt)</fo:block>
          <fo:block text-align="left">
            <fo:external-graphic src="../resources/images/img-w-size.svg"/>EOG
          </fo:block>
          <fo:block text-align="left">SVG external-graphic with an intrinsic size and fox:conversion-mode="bitmap"</fo:block>
          <fo:block text-align="left">
            <fo:external-graphic src="../resources/images/img-w-size.svg"
              fox:conversion-mode="bitmap"/>EOG
          </fo:block>
          <fo:block>EOF</fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <eval expected="144000" xpath="//flow/block[2]/lineArea/viewport/@ipd"/>
    <eval expected="144000" xpath="//flow/block[2]/lineArea/viewport/@ipda"/>
    <eval expected="144000" xpath="//flow/block[2]/lineArea/viewport/@bpd"/>
    <eval expected="144000" xpath="//flow/block[2]/lineArea/viewport/@bpda"/>
    <eval expected="0 0 144000 144000" xpath="//flow/block[2]/lineArea/viewport/@pos"/>
    
    <eval expected="288000" xpath="//flow/block[4]/lineArea/viewport/@ipd"/>
    <eval expected="288000" xpath="//flow/block[4]/lineArea/viewport/@ipda"/>
    <eval expected="288000" xpath="//flow/block[4]/lineArea/viewport/@bpd"/>
    <eval expected="288000" xpath="//flow/block[4]/lineArea/viewport/@bpda"/>
    <eval expected="0 0 288000 288000" xpath="//flow/block[4]/lineArea/viewport/@pos"/>

    <eval expected="432000" xpath="//flow/block[6]/lineArea/viewport/@ipd"/>
    <eval expected="432000" xpath="//flow/block[6]/lineArea/viewport/@ipda"/>
    <eval expected="288000" xpath="//flow/block[6]/lineArea/viewport/@bpd"/>
    <eval expected="288000" xpath="//flow/block[6]/lineArea/viewport/@bpda"/>
    <eval expected="0 0 432000 288000" xpath="//flow/block[6]/lineArea/viewport/@pos"/>

    <!-- TODO: This evaluates nicely to 16000mpt with 72dpi in the FOUserAgent but will result 
         in 16080 for 300dpi which is caused by rounding errors because pixels are used internally. -->
    <eval expected="16000" xpath="//flow/block[8]/lineArea/viewport/@ipd"/>
    <eval expected="16000" xpath="//flow/block[8]/lineArea/viewport/@ipda"/>
    <eval expected="16000" xpath="//flow/block[8]/lineArea/viewport/@bpd"/>
    <eval expected="16000" xpath="//flow/block[8]/lineArea/viewport/@bpda"/>
    <eval expected="0 0 16000 16000" xpath="//flow/block[8]/lineArea/viewport/@pos"/>
  </checks>
</testcase>
