/cmap

## Files

file | gl.h
| OpenGL part of fosphor.
file | gl_cmap.h
| OpenGL float texture to color mapping.
file | gl_cmap_gen.h
| OpenGL color map generators.
file | gl_font.h
| Basic OpenGL font rendering.

## Macros

#define | ATTR_FORMAT(a, b, c) __attribute__((format(a,b,c)))
#define | GLF_FLG_LCD (1 << 0)

## Typedefs

typedef int(* | gl_cmap_gen_func_t) (uint32_t *rgba, int N, void *arg)

## Enumerations

enum | fosphor_gl_id { GL_ID_TEX_WATERFALL , GL_ID_TEX_HISTOGRAM , GL_ID_VBO_SPECTRUM }
enum | fosphor_gl_cmap_mode { GL_CMAP_MODE_NEAREST , GL_CMAP_MODE_BILINEAR , GL_CMAP_MODE_BICUBIC }
enum | glf_align { GLF_LEFT , GLF_RIGHT , GLF_TOP , GLF_BOTTOM , GLF_CENTER }

## Functions

int | fosphor_gl_init (struct fosphor *self)
void | fosphor_gl_release (struct fosphor *self)
GLuint | fosphor_gl_get_shared_id (struct fosphor *self, enum fosphor_gl_id id)
void | fosphor_gl_refresh (struct fosphor *self)
void | fosphor_gl_draw (struct fosphor *self, struct fosphor_render *render)
struct fosphor_gl_cmap_ctx * | fosphor_gl_cmap_init (void)
void | fosphor_gl_cmap_release (struct fosphor_gl_cmap_ctx *cmap_ctx)
void | fosphor_gl_cmap_enable (struct fosphor_gl_cmap_ctx *cmap_ctx, GLuint tex_id, GLuint cmap_id, float scale, float offset, enum fosphor_gl_cmap_mode mode)
void | fosphor_gl_cmap_disable (void)
void | fosphor_gl_cmap_draw_scale (GLuint cmap_id, float x0, float x1, float y0, float y1)
int | fosphor_gl_cmap_generate (GLuint *cmap_id, gl_cmap_gen_func_t gfn, void *gfn_arg, int N)
int | fosphor_gl_cmap_histogram (uint32_t *rgba, int N, void *arg)
int | fosphor_gl_cmap_waterfall (uint32_t *rgba, int N, void *arg)
struct gl_font * | glf_alloc (int height, int flags)
void | glf_free (struct gl_font *glf)
int | glf_load_face_file (struct gl_font *glf, const char *filename)
int | glf_load_face_mem (struct gl_font *glf, const void *data, size_t len)
float | glf_width_str (const struct gl_font *glf, const char *str)
void | glf_draw_str (const struct gl_font *glf, float x, enum glf_align x_align, float y, enum glf_align y_align, const char *str)
void | glf_printf (const struct gl_font *glf, float x, enum glf_align x_align, float y, enum glf_align y_align, const char *fmt,...) ATTR_FORMAT(printf
void void | glf_begin (const struct gl_font *glf, float fg_color[3])
void | glf_end (void)

## Detailed Description

## Macro Definition Documentation

## ATTR_FORMAT

#define ATTR_FORMAT | ( |  | a,
|  |  | b,
|  |  | c
| ) |  | __attribute__((format(a,b,c)))

## GLF_FLG_LCD

#define GLF_FLG_LCD (1 << 0)

## Typedef Documentation

## gl_cmap_gen_func_t

typedef int(* gl_cmap_gen_func_t) (uint32_t *rgba, int N, void *arg)

## Enumeration Type Documentation

## fosphor_gl_cmap_mode

enum fosphor_gl_cmap_mode

Enumerator
GL_CMAP_MODE_NEAREST |
GL_CMAP_MODE_BILINEAR |
GL_CMAP_MODE_BICUBIC |

## fosphor_gl_id

enum fosphor_gl_id

