/*
* drivers.h
* This file is part of LCDd, the lcdproc server.
*
* This file is released under the GNU General Public License. Refer to the
* COPYING file distributed with this package.
*
* Copyright (c) 2001, Joris Robijn
*
*/
#ifndef DRIVERS_H
#define DRIVERS_H
#include "drivers/lcd.h"
#include "shared/LL.h"
typedef struct DisplayProps {
int width, height;
int cellwidth, cellheight;
} DisplayProps;
extern DisplayProps *display_props;
#ifndef bool
# define bool short
# define true 1
# define false 0
#endif
int
drivers_load_driver(const char *name);
int
drivers_unload_all(void);
const char *
drivers_get_info(void);
void
drivers_clear(void);
void
drivers_flush(void);
void
drivers_string(int x, int y, const char *string);
void
drivers_chr(int x, int y, char c);
void
drivers_vbar(int x, int y, int len, int promille, int pattern);
void
drivers_hbar(int x, int y, int len, int promille, int pattern);
void
drivers_num(int x, int num);
void
drivers_heartbeat(int state);
void
drivers_icon(int x, int y, int icon);
void
drivers_set_char(char ch, char *dat);
int
drivers_get_contrast(void);
void
drivers_set_contrast(int contrast);
void
drivers_cursor(int x, int y, int state);
void
drivers_backlight(int brightness);
void
drivers_output(int state);
const char *
drivers_get_key(void);
/* Please don't read this list except using the following functions */
extern LinkedList *loaded_drivers;
static inline Driver *drivers_getfirst(void)
{
return LL_GetFirst(loaded_drivers);
}
static inline Driver *drivers_getnext(void)
{
return LL_GetNext(loaded_drivers);
}
#endif
syntax highlighted by Code2HTML, v. 0.9.1