/usr/include/pixrect/mem_rop_impl_ops.h is in xviewg-dev 3.2p1.4-28.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | /* @(#)mem_rop_impl_ops.h 1.4 88/02/08 SMI */
/*
* Copyright 1986 by Sun Microsystems, Inc.
*/
#ifndef mem_rop_impl_ops_DEFINED
#define mem_rop_impl_ops_DEFINED
/*
* rasterop function macros
*/
/*
* unmasked rop
*/
#define OP_urop0(d,s) (0)
#define OP_urop1(d,s) (~((d) | (s)))
#define OP_urop2(d,s) ((d) & ~(s))
#define OP_urop3(d,s) (~(s))
#define OP_urop4(d,s) (~(d) & (s))
#define OP_urop5(d,s) (~(d))
#define OP_urop6(d,s) ((d) ^ (s))
#define OP_urop7(d,s) (~((d) & (s)))
#define OP_urop8(d,s) ((d) & (s))
#define OP_urop9(d,s) ((d) ^ ~(s))
#define OP_uropA(d,s) (d)
#define OP_uropB(d,s) ((d) | ~(s))
#define OP_uropC(d,s) (s)
#define OP_uropD(d,s) (~(d) | (s))
#define OP_uropE(d,s) ((d) | (s))
#define OP_uropF(d,s) (~0)
/*
* masked rop
*
* correct mask: m = OP_mmsk(mask)
* perform rop: d = OP_mrop(dst, mask, src)
*/
#define OP_mmsk0(m) (~(m))
#define OP_mrop0(d,m,s) ((d) & (m))
#define OP_mmsk1(m) (m)
#define OP_mrop1(d,m,s) ((d) ^ ((m) & ((d) | ~(s))))
#define OP_mmsk2(m) (~(m))
#define OP_mrop2(d,m,s) ((d) & ((m) | ~(s)))
#define OP_mmsk3(m) (m)
#define OP_mrop3(d,m,s) ((d) ^ ((m) & ((d) ^ ~(s))))
#define OP_mmsk4(m) (m)
#define OP_mrop4(d,m,s) ((d) ^ ((m) & ((d) | (s))))
#define OP_mmsk5(m) (m)
#define OP_mrop5(d,m,s) ((d) ^ (m))
#define OP_mmsk6(m) (m)
#define OP_mrop6(d,m,s) ((d) ^ ((m) & (s)))
#define OP_mmsk7(m) (m)
#define OP_mrop7(d,m,s) ((d) ^ ((m) & (~(d) | (s))))
#define OP_mmsk8(m) (~(m))
#define OP_mrop8(d,m,s) ((d) & ((m) | (s)))
#define OP_mmsk9(m) (m)
#define OP_mrop9(d,m,s) ((d) ^ ((m) & ~(s)))
#define OP_mmskA(m) (m)
#define OP_mropA(d,m,s) (d)
#define OP_mmskB(m) (m)
#define OP_mropB(d,m,s) ((d) | ((m) & ~(s)))
#define OP_mmskC(m) (m)
#define OP_mropC(d,m,s) ((d) ^ ((m) & ((d) ^ (s))))
#define OP_mmskD(m) (m)
#define OP_mropD(d,m,s) ((d) ^ ((m) & ~((d) & (s))))
#define OP_mmskE(m) (m)
#define OP_mropE(d,m,s) ((d) | ((m) & (s)))
#define OP_mmskF(m) (m)
#define OP_mropF(d,m,s) ((d) | (m))
/*
* unmasked fill
*
* generate fill constant: k = OP_ufgen(color)
* perform unmasked fill: d = OP_ufill(dst, constant)
*/
#define OP_ufgen0(c) (0)
#define OP_ufill0(d,k) (k)
#define OP_ufgen1(c) (c)
#define OP_ufill1(d,k) (~((d) | (k)))
#define OP_ufgen2(c) (~(c))
#define OP_ufill2(d,k) ((d) & (k))
#define OP_ufgen3(c) (~(c))
#define OP_ufill3(d,k) (k)
#define OP_ufgen4(c) (c)
#define OP_ufill4(d,k) (~(d) & (k))
#define OP_ufgen5(c) (c)
#define OP_ufill5(d,k) (~(d))
#define OP_ufgen6(c) (c)
#define OP_ufill6(d,k) ((d) ^ (k))
#define OP_ufgen7(c) (c)
#define OP_ufill7(d,k) (~((d) & (k)))
#define OP_ufgen8(c) (c)
#define OP_ufill8(d,k) ((d) & (k))
#define OP_ufgen9(c) (~(c))
#define OP_ufill9(d,k) ((d) ^ (k))
#define OP_ufgenA(c) (c)
#define OP_ufillA(d,k) (d)
#define OP_ufgenB(c) (~(c))
#define OP_ufillB(d,k) ((d) | (k))
#define OP_ufgenC(c) (c)
#define OP_ufillC(d,k) (k)
#define OP_ufgenD(c) (c)
#define OP_ufillD(d,k) (~(d) | (k))
#define OP_ufgenE(c) (c)
#define OP_ufillE(d,k) ((d) | (k))
#define OP_ufgenF(c) (~0)
#define OP_ufillF(d,k) (k)
/*
* masked fill
*
* generate fill constant: k = OP_mfgen(mask, color)
* generate mask for fill: m = OP_mfmsk(mask)
* perform masked fill: d = OP_mfill(dst, mask, constant)
*/
#define OP_mfgen0(m,c) (c)
#define OP_mfmsk0(m) (~(m))
#define OP_mfill0(d,m,k) ((d) & (m))
#define OP_mfgen1(m,c) (~(c))
#define OP_mfmsk1(m) (m)
#define OP_mfill1(d,m,k) ((d) ^ ((m) & ((d) | (k))))
#define OP_mfgen2(m,c) (~(m) | ~(c))
#define OP_mfmsk2(m) (m)
#define OP_mfill2(d,m,k) ((d) & (k))
#define OP_mfgen3(m,c) ((m) & ~(c))
#define OP_mfmsk3(m) (~(m))
#define OP_mfill3(d,m,k) (((d) & (m)) | (k)) /* needs work */
#define OP_mfgen4(m,c) (c)
#define OP_mfmsk4(m) (m)
#define OP_mfill4(d,m,k) ((d) ^ ((m) & ((d) | (k))))
#define OP_mfgen5(m,c) (c)
#define OP_mfmsk5(m) (m)
#define OP_mfill5(d,m,k) ((d) ^ (m))
#define OP_mfgen6(m,c) ((m) & (c))
#define OP_mfmsk6(m) (m)
#define OP_mfill6(d,m,k) ((d) ^ (k))
#define OP_mfgen7(m,c) (c)
#define OP_mfmsk7(m) (m)
#define OP_mfill7(d,m,k) ((d) ^ ((m) & (~(d) | (k))))
#define OP_mfgen8(m,c) (~(m) | (c))
#define OP_mfmsk8(m) (m)
#define OP_mfill8(d,m,k) ((d) & (k))
#define OP_mfgen9(m,c) ((m) & ~(c))
#define OP_mfmsk9(m) (m)
#define OP_mfill9(d,m,k) ((d) ^ (k))
#define OP_mfgenA(m,c) (c)
#define OP_mfmskA(m) (m)
#define OP_mfillA(d,m,k) (d)
#define OP_mfgenB(m,c) ((m) & ~(c))
#define OP_mfmskB(m) (m)
#define OP_mfillB(d,m,k) ((d) | (k))
#define OP_mfgenC(m,c) ((m) & (c))
#define OP_mfmskC(m) (~(m))
#define OP_mfillC(d,m,k) (((d) & (m)) | (k)) /* needs work */
#define OP_mfgenD(m,c) (~(c))
#define OP_mfmskD(m) (m)
#define OP_mfillD(d,m,k) ((d) ^ ((m) & (~(d) | (k))))
#define OP_mfgenE(m,c) ((m) & (c))
#define OP_mfmskE(m) (m)
#define OP_mfillE(d,m,k) ((d) | (k))
#define OP_mfgenF(m,c) (c)
#define OP_mfmskF(m) (m)
#define OP_mfillF(d,m,k) ((d) | (m))
/*
* unmasked fill, color = 0
* (pcc is too dumb for this)
*/
#define OP_uzero0(d) (0)
#define OP_uzero1(d) (~(d))
#define OP_uzero2(d) (d)
#define OP_uzero3(d) (~0)
#define OP_uzero4(d) (0)
#define OP_uzero5(d) (~(d))
#define OP_uzero6(d) (d)
#define OP_uzero7(d) (~0)
#define OP_uzero8(d) (0)
#define OP_uzero9(d) (~(d))
#define OP_uzeroA(d) (d)
#define OP_uzeroB(d) (~0)
#define OP_uzeroC(d) (0)
#define OP_uzeroD(d) (~(d))
#define OP_uzeroE(d) (d)
#define OP_uzeroF(d) (~0)
/*
* masked fill, color = 0
*
* generate mask for fill: m = OP_mfmsk(mask)
* perform masked zero fill: d = OP_mzero(dst, mask)
*/
#define OP_mzero0(d,m) ((d) & (m))
#define OP_mzero1(d,m) ((d) ^ (m))
#define OP_mzero2(d,m) (d)
#define OP_mzero3(d,m) ((d) | ~(m)) /* problem */
#define OP_mzero4(d,m) ((d) & ~(m)) /* problem */
#define OP_mzero5(d,m) ((d) ^ (m))
#define OP_mzero6(d,m) (d)
#define OP_mzero7(d,m) ((d) | (m))
#define OP_mzero8(d,m) ((d) & (m))
#define OP_mzero9(d,m) ((d) ^ (m))
#define OP_mzeroA(d,m) (d)
#define OP_mzeroB(d,m) ((d) | (m))
#define OP_mzeroC(d,m) ((d) & (m))
#define OP_mzeroD(d,m) ((d) ^ (m))
#define OP_mzeroE(d,m) (d)
#define OP_mzeroF(d,m) ((d) | (k))
#endif
|