<?xml version="1.0" encoding="UTF-8"?>
<XMI xmlns:UML="http://schema.omg.org/spec/UML/1.3" verified="false" timestamp="2005-10-14T11:43:50" xmi.version="1.2" >
 <XMI.header>
  <XMI.documentation>
   <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
   <XMI.exporterVersion>1.4.2</XMI.exporterVersion>
   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
  </XMI.documentation>
  <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
 </XMI.header>
 <XMI.content>
  <UML:Model isSpecification="false" isLeaf="false" isRoot="false" isAbstract="false" >
   <UML:Namespace.ownedElement>
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" xmi.id="3" isRoot="false" isAbstract="false" name="datatype" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" xmi.id="60" isRoot="false" isAbstract="false" name="typedef" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" xmi.id="484" isRoot="false" isAbstract="false" name="enum" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="2" isRoot="false" isAbstract="false" name="int" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="4" isRoot="false" isAbstract="false" name="char" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="5" isRoot="false" isAbstract="false" name="bool" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="6" isRoot="false" isAbstract="false" name="float" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="7" isRoot="false" isAbstract="false" name="double" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="8" isRoot="false" isAbstract="false" name="long" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="9" isRoot="false" isAbstract="false" name="short" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="10" isRoot="false" isAbstract="false" name="string" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="20" isRoot="false" isAbstract="false" name="void" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="24" isRoot="false" isAbstract="false" name="KisRectIteratorPixel&amp;" elementReference="11" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="27" isRoot="false" isAbstract="false" name="KisColorSpace*" elementReference="26" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="38" isRoot="false" isAbstract="false" name="const KisID&amp;" elementReference="37" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="41" isRoot="false" isAbstract="false" name="QValueVector&lt; KisChannelInfo * >" elementReference="40" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="72" isRoot="false" isAbstract="false" name="KisGenericRegistry&lt; KisHistogramProducerFactory * >" elementReference="71" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="78" isRoot="false" isAbstract="false" name="KisHistogramProducerFactoryRegistry*" elementReference="70" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="84" isRoot="false" isAbstract="false" name="const KisHistogramProducerFactoryRegistry&amp;" elementReference="70" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="236" isRoot="false" isAbstract="false" name="KisDataManager*" elementReference="233" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="245" isRoot="false" isAbstract="false" name="const KisRectIterator&amp;" elementReference="234" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="249" isRoot="false" isAbstract="false" name="KisRectIterator&amp;" elementReference="234" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="252" isRoot="false" isAbstract="false" name="Q_UINT8*" elementReference="251" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="254" isRoot="false" isAbstract="false" name="const Q_UINT8*" elementReference="251" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="272" isRoot="false" isAbstract="false" name="const KisHLineIterator&amp;" elementReference="263" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="276" isRoot="false" isAbstract="false" name="KisHLineIterator&amp;" elementReference="263" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="297" isRoot="false" isAbstract="false" name="const KisVLineIterator&amp;" elementReference="288" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="301" isRoot="false" isAbstract="false" name="KisVLineIterator&amp;" elementReference="288" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="313" isRoot="false" isAbstract="false" name="KisPaintDeviceImpl*" elementReference="312" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="316" isRoot="false" isAbstract="false" name="_iTp*" elementReference="315" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="320" isRoot="false" isAbstract="false" name="const KisIteratorPixelTrait&amp;" elementReference="309" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="324" isRoot="false" isAbstract="false" name="KisIteratorPixelTrait&amp;" elementReference="309" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="358" isRoot="false" isAbstract="false" name="const KisHLineIteratorPixel&amp;" elementReference="340" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="362" isRoot="false" isAbstract="false" name="KisHLineIteratorPixel&amp;" elementReference="340" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="388" isRoot="false" isAbstract="false" name="const KisVLineIteratorPixel&amp;" elementReference="370" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="392" isRoot="false" isAbstract="false" name="KisVLineIteratorPixel&amp;" elementReference="370" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="416" isRoot="false" isAbstract="false" name="const KisRectIteratorPixel&amp;" elementReference="11" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="511" isRoot="false" isAbstract="false" name="const enumHistogramType" elementReference="483" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="569" isRoot="false" isAbstract="false" name="Q_INT32&amp;" elementReference="43" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="576" isRoot="false" isAbstract="false" name="KisTiledDataManager*" elementReference="559" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="578" isRoot="false" isAbstract="false" name="KisTile**" elementReference="558" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="585" isRoot="false" isAbstract="false" name="DeletedTile*" elementReference="582" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="593" isRoot="false" isAbstract="false" name="KisTile*" elementReference="558" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="603" isRoot="false" isAbstract="false" name="KisTile&amp;" elementReference="558" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="629" isRoot="false" isAbstract="false" name="const KisTile&amp;" elementReference="558" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="638" isRoot="false" isAbstract="false" name="const Q_INT32" elementReference="43" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="652" isRoot="false" isAbstract="false" name="const KisTiledDataManager&amp;" elementReference="559" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="656" isRoot="false" isAbstract="false" name="KisTiledDataManager&amp;" elementReference="559" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="667" isRoot="false" isAbstract="false" name="KoStore*" elementReference="643" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="773" isRoot="false" isAbstract="false" name="Q_INT32*" elementReference="43" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="787" isRoot="false" isAbstract="false" name="const KisDataManager&amp;" elementReference="233" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="814" isRoot="false" isAbstract="false" name="const QRect&amp;" elementReference="813" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="894" isRoot="false" isAbstract="false" name="KisDoc*" elementReference="878" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="899" isRoot="false" isAbstract="false" name="const QString&amp;" elementReference="12" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="902" isRoot="false" isAbstract="false" name="const KisImage&amp;" elementReference="425" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="906" isRoot="false" isAbstract="false" name="KisImageIface*" elementReference="883" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="913" isRoot="false" isAbstract="false" name="QPainter&amp;" elementReference="912" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="915" isRoot="false" isAbstract="false" name="KisProfile*" elementReference="884" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="943" isRoot="false" isAbstract="false" name="KisProgressDisplayInterface*" elementReference="885" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="945" isRoot="false" isAbstract="false" name="KisFilterStrategy*" elementReference="882" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="959" isRoot="false" isAbstract="false" name="const KisProfile*" elementReference="884" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="962" isRoot="false" isAbstract="false" name="KoCommandHistory*" elementReference="873" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="977" isRoot="false" isAbstract="false" name="const vKisLayerSP&amp;" elementReference="436" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="988" isRoot="false" isAbstract="false" name="const KisCompositeOp&amp;" elementReference="880" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1008" isRoot="false" isAbstract="false" name="const KisLayerSP" elementReference="435" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1018" isRoot="false" isAbstract="false" name="const KisLayerSP&amp;" elementReference="435" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1045" isRoot="false" isAbstract="false" name="KCommand*" elementReference="879" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1063" isRoot="false" isAbstract="false" name="KisUndoAdapter*" elementReference="875" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1066" isRoot="false" isAbstract="false" name="KisGuideMgr*" elementReference="1065" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1101" isRoot="false" isAbstract="false" name="KisImage&amp;" elementReference="425" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1128" isRoot="false" isAbstract="false" name="KisNameServer*" elementReference="874" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1158" isRoot="false" isAbstract="false" name="KisImage*" elementReference="425" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1163" isRoot="false" isAbstract="false" name="const KisPaintDeviceImpl&amp;" elementReference="312" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1167" isRoot="false" isAbstract="false" name="DCOPObject*" elementReference="877" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1176" isRoot="false" isAbstract="false" name="const QPoint&amp;" elementReference="1139" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1181" isRoot="false" isAbstract="false" name="KNamedCommand*" elementReference="1141" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1183" isRoot="false" isAbstract="false" name="const bool" elementReference="5" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1249" isRoot="false" isAbstract="false" name="const QImage&amp;" elementReference="925" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1268" isRoot="false" isAbstract="false" name="QColor*" elementReference="1267" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1274" isRoot="false" isAbstract="false" name="KisColor*" elementReference="881" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1282" isRoot="false" isAbstract="false" name="const QColor&amp;" elementReference="1267" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1288" isRoot="false" isAbstract="false" name="const KisColor&amp;" elementReference="881" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1315" isRoot="false" isAbstract="false" name="const KisImage*" elementReference="425" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1379" isRoot="false" isAbstract="false" name="KisPaintDeviceImpl&amp;" elementReference="312" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1392" isRoot="false" isAbstract="false" name="KisScaleVisitor&amp;" elementReference="1143" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1395" isRoot="false" isAbstract="false" name="KisRotateVisitor&amp;" elementReference="1142" />
    <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1417" isRoot="false" isAbstract="false" name="const KisLayer&amp;" elementReference="434" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="11" isRoot="false" isAbstract="false" name="KisRectIteratorPixel" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="398" />
      <UML:Generalization xmi.idref="401" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="423" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_offsetx" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="424" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_offsety" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="404" isRoot="false" isAbstract="false" name="KisRectIteratorPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="405" isRoot="false" value="" type="313" isAbstract="false" name="ndevice" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="406" isRoot="false" value="" type="236" isAbstract="false" name="dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="407" isRoot="false" value="" type="236" isAbstract="false" name="sel_dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="408" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="409" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="410" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="411" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="412" isRoot="false" value="" type="43" isAbstract="false" name="offsetx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="413" isRoot="false" value="" type="43" isAbstract="false" name="offsety" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="414" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="415" isRoot="false" isAbstract="false" name="KisRectIteratorPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="417" isRoot="false" value="" type="416" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="418" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17003" type="24" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="419" isRoot="false" value="" type="416" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="420" isRoot="false" isAbstract="false" name="operator ++" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17004" type="24" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="421" isRoot="false" isAbstract="false" name="x" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17005" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="422" isRoot="false" isAbstract="false" name="y" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17006" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="12" isRoot="false" isAbstract="false" name="QString" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="13" isRoot="false" isAbstract="false" name="KisChannelInfo" />
    <UML:Class comment="This class is an interface used in the generation of a histogram. It is a container of
data, all mathematically interesting things will calculated by a KisHistogram.

The default view will be the entire range each color can be in. And don't let the
numberOfBins return anything else then 256 unless you have a very good reason for it.

About the views: a view is a zoom combined with a start level: the entire
range of a channel is 0.0 - 1.0: this is the position. Combined with a zoom, we can
calculate what part of a channel will fall in a bin. This gives us an interface to
that the views that is not dependent of the actual colorspace of the histogram.
The 'size' value is the size, again from 0.0 to 1.0 of the displayed range.

For comfort of the GUI, and because it is logical, channels are accessed in the order
in which they are found in the channels() method. This is potentially different from
the order in which they are internally ordered!" isSpecification="false" isLeaf="false" visibility="public" xmi.id="14" isRoot="false" isAbstract="false" name="KisHistogramProducer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="16" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="57" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_skipTransparent" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="58" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_skipUnselected" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="19" isRoot="false" isAbstract="false" name="KisHistogramProducer" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="21" isRoot="false" isAbstract="false" name="~ KisHistogramProducer" />
      <UML:Operation comment="// Methods to change the bins/** Clears the data in this producer, but keeps its other settings" isSpecification="false" isLeaf="false" visibility="public" xmi.id="22" isRoot="false" isAbstract="true" name="clear" />
      <UML:Operation comment="Iterates over the rectangle specified by the iterator, on a piece with the colorspace.
