LibGd
2.4.0-dev
GD Graphics library
Loading...
Searching...
No Matches
src
gd_fixed.h
1
//
2
// Created by pierr on 7/21/2021.
3
//
4
5
#ifndef GD_GD_FIXED_H
6
#define GD_GD_FIXED_H
7
/* Add *BSD and co for inttypes.h */
8
#if defined(_MSC_VER) && _MSC_VER < 1600
9
#include "msinttypes/stdint.h"
10
#else
11
#include <stdint.h>
12
#endif
13
/* only used here, let do a generic fixed point integers later if required by other
14
part of GD */
15
typedef
uint32_t gdFixed;
16
typedef
int32_t gd_fixed_16_16;
17
typedef
gd_fixed_16_16 gd_fixed_t;
18
#define gd_fixed_e ((gd_fixed_t)1)
19
#define gd_fixed_1 (gd_int_to_fixed(1))
20
#define gd_fixed_1_minus_e (gd_fixed_1 - gd_fixed_e)
21
#define gd_fixed_minus_1 (pixman_int_to_fixed(-1))
22
#define gd_fixed_to_int(f) ((int)((f) >> 16))
23
#define gd_int_to_fixed(i) ((gd_fixed_t)(i) * (gd_fixed_t)65536)
24
#define gd_fixed_to_double(f) (double)((f) / (double)gd_fixed_1)
25
#define gd_double_to_fixed(d) ((gd_fixed_t)((d) * 65536.0))
26
#define gd_fixed_frac(f) ((f) & gd_fixed_1_minus_e)
27
#define gd_fixed_floor(f) ((f) & ~gd_fixed_1_minus_e)
28
#define gd_fixed_ceil(f) gd_fixed_floor((f) + gd_fixed_1_minus_e)
29
#define gd_fixed_fraction(f) ((f) & gd_fixed_1_minus_e)
30
#define gd_fixed_mod_2(f) ((f) & (gd_fixed1 | gd_fixed_1_minus_e))
31
32
#endif
// GD_GD_FIXED_H
Generated by
1.9.8