LCOV - code coverage report
Current view: top level - gfx/cairo/libpixman/src - pixman-solid-fill.c (source / functions) Hit Total Coverage
Test: output.info Lines: 0 20 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 3 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright © 2000 SuSE, Inc.
       3             :  * Copyright © 2007, 2009 Red Hat, Inc.
       4             :  * Copyright © 2009 Soren Sandmann
       5             :  *
       6             :  * Permission to use, copy, modify, distribute, and sell this software and its
       7             :  * documentation for any purpose is hereby granted without fee, provided that
       8             :  * the above copyright notice appear in all copies and that both that
       9             :  * copyright notice and this permission notice appear in supporting
      10             :  * documentation, and that the name of SuSE not be used in advertising or
      11             :  * publicity pertaining to distribution of the software without specific,
      12             :  * written prior permission.  SuSE makes no representations about the
      13             :  * suitability of this software for any purpose.  It is provided "as is"
      14             :  * without express or implied warranty.
      15             :  *
      16             :  * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
      17             :  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
      18             :  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
      19             :  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
      20             :  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
      21             :  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
      22             :  */
      23             : 
      24             : #ifdef HAVE_CONFIG_H
      25             : #include <config.h>
      26             : #endif
      27             : #include "pixman-private.h"
      28             : 
      29             : static uint32_t
      30           0 : color_to_uint32 (const pixman_color_t *color)
      31             : {
      32             :     return
      33           0 :         (color->alpha >> 8 << 24) |
      34           0 :         (color->red >> 8 << 16) |
      35           0 :         (color->green & 0xff00) |
      36           0 :         (color->blue >> 8);
      37             : }
      38             : 
      39             : static argb_t
      40           0 : color_to_float (const pixman_color_t *color)
      41             : {
      42             :     argb_t result;
      43             : 
      44           0 :     result.a = pixman_unorm_to_float (color->alpha, 16);
      45           0 :     result.r = pixman_unorm_to_float (color->red, 16);
      46           0 :     result.g = pixman_unorm_to_float (color->green, 16);
      47           0 :     result.b = pixman_unorm_to_float (color->blue, 16);
      48             : 
      49           0 :     return result;
      50             : }
      51             : 
      52             : PIXMAN_EXPORT pixman_image_t *
      53           0 : pixman_image_create_solid_fill (const pixman_color_t *color)
      54             : {
      55           0 :     pixman_image_t *img = _pixman_image_allocate ();
      56             : 
      57           0 :     if (!img)
      58           0 :         return NULL;
      59             : 
      60           0 :     img->type = SOLID;
      61           0 :     img->solid.color = *color;
      62           0 :     img->solid.color_32 = color_to_uint32 (color);
      63           0 :     img->solid.color_float = color_to_float (color);
      64             : 
      65           0 :     return img;
      66             : }
      67             : 

Generated by: LCOV version 1.13