The producer may only read the iterator, it may safely be constructed with write = false" isSpecification="false" isLeaf="false" visibility="public" xmi.id="23" isRoot="false" isAbstract="true" name="addRegionToBin" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="25" isRoot="false" value="" type="24" isAbstract="false" name="it" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="28" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Methods to set what exactly is being added to the bins" isSpecification="false" isLeaf="false" visibility="public" xmi.id="29" isRoot="false" isAbstract="true" name="setView" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="30" isRoot="false" value="" type="7" isAbstract="false" name="from" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="31" isRoot="false" value="" type="7" isAbstract="false" name="width" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="32" isRoot="false" isAbstract="false" name="setSkipTransparent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="33" isRoot="false" value="" type="5" isAbstract="false" name="set" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="34" isRoot="false" isAbstract="false" name="setSkipUnselected" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="35" isRoot="false" value="" type="5" isAbstract="false" name="set" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Methods with general information about this specific producer" isSpecification="false" isLeaf="false" visibility="public" xmi.id="36" isRoot="false" isAbstract="true" name="id" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17007" type="38" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="39" isRoot="false" isAbstract="true" name="channels" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17008" type="41" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="42" isRoot="false" isAbstract="true" name="numberOfBins" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17009" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="44" isRoot="false" isAbstract="true" name="positionToString" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17010" type="12" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="45" isRoot="false" value="" type="7" isAbstract="false" name="pos" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="46" isRoot="false" isAbstract="true" name="viewFrom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17011" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="47" isRoot="false" isAbstract="true" name="viewWidth" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17012" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="48" isRoot="false" isAbstract="true" name="maximalZoom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17013" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Methods to get information on the data we have seen" isSpecification="false" isLeaf="false" visibility="public" xmi.id="49" isRoot="false" isAbstract="true" name="count" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17014" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="50" isRoot="false" isAbstract="true" name="getBinAt" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17015" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="51" isRoot="false" value="" type="43" isAbstract="false" name="channel" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="52" isRoot="false" value="" type="43" isAbstract="false" name="position" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="53" isRoot="false" isAbstract="true" name="outOfViewLeft" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17016" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="54" isRoot="false" value="" type="43" isAbstract="false" name="channel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="55" isRoot="false" isAbstract="true" name="outOfViewRight" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17017" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="56" isRoot="false" value="" type="43" isAbstract="false" name="channel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="15" isRoot="false" isAbstract="false" name="KShared" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="26" isRoot="false" isAbstract="false" name="KisColorSpace" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="37" isRoot="false" isAbstract="false" name="KisID" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="40" isRoot="false" isAbstract="false" name="QValueVector" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="43" isRoot="false" isAbstract="false" name="Q_INT32" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="59" isRoot="false" isAbstract="false" name="KisHistogramProducerSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="61" isRoot="false" isAbstract="false" name="KisHistogramProducerFactory" >
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="69" isRoot="false" initialValue="" type="37" isAbstract="false" name="m_id" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="62" isRoot="false" isAbstract="false" name="KisHistogramProducerFactory" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="63" isRoot="false" value="" type="38" isAbstract="false" name="id" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="64" isRoot="false" isAbstract="false" name="~ KisHistogramProducerFactory" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="65" isRoot="false" isAbstract="true" name="generate" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17018" type="59" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="66" isRoot="false" isAbstract="true" name="isCompatibleWith" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17019" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="67" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="68" isRoot="false" isAbstract="false" name="id" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17020" type="38" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="70" isRoot="false" isAbstract="false" name="KisHistogramProducerFactoryRegistry" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="73" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="88" isRoot="false" initialValue="" type="78" isAbstract="false" name="m_singleton" ownerScope="classifier" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="76" isRoot="false" isAbstract="false" name="~ KisHistogramProducerFactoryRegistry" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="77" isRoot="false" isAbstract="false" name="instance" ownerScope="classifier" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17021" type="78" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="79" isRoot="false" isAbstract="false" name="listKeysCompatibleWith" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17022" type="81" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="80" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="82" isRoot="false" isAbstract="false" name="KisHistogramProducerFactoryRegistry" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="83" isRoot="false" isAbstract="false" name="KisHistogramProducerFactoryRegistry" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="85" isRoot="false" value="" type="84" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="86" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17023" type="70" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="87" isRoot="false" value="" type="84" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="71" isRoot="false" isAbstract="false" name="KisGenericRegistry" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="81" isRoot="false" isAbstract="false" name="KisIDList" />
    <UML:Class comment=" Copyright (c) 2005 Bart Coppens &lt;kde@bartcoppens.be>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." isSpecification="false" isLeaf="false" visibility="public" xmi.id="89" isRoot="false" isAbstract="false" name="KisBasicHistogramProducer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="90" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="120" isRoot="false" initialValue="" type="40" isAbstract="false" name="m_bins" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="121" isRoot="false" initialValue="" type="119" isAbstract="false" name="m_outLeft" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="122" isRoot="false" initialValue="" type="119" isAbstract="false" name="m_outRight" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="123" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_from" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="124" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_width" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="125" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_count" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="126" isRoot="false" initialValue="" type="2" isAbstract="false" name="m_channels" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="127" isRoot="false" initialValue="" type="2" isAbstract="false" name="m_nrOfBins" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="128" isRoot="false" initialValue="" type="27" isAbstract="false" name="m_colorSpace" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="129" isRoot="false" initialValue="" type="37" isAbstract="false" name="m_id" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="130" isRoot="false" initialValue="" type="40" isAbstract="false" name="m_external" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="93" isRoot="false" isAbstract="false" name="KisBasicHistogramProducer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="94" isRoot="false" value="" type="38" isAbstract="false" name="id" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="95" isRoot="false" value="" type="2" isAbstract="false" name="channels" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="96" isRoot="false" value="" type="2" isAbstract="false" name="nrOfBins" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="97" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="98" isRoot="false" isAbstract="false" name="~ KisBasicHistogramProducer" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="99" isRoot="false" isAbstract="false" name="clear" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="100" isRoot="false" isAbstract="false" name="setView" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="101" isRoot="false" value="" type="7" isAbstract="false" name="from" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="102" isRoot="false" value="" type="7" isAbstract="false" name="size" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="103" isRoot="false" isAbstract="false" name="id" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17024" type="38" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="104" isRoot="false" isAbstract="false" name="channels" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17025" type="41" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="105" isRoot="false" isAbstract="false" name="numberOfBins" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17026" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="106" isRoot="false" isAbstract="false" name="viewFrom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17027" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="107" isRoot="false" isAbstract="false" name="viewWidth" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17028" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="108" isRoot="false" isAbstract="false" name="count" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17029" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="109" isRoot="false" isAbstract="false" name="getBinAt" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17030" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="110" isRoot="false" value="" type="2" isAbstract="false" name="channel" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="111" isRoot="false" value="" type="2" isAbstract="false" name="position" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="112" isRoot="false" isAbstract="false" name="outOfViewLeft" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17031" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="113" isRoot="false" value="" type="2" isAbstract="false" name="channel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="114" isRoot="false" isAbstract="false" name="outOfViewRight" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17032" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="115" isRoot="false" value="" type="2" isAbstract="false" name="channel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="116" isRoot="false" isAbstract="false" name="externalToInternal" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17033" type="2" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="117" isRoot="false" value="" type="2" isAbstract="false" name="ext" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// not virtual since that is useless: we call it from constructor" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="118" isRoot="false" isAbstract="false" name="makeExternalToInternal" />
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="119" isRoot="false" isAbstract="false" name="vBins" />
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="131" isRoot="false" isAbstract="false" name="KisBasicU8HistogramProducer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="132" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="135" isRoot="false" isAbstract="false" name="KisBasicU8HistogramProducer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="136" isRoot="false" value="" type="38" isAbstract="false" name="id" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="137" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="138" isRoot="false" isAbstract="false" name="addRegionToBin" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="139" isRoot="false" value="" type="24" isAbstract="false" name="it" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="140" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="141" isRoot="false" isAbstract="false" name="positionToString" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17034" type="12" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="142" isRoot="false" value="" type="7" isAbstract="false" name="pos" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="143" isRoot="false" isAbstract="false" name="maximalZoom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17035" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="144" isRoot="false" isAbstract="false" name="KisBasicU16HistogramProducer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="145" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="148" isRoot="false" isAbstract="false" name="KisBasicU16HistogramProducer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="149" isRoot="false" value="" type="38" isAbstract="false" name="id" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="150" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="151" isRoot="false" isAbstract="false" name="addRegionToBin" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="152" isRoot="false" value="" type="24" isAbstract="false" name="it" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="153" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="154" isRoot="false" isAbstract="false" name="positionToString" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17036" type="12" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="155" isRoot="false" value="" type="7" isAbstract="false" name="pos" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="156" isRoot="false" isAbstract="false" name="maximalZoom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17037" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="157" isRoot="false" isAbstract="false" name="KisBasicF32HistogramProducer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="158" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="161" isRoot="false" isAbstract="false" name="KisBasicF32HistogramProducer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="162" isRoot="false" value="" type="38" isAbstract="false" name="id" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="163" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="164" isRoot="false" isAbstract="false" name="addRegionToBin" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="165" isRoot="false" value="" type="24" isAbstract="false" name="it" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="166" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="167" isRoot="false" isAbstract="false" name="positionToString" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17038" type="12" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="168" isRoot="false" value="" type="7" isAbstract="false" name="pos" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="169" isRoot="false" isAbstract="false" name="maximalZoom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17039" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="170" isRoot="false" isAbstract="false" name="KisBasicHistogramProducerFactory" >
     <UML:ModelElement.templateParameter>
      <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" xmi.id="171" isRoot="false" isAbstract="false" name="T" />
     </UML:ModelElement.templateParameter>
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="172" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="182" isRoot="false" initialValue="" type="27" isAbstract="false" name="m_cs" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="175" isRoot="false" isAbstract="false" name="KisBasicHistogramProducerFactory" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="176" isRoot="false" value="" type="38" isAbstract="false" name="id" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="177" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="178" isRoot="false" isAbstract="false" name="~ KisBasicHistogramProducerFactory" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="179" isRoot="false" isAbstract="false" name="generate" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17040" type="59" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="180" isRoot="false" isAbstract="false" name="isCompatibleWith" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17041" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="181" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" xmi.id="171" isRoot="false" isAbstract="false" name="T" />
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class comment="This is a Producer (with associated factory) that converts the pixels of the colorspace
to RGB8 with toQColor, and then does its counting on RGB. This is NOT registered with the
Registry, because it isCompatibleWith all colorspaces, and should only be used in extreme
cases (like no other producer being available" isSpecification="false" isLeaf="false" visibility="public" xmi.id="183" isRoot="false" isAbstract="false" name="KisGenericRGBHistogramProducer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="184" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="195" isRoot="false" initialValue="" type="41" isAbstract="false" name="m_channelsList" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="187" isRoot="false" isAbstract="false" name="KisGenericRGBHistogramProducer" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="188" isRoot="false" isAbstract="false" name="addRegionToBin" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="189" isRoot="false" value="" type="24" isAbstract="false" name="it" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="190" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="191" isRoot="false" isAbstract="false" name="positionToString" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17042" type="12" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="192" isRoot="false" value="" type="7" isAbstract="false" name="pos" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="193" isRoot="false" isAbstract="false" name="maximalZoom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17043" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="194" isRoot="false" isAbstract="false" name="channels" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17044" type="41" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class comment="KisGenericRGBHistogramProducer his special Factory that isCompatibleWith everything." isSpecification="false" isLeaf="false" visibility="public" xmi.id="196" isRoot="false" isAbstract="false" name="KisGenericRGBHistogramProducerFactory" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="197" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="200" isRoot="false" isAbstract="false" name="KisGenericRGBHistogramProducerFactory" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="201" isRoot="false" isAbstract="false" name="~ KisGenericRGBHistogramProducerFactory" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="202" isRoot="false" isAbstract="false" name="generate" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17045" type="59" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="203" isRoot="false" isAbstract="false" name="isCompatibleWith" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17046" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="204" isRoot="false" value="" type="27" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class comment="This is a Producer (with associated factory) that converts the pixels of the colorspace
to LAB, and then does its counting on the L channel also known as lightnessRGB.
It isCompatibleWith all colorspaces" isSpecification="false" isLeaf="false" visibility="public" xmi.id="205" isRoot="false" isAbstract="false" name="KisGenericLightnessHistogramProducer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="206" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="217" isRoot="false" initialValue="" type="41" isAbstract="false" name="m_channelsList" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="209" isRoot="false" isAbstract="false" name="KisGenericLightnessHistogramProducer" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="210" isRoot="false" isAbstract="false" name="addRegionToBin" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="211" isRoot="false" value="" type="24" isAbstract="false" name="it" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="212" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="213" isRoot="false" isAbstract="false" name="positionToString" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17047" type="12" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="214" isRoot="false" value="" type="7" isAbstract="false" name="pos" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="215" isRoot="false" isAbstract="false" name="maximalZoom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17048" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="216" isRoot="false" isAbstract="false" name="channels" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17049" type="41" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class comment="KisGenericLightnessHistogramProducer his special Factory that isCompatibleWith everything." isSpecification="false" isLeaf="false" visibility="public" xmi.id="218" isRoot="false" isAbstract="false" name="KisGenericLightnessHistogramProducerFactory" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="219" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="222" isRoot="false" isAbstract="false" name="KisGenericLightnessHistogramProducerFactory" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="223" isRoot="false" isAbstract="false" name="~ KisGenericLightnessHistogramProducerFactory" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="224" isRoot="false" isAbstract="false" name="generate" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17050" type="59" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="225" isRoot="false" isAbstract="false" name="isCompatibleWith" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17051" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="226" isRoot="false" value="" type="27" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="227" isRoot="false" isAbstract="false" name="KisTiledRectIterator" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="228" isRoot="false" isAbstract="false" name="KisTiledRectIteratorSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="229" isRoot="false" isAbstract="false" name="KisTiledVLineIterator" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="230" isRoot="false" isAbstract="false" name="KisTiledVLineIteratorSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="231" isRoot="false" isAbstract="false" name="KisTiledHLineIterator" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="232" isRoot="false" isAbstract="false" name="KisTiledHLineIteratorSP" />
    <UML:Class comment="// Change the following two lines to switch (at compiletime) to another datamanager/**
KisDataManager defines the interface that modules responsible for
storing and retrieving data must inmplement. Data modules, like
the tile manager, are responsible for:

* Storing undo/redo data
* Offering ordererd and unordered iterators over rects of pixels
* (eventually) efficiently loading and saving data in a format
that may allow deferred loading.

A datamanager knows nothing about the type of pixel data except
how many Q_UINT8's a single pixel takes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="233" isRoot="false" isAbstract="false" name="KisDataManager" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="780" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="783" isRoot="false" isAbstract="false" name="KisDataManager" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="784" isRoot="false" value="" type="497" isAbstract="false" name="pixelSize" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="785" isRoot="false" value="" type="254" isAbstract="false" name="defPixel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="786" isRoot="false" isAbstract="false" name="KisDataManager" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="788" isRoot="false" value="" type="787" isAbstract="false" name="dm" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="789" isRoot="false" isAbstract="false" name="setDefaultPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="790" isRoot="false" value="" type="254" isAbstract="false" name="defPixel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="791" isRoot="false" isAbstract="false" name="defaultPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17052" type="254" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="792" isRoot="false" isAbstract="false" name="getMemento" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17053" type="561" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="793" isRoot="false" isAbstract="false" name="rollback" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="794" isRoot="false" value="" type="561" isAbstract="false" name="memento" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="795" isRoot="false" isAbstract="false" name="rollforward" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="796" isRoot="false" value="" type="561" isAbstract="false" name="memento" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="797" isRoot="false" isAbstract="false" name="write" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17054" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="798" isRoot="false" value="" type="667" isAbstract="false" name="store" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="799" isRoot="false" isAbstract="false" name="read" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17055" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="800" isRoot="false" value="" type="667" isAbstract="false" name="store" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="801" isRoot="false" isAbstract="false" name="pixelSize" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17056" type="497" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="802" isRoot="false" isAbstract="false" name="extent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="803" isRoot="false" value="" type="569" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="804" isRoot="false" value="" type="569" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="805" isRoot="false" value="" type="569" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="806" isRoot="false" value="" type="569" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="807" isRoot="false" isAbstract="false" name="setExtent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="808" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="809" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="810" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="811" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="812" isRoot="false" isAbstract="false" name="setExtent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="815" isRoot="false" value="" type="814" isAbstract="false" name="rect" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="816" isRoot="false" isAbstract="false" name="clear" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="817" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="818" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="819" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="820" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="821" isRoot="false" value="" type="251" isAbstract="false" name="def" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="822" isRoot="false" isAbstract="false" name="clear" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="823" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="824" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="825" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="826" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="827" isRoot="false" value="" type="252" isAbstract="false" name="def" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="828" isRoot="false" isAbstract="false" name="clear" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="829" isRoot="false" isAbstract="false" name="paste" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="830" isRoot="false" value="" type="642" isAbstract="false" name="data" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="831" isRoot="false" value="" type="43" isAbstract="false" name="sx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="832" isRoot="false" value="" type="43" isAbstract="false" name="sy" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="833" isRoot="false" value="" type="43" isAbstract="false" name="dx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="834" isRoot="false" value="" type="43" isAbstract="false" name="dy" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="835" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="836" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="837" isRoot="false" isAbstract="false" name="pixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17057" type="254" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="838" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="839" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="840" isRoot="false" isAbstract="false" name="writablePixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17058" type="252" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="841" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="842" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="843" isRoot="false" isAbstract="false" name="setPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="844" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="845" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="846" isRoot="false" value="" type="254" isAbstract="false" name="data" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="847" isRoot="false" isAbstract="false" name="readBytes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="848" isRoot="false" value="" type="252" isAbstract="false" name="data" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="849" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="850" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="851" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="852" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="853" isRoot="false" isAbstract="false" name="writeBytes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="854" isRoot="false" value="" type="254" isAbstract="false" name="data" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="855" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="856" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="857" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="858" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="859" isRoot="false" isAbstract="false" name="numContiguousColumns" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17059" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="860" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="861" isRoot="false" value="" type="43" isAbstract="false" name="minY" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="862" isRoot="false" value="" type="43" isAbstract="false" name="maxY" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="863" isRoot="false" isAbstract="false" name="numContiguousRows" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17060" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="864" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="865" isRoot="false" value="" type="43" isAbstract="false" name="minX" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="866" isRoot="false" value="" type="43" isAbstract="false" name="maxX" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="867" isRoot="false" isAbstract="false" name="rowStride" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17061" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="868" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="869" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class comment="The KisRectIterator iterators over a rectangular area in the most efficient order. That is,
there is no guarantee that the iterator will work scanline by scanline." isSpecification="false" isLeaf="false" visibility="public" xmi.id="234" isRoot="false" isAbstract="false" name="KisRectIterator" >
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="262" isRoot="false" initialValue="" type="228" isAbstract="false" name="m_iter" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="235" isRoot="false" isAbstract="false" name="KisRectIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="237" isRoot="false" value="" type="236" isAbstract="false" name="dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="238" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="239" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="240" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="241" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="242" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="243" isRoot="false" isAbstract="false" name="~ KisRectIterator" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="244" isRoot="false" isAbstract="false" name="KisRectIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="246" isRoot="false" value="" type="245" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="247" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17062" type="249" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="248" isRoot="false" value="" type="245" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorstrategy" isSpecification="false" isLeaf="false" visibility="public" xmi.id="250" isRoot="false" isAbstract="false" name="rawData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17063" type="252" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Returns a pointer to the pixel data as it was at the moment of the last memento creation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="253" isRoot="false" isAbstract="false" name="oldRawData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17064" type="254" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Returns the number of consequtive pixels that we point at/// This is useful for optimizing" isSpecification="false" isLeaf="false" visibility="public" xmi.id="255" isRoot="false" isAbstract="false" name="nConseqPixels" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17065" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Advances a number of pixels until it reaches the end of the rect" isSpecification="false" isLeaf="false" visibility="public" xmi.id="256" isRoot="false" isAbstract="false" name="operator +=" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17066" type="249" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="257" isRoot="false" value="" type="2" isAbstract="false" name="n" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Advances one pixel going to the beginning of the next line when it reaches the end of a line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="258" isRoot="false" isAbstract="false" name="operator ++" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17067" type="249" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// returns true when iterators has reached the end" isSpecification="false" isLeaf="false" visibility="public" xmi.id="259" isRoot="false" isAbstract="false" name="isDone" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17068" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// current x position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="260" isRoot="false" isAbstract="false" name="x" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17069" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// current y position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="261" isRoot="false" isAbstract="false" name="y" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17070" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="251" isRoot="false" isAbstract="false" name="Q_UINT8" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="263" isRoot="false" isAbstract="false" name="KisHLineIterator" >
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="287" isRoot="false" initialValue="" type="232" isAbstract="false" name="m_iter" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="264" isRoot="false" isAbstract="false" name="KisHLineIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="265" isRoot="false" value="" type="236" isAbstract="false" name="dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="266" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="267" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="268" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="269" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="270" isRoot="false" isAbstract="false" name="~ KisHLineIterator" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="271" isRoot="false" isAbstract="false" name="KisHLineIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="273" isRoot="false" value="" type="272" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="274" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17071" type="276" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="275" isRoot="false" value="" type="272" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorstrategy" isSpecification="false" isLeaf="false" visibility="public" xmi.id="277" isRoot="false" isAbstract="false" name="rawData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17072" type="252" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Returns a pointer to the pixel data as it was at the moment of the last memento creation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="278" isRoot="false" isAbstract="false" name="oldRawData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17073" type="254" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Advances one pixel until it reaches the end of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="279" isRoot="false" isAbstract="false" name="operator ++" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17074" type="276" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Returns the number of consequtive horizontal pixels that we point at/// This is useful for optimizing" isSpecification="false" isLeaf="false" visibility="public" xmi.id="280" isRoot="false" isAbstract="false" name="nConseqHPixels" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17075" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Advances a number of pixels until it reaches the end of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="281" isRoot="false" isAbstract="false" name="operator +=" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17076" type="276" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="282" isRoot="false" value="" type="2" isAbstract="false" name="n" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Goes back one pixel until it reaches the beginning of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="283" isRoot="false" isAbstract="false" name="operator --" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17077" type="276" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// returns true when iterators has reached the end" isSpecification="false" isLeaf="false" visibility="public" xmi.id="284" isRoot="false" isAbstract="false" name="isDone" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17078" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// current x position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="285" isRoot="false" isAbstract="false" name="x" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17079" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// current y position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="286" isRoot="false" isAbstract="false" name="y" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17080" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="288" isRoot="false" isAbstract="false" name="KisVLineIterator" >
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="308" isRoot="false" initialValue="" type="230" isAbstract="false" name="m_iter" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="289" isRoot="false" isAbstract="false" name="KisVLineIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="290" isRoot="false" value="" type="236" isAbstract="false" name="dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="291" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="292" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="293" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="294" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="295" isRoot="false" isAbstract="false" name="~ KisVLineIterator" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="296" isRoot="false" isAbstract="false" name="KisVLineIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="298" isRoot="false" value="" type="297" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="299" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17081" type="301" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="300" isRoot="false" value="" type="297" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorstrategy" isSpecification="false" isLeaf="false" visibility="public" xmi.id="302" isRoot="false" isAbstract="false" name="rawData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17082" type="252" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Returns a pointer to the pixel data as it was at the moment of the last memento creation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="303" isRoot="false" isAbstract="false" name="oldRawData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17083" type="254" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Advances one pixel until it reaches the end of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="304" isRoot="false" isAbstract="false" name="operator ++" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17084" type="301" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// returns true when iterators has reached the end" isSpecification="false" isLeaf="false" visibility="public" xmi.id="305" isRoot="false" isAbstract="false" name="isDone" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17085" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// current x position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="306" isRoot="false" isAbstract="false" name="x" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17086" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// current y position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="307" isRoot="false" isAbstract="false" name="y" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17087" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="309" isRoot="false" isAbstract="false" name="KisIteratorPixelTrait" >
     <UML:ModelElement.templateParameter>
      <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" xmi.id="310" isRoot="false" isAbstract="false" name="_iTp" />
     </UML:ModelElement.templateParameter>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="333" isRoot="false" initialValue="" type="313" isAbstract="false" name="m_device" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="338" isRoot="false" initialValue="" type="316" isAbstract="false" name="m_underlyingIterator" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="339" isRoot="false" initialValue="" type="316" isAbstract="false" name="m_selectionIterator" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="311" isRoot="false" isAbstract="false" name="KisIteratorPixelTrait" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="314" isRoot="false" value="" type="313" isAbstract="false" name="ndevice" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="317" isRoot="false" value="" type="316" isAbstract="false" name="underlyingIterator" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="318" isRoot="false" isAbstract="false" name="~ KisIteratorPixelTrait" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="319" isRoot="false" isAbstract="false" name="KisIteratorPixelTrait" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="321" isRoot="false" value="" type="320" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="322" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17088" type="324" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="323" isRoot="false" value="" type="320" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="325" isRoot="false" isAbstract="false" name="pixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17089" type="326" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="327" isRoot="false" isAbstract="false" name="oldPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17090" type="328" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="329" isRoot="false" isAbstract="false" name="operator [ ]" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17091" type="251" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="330" isRoot="false" value="" type="2" isAbstract="false" name="index" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="331" isRoot="false" isAbstract="false" name="isSelected" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17092" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="332" isRoot="false" isAbstract="false" name="selectedness" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17093" type="251" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="334" isRoot="false" isAbstract="false" name="advance" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="335" isRoot="false" value="" type="2" isAbstract="false" name="n" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="336" isRoot="false" isAbstract="false" name="setSelectionIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="337" isRoot="false" value="" type="316" isAbstract="false" name="si" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" xmi.id="310" isRoot="false" isAbstract="false" name="_iTp" />
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class comment="Class modelled on QPaintDevice." isSpecification="false" isLeaf="false" visibility="public" xmi.id="312" isRoot="false" isAbstract="false" name="KisPaintDeviceImpl" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="1144" />
      <UML:Generalization xmi.idref="1148" />
      <UML:Generalization xmi.idref="1151" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1380" isRoot="false" initialValue="" type="642" isAbstract="false" name="m_datamanager" />
      <UML:Attribute comment="// This is not a shared pointer by design. A layer does not own its containing image,// the image owns its layers. This allows the image and its layers to be destroyed// when the last reference to the image is removed. If the layers kept references,// a cycle would be created, and removing the last external reference to the image would not// destroy the objects." isSpecification="false" isLeaf="false" visibility="private" xmi.id="1381" isRoot="false" initialValue="" type="1158" isAbstract="false" name="m_owner" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1382" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_extentIsValid" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1383" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_x" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1384" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_y" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1385" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_visible" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1386" isRoot="false" initialValue="" type="12" isAbstract="false" name="m_name" />
      <UML:Attribute comment="// Operation used to composite this layer with the layers _under_ this layer" isSpecification="false" isLeaf="false" visibility="private" xmi.id="1387" isRoot="false" initialValue="" type="880" isAbstract="false" name="m_compositeOp" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1388" isRoot="false" initialValue="" type="27" isAbstract="false" name="m_colorSpace" />
      <UML:Attribute comment="// Cached for quick access" isSpecification="false" isLeaf="false" visibility="private" xmi.id="1389" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_pixelSize" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1390" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_nChannels" />
      <UML:Attribute comment="// Whether the selection is active" isSpecification="false" isLeaf="false" visibility="private" xmi.id="1397" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_hasSelection" />
      <UML:Attribute comment="// Contains the actual selection. For now, there can be only// one selection per layer. XXX: is this a limitation?" isSpecification="false" isLeaf="false" visibility="private" xmi.id="1398" isRoot="false" initialValue="" type="445" isAbstract="false" name="m_selection" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1399" isRoot="false" initialValue="" type="1167" isAbstract="false" name="m_dcop" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1154" isRoot="false" isAbstract="false" name="KisPaintDeviceImpl" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1155" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1156" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1157" isRoot="false" isAbstract="false" name="KisPaintDeviceImpl" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1159" isRoot="false" value="" type="1158" isAbstract="false" name="img" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1160" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1161" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1162" isRoot="false" isAbstract="false" name="KisPaintDeviceImpl" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1164" isRoot="false" value="" type="1163" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1165" isRoot="false" isAbstract="false" name="~ KisPaintDeviceImpl" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1166" isRoot="false" isAbstract="false" name="dcopObject" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17094" type="1167" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1168" isRoot="false" isAbstract="false" name="write" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17095" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1169" isRoot="false" value="" type="667" isAbstract="false" name="store" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1170" isRoot="false" isAbstract="false" name="read" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17096" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1171" isRoot="false" value="" type="667" isAbstract="false" name="store" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1172" isRoot="false" isAbstract="false" name="move" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1173" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1174" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1175" isRoot="false" isAbstract="false" name="move" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1177" isRoot="false" value="" type="1176" isAbstract="false" name="pt" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1178" isRoot="false" isAbstract="false" name="moveCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17097" type="1181" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1179" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1180" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1182" isRoot="false" isAbstract="false" name="visible" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17098" type="1183" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1184" isRoot="false" isAbstract="false" name="setVisible" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1185" isRoot="false" value="" type="5" isAbstract="false" name="v" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1186" isRoot="false" isAbstract="false" name="setVisibleCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17099" type="1181" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1187" isRoot="false" value="" type="5" isAbstract="false" name="visible" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1188" isRoot="false" isAbstract="false" name="contains" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17100" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1189" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1190" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1191" isRoot="false" isAbstract="false" name="contains" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17101" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1192" isRoot="false" value="" type="1176" isAbstract="false" name="pt" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Retrieve the bounds of the paint device. The size is not exact,
but may be larger if the underlying datamanager works that way.
For instance, the tiled datamanager keeps the extent to the nearest
multiple of 64." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1193" isRoot="false" isAbstract="false" name="extent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1194" isRoot="false" value="" type="569" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1195" isRoot="false" value="" type="569" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1196" isRoot="false" value="" type="569" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1197" isRoot="false" value="" type="569" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1198" isRoot="false" isAbstract="false" name="extent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17102" type="813" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="XXX: This should be a temporay hack, awaiting a proper fix.

Indicates whether the extent really represents the extent. For example,
the KisBackground checkerboard pattern is generated by filling the
default tile but it will return an empty extent." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1199" isRoot="false" isAbstract="false" name="extentIsValid" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17103" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1200" isRoot="false" isAbstract="false" name="setExtentIsValid" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1201" isRoot="false" value="" type="5" isAbstract="false" name="isValid" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get the exact bounds of this paint device. This may be very slow,
especially on larger paint devices because it does a linear scanline search." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1202" isRoot="false" isAbstract="false" name="exactBounds" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1203" isRoot="false" value="" type="569" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1204" isRoot="false" value="" type="569" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1205" isRoot="false" value="" type="569" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1206" isRoot="false" value="" type="569" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1207" isRoot="false" isAbstract="false" name="exactBounds" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17104" type="813" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1208" isRoot="false" isAbstract="false" name="crop" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1209" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1210" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1211" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1212" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1213" isRoot="false" isAbstract="false" name="crop" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1214" isRoot="false" value="" type="813" isAbstract="false" name="r" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1215" isRoot="false" isAbstract="false" name="clear" />
      <UML:Operation comment="Read the bytes representing the rectangle described by x, y, w, h into
data. If data is not big enough, Krita will gladly overwrite the rest
of your precious memory.

Since this is a copy, you need to make sure you have enough memory.

Reading from areas not previously initialized will read the default
pixel value into data." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1216" isRoot="false" isAbstract="false" name="readBytes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1217" isRoot="false" value="" type="252" isAbstract="false" name="data" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1218" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1219" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1220" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1221" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Copy the bytes in data into the rect specified by x, y, w, h. If there
data is too small or uninitialized, Krita will happily read parts of
memory you never wanted to be read.

If the data is written to areas of the paint device not previously initialized,
the paint device will grow." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1222" isRoot="false" isAbstract="false" name="writeBytes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1223" isRoot="false" value="" type="254" isAbstract="false" name="data" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1224" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1225" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1226" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1227" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get the number of contiguous columns starting at x, valid for all values
of y between minY and maxY." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1228" isRoot="false" isAbstract="false" name="numContiguousColumns" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17105" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1229" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1230" isRoot="false" value="" type="43" isAbstract="false" name="minY" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1231" isRoot="false" value="" type="43" isAbstract="false" name="maxY" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get the number of contiguous rows starting at y, valid for all values
of x between minX and maxX." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1232" isRoot="false" isAbstract="false" name="numContiguousRows" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17106" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1233" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1234" isRoot="false" value="" type="43" isAbstract="false" name="minX" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1235" isRoot="false" value="" type="43" isAbstract="false" name="maxX" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get the row stride at pixel (x, y). This is the number of bytes to add to a
pointer to pixel (x, y) to access (x, y + 1)." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1236" isRoot="false" isAbstract="false" name="rowStride" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17107" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1237" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1238" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get a read-only pointer to pixel (x, y)." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1239" isRoot="false" isAbstract="false" name="pixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17108" type="254" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1240" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1241" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get a read-write pointer to pixel (x, y)." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1242" isRoot="false" isAbstract="false" name="writablePixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17109" type="252" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1243" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1244" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="  Converts the paint device to a different colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1245" isRoot="false" isAbstract="false" name="convertTo" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1246" isRoot="false" value="" type="27" isAbstract="false" name="dstColorSpace" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1247" isRoot="false" value="" type="43" isAbstract="false" name="renderingIntent" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Fill this paint device with the data from img;" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1248" isRoot="false" isAbstract="false" name="convertFromImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1250" isRoot="false" value="" type="1249" isAbstract="false" name="img" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Create an RGBA QImage from a rectangle in the paint device.

@param x Left coordinate of the rectangle
@param y Top coordinate of the rectangle
@param w Width of the rectangle in pixels
@param h Height of the rectangle in pixels
@param dstProfile RGB profile to use in conversion. May be 0, in which
case it's up to the colour strategy to choose a profile (most
like sRGB).
@param exposure The exposure setting used to render a preview of a high dynamic range image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1251" isRoot="false" isAbstract="false" name="convertToQImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17110" type="925" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1252" isRoot="false" value="" type="915" isAbstract="false" name="dstProfile" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1253" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1254" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1255" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1256" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1257" isRoot="false" value="" type="6" isAbstract="false" name="exposure" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Create an RGBA QImage from a rectangle in the paint device. The rectangle is defined by the parent image's bounds.

