1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/genericopenlibs/liboil/src/composite_s.c Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,763 @@
1.4 +/*
1.5 + * LIBOIL - Library of Optimized Inner Loops
1.6 + * Copyright (c) 2003,2004 David A. Schleef <ds@schleef.org>
1.7 + * All rights reserved.
1.8 + *
1.9 + * Redistribution and use in source and binary forms, with or without
1.10 + * modification, are permitted provided that the following conditions
1.11 + * are met:
1.12 + * 1. Redistributions of source code must retain the above copyright
1.13 + * notice, this list of conditions and the following disclaimer.
1.14 + * 2. Redistributions in binary form must reproduce the above copyright
1.15 + * notice, this list of conditions and the following disclaimer in the
1.16 + * documentation and/or other materials provided with the distribution.
1.17 + *
1.18 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
1.19 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1.20 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1.21 + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
1.22 + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1.23 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1.24 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1.25 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1.26 + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1.27 + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1.28 + * POSSIBILITY OF SUCH DAMAGE.
1.29 + */
1.30 +//Portions Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
1.31 +
1.32 +#ifdef HAVE_CONFIG_H
1.33 +#include "config.h"
1.34 +#endif
1.35 +
1.36 +#include <liboil.h>
1.37 +#include <liboilfunction.h>
1.38 +#include <liboilrandom.h>
1.39 +#include "liboil/liboilcolorspace.h"
1.40 +#include <liboiltest.h>
1.41 +#include <liboildebug.h>
1.42 +
1.43 +#ifdef __SYMBIAN32__
1.44 +#ifdef __ARMCC__
1.45 +#pragma diag_remark 186
1.46 +#endif//__ARMCC__
1.47 +#endif//__SYMBIAN32__
1.48 +
1.49 +#define COMPOSITE_OVER(d,s,m) ((d) + (s) - oil_muldiv_255((d),(m)))
1.50 +#define COMPOSITE_ADD(d,s) oil_clamp_255((d) + (s))
1.51 +#define COMPOSITE_IN(s,m) oil_muldiv_255((s),(m))
1.52 +
1.53 +/**
1.54 + * SECTION:liboilfuncs-pixel
1.55 + * @title: Pixel Operations
1.56 + * @short_description: Operations on pixels
1.57 + *
1.58 + * Pixels are 4-element arrays of type uint8_t. The elements, in
1.59 + * memory order, represent the alpha, red, green, and blue
1.60 + * components respectively. The color components are premultiplied
1.61 + * with the alpha component. Liboil functions represent pixels
1.62 + * as the type uint32_t.
1.63 + *
1.64 + * The compositing operators IN, OVER, and ADD are defined the same
1.65 + * as cairo.
1.66 + *
1.67 + */
1.68 +static void
1.69 +handle_param (OilParameter *p)
1.70 +{
1.71 + int n;
1.72 +
1.73 + if (p->src_data) {
1.74 + if (p->type == OIL_TYPE_u32p) {
1.75 + uint32_t *ptr;
1.76 + ptr = (uint32_t *)oil_param_get_source_data (p);
1.77 + n = p->post_n;
1.78 + oil_random_argb (ptr, n);
1.79 + }
1.80 + if (p->type == OIL_TYPE_u8p) {
1.81 + uint8_t *ptr;
1.82 + ptr = (uint8_t *)oil_param_get_source_data (p);
1.83 + n = p->post_n;
1.84 + oil_random_alpha (ptr, n);
1.85 + }
1.86 + }
1.87 +}
1.88 +
1.89 +static void
1.90 +composite_test (OilTest *test)
1.91 +{
1.92 + handle_param(&test->params[OIL_ARG_SRC1]);
1.93 + handle_param(&test->params[OIL_ARG_SRC2]);
1.94 + handle_param(&test->params[OIL_ARG_INPLACE1]);
1.95 +}
1.96 +
1.97 +/**
1.98 + * oil_composite_in_argb:
1.99 + * @d_n: DEST
1.100 + * @s1_n: SRC
1.101 + * @s2_n: MASK
1.102 + * @n: number of elements
1.103 + *
1.104 + * Performs the compositing operation DEST = SRC IN MASK.
1.105 + */
1.106 +OIL_DEFINE_CLASS_FULL (composite_in_argb,
1.107 + "uint32_t *d_n, uint32_t *s1_n, uint8_t *s2_n, int n",
1.108 + composite_test);
1.109 +/**
1.110 + * oil_composite_in_argb_const_src:
1.111 + * @d_n: DEST
1.112 + * @s1_1: SRC
1.113 + * @s2_n: MASK
1.114 + * @n: number of elements
1.115 + *
1.116 + * Performs the compositing operation DEST = SRC IN MASK, for a constant
1.117 + * SRC.
1.118 + */
1.119 +OIL_DEFINE_CLASS_FULL (composite_in_argb_const_src,
1.120 + "uint32_t *d_n, uint32_t *s1_1, uint8_t *s2_n, int n",
1.121 + composite_test);
1.122 +/**
1.123 + * oil_composite_in_argb_const_mask:
1.124 + * @d_n: DEST
1.125 + * @s1_n: SRC
1.126 + * @s2_1: MASK
1.127 + * @n: number of elements
1.128 + *
1.129 + * Performs the compositing operation DEST = SRC IN MASK, for a constant
1.130 + * MASK.
1.131 + */
1.132 +OIL_DEFINE_CLASS_FULL (composite_in_argb_const_mask,
1.133 + "uint32_t *d_n, uint32_t *s1_n, uint8_t *s2_1, int n",
1.134 + composite_test);
1.135 +/**
1.136 + * oil_composite_over_argb:
1.137 + * @i_n: DEST
1.138 + * @s1_n: SRC
1.139 + * @n: number of elements
1.140 + *
1.141 + * Performs the compositing operation DEST = SRC OVER DEST.
1.142 + */
1.143 +OIL_DEFINE_CLASS_FULL (composite_over_argb,
1.144 + "uint32_t *i_n, uint32_t *s1_n, int n",
1.145 + composite_test);
1.146 +/**
1.147 + * oil_composite_over_argb_const_src:
1.148 + * @i_n: DEST
1.149 + * @s1_1: SRC
1.150 + * @n: number of elements
1.151 + *
1.152 + * Performs the compositing operation DEST = SRC OVER DEST, for a
1.153 + * constant SRC.
1.154 + */
1.155 +OIL_DEFINE_CLASS_FULL (composite_over_argb_const_src,
1.156 + "uint32_t *i_n, uint32_t *s1_1, int n",
1.157 + composite_test);
1.158 +/**
1.159 + * oil_composite_add_argb:
1.160 + * @i_n: DEST
1.161 + * @s1_n: SRC
1.162 + * @n: number of elements
1.163 + *
1.164 + * Performs the compositing operation DEST = SRC ADD DEST.
1.165 + */
1.166 +OIL_DEFINE_CLASS_FULL (composite_add_argb,
1.167 + "uint32_t *i_n, uint32_t *s1_n, int n",
1.168 + composite_test);
1.169 +/**
1.170 + * oil_composite_add_argb_const_src:
1.171 + * @i_n: DEST
1.172 + * @s1_1: SRC
1.173 + * @n: number of elements
1.174 + *
1.175 + * Performs the compositing operation DEST = SRC ADD DEST, for a
1.176 + * constant SRC.
1.177 + */
1.178 +OIL_DEFINE_CLASS_FULL (composite_add_argb_const_src,
1.179 + "uint32_t *i_n, uint32_t *s1_1, int n",
1.180 + composite_test);
1.181 +/**
1.182 + * oil_composite_in_over_argb:
1.183 + * @i_n: DEST
1.184 + * @s1_n: SRC
1.185 + * @s2_n: MASK
1.186 + * @n: number of elements
1.187 + *
1.188 + * Performs the compositing operation DEST = (SRC IN MASK) OVER DEST.
1.189 + */
1.190 +OIL_DEFINE_CLASS_FULL (composite_in_over_argb,
1.191 + "uint32_t *i_n, uint32_t *s1_n, uint8_t *s2_n, int n",
1.192 + composite_test);
1.193 +/**
1.194 + * oil_composite_in_over_argb_const_src:
1.195 + * @i_n: DEST
1.196 + * @s1_1: SRC
1.197 + * @s2_n: MASK
1.198 + * @n: number of elements
1.199 + *
1.200 + * Performs the compositing operation DEST = (SRC IN MASK) OVER DEST,
1.201 + * for a constant SRC.
1.202 + */
1.203 +OIL_DEFINE_CLASS_FULL (composite_in_over_argb_const_src,
1.204 + "uint32_t *i_n, uint32_t *s1_1, uint8_t *s2_n, int n",
1.205 + composite_test);
1.206 +/**
1.207 + * oil_composite_in_over_argb_const_mask:
1.208 + * @i_n: DEST
1.209 + * @s1_n: SRC
1.210 + * @s2_1: MASK
1.211 + * @n: number of elements
1.212 + *
1.213 + * Performs the compositing operation DEST = (SRC IN MASK) OVER DEST,
1.214 + * for a constant MASK.
1.215 + */
1.216 +OIL_DEFINE_CLASS_FULL (composite_in_over_argb_const_mask,
1.217 + "uint32_t *i_n, uint32_t *s1_n, uint8_t *s2_1, int n",
1.218 + composite_test);
1.219 +/**
1.220 + * oil_composite_over_u8:
1.221 + * @i_n: DEST
1.222 + * @s1_n: SRC
1.223 + * @n: number of elements
1.224 + *
1.225 + * Performs the compositing operation DEST = SRC OVER DEST.
1.226 + */
1.227 +OIL_DEFINE_CLASS_FULL (composite_over_u8,
1.228 + "uint8_t *i_n, uint8_t *s1_n, int n",
1.229 + composite_test);
1.230 +/**
1.231 + * oil_composite_add_u8:
1.232 + * @i_n: DEST
1.233 + * @s1_n: SRC
1.234 + * @n: number of elements
1.235 + *
1.236 + * Performs the compositing operation DEST = SRC ADD DEST.
1.237 + */
1.238 +OIL_DEFINE_CLASS_FULL (composite_add_u8,
1.239 + "uint8_t *i_n, uint8_t *s1_n, int n",
1.240 + composite_test);
1.241 +/**
1.242 + * oil_composite_add_u8_const_src:
1.243 + * @i_n: DEST
1.244 + * @s1_1: SRC
1.245 + * @n: number of elements
1.246 + *
1.247 + * Performs the compositing operation DEST = SRC ADD DEST.
1.248 + */
1.249 +OIL_DEFINE_CLASS_FULL (composite_add_u8_const_src,
1.250 + "uint8_t *i_n, uint8_t *s1_1, int n",
1.251 + composite_test);
1.252 +
1.253 +static void
1.254 +composite_in_argb_ref (uint32_t *dest, const uint32_t *src, const uint8_t *mask, int n)
1.255 +{
1.256 + int i;
1.257 +
1.258 + for(i=0;i<n;i++){
1.259 + dest[i] = oil_argb(
1.260 + COMPOSITE_IN(oil_argb_A(src[i]), mask[i]),
1.261 + COMPOSITE_IN(oil_argb_R(src[i]), mask[i]),
1.262 + COMPOSITE_IN(oil_argb_G(src[i]), mask[i]),
1.263 + COMPOSITE_IN(oil_argb_B(src[i]), mask[i]));
1.264 + }
1.265 +}
1.266 +OIL_DEFINE_IMPL_REF (composite_in_argb_ref, composite_in_argb);
1.267 +
1.268 +static void
1.269 +composite_in_argb_const_src_ref (uint32_t *dest, const uint32_t *src, const uint8_t *mask, int n)
1.270 +{
1.271 + int i;
1.272 +
1.273 + for(i=0;i<n;i++){
1.274 + dest[i] = oil_argb(
1.275 + COMPOSITE_IN(oil_argb_A(src[0]), mask[i]),
1.276 + COMPOSITE_IN(oil_argb_R(src[0]), mask[i]),
1.277 + COMPOSITE_IN(oil_argb_G(src[0]), mask[i]),
1.278 + COMPOSITE_IN(oil_argb_B(src[0]), mask[i]));
1.279 + }
1.280 +}
1.281 +OIL_DEFINE_IMPL_REF (composite_in_argb_const_src_ref, composite_in_argb_const_src);
1.282 +
1.283 +static void
1.284 +composite_in_argb_const_mask_ref (uint32_t *dest, const uint32_t *src, const uint8_t *mask, int n)
1.285 +{
1.286 + int i;
1.287 +
1.288 + for(i=0;i<n;i++){
1.289 + dest[i] = oil_argb(
1.290 + COMPOSITE_IN(oil_argb_A(src[i]), mask[0]),
1.291 + COMPOSITE_IN(oil_argb_R(src[i]), mask[0]),
1.292 + COMPOSITE_IN(oil_argb_G(src[i]), mask[0]),
1.293 + COMPOSITE_IN(oil_argb_B(src[i]), mask[0]));
1.294 + }
1.295 +}
1.296 +OIL_DEFINE_IMPL_REF (composite_in_argb_const_mask_ref, composite_in_argb_const_mask);
1.297 +
1.298 +static void
1.299 +composite_over_argb_ref (uint32_t *dest, const uint32_t *src, int n)
1.300 +{
1.301 + int i;
1.302 + uint8_t a;
1.303 +
1.304 + for(i=0;i<n;i++){
1.305 + a = oil_argb_A(src[i]);
1.306 + dest[i] = oil_argb(
1.307 + COMPOSITE_OVER(oil_argb_A(dest[i]),oil_argb_A(src[i]),a),
1.308 + COMPOSITE_OVER(oil_argb_R(dest[i]),oil_argb_R(src[i]),a),
1.309 + COMPOSITE_OVER(oil_argb_G(dest[i]),oil_argb_G(src[i]),a),
1.310 + COMPOSITE_OVER(oil_argb_B(dest[i]),oil_argb_B(src[i]),a));
1.311 + }
1.312 +
1.313 +}
1.314 +OIL_DEFINE_IMPL_REF (composite_over_argb_ref, composite_over_argb);
1.315 +
1.316 +static void
1.317 +composite_over_argb_const_src_ref (uint32_t *dest, const uint32_t *src, int n)
1.318 +{
1.319 + int i;
1.320 + uint8_t a;
1.321 +
1.322 + a = oil_argb_A(src[0]);
1.323 + for(i=0;i<n;i++){
1.324 + dest[i] = oil_argb(
1.325 + COMPOSITE_OVER(oil_argb_A(dest[i]),oil_argb_A(src[0]),a),
1.326 + COMPOSITE_OVER(oil_argb_R(dest[i]),oil_argb_R(src[0]),a),
1.327 + COMPOSITE_OVER(oil_argb_G(dest[i]),oil_argb_G(src[0]),a),
1.328 + COMPOSITE_OVER(oil_argb_B(dest[i]),oil_argb_B(src[0]),a));
1.329 + }
1.330 +
1.331 +}
1.332 +OIL_DEFINE_IMPL_REF (composite_over_argb_const_src_ref, composite_over_argb_const_src);
1.333 +
1.334 +static void
1.335 +composite_add_argb_ref (uint32_t *dest, const uint32_t *src, int n)
1.336 +{
1.337 + int i;
1.338 +
1.339 + for(i=0;i<n;i++){
1.340 + dest[i] = oil_argb(
1.341 + COMPOSITE_ADD(oil_argb_A(dest[i]),oil_argb_A(src[i])),
1.342 + COMPOSITE_ADD(oil_argb_R(dest[i]),oil_argb_R(src[i])),
1.343 + COMPOSITE_ADD(oil_argb_G(dest[i]),oil_argb_G(src[i])),
1.344 + COMPOSITE_ADD(oil_argb_B(dest[i]),oil_argb_B(src[i])));
1.345 + }
1.346 +
1.347 +}
1.348 +OIL_DEFINE_IMPL_REF (composite_add_argb_ref, composite_add_argb);
1.349 +
1.350 +static void
1.351 +composite_add_argb_const_src_ref (uint32_t *dest, const uint32_t *src, int n)
1.352 +{
1.353 + int i;
1.354 +
1.355 + for(i=0;i<n;i++){
1.356 + dest[i] = oil_argb(
1.357 + COMPOSITE_ADD(oil_argb_A(dest[i]),oil_argb_A(src[0])),
1.358 + COMPOSITE_ADD(oil_argb_R(dest[i]),oil_argb_R(src[0])),
1.359 + COMPOSITE_ADD(oil_argb_G(dest[i]),oil_argb_G(src[0])),
1.360 + COMPOSITE_ADD(oil_argb_B(dest[i]),oil_argb_B(src[0])));
1.361 + }
1.362 +
1.363 +}
1.364 +OIL_DEFINE_IMPL_REF (composite_add_argb_const_src_ref, composite_add_argb_const_src);
1.365 +
1.366 +static void
1.367 +composite_in_over_argb_ref (uint32_t *dest, const uint32_t *src, const uint8_t *mask, int n)
1.368 +{
1.369 + int i;
1.370 + uint8_t a;
1.371 + uint32_t color;
1.372 +
1.373 + for(i=0;i<n;i++){
1.374 + color = oil_argb(
1.375 + COMPOSITE_IN(oil_argb_A(src[i]), mask[i]),
1.376 + COMPOSITE_IN(oil_argb_R(src[i]), mask[i]),
1.377 + COMPOSITE_IN(oil_argb_G(src[i]), mask[i]),
1.378 + COMPOSITE_IN(oil_argb_B(src[i]), mask[i]));
1.379 + a = oil_argb_A(color);
1.380 + dest[i] = oil_argb(
1.381 + COMPOSITE_OVER(oil_argb_A(dest[i]),oil_argb_A(color),a),
1.382 + COMPOSITE_OVER(oil_argb_R(dest[i]),oil_argb_R(color),a),
1.383 + COMPOSITE_OVER(oil_argb_G(dest[i]),oil_argb_G(color),a),
1.384 + COMPOSITE_OVER(oil_argb_B(dest[i]),oil_argb_B(color),a));
1.385 + }
1.386 +
1.387 +}
1.388 +OIL_DEFINE_IMPL_REF (composite_in_over_argb_ref, composite_in_over_argb);
1.389 +
1.390 +static void
1.391 +composite_in_over_argb_const_src_ref (uint32_t *dest, const uint32_t *src, const uint8_t *mask, int n)
1.392 +{
1.393 + int i;
1.394 + uint8_t a;
1.395 + uint32_t color;
1.396 +
1.397 + for(i=0;i<n;i++){
1.398 + color = oil_argb(
1.399 + COMPOSITE_IN(oil_argb_A(src[0]), mask[i]),
1.400 + COMPOSITE_IN(oil_argb_R(src[0]), mask[i]),
1.401 + COMPOSITE_IN(oil_argb_G(src[0]), mask[i]),
1.402 + COMPOSITE_IN(oil_argb_B(src[0]), mask[i]));
1.403 + a = oil_argb_A(color);
1.404 + dest[i] = oil_argb(
1.405 + COMPOSITE_OVER(oil_argb_A(dest[i]),oil_argb_A(color),a),
1.406 + COMPOSITE_OVER(oil_argb_R(dest[i]),oil_argb_R(color),a),
1.407 + COMPOSITE_OVER(oil_argb_G(dest[i]),oil_argb_G(color),a),
1.408 + COMPOSITE_OVER(oil_argb_B(dest[i]),oil_argb_B(color),a));
1.409 + }
1.410 +
1.411 +}
1.412 +OIL_DEFINE_IMPL_REF (composite_in_over_argb_const_src_ref, composite_in_over_argb_const_src);
1.413 +
1.414 +static void
1.415 +composite_in_over_argb_const_mask_ref (uint32_t *dest, const uint32_t *src, const uint8_t *mask, int n)
1.416 +{
1.417 + int i;
1.418 + uint8_t a;
1.419 + uint32_t color;
1.420 +
1.421 + for(i=0;i<n;i++){
1.422 + color = oil_argb(
1.423 + COMPOSITE_IN(oil_argb_A(src[i]), mask[0]),
1.424 + COMPOSITE_IN(oil_argb_R(src[i]), mask[0]),
1.425 + COMPOSITE_IN(oil_argb_G(src[i]), mask[0]),
1.426 + COMPOSITE_IN(oil_argb_B(src[i]), mask[0]));
1.427 + a = oil_argb_A(color);
1.428 + dest[i] = oil_argb(
1.429 + COMPOSITE_OVER(oil_argb_A(dest[i]),oil_argb_A(color),a),
1.430 + COMPOSITE_OVER(oil_argb_R(dest[i]),oil_argb_R(color),a),
1.431 + COMPOSITE_OVER(oil_argb_G(dest[i]),oil_argb_G(color),a),
1.432 + COMPOSITE_OVER(oil_argb_B(dest[i]),oil_argb_B(color),a));
1.433 + }
1.434 +
1.435 +}
1.436 +OIL_DEFINE_IMPL_REF (composite_in_over_argb_const_mask_ref, composite_in_over_argb_const_mask);
1.437 +
1.438 +static void
1.439 +composite_add_u8_ref (uint8_t *dest, const uint8_t *src, int n)
1.440 +{
1.441 + int i;
1.442 +
1.443 + for(i=0;i<n;i++){
1.444 + dest[i] = COMPOSITE_ADD(dest[i],src[i]);
1.445 + }
1.446 +
1.447 +}
1.448 +OIL_DEFINE_IMPL_REF (composite_add_u8_ref, composite_add_u8);
1.449 +
1.450 +static void
1.451 +composite_add_u8_const_src_ref (uint8_t *dest, const uint8_t *src1_1, int n)
1.452 +{
1.453 + int i;
1.454 +
1.455 + for(i=0;i<n;i++){
1.456 + dest[i] = COMPOSITE_ADD(dest[i],src1_1[0]);
1.457 + }
1.458 +
1.459 +}
1.460 +OIL_DEFINE_IMPL_REF (composite_add_u8_const_src_ref, composite_add_u8_const_src);
1.461 +
1.462 +static void
1.463 +composite_over_u8_ref (uint8_t *dest, const uint8_t *src, int n)
1.464 +{
1.465 + int i;
1.466 +
1.467 + for(i=0;i<n;i++){
1.468 + dest[i] = COMPOSITE_OVER(dest[i],src[i],src[i]);
1.469 + }
1.470 +
1.471 +}
1.472 +OIL_DEFINE_IMPL_REF (composite_over_u8_ref, composite_over_u8);
1.473 +
1.474 +
1.475 +
1.476 +
1.477 +#ifdef __SYMBIAN32__
1.478 +
1.479 +OilFunctionClass* __oil_function_class_composite_in_argb() {
1.480 + return &_oil_function_class_composite_in_argb;
1.481 +}
1.482 +#endif
1.483 +
1.484 +#ifdef __SYMBIAN32__
1.485 +
1.486 +OilFunctionClass* __oil_function_class_composite_in_argb_const_src() {
1.487 + return &_oil_function_class_composite_in_argb_const_src;
1.488 +}
1.489 +#endif
1.490 +
1.491 +#ifdef __SYMBIAN32__
1.492 +
1.493 +OilFunctionClass* __oil_function_class_composite_in_argb_const_mask() {
1.494 + return &_oil_function_class_composite_in_argb_const_mask;
1.495 +}
1.496 +#endif
1.497 +
1.498 +#ifdef __SYMBIAN32__
1.499 +
1.500 +OilFunctionClass* __oil_function_class_composite_over_argb() {
1.501 + return &_oil_function_class_composite_over_argb;
1.502 +}
1.503 +#endif
1.504 +
1.505 +#ifdef __SYMBIAN32__
1.506 +
1.507 +OilFunctionClass* __oil_function_class_composite_over_argb_const_src() {
1.508 + return &_oil_function_class_composite_over_argb_const_src;
1.509 +}
1.510 +#endif
1.511 +
1.512 +#ifdef __SYMBIAN32__
1.513 +
1.514 +OilFunctionClass* __oil_function_class_composite_add_argb() {
1.515 + return &_oil_function_class_composite_add_argb;
1.516 +}
1.517 +#endif
1.518 +
1.519 +#ifdef __SYMBIAN32__
1.520 +
1.521 +OilFunctionClass* __oil_function_class_composite_add_argb_const_src() {
1.522 + return &_oil_function_class_composite_add_argb_const_src;
1.523 +}
1.524 +#endif
1.525 +
1.526 +#ifdef __SYMBIAN32__
1.527 +
1.528 +OilFunctionClass* __oil_function_class_composite_in_over_argb() {
1.529 + return &_oil_function_class_composite_in_over_argb;
1.530 +}
1.531 +#endif
1.532 +
1.533 +#ifdef __SYMBIAN32__
1.534 +
1.535 +OilFunctionClass* __oil_function_class_composite_in_over_argb_const_src() {
1.536 + return &_oil_function_class_composite_in_over_argb_const_src;
1.537 +}
1.538 +#endif
1.539 +
1.540 +#ifdef __SYMBIAN32__
1.541 +
1.542 +OilFunctionClass* __oil_function_class_composite_in_over_argb_const_mask() {
1.543 + return &_oil_function_class_composite_in_over_argb_const_mask;
1.544 +}
1.545 +#endif
1.546 +
1.547 +#ifdef __SYMBIAN32__
1.548 +
1.549 +OilFunctionClass* __oil_function_class_composite_over_u8() {
1.550 + return &_oil_function_class_composite_over_u8;
1.551 +}
1.552 +#endif
1.553 +
1.554 +#ifdef __SYMBIAN32__
1.555 +
1.556 +OilFunctionClass* __oil_function_class_composite_add_u8() {
1.557 + return &_oil_function_class_composite_add_u8;
1.558 +}
1.559 +#endif
1.560 +
1.561 +#ifdef __SYMBIAN32__
1.562 +
1.563 +OilFunctionClass* __oil_function_class_composite_add_u8_const_src() {
1.564 + return &_oil_function_class_composite_add_u8_const_src;
1.565 +}
1.566 +#endif
1.567 +
1.568 +
1.569 +
1.570 +#ifdef __SYMBIAN32__
1.571 +
1.572 +OilFunctionImpl* __oil_function_impl_composite_in_argb_ref() {
1.573 + return &_oil_function_impl_composite_in_argb_ref;
1.574 +}
1.575 +#endif
1.576 +
1.577 +#ifdef __SYMBIAN32__
1.578 +
1.579 +OilFunctionImpl* __oil_function_impl_composite_in_argb_const_src_ref() {
1.580 + return &_oil_function_impl_composite_in_argb_const_src_ref;
1.581 +}
1.582 +#endif
1.583 +
1.584 +#ifdef __SYMBIAN32__
1.585 +
1.586 +OilFunctionImpl* __oil_function_impl_composite_in_argb_const_mask_ref() {
1.587 + return &_oil_function_impl_composite_in_argb_const_mask_ref;
1.588 +}
1.589 +#endif
1.590 +
1.591 +#ifdef __SYMBIAN32__
1.592 +
1.593 +OilFunctionImpl* __oil_function_impl_composite_over_argb_ref() {
1.594 + return &_oil_function_impl_composite_over_argb_ref;
1.595 +}
1.596 +#endif
1.597 +
1.598 +#ifdef __SYMBIAN32__
1.599 +
1.600 +OilFunctionImpl* __oil_function_impl_composite_over_argb_const_src_ref() {
1.601 + return &_oil_function_impl_composite_over_argb_const_src_ref;
1.602 +}
1.603 +#endif
1.604 +
1.605 +#ifdef __SYMBIAN32__
1.606 +
1.607 +OilFunctionImpl* __oil_function_impl_composite_add_argb_ref() {
1.608 + return &_oil_function_impl_composite_add_argb_ref;
1.609 +}
1.610 +#endif
1.611 +
1.612 +#ifdef __SYMBIAN32__
1.613 +
1.614 +OilFunctionImpl* __oil_function_impl_composite_add_argb_const_src_ref() {
1.615 + return &_oil_function_impl_composite_add_argb_const_src_ref;
1.616 +}
1.617 +#endif
1.618 +
1.619 +#ifdef __SYMBIAN32__
1.620 +
1.621 +OilFunctionImpl* __oil_function_impl_composite_in_over_argb_ref() {
1.622 + return &_oil_function_impl_composite_in_over_argb_ref;
1.623 +}
1.624 +#endif
1.625 +
1.626 +#ifdef __SYMBIAN32__
1.627 +
1.628 +OilFunctionImpl* __oil_function_impl_composite_in_over_argb_const_src_ref() {
1.629 + return &_oil_function_impl_composite_in_over_argb_const_src_ref;
1.630 +}
1.631 +#endif
1.632 +
1.633 +#ifdef __SYMBIAN32__
1.634 +
1.635 +OilFunctionImpl* __oil_function_impl_composite_in_over_argb_const_mask_ref() {
1.636 + return &_oil_function_impl_composite_in_over_argb_const_mask_ref;
1.637 +}
1.638 +#endif
1.639 +
1.640 +#ifdef __SYMBIAN32__
1.641 +
1.642 +OilFunctionImpl* __oil_function_impl_composite_add_u8_ref() {
1.643 + return &_oil_function_impl_composite_add_u8_ref;
1.644 +}
1.645 +#endif
1.646 +
1.647 +#ifdef __SYMBIAN32__
1.648 +
1.649 +OilFunctionImpl* __oil_function_impl_composite_add_u8_const_src_ref() {
1.650 + return &_oil_function_impl_composite_add_u8_const_src_ref;
1.651 +}
1.652 +#endif
1.653 +
1.654 +#ifdef __SYMBIAN32__
1.655 +
1.656 +OilFunctionImpl* __oil_function_impl_composite_over_u8_ref() {
1.657 + return &_oil_function_impl_composite_over_u8_ref;
1.658 +}
1.659 +#endif
1.660 +
1.661 +
1.662 +
1.663 +#ifdef __SYMBIAN32__
1.664 +
1.665 +EXPORT_C void** _oil_function_class_ptr_composite_in_argb () {
1.666 + oil_function_class_ptr_composite_in_argb = __oil_function_class_composite_in_argb();
1.667 + return &oil_function_class_ptr_composite_in_argb->func;
1.668 + }
1.669 +#endif
1.670 +
1.671 +#ifdef __SYMBIAN32__
1.672 +
1.673 +EXPORT_C void** _oil_function_class_ptr_composite_in_argb_const_src () {
1.674 + oil_function_class_ptr_composite_in_argb_const_src = __oil_function_class_composite_in_argb_const_src();
1.675 + return &oil_function_class_ptr_composite_in_argb_const_src->func;
1.676 + }
1.677 +#endif
1.678 +
1.679 +#ifdef __SYMBIAN32__
1.680 +
1.681 +EXPORT_C void** _oil_function_class_ptr_composite_in_argb_const_mask () {
1.682 + oil_function_class_ptr_composite_in_argb_const_mask = __oil_function_class_composite_in_argb_const_mask();
1.683 + return &oil_function_class_ptr_composite_in_argb_const_mask->func;
1.684 + }
1.685 +#endif
1.686 +
1.687 +#ifdef __SYMBIAN32__
1.688 +
1.689 +EXPORT_C void** _oil_function_class_ptr_composite_over_argb () {
1.690 + oil_function_class_ptr_composite_over_argb = __oil_function_class_composite_over_argb();
1.691 + return &oil_function_class_ptr_composite_over_argb->func;
1.692 + }
1.693 +#endif
1.694 +
1.695 +#ifdef __SYMBIAN32__
1.696 +
1.697 +EXPORT_C void** _oil_function_class_ptr_composite_over_argb_const_src () {
1.698 + oil_function_class_ptr_composite_over_argb_const_src = __oil_function_class_composite_over_argb_const_src();
1.699 + return &oil_function_class_ptr_composite_over_argb_const_src->func;
1.700 + }
1.701 +#endif
1.702 +
1.703 +#ifdef __SYMBIAN32__
1.704 +
1.705 +EXPORT_C void** _oil_function_class_ptr_composite_add_argb () {
1.706 + oil_function_class_ptr_composite_add_argb = __oil_function_class_composite_add_argb();
1.707 + return &oil_function_class_ptr_composite_add_argb->func;
1.708 + }
1.709 +#endif
1.710 +
1.711 +#ifdef __SYMBIAN32__
1.712 +
1.713 +EXPORT_C void** _oil_function_class_ptr_composite_add_argb_const_src () {
1.714 + oil_function_class_ptr_composite_add_argb_const_src = __oil_function_class_composite_add_argb_const_src();
1.715 + return &oil_function_class_ptr_composite_add_argb_const_src->func;
1.716 + }
1.717 +#endif
1.718 +
1.719 +#ifdef __SYMBIAN32__
1.720 +
1.721 +EXPORT_C void** _oil_function_class_ptr_composite_in_over_argb () {
1.722 + oil_function_class_ptr_composite_in_over_argb = __oil_function_class_composite_in_over_argb();
1.723 + return &oil_function_class_ptr_composite_in_over_argb->func;
1.724 + }
1.725 +#endif
1.726 +
1.727 +#ifdef __SYMBIAN32__
1.728 +
1.729 +EXPORT_C void** _oil_function_class_ptr_composite_in_over_argb_const_src () {
1.730 + oil_function_class_ptr_composite_in_over_argb_const_src = __oil_function_class_composite_in_over_argb_const_src();
1.731 + return &oil_function_class_ptr_composite_in_over_argb_const_src->func;
1.732 + }
1.733 +#endif
1.734 +
1.735 +#ifdef __SYMBIAN32__
1.736 +
1.737 +EXPORT_C void** _oil_function_class_ptr_composite_in_over_argb_const_mask () {
1.738 + oil_function_class_ptr_composite_in_over_argb_const_mask = __oil_function_class_composite_in_over_argb_const_mask();
1.739 + return &oil_function_class_ptr_composite_in_over_argb_const_mask->func;
1.740 + }
1.741 +#endif
1.742 +
1.743 +#ifdef __SYMBIAN32__
1.744 +
1.745 +EXPORT_C void** _oil_function_class_ptr_composite_over_u8 () {
1.746 + oil_function_class_ptr_composite_over_u8 = __oil_function_class_composite_over_u8();
1.747 + return &oil_function_class_ptr_composite_over_u8->func;
1.748 + }
1.749 +#endif
1.750 +
1.751 +#ifdef __SYMBIAN32__
1.752 +
1.753 +EXPORT_C void** _oil_function_class_ptr_composite_add_u8 () {
1.754 + oil_function_class_ptr_composite_add_u8 = __oil_function_class_composite_add_u8();
1.755 + return &oil_function_class_ptr_composite_add_u8->func;
1.756 + }
1.757 +#endif
1.758 +
1.759 +#ifdef __SYMBIAN32__
1.760 +
1.761 +EXPORT_C void** _oil_function_class_ptr_composite_add_u8_const_src () {
1.762 + oil_function_class_ptr_composite_add_u8_const_src = __oil_function_class_composite_add_u8_const_src();
1.763 + return &oil_function_class_ptr_composite_add_u8_const_src->func;
1.764 + }
1.765 +#endif
1.766 +