/************************************************************************** * Copyright (C) 2009 Sebastian Reichel * * Battery with functional data (percentage, time to life) and drawing data * (area, font, ...). Each panel use his own drawing data. * Need kernel > 2.6.23. * **************************************************************************/ #ifndef BATTERY_H #define BATTERY_H #include #include #include #include "common.h" #include "area.h" // battery drawing parameter (per panel) typedef struct Battery { // always start with area Area area; Color font; int bat1_posy; int bat2_posy; } Battery; enum chargestate { BATTERY_UNKNOWN, BATTERY_CHARGING, BATTERY_DISCHARGING, BATTERY_FULL }; typedef struct battime { int16_t hours; int8_t minutes; int8_t seconds; } battime; typedef struct batstate { int percentage; struct battime time; enum chargestate state; } batstate; extern struct batstate battery_state; extern PangoFontDescription *bat1_font_desc; extern PangoFontDescription *bat2_font_desc; extern int battery_enabled; extern int percentage_hide; extern int8_t battery_low_status; extern char *battery_low_cmd; extern char *path_energy_now, *path_energy_full, *path_current_now, *path_status; // default global data void default_battery(); // freed memory void cleanup_battery(); // initialize clock : y position, ... void update_battery(); void init_battery(); void init_battery_panel(void *panel); void draw_battery(void *obj, cairo_t *c); int resize_battery(void *obj); #endif