Name: srcAndReverse

Type: keyword

Syntax: srcAndReverse

Summary: Specifies one of the <transfer mode|transfer modes> that can be used with the <ink> <property>.

Introduced: 1.0

OS: windows,linux,ios,android

Platforms: desktop,server,web,mobile

Example:
set the ink of field "Check" to srcAndReverse

The result: Each component of the resulting color is equal to the result of this expression:.

Description:
Use the <srcAndReverse> <keyword> to invert the color underneath the light-colored parts of an object.

The <ink> <property> determines how an <object|object's> colors combine with the colors of the <pixels> underneath the <object> to determine how the <object|object's> color is displayed.

The <srcAndReverse> <transfer mode> performs the following steps to compute the color of each <pixel> :

1. Each component of the color underneath the object--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.)

2. LiveCode performs a bitAnd <operation> on each component of the inverted object color with the corresponding component of the color under the <object>.

object component bitAnd (255 - background component)

The effect is that the lighter an object is, the more transparent it is to the inverted color beneath. White parts of an object completely invert the color underneath them, and black parts are completely opaque.

For example, suppose an object's color is 45,0,255, and the color of the pixels under the object is 20,45,100. The inverse of the color underneath is obtained by subtracting each component from 255, yielding 235,210,155. If the <srcAndReverse> <transfer mode> is used, the <object|object's> displayed color is 41,0,155 (the decimal equivalent).

The <srcAndReverse> mode can be used only on <Unix> and <Windows|Windows systems>. On <Mac OS|Mac OS systems>, <object|objects> whose <ink> <property> is set to this mode appear as though their <ink> were set to <srcCopy>.

References: srcCopy (keyword), notSrcCopy (keyword), ink (property), pixels (property), object (object), property (glossary), pixel (glossary), operation (glossary), Windows (glossary), transfer mode (glossary), Mac OS (glossary), keyword (glossary), Unix (glossary)

Tags: ui
