41#include <libnsfb_plot.h>
42#include <libnsfb_event.h>
68 if (cbi->
event->type != NSFB_EVENT_KEY_UP) {
74 fb_cw->
mouse(fb_cw, state, cbi->
x, cbi->
y);
221 -furniture_width, -furniture_width,
core_window_drag_status
drag status passed to drag_status callback
nserror
Enumeration of error codes.
@ NSERROR_NOT_IMPLEMENTED
Functionality is not implemented.
fbtk_callback fbtk_set_handler(fbtk_widget_t *widget, fbtk_callback_type cbt, fbtk_callback cb, void *pw)
Set a callback handler.
fbtk_widget_t * fbtk_create_vscroll(fbtk_widget_t *window, int x, int y, int width, int height, colour fg, colour bg, fbtk_callback callback, void *context)
Create a vertical scroll widget.
int fbtk_get_absx(fbtk_widget_t *widget)
Get a widget's absolute horizontal screen co-ordinate.
int fbtk_get_width(fbtk_widget_t *widget)
Get a widget's width.
fbtk_widget_t * fbtk_create_fill(fbtk_widget_t *window, int x, int y, int width, int height, colour c)
Create a filled rectangle.
fbtk_widget_t * fbtk_create_hscroll(fbtk_widget_t *window, int x, int y, int width, int height, colour fg, colour bg, fbtk_callback callback, void *context)
Create a horizontal scroll widget.
fbtk_widget_t * fbtk_create_user(fbtk_widget_t *window, int x, int y, int width, int height, void *pw)
Create a user widget.
fbtk_widget_t * fbtk_create_window(fbtk_widget_t *parent, int x, int y, int width, int height, colour bg)
Create a window widget.
int fbtk_get_absy(fbtk_widget_t *widget)
Get a widget's absolute vertical screen co-ordinate.
nsfb_t * fbtk_get_nsfb(fbtk_widget_t *widget)
Retrieve the framebuffer library handle from toolkit widget.
int fbtk_get_height(fbtk_widget_t *widget)
Get a widget's height.
struct core_window_table * framebuffer_core_window_table
nserror fb_corewindow_init(fbtk_widget_t *parent, struct fb_corewindow *fb_cw)
initialise elements of fb core window.
static nserror fb_cw_drag_status(struct core_window *cw, core_window_drag_status ds)
nserror fb_corewindow_fini(struct fb_corewindow *fb_cw)
finalise elements of fb core window.
static nserror fb_cw_set_scroll(struct core_window *cw, int x, int y)
static nserror fb_cw_invalidate(struct core_window *cw, const struct rect *r)
callback from core to request a redraw
static nserror fb_cw_get_window_dimensions(const struct core_window *cw, int *width, int *height)
static int fb_cw_draw_event(fbtk_widget_t *widget, fbtk_callback_info *cbi)
handler for toolkit window redraw event
static nserror fb_cw_update_size(struct core_window *cw, int width, int height)
static nserror fb_cw_get_scroll(const struct core_window *cw, int *x, int *y)
struct core_window_table fb_cw_cb_table
static int fb_cw_mouse_press_event(fbtk_widget_t *widget, fbtk_callback_info *cbi)
Core mouse and pointer states.
browser_mouse_state
Mouse state.
@ BROWSER_MOUSE_PRESS_1
button 1 pressed
@ BROWSER_MOUSE_HOVER
No mouse buttons pressed, May be used to indicate hover or end of drag.
Interface to key press operations.
Localised message support (interface).
plotter style interfaces, generic styles and style colour helpers.
Core user interface window function table.
nserror(* invalidate)(struct core_window *cw, const struct rect *rect)
Invalidate an area of a window.
struct fbtk_widget_s * wnd
framebuffer toolkit window.
core_window_drag_status drag_status
drag status set by core
struct fbtk_widget_s * drawable
framebuffer toolkit user drawable widget.
struct fbtk_widget_s * vscroll
framebuffer toolkit vertical scrollbar.
struct fbtk_widget_s * hscroll
framebuffer toolkit horizontal scrollbar.
nserror(* draw)(struct fb_corewindow *fb_cw, struct rect *r)
callback to draw on drawable area of fb core window
int scrolly
scroll offsets.
nserror(* mouse)(struct fb_corewindow *fb_cw, browser_mouse_state mouse_state, int x, int y)
callback for mouse event on fb core window
widget callback information
Option reading and saving interface.
#define nsoption_int(OPTION)
Get the value of an integer option.
UTF-8 manipulation functions (interface).
Interface to a number of general purpose functionality.
static nserror clip(const struct redraw_context *ctx, const struct rect *clip)
Sets a clip rectangle for subsequent plot operations.