<doc>
  <legacy_id>2430</legacy_id>
  <name>notSrcOr</name>
  <type>keyword</type>
  <syntax>
  </syntax>
  <library></library>
  <objects>
  </objects>
  <synonyms>
  </synonyms>
  <classification>
    <category>Appearance &amp; Positioning</category>
  </classification>
  <references>
    <keyword tag="notSrcCopy">notSrcCopy Keyword</keyword>
  </references>
  <history>
    <introduced version="1.0">Added.</introduced>
  </history>
  <platforms>
    <windows/>
    <linux/>
    <ios/>
    <android/>
  </platforms>
  <classes>
    <desktop/>
    <server/>
    <web/>
    <mobile/>
  </classes>
  <security>
  </security>
  <summary>Specifies one of the <glossary tag="transfer mode">transfer modes</glossary> that can be used with the <property tag="ink">ink</property> <glossary tag="property">property</glossary>.</summary>
  <examples>
    <example>set the ink of button ID 9 to notSrcOr</example>
  </examples>
  <description>
    <p>Use the <b>notSrcOr</b> <glossary tag="keyword">keyword</glossary> to invert the colors of an <glossary tag="object">object</glossary> and make the dark parts transparent.</p><p/><p><b>Comments:</b></p><p>The <b>ink</b> <glossary tag="property">property</glossary> determines how an <glossary tag="object">object's</glossary> colors combine with the colors of the <property tag="pixels">pixels</property> underneath the <glossary tag="object">object</glossary> to determine how the <glossary tag="object">object's</glossary> color is displayed.</p><p/><p>The <b>notSrcOr</b> <glossary tag="transfer mode">transfer mode</glossary> performs the following steps to compute the color of each <glossary tag="pixel">pixel</glossary>:</p><p/><p>1. Each component of the object's color--the number indicating the amount of red, green, or blue--is changed to its inverse. (If the color is expressed as three integers between zero and 255--one for each of red, green, and blue--then the inverse of each component is equal to 255 minus the component's value.)</p><p/><p>2. LiveCode performs a <b>bitOr</b> <glossary tag="operation">operation</glossary> on each component of the inverted object color with the corresponding component of the color under the <glossary tag="object">object</glossary>.</p><p/><p>Each component of the resulting color is equal to the result of this expression:</p><p><code>  (255 - <i>object component</i>) bitOr <i>background component</i></code></p><p/><p>The effect is that the color of the object is reversed, and the lighter an object is, the more transparent it is. White parts of an object are completely transparent, and black parts are completely opaque.</p><p/><p>For example, suppose an object's color is<code> 120,0,255</code>, and the color of the pixels under the object is<code> 50,20,240</code>. If the <b>notSrcOr</b> <glossary tag="transfer mode">transfer mode</glossary> is used, the <glossary tag="object">object's</glossary> displayed colo<code>r is 183,255</code>,240.</p><p/><p>The <b>notSrcOr</b> mode can be used only on <glossary tag="Unix">Unix</glossary> and <glossary tag="Windows">Windows systems</glossary>. On <glossary tag="Mac OS">Mac OS systems</glossary>, <glossary tag="object">objects</glossary> whose <property tag="ink">ink</property> <glossary tag="property">property</glossary> is set to this mode appear as though their <property tag="ink">ink</property> were set to <keyword tag="noOp">noOp</keyword>.</p>
  </description>
</doc>