@param dstProfile RGB profile to use in conversion. May be 0, in which
case it's up to the colour strategy to choose a profile (most
like sRGB).
@param exposure The exposure setting used to render a preview of a high dynamic range image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1258" isRoot="false" isAbstract="false" name="convertToQImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17111" type="925" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1259" isRoot="false" value="" type="915" isAbstract="false" name="dstProfile" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1260" isRoot="false" value="" type="6" isAbstract="false" name="exposure" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1261" isRoot="false" isAbstract="false" name="name" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17112" type="12" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1262" isRoot="false" isAbstract="false" name="setName" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1263" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Fill c and opacity with the values found at x and y.

The color values will be transformed from the profile of
this paint device to the display profile.

@return true if the operation was succesful." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1264" isRoot="false" isAbstract="false" name="pixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17113" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1265" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1266" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1269" isRoot="false" value="" type="1268" isAbstract="false" name="c" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1270" isRoot="false" value="" type="252" isAbstract="false" name="opacity" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1271" isRoot="false" isAbstract="false" name="pixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17114" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1272" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1273" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1275" isRoot="false" value="" type="1274" isAbstract="false" name="kc" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Return the KisColor of the pixel at x,y." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1276" isRoot="false" isAbstract="false" name="colorAt" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17115" type="881" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1277" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1278" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Set the specified pixel to the specified color. Note that this
bypasses KisPainter. the PaintDevice is here used as an equivalent
to QImage, not QPixmap. This means that this is not undoable; also,
there is no compositing with an existing value at this location.

The color values will be transformed from the display profile to
the paint device profile.

Note that this will use 8-bit values and may cause a significant
degradation when used on 16-bit or hdr quality images.

@return true if the operation was succesful
" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1279" isRoot="false" isAbstract="false" name="setPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17116" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1280" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1281" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1283" isRoot="false" value="" type="1282" isAbstract="false" name="c" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1284" isRoot="false" value="" type="251" isAbstract="false" name="opacity" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1285" isRoot="false" isAbstract="false" name="setPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17117" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1286" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1287" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1289" isRoot="false" value="" type="1288" isAbstract="false" name="kc" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Return a KisPixel wrapper around these bytes. If there are not enough
bytes, bad things will happen. XXX: use vectors?" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1290" isRoot="false" isAbstract="false" name="toPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17118" type="326" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1291" isRoot="false" value="" type="252" isAbstract="false" name="bytes" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1292" isRoot="false" isAbstract="false" name="toPixelRO" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17119" type="328" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1293" isRoot="false" value="" type="254" isAbstract="false" name="bytes" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1294" isRoot="false" isAbstract="false" name="hasAlpha" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17120" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1295" isRoot="false" isAbstract="false" name="colorSpace" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17121" type="27" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1296" isRoot="false" isAbstract="false" name="dataManager" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17122" type="642" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Replace the pixel data, color strategy, and profile." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1297" isRoot="false" isAbstract="false" name="setData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1298" isRoot="false" value="" type="642" isAbstract="false" name="data" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1299" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1300" isRoot="false" isAbstract="false" name="compositeOp" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17123" type="880" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1301" isRoot="false" isAbstract="false" name="setCompositeOp" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1302" isRoot="false" value="" type="988" isAbstract="false" name="compositeOp" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1303" isRoot="false" isAbstract="false" name="setCompositeOpCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17124" type="1181" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1304" isRoot="false" value="" type="988" isAbstract="false" name="compositeOp" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="The X offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1305" isRoot="false" isAbstract="false" name="getX" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17125" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="The Y offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1306" isRoot="false" isAbstract="false" name="getY" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17126" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Return the X offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1307" isRoot="false" isAbstract="false" name="setX" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1308" isRoot="false" value="" type="43" isAbstract="false" name="x" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Return the Y offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1309" isRoot="false" isAbstract="false" name="setY" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1310" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Return the number of bytes a pixel takes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1311" isRoot="false" isAbstract="false" name="pixelSize" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17127" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Return the number of channels a pixel takes" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1312" isRoot="false" isAbstract="false" name="nChannels" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17128" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1313" isRoot="false" isAbstract="false" name="image" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17129" type="1158" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1316" isRoot="false" isAbstract="false" name="setImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1317" isRoot="false" value="" type="1158" isAbstract="false" name="image" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1318" isRoot="false" isAbstract="false" name="undoAdapter" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17130" type="1063" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1319" isRoot="false" isAbstract="false" name="scale" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1320" isRoot="false" value="" type="7" isAbstract="false" name="sx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1321" isRoot="false" value="" type="7" isAbstract="false" name="sy" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1322" isRoot="false" value="" type="943" isAbstract="false" name="m_progress" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1323" isRoot="false" value="" type="945" isAbstract="false" name="filterStrategy" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1324" isRoot="false" isAbstract="false" name="rotate" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1325" isRoot="false" value="" type="7" isAbstract="false" name="angle" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1326" isRoot="false" value="" type="5" isAbstract="false" name="rotateAboutImageCentre" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1327" isRoot="false" value="" type="943" isAbstract="false" name="m_progress" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1328" isRoot="false" isAbstract="false" name="shear" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1329" isRoot="false" value="" type="7" isAbstract="false" name="angleX" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1330" isRoot="false" value="" type="7" isAbstract="false" name="angleY" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1331" isRoot="false" value="" type="943" isAbstract="false" name="m_progress" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Mirror the device along the X axis" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1332" isRoot="false" isAbstract="false" name="mirrorX" />
      <UML:Operation comment="Mirror the device along the Y axis" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1333" isRoot="false" isAbstract="false" name="mirrorY" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1334" isRoot="false" isAbstract="false" name="getMemento" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17131" type="561" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1335" isRoot="false" isAbstract="false" name="rollback" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1336" isRoot="false" value="" type="561" isAbstract="false" name="memento" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1337" isRoot="false" isAbstract="false" name="rollforward" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1338" isRoot="false" value="" type="561" isAbstract="false" name="memento" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="This function return an iterator which points to the first pixel of an rectangle" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1339" isRoot="false" isAbstract="false" name="createRectIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17132" type="11" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1340" isRoot="false" value="" type="43" isAbstract="false" name="left" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1341" isRoot="false" value="" type="43" isAbstract="false" name="top" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1342" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1343" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1344" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="This function return an iterator which points to the first pixel of a horizontal line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1345" isRoot="false" isAbstract="false" name="createHLineIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17133" type="340" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1346" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1347" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1348" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1349" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="This function return an iterator which points to the first pixel of a vertical line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1350" isRoot="false" isAbstract="false" name="createVLineIterator" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17134" type="370" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1351" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1352" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1353" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1354" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="make owning image emit a selectionChanged" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1355" isRoot="false" isAbstract="false" name="emitSelectionChanged" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1356" isRoot="false" isAbstract="false" name="emitSelectionChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1357" isRoot="false" value="" type="814" isAbstract="false" name="r" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get the current selection or create one if this paintdevice hasn't got a selection yet." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1358" isRoot="false" isAbstract="false" name="selection" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17135" type="445" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Set the specified selection as the active selection for this paintdevice" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1359" isRoot="false" isAbstract="false" name="addSelection" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1360" isRoot="false" value="" type="445" isAbstract="false" name="selection" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Subtracts the specified selection from the currently active selection for this paindevice" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1361" isRoot="false" isAbstract="false" name="subtractSelection" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1362" isRoot="false" value="" type="445" isAbstract="false" name="selection" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Whether there is a valid selection for this paintdevice." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1363" isRoot="false" isAbstract="false" name="hasSelection" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17136" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Deselect the selection for this paintdevice." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1364" isRoot="false" isAbstract="false" name="deselect" />
      <UML:Operation comment="Clear the selected pixels from the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1365" isRoot="false" isAbstract="false" name="clearSelection" />
      <UML:Operation comment="Apply a mask to the image data, i.e. multiply each pixel's opacity by its
selectedness in the mask." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1366" isRoot="false" isAbstract="false" name="applySelectionMask" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1367" isRoot="false" value="" type="445" isAbstract="false" name="mask" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1368" isRoot="false" isAbstract="false" name="visibilityChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1369" isRoot="false" value="" type="430" isAbstract="false" name="device" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1370" isRoot="false" isAbstract="false" name="positionChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1371" isRoot="false" value="" type="430" isAbstract="false" name="device" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1372" isRoot="false" isAbstract="false" name="ioProgress" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1374" isRoot="false" value="" type="1373" isAbstract="false" name="percentage" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1375" isRoot="false" isAbstract="false" name="profileChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1376" isRoot="false" value="" type="915" isAbstract="false" name="profile" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="1377" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17137" type="1379" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1378" isRoot="false" value="" type="1163" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="1391" isRoot="false" isAbstract="false" name="accept" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1393" isRoot="false" value="" type="1392" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="1394" isRoot="false" isAbstract="false" name="accept" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1396" isRoot="false" value="" type="1395" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="315" isRoot="false" isAbstract="false" name="_iTp" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="326" isRoot="false" isAbstract="false" name="KisPixel" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="328" isRoot="false" isAbstract="false" name="KisPixelRO" />
    <UML:Class comment="This file is part of the KDE project
 Copyright (c) 2004 Cyrille Berger &lt;cberger@cberger.net>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//**
