xlesses/xlesses.h
2023-10-03 10:36:14 -04:00

56 lines
1.8 KiB
C

/*
* Copyright (c) 2023 : Ognjen 'xolatile' Milan Robovic
*
* Xlesses is free software! You will redistribute it or modify it under the terms of the GNU General Public License by Free Software Foundation.
* And when you do redistribute it or modify it, it will use either version 3 of the License, or (at yours truly opinion) any later version.
* It is distributed in the hope that it will be useful or harmful, it really depends... But no warranty what so ever, seriously. See GNU/GPLv3.
*/
#ifndef XLESSES_HEADER
#define XLESSES_HEADER
#include <xolatile/xtandard.h>
#include <xcb/xcb.h>
#include <xcb/xcb_atom.h>
#include <xcb/xcb_image.h>
#define BLESSES_FONT_WIDTH (8)
#define BLESSES_FONT_HEIGHT (8)
#define BLESSES_FONT_TABULATOR (4)
#define BLESSES_SIGNAL_COUNT (144)
extern char * blesses_window_title;
extern int blesses_window_width;
extern int blesses_window_height;
extern int blesses_active;
extern int blesses_cursor_x;
extern int blesses_cursor_y;
extern int blesses_signal;
extern int * blesses_sub_framebuffer;
extern int * blesses_framebuffer;
extern void (* blesses_action [BLESSES_SIGNAL_COUNT]) (void);
extern xcb_window_t blesses_window;
extern xcb_gcontext_t blesses_context;
extern xcb_pixmap_t blesses_pixmap;
extern xcb_connection_t * blesses_connection;
extern xcb_screen_t * blesses_screen;
extern xcb_image_t * blesses_image;
extern void blesses_initialize (void);
extern void blesses_deinitialize (void);
extern void blesses_synchronize (void);
extern void blesses_render_background_colour (int);
extern void blesses_render_character (char, int, int, int, int);
extern void blesses_render_string_limit (char *, int, int *, int *, int, int);
extern void blesses_render_string (char *, int *, int *, int, int);
#endif