Enumerator
GL_ID_TEX_WATERFALL |
GL_ID_TEX_HISTOGRAM |
GL_ID_VBO_SPECTRUM |

## glf_align

enum glf_align

Enumerator
GLF_LEFT |
GLF_RIGHT |
GLF_TOP |
GLF_BOTTOM |
GLF_CENTER |

## Function Documentation

## fosphor_gl_cmap_disable()

void fosphor_gl_cmap_disable | ( | void |  | ) |

## fosphor_gl_cmap_draw_scale()

void fosphor_gl_cmap_draw_scale | ( | GLuint | cmap_id,
|  | float | x0,
|  | float | x1,
|  | float | y0,
|  | float | y1
| ) |  |

## fosphor_gl_cmap_enable()

void fosphor_gl_cmap_enable | ( | struct fosphor_gl_cmap_ctx * | cmap_ctx,
|  | GLuint | tex_id,
|  | GLuint | cmap_id,
|  | float | scale,
|  | float | offset,
|  | enum fosphor_gl_cmap_mode | mode
| ) |  |

## fosphor_gl_cmap_generate()

int fosphor_gl_cmap_generate | ( | GLuint * | cmap_id,
|  | gl_cmap_gen_func_t | gfn,
|  | void * | gfn_arg,
|  | int | N
| ) |  |

## fosphor_gl_cmap_histogram()

int fosphor_gl_cmap_histogram | ( | uint32_t * | rgba,
|  | int | N,
|  | void * | arg
| ) |  |

## fosphor_gl_cmap_init()

struct fosphor_gl_cmap_ctx * fosphor_gl_cmap_init | ( | void |  | ) |

## fosphor_gl_cmap_release()

void fosphor_gl_cmap_release | ( | struct fosphor_gl_cmap_ctx * | cmap_ctx | ) |

## fosphor_gl_cmap_waterfall()

int fosphor_gl_cmap_waterfall | ( | uint32_t * | rgba,
|  | int | N,
|  | void * | arg
| ) |  |

## fosphor_gl_draw()

void fosphor_gl_draw | ( | struct fosphor * | self,
|  | struct fosphor_render * | render
| ) |  |

## fosphor_gl_get_shared_id()

GLuint fosphor_gl_get_shared_id | ( | struct fosphor * | self,
|  | enum fosphor_gl_id | id
| ) |  |

## fosphor_gl_init()

int fosphor_gl_init | ( | struct fosphor * | self | ) |

## fosphor_gl_refresh()

void fosphor_gl_refresh | ( | struct fosphor * | self | ) |

## fosphor_gl_release()

void fosphor_gl_release | ( | struct fosphor * | self | ) |

## glf_alloc()

struct gl_font * glf_alloc | ( | int | height,
|  | int | flags
| ) |  |

## glf_begin()

void void glf_begin | ( | const struct gl_font * | glf,
|  | float | fg_color[3]
| ) |  |

## glf_draw_str()

void glf_draw_str | ( | const struct gl_font * | glf,
|  | float | x,
|  | enum glf_align | x_align,
|  | float | y,
|  | enum glf_align | y_align,
|  | const char * | str
| ) |  |

## glf_end()

void glf_end | ( | void |  | ) |

## glf_free()

void glf_free | ( | struct gl_font * | glf | ) |

## glf_load_face_file()

int glf_load_face_file | ( | struct gl_font * | glf,
|  | const char * | filename
| ) |  |

## glf_load_face_mem()

int glf_load_face_mem | ( | struct gl_font * | glf,
|  | const void * | data,
|  | size_t | len
| ) |  |

## glf_printf()

void glf_printf | ( | const struct gl_font * | glf,
|  | float | x,
|  | enum glf_align | x_align,
|  | float | y,
|  | enum glf_align | y_align,
|  | const char * | fmt,
|  |  | ...
| ) |  |

## glf_width_str()

float glf_width_str | ( | const struct gl_font * | glf,
|  | const char * | str
| ) |  |