<!--
  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.
  
-->
<canvas debug="true" width="1000" height="800">

    <debug x="250" height="500" /> 

    <include href="scrolledittext.lzx"/>

    <scrolledittext name="_scrolledittext" y="130" x="120" width="270" height="120"
                                  text="" />
                                  
                                  
    <view width="200" height="100" y="300" x="100" bgcolor="0xFFFFFF">
        <inputtext multiline="true" width="${ parent.width - 14 }">
            
        </inputtext>
        <om_vscrollbar />
    </view>

</canvas>
