Freeciv-3.1: /fast/freeciv/nightly/S3_1/common/rgbcolor.h File Reference

Freeciv-3.1

Loading...
Searching...
No Matches
Data Structures | Macros | Functions
rgbcolor.h File Reference
`#include "shared.h"`
`#include "speclist.h"`

Go to the source code of this file.

## Data Structures

struct | rgbcolor

## Macros

#define | SPECLIST_TAG rgbcolor
#define | SPECLIST_TYPE struct rgbcolor
#define | rgbcolor_list_iterate(rgbcolorlist, prgbcolor) TYPED_LIST_ITERATE(struct rgbcolor, rgbcolorlist, prgbcolor)
#define | rgbcolor_list_iterate_end LIST_ITERATE_END
#define | CHECK_RGBCOLOR(_str, _c, _colorname)
#define | rgbcolor_check(_str, _r, _g, _b)

## Functions

struct rgbcolor * | rgbcolor_new (int r, int g, int b)
struct rgbcolor * | rgbcolor_copy (const struct rgbcolor *prgbcolor)
bool | rgbcolors_are_equal (const struct rgbcolor *c1, const struct rgbcolor *c2)
void | rgbcolor_destroy (struct rgbcolor *prgbcolor)
bool | rgbcolor_load (struct section_file *file, struct rgbcolor **prgbcolor, char *path,...) fc__attribute((__format__(__printf__
bool void | rgbcolor_save (struct section_file *file, const struct rgbcolor *prgbcolor, char *path,...) fc__attribute((__format__(__printf__
bool void bool | rgbcolor_to_hex (const struct rgbcolor *prgbcolor, char *hex, size_t hex_len)
bool | rgbcolor_from_hex (struct rgbcolor **prgbcolor, const char *hex)
int | rgbcolor_brightness_score (struct rgbcolor *prgbcolor)

## Macro Definition Documentation

## ◆ CHECK_RGBCOLOR

#define CHECK_RGBCOLOR | ( |  | _str,
|  |  | _c,
|  |  | _colorname
| ) |  |

Value:
{ \
int _color_save = _c; \
\
_c = CLIP(0, _c, 255); \
if (_c != _color_save) { \
log_error("Invalid value for '%s' in color definition '%s' (%d). " \
"Setting it to '%d'.", _colorname, _str, _color_save, _c); \
} \
}
CLIP
#define CLIP(lower, current, upper)
Definition shared.h:57

Definition at line 49 of file rgbcolor.h.

## ◆ rgbcolor_check

#define rgbcolor_check | ( |  | _str,
|  |  | _r,
|  |  | _g,
|  |  | _b
| ) |  |

Value:
{ \
CHECK_RGBCOLOR(_str, _r, "red"); \
CHECK_RGBCOLOR(_str, _g, "green"); \
CHECK_RGBCOLOR(_str, _b, "blue"); \
}

Definition at line 59 of file rgbcolor.h.

## ◆ rgbcolor_list_iterate

#define rgbcolor_list_iterate | ( |  | rgbcolorlist,
|  |  | prgbcolor
| ) |  | TYPED_LIST_ITERATE(struct rgbcolor, rgbcolorlist, prgbcolor)

Definition at line 43 of file rgbcolor.h.

## ◆ rgbcolor_list_iterate_end

#define rgbcolor_list_iterate_end LIST_ITERATE_END

Definition at line 45 of file rgbcolor.h.

## ◆ SPECLIST_TAG

#define SPECLIST_TAG rgbcolor

Definition at line 39 of file rgbcolor.h.

## ◆ SPECLIST_TYPE

#define SPECLIST_TYPE struct rgbcolor

Definition at line 40 of file rgbcolor.h.

## Function Documentation

## ◆ rgbcolor_brightness_score()

int rgbcolor_brightness_score | ( | struct rgbcolor * | prgbcolor | ) |

Return a number indicating the perceptual brightness of this color relative to others (larger is brighter).

Definition at line 196 of file rgbcolor.c.

Referenced by color_brightness_score().

## ◆ rgbcolor_copy()

struct rgbcolor * rgbcolor_copy | ( | const struct rgbcolor * | prgbcolor | ) |

Allocate new rgbcolor structure and make it copy of one given as input. Return new one.

Definition at line 51 of file rgbcolor.c.

Referenced by player_set_color().

## ◆ rgbcolor_destroy()

void rgbcolor_destroy | ( | struct rgbcolor * | prgbcolor | ) |

Free rgbcolor structure.

Definition at line 74 of file rgbcolor.c.

Referenced by color_brightness_score(), color_system_free(), game_ruleset_free(), handle_player_info(), nation_free(), player_destroy(), player_set_color(), playercolor_command(), playercolor_free(), server_player_set_color(), sg_load_players_basic(), sg_load_players_basic(), and terrains_free().

## ◆ rgbcolor_from_hex()

bool rgbcolor_from_hex | ( | struct rgbcolor ** | prgbcolor,
|  | const char * | hex
| ) |  |

Convert a hex string into a rgb color

Definition at line 162 of file rgbcolor.c.

Referenced by playercolor_command().

## ◆ rgbcolor_load()

bool rgbcolor_load | ( | struct section_file * | file,
|  | struct rgbcolor ** | prgbcolor,
|  | char * | path,
|  |  | ...
| ) |  |

## ◆ rgbcolor_new()

struct rgbcolor * rgbcolor_new | ( | int | r,
|  | int | g,
|  | int | b
| ) |  |

Allocate new rgbcolor structure.

Definition at line 34 of file rgbcolor.c.

Referenced by color_brightness_score(), color_system_read(), handle_player_info(), handle_ruleset_game(), handle_ruleset_terrain(), rgbcolor_copy(), rgbcolor_from_hex(), and rgbcolor_load().

## ◆ rgbcolor_save()

bool void rgbcolor_save | ( | struct section_file * | file,
|  | const struct rgbcolor * | prgbcolor,
|  | char * | path,
|  |  | ...
| ) |  |

## ◆ rgbcolor_to_hex()

bool void bool rgbcolor_to_hex | ( | const struct rgbcolor * | prgbcolor,
|  | char * | hex,
|  | size_t | hex_len
| ) |  |

Convert a rgb color to a hex string (like 0xff0000 for red [255, 0, 0]).

Definition at line 142 of file rgbcolor.c.

Referenced by player_color_ftstr().

## ◆ rgbcolors_are_equal()

bool rgbcolors_are_equal | ( | const struct rgbcolor * | c1,
|  | const struct rgbcolor * | c2
| ) |  |

Test whether two rgbcolor structures represent the exact same color value. (Does not attempt to determine whether they are visually distinguishable.)

Definition at line 62 of file rgbcolor.c.

Referenced by assign_player_colors(), and playercolor_command().