Mercurial > hg > nnchat
view ui.h @ 553:b464409fa643
Make LOG_* flags enum more readable and extendable by using hexadecimal values.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 12 Nov 2012 19:10:58 +0200 |
parents | 44f67ec5e945 |
children | 13901e9be15b |
line wrap: on
line source
/* * NNChat - Custom chat client for NewbieNudes.com chatrooms * Written by Matti 'ccr' Hämäläinen * (C) Copyright 2008-2012 Tecnic Software productions (TNSP) */ #ifndef LIBNNUI_H #define LIBNNUI_H #ifdef __WIN32 #define SET_DELAY (0) // Undefine because both windows.h and curses.h #define it #undef MOUSE_MOVED #else #define SET_DELAY (5) #endif #ifdef HAVE_NCURSES_H #include <ncurses.h> #else #include <curses.h> #endif #include "th_types.h" #include "th_string.h" #include "network.h" #define SET_MAX_WINDOWS (32) #define NN_BACKBUF_LEN (512) // Backbuffer size (in lines) typedef struct { int *buf; size_t len, bufsize; } nn_line_t; typedef struct { qringbuf_t *data; // "Backbuffer" data for this window int pos; // Current position in the window, 0 = real time BOOL dirty; int num; char *id; // Chatter ID, NULL = main window nn_line_t *line; // Logging char *logFilename; FILE *logFile; } nn_window_t; typedef struct { time_t prevKeepAlive; BOOL insertMode, exitProg, isError, update, mask, done; nn_conn_t *conn; void (*debugMsg)(const char *fmt, ...); } nn_editstate_t; extern nn_window_t *currWin; extern BOOL cursesInit; extern int scrHeight, scrWidth; BOOL nnwin_init(int delay); void nnwin_shutdown(); void nnwin_reset(void); void nnwin_update(BOOL force, BOOL mask, nn_editbuf_t *ebuf, char *optUserName, int optUserColor); nn_window_t * nnwin_main_window(); nn_window_t * nnwin_get(const int index); nn_window_t * nnwin_find(const char *id); void nnwin_set_current(nn_window_t *); BOOL nnwin_open(const char *name, BOOL curwin); void nnwin_close(nn_window_t *win); int nnwin_print(nn_window_t *win, const char *fmt); void nnwin_input_process(nn_editbuf_t *editBuf, nn_editstate_t *editState, BOOL (*callback)(int, nn_editbuf_t *, nn_editstate_t *)); char * nnwin_prompt_requester(BOOL allowEmpty, nn_editstate_t *, BOOL (*callback)(int, nn_editbuf_t *, nn_editstate_t *), void (*update)(nn_editbuf_t *, nn_editstate_t *)); BOOL nn_log_open(nn_window_t *win); void nn_log_close(nn_window_t *win); #endif