view nodejs/njs_mb_supp.h @ 1224:5d731460b32c

Remove search_by_id() from frameline. - frameline is only responsible for drawing a row of frames. - layers and scenes are managed by MBScene_dom. So, function of search_by_id() must move to MBScene_dom class. - onCellClick() and _change_active_frame() are responsible for handling GUI event. - It should not be used with workaround to implement some function. - Solutions - MBScene_dom.find_layer_n_scene_of_nod() is used to replace search_by_id(). - MBScene_framelines.active_frame() is used to replace the workaround.
author Thinker K.F. Li <thinker@codemud.net>
date Thu, 06 Jan 2011 11:11:27 +0800
parents e415c55b4a0d
children
line wrap: on
line source

// -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*-
// vim: sw=4:ts=8:sts=4
#ifndef __NJS_MB_SUPP_H_
#define __NJS_MB_SUPP_H_

#include <ev.h>
#include <mb_backend.h>

typedef struct _njs_runtime {
    mb_rt_t *mb_rt;
} njs_runtime_t;

extern void njs_mb_reg_timer_man(void);
extern void njs_mb_reg_IO_man(void);
/* extern void njs_mb_init_handle_connection(njs_runtime_t *rt); */
extern void njs_mb_free(njs_runtime_t *rt);
extern njs_runtime_t *njs_mb_new(char *display_name, int w, int h);
extern void njs_mb_free_keep_win(njs_runtime_t *rt);
extern njs_runtime_t *njs_mb_new_with_win(void *display, long win);
extern int njs_mb_flush(njs_runtime_t *rt);
extern void njs_mb_handle_single_event(njs_runtime_t *rt, void *evt);
extern void njs_mb_no_more_event(njs_runtime_t *rt);
extern mb_rt_t *_njs_mb_get_runtime(njs_runtime_t *rt);

#define njs_mb_kbevents(rt) mb_runtime_kbevents((rt)->mb_rt)
#define njs_mb_rdman(rt) mb_runtime_rdman((rt)->mb_rt)
#define njs_mb_timer_man(rt) mb_runtime_timer_man((rt)->mb_rt)
#define njs_mb_observer_factory(rt) mb_runtime_observer_factory((rt)->mb_rt)
#define njs_mb_img_ldr(rt) mb_runtime_img_ldr((rt)->mb_rt)

#endif /* __NJS_MB_SUPP_H_ */