The pixel iterators are high level iterarators. The lower level iterators merely return a pointer to some memory
where a pixel begins; these iterators return KisPixels -- high-level representations of a pixel together with
color model, profile and selectedness. You can access individual channels using the KisPixel [] operator, and ." isSpecification="false" isLeaf="false" visibility="public" xmi.id="340" isRoot="false" isAbstract="false" name="KisHLineIteratorPixel" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="341" />
      <UML:Generalization xmi.idref="344" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="368" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_offsetx" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="369" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_offsety" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="347" isRoot="false" isAbstract="false" name="KisHLineIteratorPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="348" isRoot="false" value="" type="313" isAbstract="false" name="ndevice" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="349" isRoot="false" value="" type="236" isAbstract="false" name="dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="350" isRoot="false" value="" type="236" isAbstract="false" name="sel_dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="351" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="352" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="353" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="354" isRoot="false" value="" type="43" isAbstract="false" name="offsetx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="355" isRoot="false" value="" type="43" isAbstract="false" name="offsety" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="356" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="357" isRoot="false" isAbstract="false" name="KisHLineIteratorPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="359" isRoot="false" value="" type="358" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="360" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17138" type="362" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="361" isRoot="false" value="" type="358" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="363" isRoot="false" isAbstract="false" name="operator ++" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17139" type="362" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="364" isRoot="false" isAbstract="false" name="operator +=" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17140" type="362" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="365" isRoot="false" value="" type="2" isAbstract="false" name="n" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="366" isRoot="false" isAbstract="false" name="x" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17141" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="367" isRoot="false" isAbstract="false" name="y" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17142" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="370" isRoot="false" isAbstract="false" name="KisVLineIteratorPixel" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="371" />
      <UML:Generalization xmi.idref="374" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="396" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_offsetx" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="protected" xmi.id="397" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_offsety" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="377" isRoot="false" isAbstract="false" name="KisVLineIteratorPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="378" isRoot="false" value="" type="313" isAbstract="false" name="ndevice" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="379" isRoot="false" value="" type="236" isAbstract="false" name="dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="380" isRoot="false" value="" type="236" isAbstract="false" name="sel_dm" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="381" isRoot="false" value="" type="43" isAbstract="false" name="xpos" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="382" isRoot="false" value="" type="43" isAbstract="false" name="ypos" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="383" isRoot="false" value="" type="43" isAbstract="false" name="height" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="384" isRoot="false" value="" type="43" isAbstract="false" name="offsetx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="385" isRoot="false" value="" type="43" isAbstract="false" name="offsety" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="386" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="387" isRoot="false" isAbstract="false" name="KisVLineIteratorPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="389" isRoot="false" value="" type="388" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="390" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17143" type="392" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="391" isRoot="false" value="" type="388" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="393" isRoot="false" isAbstract="false" name="operator ++" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17144" type="392" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="394" isRoot="false" isAbstract="false" name="x" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17145" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="395" isRoot="false" isAbstract="false" name="y" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17146" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="425" isRoot="false" isAbstract="false" name="KisImage" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="887" />
      <UML:Generalization xmi.idref="890" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1108" isRoot="false" initialValue="" type="894" isAbstract="false" name="m_doc" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1109" isRoot="false" initialValue="" type="962" isAbstract="false" name="m_undoHistory" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1111" isRoot="false" initialValue="" type="1110" isAbstract="false" name="m_uri" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1112" isRoot="false" initialValue="" type="12" isAbstract="false" name="m_name" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1113" isRoot="false" initialValue="" type="12" isAbstract="false" name="m_description" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1114" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_width" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1115" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_height" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1116" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_xres" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1117" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_yres" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1119" isRoot="false" initialValue="" type="1118" isAbstract="false" name="m_unit" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1120" isRoot="false" initialValue="" type="27" isAbstract="false" name="m_colorSpace" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1121" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_dirty" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1122" isRoot="false" initialValue="" type="813" isAbstract="false" name="m_dirtyRect" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1123" isRoot="false" initialValue="" type="450" isAbstract="false" name="m_bkg" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1124" isRoot="false" initialValue="" type="435" isAbstract="false" name="m_projection" />
      <UML:Attribute comment="// Contains the list of all layers" isSpecification="false" isLeaf="false" visibility="private" xmi.id="1125" isRoot="false" initialValue="" type="436" isAbstract="false" name="m_layers" />
      <UML:Attribute comment="// Contains a stack of layers in" isSpecification="false" isLeaf="false" visibility="private" xmi.id="1126" isRoot="false" initialValue="" type="436" isAbstract="false" name="m_layerStack" />
      <UML:Attribute comment="// order of activation, so that when// we remove a layer can activate// the previously activated layer// instead of the bottom or topmost// layer." isSpecification="false" isLeaf="false" visibility="private" xmi.id="1127" isRoot="false" initialValue="" type="435" isAbstract="false" name="m_activeLayer" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1129" isRoot="false" initialValue="" type="1128" isAbstract="false" name="m_nserver" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1130" isRoot="false" initialValue="" type="1063" isAbstract="false" name="m_adapter" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1131" isRoot="false" initialValue="" type="1065" isAbstract="false" name="m_guides" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1132" isRoot="false" initialValue="" type="906" isAbstract="false" name="m_dcop" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1134" isRoot="false" initialValue="" type="1133" isAbstract="false" name="m_annotations" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1135" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_renderinit" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1137" isRoot="false" initialValue="" type="1136" isAbstract="false" name="m_mutex" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="893" isRoot="false" isAbstract="false" name="KisImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="895" isRoot="false" value="" type="894" isAbstract="false" name="doc" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="896" isRoot="false" value="" type="43" isAbstract="false" name="width" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="897" isRoot="false" value="" type="43" isAbstract="false" name="height" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="898" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="900" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="901" isRoot="false" isAbstract="false" name="KisImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="903" isRoot="false" value="" type="902" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="904" isRoot="false" isAbstract="false" name="~ KisImage" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="905" isRoot="false" isAbstract="false" name="dcopObject" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17147" type="906" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Paint the specified rect onto the painter, adjusting the colors using the/// given profile. The exposure setting is used if the image has a high dynamic range." isSpecification="false" isLeaf="false" visibility="public" xmi.id="907" isRoot="false" isAbstract="false" name="renderToPainter" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="908" isRoot="false" value="" type="43" isAbstract="false" name="x1" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="909" isRoot="false" value="" type="43" isAbstract="false" name="y1" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="910" isRoot="false" value="" type="43" isAbstract="false" name="x2" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="911" isRoot="false" value="" type="43" isAbstract="false" name="y2" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="914" isRoot="false" value="" type="913" isAbstract="false" name="painter" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="916" isRoot="false" value="" type="915" isAbstract="false" name="profile" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="917" isRoot="false" value="" type="6" isAbstract="false" name="exposure" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Render the projection onto a QImage. In contrast with the above method, the
selection is not rendered." isSpecification="false" isLeaf="false" visibility="public" xmi.id="918" isRoot="false" isAbstract="false" name="convertToQImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17148" type="925" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="919" isRoot="false" value="" type="43" isAbstract="false" name="x1" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="920" isRoot="false" value="" type="43" isAbstract="false" name="y1" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="921" isRoot="false" value="" type="43" isAbstract="false" name="x2" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="922" isRoot="false" value="" type="43" isAbstract="false" name="y2" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="923" isRoot="false" value="" type="915" isAbstract="false" name="profile" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="924" isRoot="false" value="" type="6" isAbstract="false" name="exposure" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="926" isRoot="false" isAbstract="false" name="name" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17149" type="12" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="927" isRoot="false" isAbstract="false" name="setName" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="928" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="929" isRoot="false" isAbstract="false" name="description" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17150" type="12" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="930" isRoot="false" isAbstract="false" name="setDescription" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="931" isRoot="false" value="" type="899" isAbstract="false" name="description" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="932" isRoot="false" isAbstract="false" name="nextLayerName" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17151" type="12" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="933" isRoot="false" isAbstract="false" name="resize" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="934" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="935" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="936" isRoot="false" value="" type="5" isAbstract="false" name="cropLayers" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="937" isRoot="false" isAbstract="false" name="resize" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="938" isRoot="false" value="" type="814" isAbstract="false" name="rc" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="939" isRoot="false" value="" type="5" isAbstract="false" name="cropLayers" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="940" isRoot="false" isAbstract="false" name="scale" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="941" isRoot="false" value="" type="7" isAbstract="false" name="sx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="942" isRoot="false" value="" type="7" isAbstract="false" name="sy" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="944" isRoot="false" value="" type="943" isAbstract="false" name="m_progress" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="946" isRoot="false" value="" type="945" isAbstract="false" name="filterStrategy" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="947" isRoot="false" isAbstract="false" name="rotate" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="948" isRoot="false" value="" type="7" isAbstract="false" name="angle" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="949" isRoot="false" value="" type="943" isAbstract="false" name="m_progress" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="950" isRoot="false" isAbstract="false" name="shear" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="951" isRoot="false" value="" type="7" isAbstract="false" name="angleX" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="952" isRoot="false" value="" type="7" isAbstract="false" name="angleY" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="953" isRoot="false" value="" type="943" isAbstract="false" name="m_progress" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="954" isRoot="false" isAbstract="false" name="convertTo" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="955" isRoot="false" value="" type="27" isAbstract="false" name="dstColorSpace" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="956" isRoot="false" value="" type="43" isAbstract="false" name="renderingIntent" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Get the profile associated with this image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="957" isRoot="false" isAbstract="false" name="getProfile" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17152" type="915" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Set the profile associated with this image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="958" isRoot="false" isAbstract="false" name="setProfile" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="960" isRoot="false" value="" type="959" isAbstract="false" name="profile" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="961" isRoot="false" isAbstract="false" name="enableUndo" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="963" isRoot="false" value="" type="962" isAbstract="false" name="history" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="964" isRoot="false" isAbstract="false" name="colorSpace" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17153" type="27" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="965" isRoot="false" isAbstract="false" name="setColorSpace" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="966" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Resolution of the image == XXX: per inch?" isSpecification="false" isLeaf="false" visibility="public" xmi.id="967" isRoot="false" isAbstract="false" name="xRes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17154" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="968" isRoot="false" isAbstract="false" name="yRes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17155" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="969" isRoot="false" isAbstract="false" name="setResolution" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="970" isRoot="false" value="" type="7" isAbstract="false" name="xres" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="971" isRoot="false" value="" type="7" isAbstract="false" name="yres" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="972" isRoot="false" isAbstract="false" name="width" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17156" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="973" isRoot="false" isAbstract="false" name="height" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17157" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="974" isRoot="false" isAbstract="false" name="empty" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17158" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="975" isRoot="false" isAbstract="false" name="layers" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17159" type="436" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment=" returns a paintdevice that contains the merged layers of this image, within
the bounds of this image (with the colorspace and profile of this image)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="978" isRoot="false" isAbstract="false" name="mergedImage" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17160" type="430" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Returns the colour of the merged image at pixel (x, y)." isSpecification="false" isLeaf="false" visibility="public" xmi.id="979" isRoot="false" isAbstract="false" name="mergedPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17161" type="881" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="980" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="981" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Get the active painting device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="982" isRoot="false" isAbstract="false" name="activeDevice" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17162" type="430" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Add layers and emit sigLayersUpdated" isSpecification="false" isLeaf="false" visibility="public" xmi.id="983" isRoot="false" isAbstract="false" name="layerAdd" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17163" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="984" isRoot="false" value="" type="899" isAbstract="false" name="name" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="985" isRoot="false" value="" type="251" isAbstract="false" name="devOpacity" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="986" isRoot="false" isAbstract="false" name="layerAdd" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17164" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="987" isRoot="false" value="" type="899" isAbstract="false" name="name" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="989" isRoot="false" value="" type="988" isAbstract="false" name="compositeOp" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="990" isRoot="false" value="" type="251" isAbstract="false" name="opacity" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="991" isRoot="false" value="" type="27" isAbstract="false" name="colorstrategy" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="992" isRoot="false" isAbstract="false" name="layerAdd" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17165" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="993" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="994" isRoot="false" value="" type="43" isAbstract="false" name="position" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="995" isRoot="false" isAbstract="false" name="layerRemove" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="996" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="997" isRoot="false" isAbstract="false" name="layerNext" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="998" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="999" isRoot="false" isAbstract="false" name="layerPrev" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1000" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1001" isRoot="false" isAbstract="false" name="setLayerProperties" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1002" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1003" isRoot="false" value="" type="251" isAbstract="false" name="opacity" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1004" isRoot="false" value="" type="988" isAbstract="false" name="compositeOp" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1005" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1006" isRoot="false" isAbstract="false" name="activeLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17166" type="435" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1009" isRoot="false" isAbstract="false" name="activate" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17167" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1010" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1011" isRoot="false" isAbstract="false" name="activateLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17168" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1012" isRoot="false" value="" type="43" isAbstract="false" name="n" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1013" isRoot="false" isAbstract="false" name="layer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17169" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1014" isRoot="false" value="" type="43" isAbstract="false" name="n" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1015" isRoot="false" isAbstract="false" name="findLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17170" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1016" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1017" isRoot="false" isAbstract="false" name="index" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17171" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1019" isRoot="false" value="" type="1018" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1020" isRoot="false" isAbstract="false" name="layer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17172" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1021" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1022" isRoot="false" isAbstract="false" name="layer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17173" type="435" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1023" isRoot="false" value="" type="497" isAbstract="false" name="npos" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// add a layer and don't emit the sigLayersUpdate -- these probably should be private and used by friend kis_view." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1024" isRoot="false" isAbstract="false" name="add" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17174" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1025" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1026" isRoot="false" value="" type="43" isAbstract="false" name="position" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1027" isRoot="false" isAbstract="false" name="rm" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1028" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1029" isRoot="false" isAbstract="false" name="raise" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17175" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1030" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1031" isRoot="false" isAbstract="false" name="lower" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17176" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1032" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1033" isRoot="false" isAbstract="false" name="top" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17177" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1034" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1035" isRoot="false" isAbstract="false" name="bottom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17178" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1036" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1037" isRoot="false" isAbstract="false" name="setLayerPosition" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17179" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1038" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1039" isRoot="false" value="" type="43" isAbstract="false" name="position" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1040" isRoot="false" isAbstract="false" name="nlayers" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17180" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1041" isRoot="false" isAbstract="false" name="nHiddenLayers" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17181" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1042" isRoot="false" isAbstract="false" name="nLinkedLayers" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17182" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1043" isRoot="false" isAbstract="false" name="raiseLayerCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17183" type="1045" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1044" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1046" isRoot="false" isAbstract="false" name="lowerLayerCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17184" type="1045" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1047" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1048" isRoot="false" isAbstract="false" name="topLayerCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17185" type="1045" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1049" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1050" isRoot="false" isAbstract="false" name="bottomLayerCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17186" type="1045" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1051" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Merge all visible layers and discard hidden ones." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1052" isRoot="false" isAbstract="false" name="flatten" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1053" isRoot="false" isAbstract="false" name="mergeVisibleLayers" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1054" isRoot="false" isAbstract="false" name="mergeLinkedLayers" />
      <UML:Operation comment="Merge the specified layer with the layer
below this layer, remove the specified layer." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1055" isRoot="false" isAbstract="false" name="mergeLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1056" isRoot="false" value="" type="435" isAbstract="false" name="l" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1057" isRoot="false" isAbstract="false" name="bounds" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17187" type="813" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1058" isRoot="false" isAbstract="false" name="notify" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1059" isRoot="false" isAbstract="false" name="notify" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1060" isRoot="false" value="" type="814" isAbstract="false" name="rc" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1061" isRoot="false" isAbstract="false" name="notifyLayersChanged" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1062" isRoot="false" isAbstract="false" name="undoAdapter" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17188" type="1063" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1064" isRoot="false" isAbstract="false" name="guides" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17189" type="1066" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Add an annotation for this image. This can be anything: Gamma, EXIF, etc.
Note that the &quot;icc&quot; annotation is reserved for the colour strategies.
If the annotation already exists, overwrite it with this one." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1067" isRoot="false" isAbstract="false" name="addAnnotation" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1069" isRoot="false" value="" type="1068" isAbstract="false" name="annotation" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="get the annotation with the given type, can return 0" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1070" isRoot="false" isAbstract="false" name="annotation" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17190" type="1068" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1071" isRoot="false" value="" type="12" isAbstract="false" name="type" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="delete the annotation, if the image contains it" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1072" isRoot="false" isAbstract="false" name="removeAnnotation" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1073" isRoot="false" value="" type="12" isAbstract="false" name="type" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Start of an iteration over the annotations of this image (including the ICC Profile) " isSpecification="false" isLeaf="false" visibility="public" xmi.id="1074" isRoot="false" isAbstract="false" name="beginAnnotations" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17191" type="1075" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="end of an iteration over the annotations of this image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1076" isRoot="false" isAbstract="false" name="endAnnotations" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17192" type="1075" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1077" isRoot="false" isAbstract="false" name="sigActiveSelectionChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1078" isRoot="false" value="" type="426" isAbstract="false" name="image" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1079" isRoot="false" isAbstract="false" name="sigSelectionChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1080" isRoot="false" value="" type="426" isAbstract="false" name="image" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1081" isRoot="false" isAbstract="false" name="sigLayersChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1082" isRoot="false" value="" type="426" isAbstract="false" name="image" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1083" isRoot="false" isAbstract="false" name="sigLayersUpdated" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1084" isRoot="false" value="" type="426" isAbstract="false" name="image" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Emitted whenever an action has caused the image to be recomposited. This happens
after calls to notify().

