tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

pixman-region16.c (2429B)


      1 /*
      2 * Copyright © 2008 Red Hat, Inc.
      3 *
      4 * Permission to use, copy, modify, distribute, and sell this software
      5 * and its documentation for any purpose is hereby granted without
      6 * fee, provided that the above copyright notice appear in all copies
      7 * and that both that copyright notice and this permission notice
      8 * appear in supporting documentation, and that the name of
      9 * Red Hat, Inc. not be used in advertising or publicity pertaining to
     10 * distribution of the software without specific, written prior
     11 * permission. Red Hat, Inc. makes no representations about the
     12 * suitability of this software for any purpose.  It is provided "as
     13 * is" without express or implied warranty.
     14 *
     15 * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
     16 * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
     17 * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
     18 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
     19 * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
     20 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
     21 * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     22 *
     23 * Author: Soren Sandmann <sandmann@redhat.com>
     24 */
     25 #ifdef HAVE_CONFIG_H
     26 #include <pixman-config.h>
     27 #endif
     28 
     29 #undef PIXMAN_DISABLE_DEPRECATED
     30 
     31 #include "pixman-private.h"
     32 
     33 #include <stdlib.h>
     34 
     35 typedef pixman_box16_t		box_type_t;
     36 typedef pixman_region16_data_t	region_data_type_t;
     37 typedef pixman_region16_t	region_type_t;
     38 typedef int                     primitive_t;
     39 typedef int32_t                 overflow_int_t;
     40 
     41 typedef struct {
     42    int x, y;
     43 } point_type_t;
     44 
     45 #define PREFIX(x) pixman_region##x
     46 
     47 #define PIXMAN_REGION_MAX INT16_MAX
     48 #define PIXMAN_REGION_MIN INT16_MIN
     49 
     50 #define PRINT_SPECIFIER "%d"
     51 
     52 #include "pixman-region.c"
     53 
     54 /* This function exists only to make it possible to preserve the X ABI -
     55 * it should go away at first opportunity.
     56 *
     57 * The problem is that the X ABI exports the three structs and has used
     58 * them through macros. So the X server calls this function with
     59 * the addresses of those structs which makes the existing code continue to
     60 * work.
     61 */
     62 PIXMAN_EXPORT void
     63 pixman_region_set_static_pointers (pixman_box16_t *empty_box,
     64 			   pixman_region16_data_t *empty_data,
     65 			   pixman_region16_data_t *broken_data)
     66 {
     67    pixman_region_empty_box = empty_box;
     68    pixman_region_empty_data = empty_data;
     69    pixman_broken_data = broken_data;
     70 }