X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fscreen.h;h=8a91d46279254a7205a16af18d899196de787d2e;hb=a60c40e042cd1c2cc73dfa60b74a54e67a017d6a;hp=ef766e58a79b106067b84a714f2818f2b58c54cd;hpb=386ea7f72f2e08d037111bdb6272d91e7bba6ef3;p=ncmpc.git diff --git a/src/screen.h b/src/screen.h index ef766e5..8a91d46 100644 --- a/src/screen.h +++ b/src/screen.h @@ -32,6 +32,8 @@ #include +#include + struct mpdclient; struct screen_functions; @@ -41,7 +43,7 @@ struct screen { struct progress_bar progress_bar; struct status_bar status_bar; - unsigned cols, rows; + const struct screen_functions *current_page; char *buf; size_t buf_size; @@ -63,7 +65,13 @@ extern struct screen screen; void screen_init(struct mpdclient *c); void screen_exit(void); void screen_resize(struct mpdclient *c); -void screen_paint(struct mpdclient *c); + +void +paint_top_window(const struct mpdclient *c); + +void +screen_paint(struct mpdclient *c, bool main_dirty); + void screen_update(struct mpdclient *c); void screen_cmd(struct mpdclient *c, command_t cmd); @@ -72,8 +80,11 @@ screen_switch(const struct screen_functions *sf, struct mpdclient *c); void screen_swap(struct mpdclient *c, const struct mpd_song *song); -gboolean -screen_is_visible(const struct screen_functions *sf); +static inline bool +screen_is_visible(const struct screen_functions *sf) +{ + return sf == screen.current_page; +} int screen_get_mouse_event(struct mpdclient *c, unsigned long *bstate, int *row);