@param image this image (useful in case something has more than one image, but that
              hasn't happened in a year, because we no longer have more than one image
              in a doc
@param rc The rect that has been recomposited." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1085" isRoot="false" isAbstract="false" name="sigImageUpdated" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1086" isRoot="false" value="" type="426" isAbstract="false" name="image" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1087" isRoot="false" value="" type="814" isAbstract="false" name="rc" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1088" isRoot="false" isAbstract="false" name="sigSizeChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1089" isRoot="false" value="" type="426" isAbstract="false" name="image" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1090" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1091" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1092" isRoot="false" isAbstract="false" name="sigProfileChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1093" isRoot="false" value="" type="915" isAbstract="false" name="profile" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="1094" isRoot="false" isAbstract="false" name="sigColorSpaceChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1095" isRoot="false" value="" type="27" isAbstract="false" name="cs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1096" isRoot="false" isAbstract="false" name="slotSelectionChanged" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1097" isRoot="false" isAbstract="false" name="slotSelectionChanged" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1098" isRoot="false" value="" type="814" isAbstract="false" name="r" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="1099" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17193" type="1101" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1100" isRoot="false" value="" type="902" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="1102" isRoot="false" isAbstract="false" name="init" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1103" isRoot="false" value="" type="894" isAbstract="false" name="doc" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1104" isRoot="false" value="" type="43" isAbstract="false" name="width" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1105" isRoot="false" value="" type="43" isAbstract="false" name="height" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1106" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1107" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="426" isRoot="false" isAbstract="false" name="KisImageSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="427" isRoot="false" isAbstract="false" name="vKisImageSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="428" isRoot="false" isAbstract="false" name="vKisImageSP_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="429" isRoot="false" isAbstract="false" name="vKisImageSP_cit" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="430" isRoot="false" isAbstract="false" name="KisPaintDeviceImplSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="431" isRoot="false" isAbstract="false" name="vKisPaintDeviceImplSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="432" isRoot="false" isAbstract="false" name="vKisPaintDeviceImplSP_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="433" isRoot="false" isAbstract="false" name="vKisPaintDeviceImplSP_cit" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="434" isRoot="false" isAbstract="false" name="KisLayer" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="1400" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1440" isRoot="false" initialValue="" type="251" isAbstract="false" name="m_opacity" />
      <UML:Attribute comment="//bool m_preserveTransparency;//bool m_initial;" isSpecification="false" isLeaf="false" visibility="private" xmi.id="1441" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_linked" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="1442" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_locked" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1404" isRoot="false" isAbstract="false" name="KisLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1405" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1406" isRoot="false" value="" type="899" isAbstract="false" name="name" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1407" isRoot="false" isAbstract="false" name="KisLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1408" isRoot="false" value="" type="1158" isAbstract="false" name="img" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1409" isRoot="false" value="" type="899" isAbstract="false" name="name" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1410" isRoot="false" value="" type="251" isAbstract="false" name="opacity" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1411" isRoot="false" isAbstract="false" name="KisLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1412" isRoot="false" value="" type="1158" isAbstract="false" name="img" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1413" isRoot="false" value="" type="899" isAbstract="false" name="name" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1414" isRoot="false" value="" type="251" isAbstract="false" name="opacity" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1415" isRoot="false" value="" type="27" isAbstract="false" name="colorSpace" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1416" isRoot="false" isAbstract="false" name="KisLayer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1418" isRoot="false" value="" type="1417" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1419" isRoot="false" isAbstract="false" name="~ KisLayer" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1420" isRoot="false" isAbstract="false" name="activate" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1421" isRoot="false" isAbstract="false" name="deactivate" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1422" isRoot="false" isAbstract="false" name="visible" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17194" type="1183" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1423" isRoot="false" isAbstract="false" name="setVisible" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1424" isRoot="false" value="" type="5" isAbstract="false" name="v" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1425" isRoot="false" isAbstract="false" name="opacity" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17195" type="251" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1426" isRoot="false" isAbstract="false" name="setOpacity" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1427" isRoot="false" value="" type="251" isAbstract="false" name="val" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1428" isRoot="false" isAbstract="false" name="setOpacityCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17196" type="1181" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1429" isRoot="false" value="" type="251" isAbstract="false" name="val" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1430" isRoot="false" isAbstract="false" name="linked" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17197" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1431" isRoot="false" isAbstract="false" name="setLinked" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1432" isRoot="false" value="" type="5" isAbstract="false" name="l" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1433" isRoot="false" isAbstract="false" name="setLinkedCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17198" type="1181" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1434" isRoot="false" value="" type="5" isAbstract="false" name="linked" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1435" isRoot="false" isAbstract="false" name="locked" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17199" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1436" isRoot="false" isAbstract="false" name="setLocked" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1437" isRoot="false" value="" type="5" isAbstract="false" name="l" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1438" isRoot="false" isAbstract="false" name="setLockedCommand" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17200" type="1181" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="1439" isRoot="false" value="" type="5" isAbstract="false" name="locked" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1403" isRoot="false" isAbstract="false" name="super" />
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="435" isRoot="false" isAbstract="false" name="KisLayerSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="436" isRoot="false" isAbstract="false" name="vKisLayerSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="437" isRoot="false" isAbstract="false" name="vKisLayerSP_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="438" isRoot="false" isAbstract="false" name="vKisLayerSP_cit" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="439" isRoot="false" isAbstract="false" name="KisPartLayer" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="440" isRoot="false" isAbstract="false" name="KisPartLayerSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="441" isRoot="false" isAbstract="false" name="vKisPartLayerSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="442" isRoot="false" isAbstract="false" name="vKisPartLayerSP_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="443" isRoot="false" isAbstract="false" name="vKisPartLayerSP_cit" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="444" isRoot="false" isAbstract="false" name="KisSelection" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="445" isRoot="false" isAbstract="false" name="KisSelectionSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="446" isRoot="false" isAbstract="false" name="vKisSelectionSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="447" isRoot="false" isAbstract="false" name="vKisSelectionSP_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="448" isRoot="false" isAbstract="false" name="vKisSelectionSP_cit" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="449" isRoot="false" isAbstract="false" name="KisBackground" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="450" isRoot="false" isAbstract="false" name="KisBackgroundSP" />
    <UML:Class comment="The histogram class computes the histogram data from the specified layer
for the specified channel, through the use of a KisHistogramProducer.
This class is only for layers and paintdevices. KisImages are not supported,
but you can use the mergedImage function to create a paintdevice and feed that to this class.

A Histogram also can have a selection: this is a specific range in the current histogram
that will get calculations done on it as well. If the range's begin and end are the same,
it is supposed to specify a single bin in the histogram.

The calculations are done in the range 0 - 1, instead of the native range that a pixel
might have, so it's not always as precise as it could be. But you can't have it all..." isSpecification="false" isLeaf="false" visibility="public" xmi.id="451" isRoot="false" isAbstract="false" name="KisHistogram" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="487" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="548" isRoot="false" initialValue="" type="430" isAbstract="false" name="m_device" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="549" isRoot="false" initialValue="" type="59" isAbstract="false" name="m_producer" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="550" isRoot="false" initialValue="" type="483" isAbstract="false" name="m_type" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="551" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_channel" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="552" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_selFrom" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="553" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_selTo" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="554" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_selection" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="555" isRoot="false" initialValue="" type="430" isAbstract="false" name="m_dev" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="556" isRoot="false" initialValue="" type="40" isAbstract="false" name="m_completeCalculations" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="557" isRoot="false" initialValue="" type="40" isAbstract="false" name="m_selectionCalculations" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="508" isRoot="false" isAbstract="false" name="KisHistogram" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="509" isRoot="false" value="" type="435" isAbstract="false" name="layer" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="510" isRoot="false" value="" type="59" isAbstract="false" name="producer" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="512" isRoot="false" value="" type="511" isAbstract="false" name="type" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="513" isRoot="false" isAbstract="false" name="KisHistogram" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="514" isRoot="false" value="" type="430" isAbstract="false" name="paintdev" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="515" isRoot="false" value="" type="59" isAbstract="false" name="producer" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="516" isRoot="false" value="" type="511" isAbstract="false" name="type" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="517" isRoot="false" isAbstract="false" name="~ KisHistogram" />
      <UML:Operation comment="Updates the information in the producer" isSpecification="false" isLeaf="false" visibility="public" xmi.id="518" isRoot="false" isAbstract="false" name="updateHistogram" />
      <UML:Operation comment="(Re)computes the mathematical information from the information currently in the producer.
Needs to be called when you change the selection and want to get that information" isSpecification="false" isLeaf="false" visibility="public" xmi.id="519" isRoot="false" isAbstract="false" name="computeHistogram" />
      <UML:Operation comment="The information on the entire view for the current channel" isSpecification="false" isLeaf="false" visibility="public" xmi.id="520" isRoot="false" isAbstract="false" name="calculations" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17201" type="490" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="The information on the current selection for the current channel" isSpecification="false" isLeaf="false" visibility="public" xmi.id="521" isRoot="false" isAbstract="false" name="selectionCalculations" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17202" type="490" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="522" isRoot="false" isAbstract="false" name="getValue" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17203" type="497" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="523" isRoot="false" value="" type="251" isAbstract="false" name="i" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="524" isRoot="false" isAbstract="false" name="getHistogramType" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17204" type="483" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="525" isRoot="false" isAbstract="false" name="setHistogramType" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="526" isRoot="false" value="" type="483" isAbstract="false" name="type" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="527" isRoot="false" isAbstract="false" name="setProducer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="528" isRoot="false" value="" type="59" isAbstract="false" name="producer" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="529" isRoot="false" isAbstract="false" name="setChannel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="530" isRoot="false" value="" type="43" isAbstract="false" name="channel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="531" isRoot="false" isAbstract="false" name="producer" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17205" type="59" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="532" isRoot="false" isAbstract="false" name="channel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17206" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="533" isRoot="false" isAbstract="false" name="hasSelection" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17207" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="534" isRoot="false" isAbstract="false" name="selectionFrom" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17208" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="535" isRoot="false" isAbstract="false" name="selectionTo" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17209" type="7" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="536" isRoot="false" isAbstract="false" name="setNoSelection" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="537" isRoot="false" isAbstract="false" name="setSelection" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="538" isRoot="false" value="" type="7" isAbstract="false" name="from" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="539" isRoot="false" value="" type="7" isAbstract="false" name="to" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// Dump the histogram to debug." isSpecification="false" isLeaf="false" visibility="private" xmi.id="540" isRoot="false" isAbstract="false" name="dump" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="541" isRoot="false" isAbstract="false" name="calculateForRange" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17210" type="40" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="542" isRoot="false" value="" type="7" isAbstract="false" name="from" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="543" isRoot="false" value="" type="7" isAbstract="false" name="to" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="544" isRoot="false" isAbstract="false" name="calculateSingleRange" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17211" type="490" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="545" isRoot="false" value="" type="2" isAbstract="false" name="channel" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="546" isRoot="false" value="" type="7" isAbstract="false" name="from" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="547" isRoot="false" value="" type="7" isAbstract="false" name="to" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class comment="Class that stores the result of histogram calculations.
Doubles are in the 0-1 range, use the producer's positionToString function to display it." isSpecification="false" isLeaf="false" visibility="public" xmi.id="490" isRoot="false" isAbstract="false" name="Calculations" >
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="491" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_max" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="492" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_min" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="493" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_mean" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="494" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_total" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="495" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_median" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="496" isRoot="false" initialValue="" type="7" isAbstract="false" name="m_stddev" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="498" isRoot="false" initialValue="" type="497" isAbstract="false" name="m_high" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="499" isRoot="false" initialValue="" type="497" isAbstract="false" name="m_low" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="500" isRoot="false" initialValue="" type="497" isAbstract="false" name="m_count" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="501" isRoot="false" isAbstract="false" name="getMax" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="17212" type="7" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="502" isRoot="false" isAbstract="false" name="getMin" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="17213" type="7" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="503" isRoot="false" isAbstract="false" name="getHighest" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="17214" type="497" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="504" isRoot="false" isAbstract="false" name="getLowest" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="17215" type="497" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="505" isRoot="false" isAbstract="false" name="getMean" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="17216" type="7" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="506" isRoot="false" isAbstract="false" name="getCount" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="17217" type="497" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="507" isRoot="false" isAbstract="false" name="getTotal" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="17218" type="7" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="452" isRoot="false" isAbstract="false" name="KisHistogramSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="453" isRoot="false" isAbstract="false" name="vKisHistogramSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="454" isRoot="false" isAbstract="false" name="vKisHistogramSP_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="455" isRoot="false" isAbstract="false" name="vKisHistogramSP_cit" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="456" isRoot="false" isAbstract="false" name="KisPaintOp" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="457" isRoot="false" isAbstract="false" name="KisPaintOpSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="458" isRoot="false" isAbstract="false" name="KisPaintOpFactory" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="459" isRoot="false" isAbstract="false" name="KisPaintOpFactorySP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="460" isRoot="false" isAbstract="false" name="KisToolFactory" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="461" isRoot="false" isAbstract="false" name="KisToolFactorySP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="462" isRoot="false" isAbstract="false" name="KisPluginFactory" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="463" isRoot="false" isAbstract="false" name="KisPluginFactorySP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="464" isRoot="false" isAbstract="false" name="KisTool" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="465" isRoot="false" isAbstract="false" name="KisToolSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="466" isRoot="false" isAbstract="false" name="vKisTool" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="467" isRoot="false" isAbstract="false" name="vKisTool_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="468" isRoot="false" isAbstract="false" name="vKisTool_cit" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="469" isRoot="false" isAbstract="false" name="vKisSegments" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="470" isRoot="false" isAbstract="false" name="KisGuide" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="471" isRoot="false" isAbstract="false" name="KisGuideSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="472" isRoot="false" isAbstract="false" name="KisAlphaMask" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="473" isRoot="false" isAbstract="false" name="KisAlphaMaskSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="474" isRoot="false" isAbstract="false" name="KisAlphaColorSpace" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="475" isRoot="false" isAbstract="false" name="KisAlphaColorSpaceSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="476" isRoot="false" isAbstract="false" name="KisFilter" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="477" isRoot="false" isAbstract="false" name="KisFilterSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="478" isRoot="false" isAbstract="false" name="KisFileFormat" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="479" isRoot="false" isAbstract="false" name="KisFileFormatSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="480" isRoot="false" isAbstract="false" name="vKisFileFormatSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="481" isRoot="false" isAbstract="false" name="vKisFileFormatSP_it" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="482" isRoot="false" isAbstract="false" name="vKisFileFormatSP_cit" />
    <UML:Enumeration stereotype="484" comment=" Copyright (c) 2004 Boudewijn Rempt
           (c) 2005 Bart Coppens &lt;kde@bartcoppens.be>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." isSpecification="false" isLeaf="false" visibility="public" xmi.id="483" isRoot="false" isAbstract="false" name="enumHistogramType" >
     <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" xmi.id="485" isRoot="false" isAbstract="false" name="LINEAR" />
     <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" xmi.id="486" isRoot="false" isAbstract="false" name="LOGARITHMIC" />
    </UML:Enumeration>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="497" isRoot="false" isAbstract="false" name="Q_UINT32" />
    <UML:Class comment="Provides abstraction to a tile.  A tile contains
a part of a PaintDevice, but only the individual pixels
are accesable and that only via iterators." isSpecification="false" isLeaf="false" visibility="public" xmi.id="558" isRoot="false" isAbstract="false" name="KisTile" >
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="631" isRoot="false" initialValue="" type="252" isAbstract="false" name="m_data" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="632" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_nReadlock" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="633" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_writeLock" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="634" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_row" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="635" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_col" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="636" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_pixelSize" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="637" isRoot="false" initialValue="" type="593" isAbstract="false" name="m_nextTile" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="public" xmi.id="639" isRoot="false" initialValue="" type="638" isAbstract="false" name="WIDTH" ownerScope="classifier" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="public" xmi.id="640" isRoot="false" initialValue="" type="638" isAbstract="false" name="HEIGHT" ownerScope="classifier" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="597" isRoot="false" isAbstract="false" name="KisTile" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="598" isRoot="false" value="" type="43" isAbstract="false" name="pixelSize" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="599" isRoot="false" value="" type="43" isAbstract="false" name="col" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="600" isRoot="false" value="" type="43" isAbstract="false" name="row" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="601" isRoot="false" value="" type="252" isAbstract="false" name="defPixel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="602" isRoot="false" isAbstract="false" name="KisTile" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="604" isRoot="false" value="" type="603" isAbstract="false" name="rhs" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="605" isRoot="false" value="" type="43" isAbstract="false" name="col" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="606" isRoot="false" value="" type="43" isAbstract="false" name="row" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="607" isRoot="false" isAbstract="false" name="KisTile" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="608" isRoot="false" value="" type="603" isAbstract="false" name="rhs" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="609" isRoot="false" isAbstract="false" name="~ KisTile" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="610" isRoot="false" isAbstract="false" name="release" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="611" isRoot="false" isAbstract="false" name="allocate" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="612" isRoot="false" isAbstract="false" name="data" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17219" type="252" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="613" isRoot="false" value="" type="43" isAbstract="false" name="xoff" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="614" isRoot="false" value="" type="43" isAbstract="false" name="yoff" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="615" isRoot="false" isAbstract="false" name="refCount" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17220" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="616" isRoot="false" isAbstract="false" name="ref" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="617" isRoot="false" isAbstract="false" name="getRow" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17221" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="618" isRoot="false" isAbstract="false" name="getCol" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17222" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="619" isRoot="false" isAbstract="false" name="setNext" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="620" isRoot="false" value="" type="593" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="621" isRoot="false" isAbstract="false" name="getNext" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17223" type="593" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="622" isRoot="false" isAbstract="false" name="setData" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="623" isRoot="false" value="" type="252" isAbstract="false" name="pixel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Functions that are needed for locking the tiles into memory for caching" isSpecification="false" isLeaf="false" visibility="public" xmi.id="624" isRoot="false" isAbstract="false" name="addReader" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="625" isRoot="false" isAbstract="false" name="removeReader" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="626" isRoot="false" isAbstract="false" name="readers" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17224" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="628" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17225" type="603" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="630" isRoot="false" value="" type="629" isAbstract="false" name="" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class comment="KisTiledDataManager implements the interface that KisDataManager defines

The interface definition is enforced by KisDataManager calling all the methods
which must also be defined in KisTiledDataManager. It is not allowed to change the interface
as other datamangers may also rely on the same interface.

* Storing undo/redo data
* Offering ordered and unordered iterators over rects of pixels
* (eventually) efficiently loading and saving data in a format
that may allow deferred loading.

A datamanager knows nothing about the type of pixel data except
how many Q_UINT8's a single pixel takes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="559" isRoot="false" isAbstract="false" name="KisTiledDataManager" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="644" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="737" isRoot="false" initialValue="" type="497" isAbstract="false" name="m_pixelSize" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="738" isRoot="false" initialValue="" type="497" isAbstract="false" name="m_numTiles" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="739" isRoot="false" initialValue="" type="593" isAbstract="false" name="m_defaultTile" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="740" isRoot="false" initialValue="" type="578" isAbstract="false" name="m_hashTable" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="741" isRoot="false" initialValue="" type="561" isAbstract="false" name="m_currentMemento" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="742" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_extentMinX" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="743" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_extentMinY" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="744" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_extentMaxX" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="745" isRoot="false" initialValue="" type="43" isAbstract="false" name="m_extentMaxY" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="746" isRoot="false" initialValue="" type="252" isAbstract="false" name="m_defPixel" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="647" isRoot="false" isAbstract="false" name="KisTiledDataManager" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="648" isRoot="false" value="" type="497" isAbstract="false" name="pixelSize" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="649" isRoot="false" value="" type="254" isAbstract="false" name="defPixel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="650" isRoot="false" isAbstract="false" name="~ KisTiledDataManager" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="651" isRoot="false" isAbstract="false" name="KisTiledDataManager" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="653" isRoot="false" value="" type="652" isAbstract="false" name="dm" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="654" isRoot="false" isAbstract="false" name="operator =" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17226" type="656" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="655" isRoot="false" value="" type="652" isAbstract="false" name="dm" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="657" isRoot="false" isAbstract="false" name="setDefaultPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="658" isRoot="false" value="" type="254" isAbstract="false" name="defPixel" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="659" isRoot="false" isAbstract="false" name="defaultPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17227" type="254" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="660" isRoot="false" isAbstract="false" name="getMemento" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17228" type="561" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="661" isRoot="false" isAbstract="false" name="rollback" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="662" isRoot="false" value="" type="561" isAbstract="false" name="memento" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="663" isRoot="false" isAbstract="false" name="rollforward" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="664" isRoot="false" value="" type="561" isAbstract="false" name="memento" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="665" isRoot="false" isAbstract="false" name="hasCurrentMemento" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17229" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Reads and writes the tiles from/onto a KoStore (which is simply a file within a zip file)
" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="666" isRoot="false" isAbstract="false" name="write" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17230" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="668" isRoot="false" value="" type="667" isAbstract="false" name="store" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="669" isRoot="false" isAbstract="false" name="read" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17231" type="5" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="670" isRoot="false" value="" type="667" isAbstract="false" name="store" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="671" isRoot="false" isAbstract="false" name="pixelSize" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17232" type="497" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="672" isRoot="false" isAbstract="false" name="extent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="673" isRoot="false" value="" type="569" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="674" isRoot="false" value="" type="569" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="675" isRoot="false" value="" type="569" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="676" isRoot="false" value="" type="569" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="677" isRoot="false" isAbstract="false" name="setExtent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="678" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="679" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="680" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="681" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="682" isRoot="false" isAbstract="false" name="clear" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="683" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="684" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="685" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="686" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="687" isRoot="false" value="" type="251" isAbstract="false" name="def" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="688" isRoot="false" isAbstract="false" name="clear" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="689" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="690" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="691" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="692" isRoot="false" value="" type="43" isAbstract="false" name="h" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="693" isRoot="false" value="" type="252" isAbstract="false" name="def" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="694" isRoot="false" isAbstract="false" name="clear" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="695" isRoot="false" isAbstract="false" name="paste" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="696" isRoot="false" value="" type="642" isAbstract="false" name="data" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="697" isRoot="false" value="" type="43" isAbstract="false" name="sx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="698" isRoot="false" value="" type="43" isAbstract="false" name="sy" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="699" isRoot="false" value="" type="43" isAbstract="false" name="dx" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="700" isRoot="false" value="" type="43" isAbstract="false" name="dy" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="701" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="702" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get a read-only pointer to pixel (x, y)." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="703" isRoot="false" isAbstract="false" name="pixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17233" type="254" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="704" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="705" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Get a read-write pointer to pixel (x, y)." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="706" isRoot="false" isAbstract="false" name="writablePixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17234" type="252" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="707" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="708" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="write the specified data to x, y. There is no checking on pixelSize!" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="709" isRoot="false" isAbstract="false" name="setPixel" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="710" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="711" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="712" isRoot="false" value="" type="254" isAbstract="false" name="data" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Copy the bytes in the specified rect to a vector. The caller is responsible
for managing the vector." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="713" isRoot="false" isAbstract="false" name="readBytes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="714" isRoot="false" value="" type="252" isAbstract="false" name="bytes" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="715" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="716" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="717" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="718" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Copy the bytes in the vector to the specified rect. If there are bytes left
in the vector after filling the rect, they will be ignored. If there are
not enough bytes, the rest of the rect will be filled with the default value
given (by default, 0);" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="719" isRoot="false" isAbstract="false" name="writeBytes" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="720" isRoot="false" value="" type="254" isAbstract="false" name="bytes" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="721" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="722" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="723" isRoot="false" value="" type="43" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="724" isRoot="false" value="" type="43" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Get the number of contiguous columns starting at x, valid for all values/// of y between minY and maxY." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="725" isRoot="false" isAbstract="false" name="numContiguousColumns" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17235" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="726" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="727" isRoot="false" value="" type="43" isAbstract="false" name="minY" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="728" isRoot="false" value="" type="43" isAbstract="false" name="maxY" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Get the number of contiguous rows starting at y, valid for all values/// of x between minX and maxX." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="729" isRoot="false" isAbstract="false" name="numContiguousRows" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17236" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="730" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="731" isRoot="false" value="" type="43" isAbstract="false" name="minX" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="732" isRoot="false" value="" type="43" isAbstract="false" name="maxX" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="/// Get the row stride at pixel (x, y). This is the number of bytes to add to a/// pointer to pixel (x, y) to access (x, y + 1)." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="733" isRoot="false" isAbstract="false" name="rowStride" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17237" type="43" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="734" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="735" isRoot="false" value="" type="43" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="// For debugging use" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="736" isRoot="false" isAbstract="false" name="numTiles" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17238" type="43" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="747" isRoot="false" isAbstract="false" name="ensureTileMementoed" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="748" isRoot="false" value="" type="43" isAbstract="false" name="col" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="749" isRoot="false" value="" type="43" isAbstract="false" name="row" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="750" isRoot="false" value="" type="497" isAbstract="false" name="tileHash" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="751" isRoot="false" value="" type="593" isAbstract="false" name="refTile" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="752" isRoot="false" isAbstract="false" name="getOldTile" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17239" type="593" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="753" isRoot="false" value="" type="43" isAbstract="false" name="col" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="754" isRoot="false" value="" type="43" isAbstract="false" name="row" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="755" isRoot="false" value="" type="593" isAbstract="false" name="def" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="756" isRoot="false" isAbstract="false" name="getTile" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17240" type="593" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="757" isRoot="false" value="" type="43" isAbstract="false" name="col" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="758" isRoot="false" value="" type="43" isAbstract="false" name="row" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="759" isRoot="false" value="" type="5" isAbstract="false" name="writeAccess" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="760" isRoot="false" isAbstract="false" name="calcTileHash" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17241" type="497" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="761" isRoot="false" value="" type="43" isAbstract="false" name="col" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="762" isRoot="false" value="" type="43" isAbstract="false" name="row" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="763" isRoot="false" isAbstract="false" name="updateExtent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="764" isRoot="false" value="" type="43" isAbstract="false" name="col" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="765" isRoot="false" value="" type="43" isAbstract="false" name="row" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="766" isRoot="false" isAbstract="false" name="xToCol" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17242" type="497" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="767" isRoot="false" value="" type="497" isAbstract="false" name="x" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="768" isRoot="false" isAbstract="false" name="yToRow" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17243" type="497" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="769" isRoot="false" value="" type="497" isAbstract="false" name="y" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="770" isRoot="false" isAbstract="false" name="getContiguousColumnsAndRows" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="771" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="772" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="774" isRoot="false" value="" type="773" isAbstract="false" name="columns" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="775" isRoot="false" value="" type="773" isAbstract="false" name="rows" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="776" isRoot="false" isAbstract="false" name="pixelPtr" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17244" type="252" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="777" isRoot="false" value="" type="43" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="778" isRoot="false" value="" type="43" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="779" isRoot="false" value="" type="5" isAbstract="false" name="writable" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="560" isRoot="false" isAbstract="false" name="KisMemento" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="562" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="577" isRoot="false" initialValue="" type="576" isAbstract="false" name="originator" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="579" isRoot="false" initialValue="" type="578" isAbstract="false" name="m_hashTable" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="580" isRoot="false" initialValue="" type="497" isAbstract="false" name="m_numTiles" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="581" isRoot="false" initialValue="" type="578" isAbstract="false" name="m_redoHashTable" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="587" isRoot="false" initialValue="" type="585" isAbstract="false" name="m_delTilesTable" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="588" isRoot="false" initialValue="" type="252" isAbstract="false" name="m_defPixel" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="589" isRoot="false" initialValue="" type="252" isAbstract="false" name="m_redoDefPixel" />
      <UML:Attribute isSpecification="false" isLeaf="false" visibility="private" xmi.id="595" isRoot="false" initialValue="" type="5" isAbstract="false" name="m_valid" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="565" isRoot="false" isAbstract="false" name="KisMemento" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="566" isRoot="false" value="" type="497" isAbstract="false" name="pixelSize" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="567" isRoot="false" isAbstract="false" name="~ KisMemento" />
      <UML:Operation comment="// For consolidating transactions
virtual KisTransaction &amp;operator+=(const KisTransaction &amp;) = 0;
// For consolidating transactions
virtual KisTransaction &amp;operator+(const KisTransaction &amp;,
const KisTransaction &amp;) = 0;" isSpecification="false" isLeaf="false" visibility="public" xmi.id="568" isRoot="false" isAbstract="false" name="extent" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="570" isRoot="false" value="" type="569" isAbstract="false" name="x" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="571" isRoot="false" value="" type="569" isAbstract="false" name="y" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="572" isRoot="false" value="" type="569" isAbstract="false" name="w" />
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="573" isRoot="false" value="" type="569" isAbstract="false" name="h" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="574" isRoot="false" isAbstract="false" name="valid" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="17245" type="5" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="575" isRoot="false" isAbstract="false" name="setInvalid" />
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="590" isRoot="false" isAbstract="false" name="deleteAll" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="591" isRoot="false" value="" type="585" isAbstract="false" name="deletedtile" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="592" isRoot="false" isAbstract="false" name="deleteAll" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" isLeaf="false" visibility="private" xmi.id="594" isRoot="false" value="" type="593" isAbstract="false" name="tile" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="582" isRoot="false" isAbstract="false" name="DeletedTile" >
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="public" xmi.id="583" isRoot="false" initialValue="" type="43" isAbstract="false" name="col" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="public" xmi.id="584" isRoot="false" initialValue="" type="43" isAbstract="false" name="row" />
        <UML:Attribute isSpecification="false" isLeaf="false" visibility="public" xmi.id="586" isRoot="false" initialValue="" type="585" isAbstract="false" name="next" />
       </UML:Classifier.feature>
      </UML:Class>
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="561" isRoot="false" isAbstract="false" name="KisMementoSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="596" isRoot="false" isAbstract="false" name="KisTiledIterator" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="627" isRoot="false" isAbstract="false" name="KisTileManager" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="641" isRoot="false" isAbstract="false" name="KisTiledDataManagerSP" />
    <UML:Class stereotype="60" isSpecification="false" isLeaf="false" visibility="public" xmi.id="642" isRoot="false" isAbstract="false" name="KisDataManagerSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="643" isRoot="false" isAbstract="false" name="KoStore" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="813" isRoot="false" isAbstract="false" name="QRect" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="870" isRoot="false" isAbstract="false" name="KoXmlWriter" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="871" isRoot="false" isAbstract="false" name="QDomElement" />
    <UML:Class comment="// 1 inch ^= 72 pt// 1 inch ^= 25.399956 mm (-pedantic ;p)// 1 pt = 1/12 pi// 1 pt ^= 0.0077880997 cc// 1 cc = 12 dd// Note: I don't use division but multiplication with the inverse value// because it's faster ;p (Werner)/**
%KOffice stores everything in pt (using &quot;double&quot;) internally.
When displaying a value to the user, the value is converted to the user's unit
of choice, and rounded to a reasonable precision to avoid 0.999999" isSpecification="false" isLeaf="false" visibility="public" xmi.id="872" isRoot="false" isAbstract="false" name="KoUnit" >
     <UML:Namespace.ownedElement>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1118" isRoot="false" isAbstract="false" name="Unit" />
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="873" isRoot="false" isAbstract="false" name="KoCommandHistory" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="874" isRoot="false" isAbstract="false" name="KisNameServer" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="875" isRoot="false" isAbstract="false" name="KisUndoAdapter" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="876" isRoot="false" isAbstract="false" name="KisPainter" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="877" isRoot="false" isAbstract="false" name="DCOPObject" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="878" isRoot="false" isAbstract="false" name="KisDoc" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="879" isRoot="false" isAbstract="false" name="KCommand" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="880" isRoot="false" isAbstract="false" name="KisCompositeOp" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="881" isRoot="false" isAbstract="false" name="KisColor" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="882" isRoot="false" isAbstract="false" name="KisFilterStrategy" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="883" isRoot="false" isAbstract="false" name="KisImageIface" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="884" isRoot="false" isAbstract="false" name="KisProfile" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="885" isRoot="false" isAbstract="false" name="KisProgressDisplayInterface" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="886" isRoot="false" isAbstract="false" name="QObject" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="912" isRoot="false" isAbstract="false" name="QPainter" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="925" isRoot="false" isAbstract="false" name="QImage" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1065" isRoot="false" isAbstract="false" name="KisGuideMgr" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1068" isRoot="false" isAbstract="false" name="KisAnnotationSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1075" isRoot="false" isAbstract="false" name="vKisAnnotationSP_it" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1110" isRoot="false" isAbstract="false" name="KURL" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1133" isRoot="false" isAbstract="false" name="vKisAnnotationSP" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1136" isRoot="false" isAbstract="false" name="QMutex" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1138" isRoot="false" isAbstract="false" name="QSize" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1139" isRoot="false" isAbstract="false" name="QPoint" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1140" isRoot="false" isAbstract="false" name="QWMatrix" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1141" isRoot="false" isAbstract="false" name="KNamedCommand" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1142" isRoot="false" isAbstract="false" name="KisRotateVisitor" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1143" isRoot="false" isAbstract="false" name="KisScaleVisitor" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1147" isRoot="false" isAbstract="false" name="KisPaintDevice" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1267" isRoot="false" isAbstract="false" name="QColor" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" xmi.id="1373" isRoot="false" isAbstract="false" name="Q_INT8" />
    <UML:Generalization isSpecification="false" child="14" visibility="public" xmi.id="16" parent="15" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="70" visibility="public" xmi.id="73" parent="72" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="89" visibility="public" xmi.id="90" parent="14" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="131" visibility="public" xmi.id="132" parent="89" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="144" visibility="public" xmi.id="145" parent="89" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="157" visibility="public" xmi.id="158" parent="89" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="170" visibility="public" xmi.id="172" parent="61" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="183" visibility="public" xmi.id="184" parent="89" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="196" visibility="public" xmi.id="197" parent="61" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="205" visibility="public" xmi.id="206" parent="89" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="218" visibility="public" xmi.id="219" parent="61" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="340" visibility="public" xmi.id="341" parent="263" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="340" visibility="public" xmi.id="344" parent="309" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="370" visibility="public" xmi.id="371" parent="288" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="370" visibility="public" xmi.id="374" parent="309" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="11" visibility="public" xmi.id="398" parent="234" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="11" visibility="public" xmi.id="401" parent="309" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="451" visibility="public" xmi.id="487" parent="15" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="560" visibility="public" xmi.id="562" parent="15" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="559" visibility="public" xmi.id="644" parent="15" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="233" visibility="public" xmi.id="780" parent="559" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="425" visibility="public" xmi.id="887" parent="886" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="425" visibility="public" xmi.id="890" parent="15" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="312" visibility="public" xmi.id="1144" parent="886" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="312" visibility="public" xmi.id="1148" parent="1147" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="312" visibility="public" xmi.id="1151" parent="15" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="434" visibility="public" xmi.id="1400" parent="312" discriminator="" name="" />
   </UML:Namespace.ownedElement>
  </UML:Model>
 </XMI.content>
 <XMI.extensions xmi.extender="umbrello" >
  <docsettings viewid="1" documentation="" uniqueid="17245" />
  <diagrams>
   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="48" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="2906" snapy="10" showatts="1" xmi.id="1" documentation="" type="402" showops="1" showpackage="0" name="class diagram" localid="900000" showstereotype="0" showscope="1" snapcsgrid="0" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="2145" >
    <widgets>
     <classwidget usesdiagramfillcolour="1" width="574" showattsigs="601" usesdiagramusefillcolour="1" x="1230" linecolour="none" y="1075" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="99" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="131" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="583" showattsigs="601" usesdiagramusefillcolour="1" x="1264" linecolour="none" y="1396" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="99" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="157" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="788" showattsigs="601" usesdiagramusefillcolour="1" x="1480" linecolour="none" y="502" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="486" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="89" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="622" showattsigs="601" usesdiagramusefillcolour="1" x="97" linecolour="none" y="95" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="131" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="170" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="584" showattsigs="601" usesdiagramusefillcolour="1" x="1253" linecolour="none" y="1235" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="99" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="144" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="980" showattsigs="601" usesdiagramusefillcolour="1" x="164" linecolour="none" y="783" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="594" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="451" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="604" showattsigs="601" usesdiagramusefillcolour="1" x="1570" linecolour="none" y="55" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="378" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="14" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="454" showattsigs="601" usesdiagramusefillcolour="1" x="169" linecolour="none" y="521" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="126" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="61" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="824" showattsigs="601" usesdiagramusefillcolour="1" x="229" linecolour="none" y="1565" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="144" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="70" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="533" showattsigs="601" usesdiagramusefillcolour="1" x="1851" linecolour="none" y="1235" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="126" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="205" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="433" showattsigs="601" usesdiagramusefillcolour="1" x="503" linecolour="none" y="290" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="99" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="218" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="533" showattsigs="601" usesdiagramusefillcolour="1" x="1837" linecolour="none" y="1068" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="126" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="183" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
     <classwidget usesdiagramfillcolour="1" width="389" showattsigs="601" usesdiagramusefillcolour="1" x="678" linecolour="none" y="536" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="99" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="196" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" />
    </widgets>
    <messages/>
    <associations>
     <assocwidget totalcounta="2" indexa="1" totalcountb="6" indexb="1" widgetbid="89" widgetaid="131" xmi.id="132" >
      <linepath>
       <startpoint startx="1517" starty="1075" />
       <endpoint endx="1611" endy="988" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="6" indexb="3" widgetbid="89" widgetaid="157" xmi.id="158" >
      <linepath>
       <startpoint startx="1555" starty="1396" />
       <endpoint endx="1874" endy="988" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="6" indexb="2" widgetbid="89" widgetaid="144" xmi.id="145" >
      <linepath>
       <startpoint startx="1545" starty="1235" />
       <endpoint endx="1742" endy="988" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="14" widgetaid="89" xmi.id="90" >
      <linepath>
       <startpoint startx="1874" starty="502" />
       <endpoint endx="1872" endy="433" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="61" widgetaid="170" xmi.id="172" >
      <linepath>
       <startpoint startx="408" starty="226" />
       <endpoint endx="320" endy="521" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" visibilityB="201" totalcountb="2" indexb="1" widgetbid="70" widgetaid="70" xmi.id="88" type="501" changeabilityA="900" changeabilityB="900" visibilityA="200" >
      <linepath>
       <startpoint startx="435" starty="1565" />
       <endpoint endx="847" endy="1565" />
       <point x="435" y="1515" />
       <point x="847" y="1515" />
      </linepath>
      <floatingtext usesdiagramfillcolour="1" width="34" usesdiagramusefillcolour="1" x="849" linecolour="none" y="1541" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="22" usefillcolor="1" pretext="" isinstance="0" xmi.id="5093" text="0..1" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" />
      <floatingtext usesdiagramfillcolour="1" width="99" usesdiagramusefillcolour="1" x="746" linecolour="none" y="1541" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="22" usefillcolor="1" pretext="-" isinstance="0" xmi.id="5095" text="m_singleton" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" />
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="6" indexb="4" widgetbid="89" widgetaid="205" xmi.id="206" >
      <linepath>
       <startpoint startx="2117" starty="1235" />
       <endpoint endx="2005" endy="988" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="61" widgetaid="218" xmi.id="219" >
      <linepath>
       <startpoint startx="719" starty="389" />
       <endpoint endx="471" endy="521" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="6" indexb="5" widgetbid="89" widgetaid="183" xmi.id="184" >
      <linepath>
       <startpoint startx="2103" starty="1068" />
       <endpoint endx="2136" endy="988" />
      </linepath>
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="61" widgetaid="196" xmi.id="197" >
      <linepath>
       <startpoint startx="678" starty="585" />
       <endpoint endx="623" endy="584" />
      </linepath>
     </assocwidget>
    </associations>
   </diagram>
  </diagrams>
  <listview>
   <listitem open="1" type="800" label="Views" >
    <listitem open="1" type="801" label="Logical View" >
     <listitem open="0" type="813" id="877" />
     <listitem open="0" type="813" id="879" />
     <listitem open="0" type="813" id="1141" />
     <listitem open="0" type="813" id="15" />
     <listitem open="0" type="813" id="1110" />
     <listitem open="0" type="813" id="474" />
     <listitem open="0" type="813" id="475" />
     <listitem open="0" type="813" id="472" />
     <listitem open="0" type="813" id="473" />
     <listitem open="0" type="813" id="1068" />
     <listitem open="0" type="813" id="449" />
     <listitem open="0" type="813" id="450" />
     <listitem open="0" type="813" id="157" >
      <listitem open="0" type="815" id="161" />
      <listitem open="0" type="815" id="164" />
      <listitem open="0" type="815" id="167" />
      <listitem open="0" type="815" id="169" />
     </listitem>
     <listitem open="0" type="813" id="89" >
      <listitem open="0" type="813" id="119" />
      <listitem open="0" type="814" id="120" />
      <listitem open="0" type="814" id="121" />
      <listitem open="0" type="814" id="122" />
      <listitem open="0" type="814" id="123" />
      <listitem open="0" type="814" id="124" />
      <listitem open="0" type="814" id="125" />
      <listitem open="0" type="814" id="126" />
      <listitem open="0" type="814" id="127" />
      <listitem open="0" type="814" id="128" />
      <listitem open="0" type="814" id="129" />
      <listitem open="0" type="814" id="130" />
      <listitem open="0" type="815" id="93" />
      <listitem open="0" type="815" id="98" />
      <listitem open="0" type="815" id="99" />
      <listitem open="0" type="815" id="100" />
      <listitem open="0" type="815" id="103" />
      <listitem open="0" type="815" id="104" />
      <listitem open="0" type="815" id="105" />
      <listitem open="0" type="815" id="106" />
      <listitem open="0" type="815" id="107" />
      <listitem open="0" type="815" id="108" />
      <listitem open="0" type="815" id="109" />
      <listitem open="0" type="815" id="112" />
      <listitem open="0" type="815" id="114" />
      <listitem open="0" type="815" id="116" />
      <listitem open="0" type="815" id="118" />
     </listitem>
     <listitem open="0" type="813" id="170" >
      <listitem open="0" type="814" id="182" />
      <listitem open="0" type="815" id="175" />
      <listitem open="0" type="815" id="178" />
      <listitem open="0" type="815" id="179" />
      <listitem open="0" type="815" id="180" />
      <listitem open="0" type="816" id="171" />
     </listitem>
     <listitem open="0" type="813" id="144" >
      <listitem open="0" type="815" id="148" />
      <listitem open="0" type="815" id="151" />
      <listitem open="0" type="815" id="154" />
      <listitem open="0" type="815" id="156" />
     </listitem>
     <listitem open="0" type="813" id="131" >
      <listitem open="0" type="815" id="135" />
      <listitem open="0" type="815" id="138" />
      <listitem open="0" type="815" id="141" />
      <listitem open="0" type="815" id="143" />
     </listitem>
     <listitem open="0" type="813" id="13" />
     <listitem open="0" type="813" id="881" />
     <listitem open="0" type="813" id="26" />
     <listitem open="0" type="813" id="880" />
     <listitem open="0" type="813" id="233" >
      <listitem open="0" type="815" id="783" />
      <listitem open="0" type="815" id="786" />
      <listitem open="0" type="815" id="789" />
      <listitem open="0" type="815" id="791" />
      <listitem open="0" type="815" id="792" />
      <listitem open="0" type="815" id="793" />
      <listitem open="0" type="815" id="795" />
      <listitem open="0" type="815" id="797" />
      <listitem open="0" type="815" id="799" />
      <listitem open="0" type="815" id="801" />
      <listitem open="0" type="815" id="802" />
      <listitem open="0" type="815" id="807" />
      <listitem open="0" type="815" id="812" />
      <listitem open="0" type="815" id="816" />
      <listitem open="0" type="815" id="822" />
      <listitem open="0" type="815" id="828" />
      <listitem open="0" type="815" id="829" />
      <listitem open="0" type="815" id="837" />
      <listitem open="0" type="815" id="840" />
      <listitem open="0" type="815" id="843" />
      <listitem open="0" type="815" id="847" />
      <listitem open="0" type="815" id="853" />
      <listitem open="0" type="815" id="859" />
      <listitem open="0" type="815" id="863" />
      <listitem open="0" type="815" id="867" />
     </listitem>
     <listitem open="0" type="813" id="642" />
     <listitem open="0" type="813" id="878" />
     <listitem open="0" type="813" id="478" />
     <listitem open="0" type="813" id="479" />
     <listitem open="0" type="813" id="476" />
     <listitem open="0" type="813" id="477" />
     <listitem open="0" type="813" id="882" />
     <listitem open="0" type="813" id="205" >
      <listitem open="0" type="814" id="217" />
      <listitem open="0" type="815" id="209" />
      <listitem open="0" type="815" id="210" />
      <listitem open="0" type="815" id="213" />
      <listitem open="0" type="815" id="215" />
      <listitem open="0" type="815" id="216" />
     </listitem>
     <listitem open="0" type="813" id="218" >
      <listitem open="0" type="815" id="222" />
      <listitem open="0" type="815" id="223" />
      <listitem open="0" type="815" id="224" />
      <listitem open="0" type="815" id="225" />
     </listitem>
     <listitem open="0" type="813" id="183" >
      <listitem open="0" type="814" id="195" />
      <listitem open="0" type="815" id="187" />
      <listitem open="0" type="815" id="188" />
      <listitem open="0" type="815" id="191" />
      <listitem open="0" type="815" id="193" />
      <listitem open="0" type="815" id="194" />
     </listitem>
     <listitem open="0" type="813" id="196" >
      <listitem open="0" type="815" id="200" />
      <listitem open="0" type="815" id="201" />
      <listitem open="0" type="815" id="202" />
      <listitem open="0" type="815" id="203" />
     </listitem>
     <listitem open="0" type="813" id="71" />
     <listitem open="0" type="813" id="470" />
     <listitem open="0" type="813" id="1065" />
     <listitem open="0" type="813" id="471" />
     <listitem open="0" type="813" id="263" >
      <listitem open="0" type="814" id="287" />
      <listitem open="0" type="815" id="264" />
      <listitem open="0" type="815" id="270" />
      <listitem open="0" type="815" id="271" />
      <listitem open="0" type="815" id="274" />
      <listitem open="0" type="815" id="277" />
      <listitem open="0" type="815" id="278" />
      <listitem open="0" type="815" id="279" />
      <listitem open="0" type="815" id="280" />
      <listitem open="0" type="815" id="281" />
      <listitem open="0" type="815" id="283" />
      <listitem open="0" type="815" id="284" />
      <listitem open="0" type="815" id="285" />
      <listitem open="0" type="815" id="286" />
     </listitem>
     <listitem open="0" type="813" id="340" >
      <listitem open="0" type="814" id="368" />
      <listitem open="0" type="814" id="369" />
      <listitem open="0" type="815" id="347" />
      <listitem open="0" type="815" id="357" />
      <listitem open="0" type="815" id="360" />
      <listitem open="0" type="815" id="363" />
      <listitem open="0" type="815" id="364" />
      <listitem open="0" type="815" id="366" />
      <listitem open="0" type="815" id="367" />
     </listitem>
     <listitem open="0" type="813" id="451" >
      <listitem open="0" type="813" id="490" >
       <listitem open="0" type="814" id="491" />
       <listitem open="0" type="814" id="492" />
       <listitem open="0" type="814" id="493" />
       <listitem open="0" type="814" id="494" />
       <listitem open="0" type="814" id="495" />
       <listitem open="0" type="814" id="496" />
       <listitem open="0" type="814" id="498" />
       <listitem open="0" type="814" id="499" />
       <listitem open="0" type="814" id="500" />
       <listitem open="0" type="815" id="501" />
       <listitem open="0" type="815" id="502" />
       <listitem open="0" type="815" id="503" />
       <listitem open="0" type="815" id="504" />
       <listitem open="0" type="815" id="505" />
       <listitem open="0" type="815" id="506" />
       <listitem open="0" type="815" id="507" />
      </listitem>
      <listitem open="0" type="814" id="548" />
      <listitem open="0" type="814" id="549" />
      <listitem open="0" type="814" id="550" />
      <listitem open="0" type="814" id="551" />
      <listitem open="0" type="814" id="552" />
      <listitem open="0" type="814" id="553" />
      <listitem open="0" type="814" id="554" />
      <listitem open="0" type="814" id="555" />
      <listitem open="0" type="814" id="556" />
      <listitem open="0" type="814" id="557" />
      <listitem open="0" type="815" id="508" />
      <listitem open="0" type="815" id="513" />
      <listitem open="0" type="815" id="517" />
      <listitem open="0" type="815" id="518" />
      <listitem open="0" type="815" id="519" />
      <listitem open="0" type="815" id="520" />
      <listitem open="0" type="815" id="521" />
      <listitem open="0" type="815" id="522" />
      <listitem open="0" type="815" id="524" />
      <listitem open="0" type="815" id="525" />
      <listitem open="0" type="815" id="527" />
      <listitem open="0" type="815" id="529" />
      <listitem open="0" type="815" id="531" />
      <listitem open="0" type="815" id="532" />
      <listitem open="0" type="815" id="533" />
      <listitem open="0" type="815" id="534" />
      <listitem open="0" type="815" id="535" />
      <listitem open="0" type="815" id="536" />
      <listitem open="0" type="815" id="537" />
      <listitem open="0" type="815" id="540" />
      <listitem open="0" type="815" id="541" />
      <listitem open="0" type="815" id="544" />
     </listitem>
     <listitem open="0" type="813" id="14" >
      <listitem open="0" type="814" id="57" />
      <listitem open="0" type="814" id="58" />
      <listitem open="0" type="815" id="19" />
      <listitem open="0" type="815" id="21" />
      <listitem open="0" type="815" id="22" />
      <listitem open="0" type="815" id="23" />
      <listitem open="0" type="815" id="29" />
      <listitem open="0" type="815" id="32" />
      <listitem open="0" type="815" id="34" />
      <listitem open="0" type="815" id="36" />
      <listitem open="0" type="815" id="39" />
      <listitem open="0" type="815" id="42" />
      <listitem open="0" type="815" id="44" />
      <listitem open="0" type="815" id="46" />
      <listitem open="0" type="815" id="47" />
      <listitem open="0" type="815" id="48" />
      <listitem open="0" type="815" id="49" />
      <listitem open="0" type="815" id="50" />
      <listitem open="0" type="815" id="53" />
      <listitem open="0" type="815" id="55" />
     </listitem>
     <listitem open="0" type="813" id="61" >
      <listitem open="0" type="814" id="69" />
      <listitem open="0" type="815" id="62" />
      <listitem open="0" type="815" id="64" />
      <listitem open="0" type="815" id="65" />
      <listitem open="0" type="815" id="66" />
      <listitem open="0" type="815" id="68" />
     </listitem>
     <listitem open="0" type="813" id="70" >
      <listitem open="0" type="814" id="88" />
      <listitem open="0" type="815" id="76" />
      <listitem open="0" type="815" id="77" />
      <listitem open="0" type="815" id="79" />
      <listitem open="0" type="815" id="82" />
      <listitem open="0" type="815" id="83" />
      <listitem open="0" type="815" id="86" />
     </listitem>
     <listitem open="0" type="813" id="59" />
     <listitem open="0" type="813" id="452" />
     <listitem open="0" type="813" id="37" />
     <listitem open="0" type="813" id="81" />
     <listitem open="0" type="813" id="425" >
      <listitem open="0" type="814" id="1108" />
      <listitem open="0" type="814" id="1109" />
      <listitem open="0" type="814" id="1111" />
      <listitem open="0" type="814" id="1112" />
      <listitem open="0" type="814" id="1113" />
      <listitem open="0" type="814" id="1114" />
      <listitem open="0" type="814" id="1115" />
      <listitem open="0" type="814" id="1116" />
      <listitem open="0" type="814" id="1117" />
      <listitem open="0" type="814" id="1119" />
      <listitem open="0" type="814" id="1120" />
      <listitem open="0" type="814" id="1121" />
      <listitem open="0" type="814" id="1122" />
      <listitem open="0" type="814" id="1123" />
      <listitem open="0" type="814" id="1124" />
      <listitem open="0" type="814" id="1125" />
      <listitem open="0" type="814" id="1126" />
      <listitem open="0" type="814" id="1127" />
      <listitem open="0" type="814" id="1129" />
      <listitem open="0" type="814" id="1130" />
      <listitem open="0" type="814" id="1131" />
      <listitem open="0" type="814" id="1132" />
      <listitem open="0" type="814" id="1134" />
      <listitem open="0" type="814" id="1135" />
      <listitem open="0" type="814" id="1137" />
      <listitem open="0" type="815" id="893" />
      <listitem open="0" type="815" id="901" />
      <listitem open="0" type="815" id="904" />
      <listitem open="0" type="815" id="905" />
      <listitem open="0" type="815" id="907" />
      <listitem open="0" type="815" id="918" />
      <listitem open="0" type="815" id="926" />
      <listitem open="0" type="815" id="927" />
      <listitem open="0" type="815" id="929" />
      <listitem open="0" type="815" id="930" />
      <listitem open="0" type="815" id="932" />
      <listitem open="0" type="815" id="933" />
      <listitem open="0" type="815" id="937" />
      <listitem open="0" type="815" id="940" />
      <listitem open="0" type="815" id="947" />
      <listitem open="0" type="815" id="950" />
      <listitem open="0" type="815" id="954" />
      <listitem open="0" type="815" id="957" />
      <listitem open="0" type="815" id="958" />
      <listitem open="0" type="815" id="961" />
      <listitem open="0" type="815" id="964" />
      <listitem open="0" type="815" id="965" />
      <listitem open="0" type="815" id="967" />
      <listitem open="0" type="815" id="968" />
      <listitem open="0" type="815" id="969" />
      <listitem open="0" type="815" id="972" />
      <listitem open="0" type="815" id="973" />
      <listitem open="0" type="815" id="974" />
      <listitem open="0" type="815" id="975" />
      <listitem open="0" type="815" id="978" />
      <listitem open="0" type="815" id="979" />
      <listitem open="0" type="815" id="982" />
      <listitem open="0" type="815" id="983" />
      <listitem open="0" type="815" id="986" />
      <listitem open="0" type="815" id="992" />
      <listitem open="0" type="815" id="995" />
      <listitem open="0" type="815" id="997" />
      <listitem open="0" type="815" id="999" />
      <listitem open="0" type="815" id="1001" />
      <listitem open="0" type="815" id="1006" />
      <listitem open="0" type="815" id="1009" />
      <listitem open="0" type="815" id="1011" />
      <listitem open="0" type="815" id="1013" />
      <listitem open="0" type="815" id="1015" />
      <listitem open="0" type="815" id="1017" />
      <listitem open="0" type="815" id="1020" />
      <listitem open="0" type="815" id="1022" />
      <listitem open="0" type="815" id="1024" />
      <listitem open="0" type="815" id="1027" />
      <listitem open="0" type="815" id="1029" />
      <listitem open="0" type="815" id="1031" />
      <listitem open="0" type="815" id="1033" />
      <listitem open="0" type="815" id="1035" />
      <listitem open="0" type="815" id="1037" />
      <listitem open="0" type="815" id="1040" />
      <listitem open="0" type="815" id="1041" />
      <listitem open="0" type="815" id="1042" />
      <listitem open="0" type="815" id="1043" />
      <listitem open="0" type="815" id="1046" />
      <listitem open="0" type="815" id="1048" />
      <listitem open="0" type="815" id="1050" />
      <listitem open="0" type="815" id="1052" />
      <listitem open="0" type="815" id="1053" />
      <listitem open="0" type="815" id="1054" />
      <listitem open="0" type="815" id="1055" />
      <listitem open="0" type="815" id="1057" />
      <listitem open="0" type="815" id="1058" />
      <listitem open="0" type="815" id="1059" />
      <listitem open="0" type="815" id="1061" />
      <listitem open="0" type="815" id="1062" />
      <listitem open="0" type="815" id="1064" />
      <listitem open="0" type="815" id="1067" />
      <listitem open="0" type="815" id="1070" />
      <listitem open="0" type="815" id="1072" />
      <listitem open="0" type="815" id="1074" />
      <listitem open="0" type="815" id="1076" />
      <listitem open="0" type="815" id="1077" />
      <listitem open="0" type="815" id="1079" />
      <listitem open="0" type="815" id="1081" />
      <listitem open="0" type="815" id="1083" />
      <listitem open="0" type="815" id="1085" />
      <listitem open="0" type="815" id="1088" />
      <listitem open="0" type="815" id="1092" />
      <listitem open="0" type="815" id="1094" />
      <listitem open="0" type="815" id="1096" />
      <listitem open="0" type="815" id="1097" />
      <listitem open="0" type="815" id="1099" />
      <listitem open="0" type="815" id="1102" />
     </listitem>
     <listitem open="0" type="813" id="883" />
     <listitem open="0" type="813" id="426" />
     <listitem open="0" type="813" id="309" >
      <listitem open="0" type="814" id="333" />
      <listitem open="0" type="814" id="338" />
      <listitem open="0" type="814" id="339" />
      <listitem open="0" type="815" id="311" />
      <listitem open="0" type="815" id="318" />
      <listitem open="0" type="815" id="319" />
      <listitem open="0" type="815" id="322" />
      <listitem open="0" type="815" id="325" />
      <listitem open="0" type="815" id="327" />
      <listitem open="0" type="815" id="329" />
      <listitem open="0" type="815" id="331" />
      <listitem open="0" type="815" id="332" />
      <listitem open="0" type="815" id="334" />
      <listitem open="0" type="815" id="336" />
      <listitem open="0" type="816" id="310" />
     </listitem>
     <listitem open="0" type="813" id="434" >
      <listitem open="0" type="813" id="1403" />
      <listitem open="0" type="814" id="1440" />
      <listitem open="0" type="814" id="1441" />
      <listitem open="0" type="814" id="1442" />
      <listitem open="0" type="815" id="1404" />
      <listitem open="0" type="815" id="1407" />
      <listitem open="0" type="815" id="1411" />
      <listitem open="0" type="815" id="1416" />
      <listitem open="0" type="815" id="1419" />
      <listitem open="0" type="815" id="1420" />
      <listitem open="0" type="815" id="1421" />
      <listitem open="0" type="815" id="1422" />
      <listitem open="0" type="815" id="1423" />
      <listitem open="0" type="815" id="1425" />
      <listitem open="0" type="815" id="1426" />
      <listitem open="0" type="815" id="1428" />
      <listitem open="0" type="815" id="1430" />
      <listitem open="0" type="815" id="1431" />
      <listitem open="0" type="815" id="1433" />
      <listitem open="0" type="815" id="1435" />
      <listitem open="0" type="815" id="1436" />
      <listitem open="0" type="815" id="1438" />
     </listitem>
     <listitem open="0" type="813" id="435" />
     <listitem open="0" type="813" id="560" >
      <listitem open="0" type="813" id="582" >
       <listitem open="0" type="814" id="583" />
       <listitem open="0" type="814" id="584" />
       <listitem open="0" type="814" id="586" />
      </listitem>
      <listitem open="0" type="814" id="577" />
      <listitem open="0" type="814" id="579" />
      <listitem open="0" type="814" id="580" />
      <listitem open="0" type="814" id="581" />
      <listitem open="0" type="814" id="587" />
      <listitem open="0" type="814" id="588" />
      <listitem open="0" type="814" id="589" />
      <listitem open="0" type="814" id="595" />
      <listitem open="0" type="815" id="565" />
      <listitem open="0" type="815" id="567" />
      <listitem open="0" type="815" id="568" />
      <listitem open="0" type="815" id="574" />
      <listitem open="0" type="815" id="575" />
      <listitem open="0" type="815" id="590" />
      <listitem open="0" type="815" id="592" />
     </listitem>
     <listitem open="0" type="813" id="561" />
     <listitem open="0" type="813" id="874" />
     <listitem open="0" type="813" id="1147" />
     <listitem open="0" type="813" id="312" >
      <listitem open="0" type="814" id="1380" />
      <listitem open="0" type="814" id="1381" />
      <listitem open="0" type="814" id="1382" />
      <listitem open="0" type="814" id="1383" />
      <listitem open="0" type="814" id="1384" />
      <listitem open="0" type="814" id="1385" />
      <listitem open="0" type="814" id="1386" />
      <listitem open="0" type="814" id="1387" />
      <listitem open="0" type="814" id="1388" />
      <listitem open="0" type="814" id="1389" />
      <listitem open="0" type="814" id="1390" />
      <listitem open="0" type="814" id="1397" />
      <listitem open="0" type="814" id="1398" />
      <listitem open="0" type="814" id="1399" />
      <listitem open="0" type="815" id="1154" />
      <listitem open="0" type="815" id="1157" />
      <listitem open="0" type="815" id="1162" />
      <listitem open="0" type="815" id="1165" />
      <listitem open="0" type="815" id="1166" />
      <listitem open="0" type="815" id="1168" />
      <listitem open="0" type="815" id="1170" />
      <listitem open="0" type="815" id="1172" />
      <listitem open="0" type="815" id="1175" />
      <listitem open="0" type="815" id="1178" />
      <listitem open="0" type="815" id="1182" />
      <listitem open="0" type="815" id="1184" />
      <listitem open="0" type="815" id="1186" />
      <listitem open="0" type="815" id="1188" />
      <listitem open="0" type="815" id="1191" />
      <listitem open="0" type="815" id="1193" />
      <listitem open="0" type="815" id="1198" />
      <listitem open="0" type="815" id="1199" />
      <listitem open="0" type="815" id="1200" />
      <listitem open="0" type="815" id="1202" />
      <listitem open="0" type="815" id="1207" />
      <listitem open="0" type="815" id="1208" />
      <listitem open="0" type="815" id="1213" />
      <listitem open="0" type="815" id="1215" />
      <listitem open="0" type="815" id="1216" />
      <listitem open="0" type="815" id="1222" />
      <listitem open="0" type="815" id="1228" />
      <listitem open="0" type="815" id="1232" />
      <listitem open="0" type="815" id="1236" />
      <listitem open="0" type="815" id="1239" />
      <listitem open="0" type="815" id="1242" />
      <listitem open="0" type="815" id="1245" />
      <listitem open="0" type="815" id="1248" />
      <listitem open="0" type="815" id="1251" />
      <listitem open="0" type="815" id="1258" />
      <listitem open="0" type="815" id="1261" />
      <listitem open="0" type="815" id="1262" />
      <listitem open="0" type="815" id="1264" />
      <listitem open="0" type="815" id="1271" />
      <listitem open="0" type="815" id="1276" />
      <listitem open="0" type="815" id="1279" />
      <listitem open="0" type="815" id="1285" />
      <listitem open="0" type="815" id="1290" />
      <listitem open="0" type="815" id="1292" />
      <listitem open="0" type="815" id="1294" />
      <listitem open="0" type="815" id="1295" />
      <listitem open="0" type="815" id="1296" />
      <listitem open="0" type="815" id="1297" />
      <listitem open="0" type="815" id="1300" />
      <listitem open="0" type="815" id="1301" />
      <listitem open="0" type="815" id="1303" />
      <listitem open="0" type="815" id="1305" />
      <listitem open="0" type="815" id="1306" />
      <listitem open="0" type="815" id="1307" />
      <listitem open="0" type="815" id="1309" />
      <listitem open="0" type="815" id="1311" />
      <listitem open="0" type="815" id="1312" />
      <listitem open="0" type="815" id="1313" />
      <listitem open="0" type="815" id="1316" />
      <listitem open="0" type="815" id="1318" />
      <listitem open="0" type="815" id="1319" />
      <listitem open="0" type="815" id="1324" />
      <listitem open="0" type="815" id="1328" />
      <listitem open="0" type="815" id="1332" />
      <listitem open="0" type="815" id="1333" />
      <listitem open="0" type="815" id="1334" />
      <listitem open="0" type="815" id="1335" />
      <listitem open="0" type="815" id="1337" />
      <listitem open="0" type="815" id="1339" />
      <listitem open="0" type="815" id="1345" />
      <listitem open="0" type="815" id="1350" />
      <listitem open="0" type="815" id="1355" />
      <listitem open="0" type="815" id="1356" />
      <listitem open="0" type="815" id="1358" />
      <listitem open="0" type="815" id="1359" />
      <listitem open="0" type="815" id="1361" />
      <listitem open="0" type="815" id="1363" />
      <listitem open="0" type="815" id="1364" />
      <listitem open="0" type="815" id="1365" />
      <listitem open="0" type="815" id="1366" />
      <listitem open="0" type="815" id="1368" />
      <listitem open="0" type="815" id="1370" />
      <listitem open="0" type="815" id="1372" />
      <listitem open="0" type="815" id="1375" />
      <listitem open="0" type="815" id="1377" />
      <listitem open="0" type="815" id="1391" />
      <listitem open="0" type="815" id="1394" />
     </listitem>
     <listitem open="0" type="813" id="430" />
     <listitem open="0" type="813" id="456" />
     <listitem open="0" type="813" id="458" />
     <listitem open="0" type="813" id="459" />
     <listitem open="0" type="813" id="457" />
     <listitem open="0" type="813" id="876" />
     <listitem open="0" type="813" id="439" />
     <listitem open="0" type="813" id="440" />
     <listitem open="0" type="813" id="326" />
     <listitem open="0" type="813" id="328" />
     <listitem open="0" type="813" id="462" />
     <listitem open="0" type="813" id="463" />
     <listitem open="0" type="813" id="884" />
     <listitem open="0" type="813" id="885" />
     <listitem open="0" type="813" id="234" >
      <listitem open="0" type="814" id="262" />
      <listitem open="0" type="815" id="235" />
      <listitem open="0" type="815" id="243" />
      <listitem open="0" type="815" id="244" />
      <listitem open="0" type="815" id="247" />
      <listitem open="0" type="815" id="250" />
      <listitem open="0" type="815" id="253" />
      <listitem open="0" type="815" id="255" />
      <listitem open="0" type="815" id="256" />
      <listitem open="0" type="815" id="258" />
      <listitem open="0" type="815" id="259" />
      <listitem open="0" type="815" id="260" />
      <listitem open="0" type="815" id="261" />
     </listitem>
     <listitem open="0" type="813" id="11" >
      <listitem open="0" type="814" id="423" />
      <listitem open="0" type="814" id="424" />
      <listitem open="0" type="815" id="404" />
      <listitem open="0" type="815" id="415" />
      <listitem open="0" type="815" id="418" />
      <listitem open="0" type="815" id="420" />
      <listitem open="0" type="815" id="421" />
      <listitem open="0" type="815" id="422" />
     </listitem>
     <listitem open="0" type="813" id="1142" />
     <listitem open="0" type="813" id="1143" />
     <listitem open="0" type="813" id="444" />
     <listitem open="0" type="813" id="445" />
     <listitem open="0" type="813" id="558" >
      <listitem open="0" type="814" id="631" />
      <listitem open="0" type="814" id="632" />
      <listitem open="0" type="814" id="633" />
      <listitem open="0" type="814" id="634" />
      <listitem open="0" type="814" id="635" />
      <listitem open="0" type="814" id="636" />
      <listitem open="0" type="814" id="637" />
      <listitem open="0" type="814" id="639" />
      <listitem open="0" type="814" id="640" />
      <listitem open="0" type="815" id="597" />
      <listitem open="0" type="815" id="602" />
      <listitem open="0" type="815" id="607" />
      <listitem open="0" type="815" id="609" />
      <listitem open="0" type="815" id="610" />
      <listitem open="0" type="815" id="611" />
      <listitem open="0" type="815" id="612" />
      <listitem open="0" type="815" id="615" />
      <listitem open="0" type="815" id="616" />
      <listitem open="0" type="815" id="617" />
      <listitem open="0" type="815" id="618" />
      <listitem open="0" type="815" id="619" />
      <listitem open="0" type="815" id="621" />
      <listitem open="0" type="815" id="622" />
      <listitem open="0" type="815" id="624" />
      <listitem open="0" type="815" id="625" />
      <listitem open="0" type="815" id="626" />
      <listitem open="0" type="815" id="628" />
     </listitem>
     <listitem open="0" type="813" id="627" />
     <listitem open="0" type="813" id="559" >
      <listitem open="0" type="814" id="737" />
      <listitem open="0" type="814" id="738" />
      <listitem open="0" type="814" id="739" />
      <listitem open="0" type="814" id="740" />
      <listitem open="0" type="814" id="741" />
      <listitem open="0" type="814" id="742" />
      <listitem open="0" type="814" id="743" />
      <listitem open="0" type="814" id="744" />
      <listitem open="0" type="814" id="745" />
      <listitem open="0" type="814" id="746" />
      <listitem open="0" type="815" id="647" />
      <listitem open="0" type="815" id="650" />
      <listitem open="0" type="815" id="651" />
      <listitem open="0" type="815" id="654" />
      <listitem open="0" type="815" id="657" />
      <listitem open="0" type="815" id="659" />
      <listitem open="0" type="815" id="660" />
      <listitem open="0" type="815" id="661" />
      <listitem open="0" type="815" id="663" />
      <listitem open="0" type="815" id="665" />
      <listitem open="0" type="815" id="666" />
      <listitem open="0" type="815" id="669" />
      <listitem open="0" type="815" id="671" />
      <listitem open="0" type="815" id="672" />
      <listitem open="0" type="815" id="677" />
      <listitem open="0" type="815" id="682" />
      <listitem open="0" type="815" id="688" />
      <listitem open="0" type="815" id="694" />
      <listitem open="0" type="815" id="695" />
      <listitem open="0" type="815" id="703" />
      <listitem open="0" type="815" id="706" />
      <listitem open="0" type="815" id="709" />
      <listitem open="0" type="815" id="713" />
      <listitem open="0" type="815" id="719" />
      <listitem open="0" type="815" id="725" />
      <listitem open="0" type="815" id="729" />
      <listitem open="0" type="815" id="733" />
      <listitem open="0" type="815" id="736" />
      <listitem open="0" type="815" id="747" />
      <listitem open="0" type="815" id="752" />
      <listitem open="0" type="815" id="756" />
      <listitem open="0" type="815" id="760" />
      <listitem open="0" type="815" id="763" />
      <listitem open="0" type="815" id="766" />
      <listitem open="0" type="815" id="768" />
      <listitem open="0" type="815" id="770" />
      <listitem open="0" type="815" id="776" />
     </listitem>
     <listitem open="0" type="813" id="641" />
     <listitem open="0" type="813" id="231" />
     <listitem open="0" type="813" id="232" />
     <listitem open="0" type="813" id="596" />
     <listitem open="0" type="813" id="227" />
     <listitem open="0" type="813" id="228" />
     <listitem open="0" type="813" id="229" />
     <listitem open="0" type="813" id="230" />
     <listitem open="0" type="813" id="464" />
     <listitem open="0" type="813" id="460" />
     <listitem open="0" type="813" id="461" />
     <listitem open="0" type="813" id="465" />
     <listitem open="0" type="813" id="875" />
     <listitem open="0" type="813" id="288" >
      <listitem open="0" type="814" id="308" />
      <listitem open="0" type="815" id="289" />
      <listitem open="0" type="815" id="295" />
      <listitem open="0" type="815" id="296" />
      <listitem open="0" type="815" id="299" />
      <listitem open="0" type="815" id="302" />
      <listitem open="0" type="815" id="303" />
      <listitem open="0" type="815" id="304" />
      <listitem open="0" type="815" id="305" />
      <listitem open="0" type="815" id="306" />
      <listitem open="0" type="815" id="307" />
     </listitem>
     <listitem open="0" type="813" id="370" >
      <listitem open="0" type="814" id="396" />
      <listitem open="0" type="814" id="397" />
      <listitem open="0" type="815" id="377" />
      <listitem open="0" type="815" id="387" />
      <listitem open="0" type="815" id="390" />
      <listitem open="0" type="815" id="393" />
      <listitem open="0" type="815" id="394" />
      <listitem open="0" type="815" id="395" />
     </listitem>
     <listitem open="0" type="813" id="873" />
     <listitem open="0" type="813" id="643" />
     <listitem open="0" type="813" id="872" >
      <listitem open="0" type="813" id="1118" />
     </listitem>
     <listitem open="0" type="813" id="870" />
     <listitem open="0" type="813" id="1267" />
     <listitem open="0" type="813" id="871" />
     <listitem open="0" type="813" id="925" />
     <listitem open="0" type="813" id="1136" />
     <listitem open="0" type="813" id="886" />
     <listitem open="0" type="813" id="912" />
     <listitem open="0" type="813" id="1139" />
     <listitem open="0" type="813" id="813" />
     <listitem open="0" type="813" id="1138" />
     <listitem open="0" type="813" id="12" />
     <listitem open="0" type="813" id="40" />
     <listitem open="0" type="813" id="1140" />
     <listitem open="0" type="813" id="43" />
     <listitem open="0" type="813" id="1373" />
     <listitem open="0" type="813" id="497" />
     <listitem open="0" type="813" id="251" />
     <listitem open="0" type="813" id="315" />
     <listitem open="0" type="813" id="1133" />
     <listitem open="0" type="813" id="1075" />
     <listitem open="0" type="813" id="480" />
     <listitem open="0" type="813" id="482" />
     <listitem open="0" type="813" id="481" />
     <listitem open="0" type="813" id="453" />
     <listitem open="0" type="813" id="455" />
     <listitem open="0" type="813" id="454" />
     <listitem open="0" type="813" id="427" />
     <listitem open="0" type="813" id="429" />
     <listitem open="0" type="813" id="428" />
     <listitem open="0" type="813" id="436" />
     <listitem open="0" type="813" id="438" />
     <listitem open="0" type="813" id="437" />
     <listitem open="0" type="813" id="431" />
     <listitem open="0" type="813" id="433" />
     <listitem open="0" type="813" id="432" />
     <listitem open="0" type="813" id="441" />
     <listitem open="0" type="813" id="443" />
     <listitem open="0" type="813" id="442" />
     <listitem open="0" type="813" id="469" />
     <listitem open="0" type="813" id="446" />
     <listitem open="0" type="813" id="448" />
     <listitem open="0" type="813" id="447" />
     <listitem open="0" type="813" id="466" />
     <listitem open="0" type="813" id="468" />
     <listitem open="0" type="813" id="467" />
     <listitem open="0" type="830" label="Datatypes" >
      <listitem open="0" type="829" id="1167" />
      <listitem open="0" type="829" id="585" />
      <listitem open="0" type="829" id="1045" />
      <listitem open="0" type="829" id="1181" />
      <listitem open="0" type="829" id="1274" />
      <listitem open="0" type="829" id="27" />
      <listitem open="0" type="829" id="236" />
      <listitem open="0" type="829" id="894" />
      <listitem open="0" type="829" id="945" />
      <listitem open="0" type="829" id="72" />
      <listitem open="0" type="829" id="1066" />
      <listitem open="0" type="829" id="276" />
      <listitem open="0" type="829" id="362" />
      <listitem open="0" type="829" id="78" />
      <listitem open="0" type="829" id="1101" />
      <listitem open="0" type="829" id="1158" />
      <listitem open="0" type="829" id="906" />
      <listitem open="0" type="829" id="324" />
      <listitem open="0" type="829" id="1128" />
      <listitem open="0" type="829" id="1379" />
      <listitem open="0" type="829" id="313" />
      <listitem open="0" type="829" id="915" />
      <listitem open="0" type="829" id="943" />
      <listitem open="0" type="829" id="249" />
      <listitem open="0" type="829" id="24" />
      <listitem open="0" type="829" id="1395" />
      <listitem open="0" type="829" id="1392" />
      <listitem open="0" type="829" id="603" />
      <listitem open="0" type="829" id="593" />
      <listitem open="0" type="829" id="578" />
      <listitem open="0" type="829" id="656" />
      <listitem open="0" type="829" id="576" />
      <listitem open="0" type="829" id="1063" />
      <listitem open="0" type="829" id="301" />
      <listitem open="0" type="829" id="392" />
      <listitem open="0" type="829" id="962" />
      <listitem open="0" type="829" id="667" />
      <listitem open="0" type="829" id="1268" />
      <listitem open="0" type="829" id="913" />
      <listitem open="0" type="829" id="41" />
      <listitem open="0" type="829" id="569" />
      <listitem open="0" type="829" id="773" />
      <listitem open="0" type="829" id="252" />
      <listitem open="0" type="829" id="316" />
      <listitem open="1" type="829" id="5" />
      <listitem open="1" type="829" id="4" />
      <listitem open="0" type="829" id="1288" />
      <listitem open="0" type="829" id="988" />
      <listitem open="0" type="829" id="787" />
      <listitem open="0" type="829" id="272" />
      <listitem open="0" type="829" id="358" />
      <listitem open="0" type="829" id="84" />
      <listitem open="0" type="829" id="38" />
      <listitem open="0" type="829" id="902" />
      <listitem open="0" type="829" id="1315" />
      <listitem open="0" type="829" id="320" />
      <listitem open="0" type="829" id="1417" />
      <listitem open="0" type="829" id="1008" />
      <listitem open="0" type="829" id="1018" />
      <listitem open="0" type="829" id="1163" />
      <listitem open="0" type="829" id="959" />
      <listitem open="0" type="829" id="245" />
      <listitem open="0" type="829" id="416" />
      <listitem open="0" type="829" id="629" />
      <listitem open="0" type="829" id="652" />
      <listitem open="0" type="829" id="297" />
      <listitem open="0" type="829" id="388" />
      <listitem open="0" type="829" id="1282" />
      <listitem open="0" type="829" id="1249" />
      <listitem open="0" type="829" id="1176" />
      <listitem open="0" type="829" id="814" />
      <listitem open="0" type="829" id="899" />
      <listitem open="0" type="829" id="638" />
      <listitem open="0" type="829" id="254" />
      <listitem open="0" type="829" id="1183" />
      <listitem open="0" type="829" id="511" />
      <listitem open="0" type="829" id="977" />
      <listitem open="1" type="829" id="7" />
      <listitem open="1" type="829" id="6" />
      <listitem open="1" type="829" id="2" />
      <listitem open="1" type="829" id="8" />
      <listitem open="1" type="829" id="9" />
      <listitem open="1" type="829" id="10" />
      <listitem open="0" type="829" id="20" />
     </listitem>
     <listitem open="0" type="831" id="483" />
    </listitem>
    <listitem open="1" type="802" label="Use Case View" />
    <listitem open="1" type="821" label="Component View" />
    <listitem open="1" type="827" label="Deployment View" />
    <listitem open="1" type="836" label="Entity Relationship Model" />
   </listitem>
  </listview>
  <codegeneration/>
 </XMI.extensions>
</XMI>
