1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_rendering_CompositeOperation_idl__ 24#define __com_sun_star_rendering_CompositeOperation_idl__ 25 26module com { module sun { module star { module rendering { 27 28/** These constants determine how the primitive color is combined with 29 the background.<p> 30 31 When performing this calculations, it is assumed that all color 32 values are premultiplied with the corresponding alpha values (if 33 no alpha is specified, 1.0 is assumed). Then, the following 34 general compositing operation is performed: 35 <p> 36 C = Ca * Fa + Cb * Fb 37 <p> 38 where C is the result color, Ca and Cb are the input colors, 39 premultiplied with alpha, and Fa and Fb are described for the 40 different composite modes (wherein Aa and Ab denote source and 41 destination alpha, respectively).<p> 42 43 @since OpenOffice 2.0 44 */ 45constants CompositeOperation 46{ 47 /** Clear the destination.<p> 48 49 Clear the destination area. The function values are: Fa = Fb = 50 0.<p> 51 */ 52 const byte CLEAR = 0; 53 54 /** Copy source as-is to the destination.<p> 55 56 Copy source as-is to the destination. The function values are: 57 Fa = 1, Fb = 0.<p> 58 */ 59 const byte SOURCE = 1; 60 61 /** Leave the destination as-is.<p> 62 63 Leave the destination as-is. The function values are: Fa = 0, 64 Fb = 1.<p> 65 */ 66 const byte DESTINATION = 2; 67 68 /** Copy the source over the destination.<p> 69 70 Copy the source over the destination. The function values are: 71 Fa = 1, Fb = 1-Aa.<p> 72 */ 73 const byte OVER = 3; 74 75 /** Copy the source under the destination.<p> 76 77 Copy the source under the destination. The function values 78 are: Fa = 1-Ab, Fb = 1.<p> 79 */ 80 const byte UNDER = 4; 81 82 /** Copy the source to the destination.<p> 83 84 Copy the source to the destination, but limited to where the 85 destination is. The function values are: Fa = Ab, Fb = 0.<p> 86 */ 87 const byte INSIDE = 5; 88 89 /** Leave the destination as is.<p> 90 91 Leave the destination as is, but only where the source 92 was. The function values are: Fa = 0, Fb = Aa.<p> 93 */ 94 const byte INSIDE_REVERSE = 6; 95 96 /** Copy the source to the destination<p> 97 98 Copy the source to the destination, but limited to where the 99 destination is not. The function values are: Fa = 1-Ab, Fb = 100 0.<p> 101 */ 102 const byte OUTSIDE = 7; 103 104 /** Leave the destination as is.<p> 105 106 Leave the destination as is, but only where the source has not 107 been. The function values are: Fa = 0, Fb = 1-Aa.<p> 108 */ 109 const byte OUTSIDE_REVERSE = 8; 110 111 /** Copy the source over the destination<p> 112 113 Copy the source over the destination, but only where the 114 destination is. Keep the destination. The function values are: 115 Fa = Ab, Fb = 1-Aa.<p> 116 */ 117 const byte ATOP = 9; 118 119 /** Copy the destination over the source.<p> 120 121 Copy the destination over the source, but only where the 122 source is. Keep the source. The function values are: Fa = 123 1-Ab, Fb = Aa.<p> 124 */ 125 const byte ATOP_REVERSE = 10; 126 127 /** Combine source and destination by exclusive or.<p> 128 129 Take only the parts where either source or destination, but 130 not both visible. The function values are: Fa = 1-Ab, Fb = 131 1-Aa.<p> 132 */ 133 const byte XOR = 11; 134 135 /** Add source and destination values.<p> 136 137 Simply add contributions of both source and destination. The 138 resulting color values are limited to the permissible color 139 range, and clipped to the maximal value, if exceeded. The 140 function values are: Fa = 1, Fb = 1.<p> 141 */ 142 const byte ADD = 12; 143 144 /** Saturate source and destination.<p> 145 146 Saturate destination with source values. The function values 147 are: Fa = min(1,(1-Ab)/Aa), Fb = 1<p> 148 */ 149 const byte SATURATE = 13; 150}; 151 152}; }; }; }; 153 154#endif 155