annotate nodejs/X_supp_njs.h @ 1022:84006acab6af refine_backend_if

Use macros to hide the default backend
author Thinker K.F. Li <thinker@codemud.net>
date Mon, 22 Nov 2010 15:20:11 +0800
parents 67d0fed24120
children 176cba3ad32c
rev   line source
822
586e50f82c1f Unify coding style tag for emacs and vim.
Shih-Yuan Lee (FourDollars) <fourdollars@gmail.com>
parents: 681
diff changeset
1 // -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*-
586e50f82c1f Unify coding style tag for emacs and vim.
Shih-Yuan Lee (FourDollars) <fourdollars@gmail.com>
parents: 681
diff changeset
2 // vim: sw=4:ts=8:sts=4
550
127499ab2412 Upgrade ndoejs plugin to level of a new runtime.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
3 #ifndef __X_SUPP_NJS_H_
127499ab2412 Upgrade ndoejs plugin to level of a new runtime.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
4 #define __X_SUPP_NJS_H_
127499ab2412 Upgrade ndoejs plugin to level of a new runtime.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
5
560
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
6 #include <ev.h>
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
7
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
8 typedef struct _njs_runtime {
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
9 ev_io iowatcher;
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
10 ev_timer tmwatcher;
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
11 int enable_io;
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
12 int enable_timer;
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
13 void *xrt;
ce7a35abcb0d Function to instantiate coord for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
14 } njs_runtime_t;
550
127499ab2412 Upgrade ndoejs plugin to level of a new runtime.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
15
556
c9d23f7279a4 The first testcase that nodejs code can show a MadButterfly window.
Thinker K.F. Li <thinker@branda.to>
parents: 555
diff changeset
16 extern void X_njs_MB_init_handle_connection(njs_runtime_t *rt);
552
dd8d32b4c899 rename ev_data to rt
Thinker K.F. Li <thinker@branda.to>
parents: 551
diff changeset
17 extern void X_njs_MB_free(njs_runtime_t *rt);
551
9e69c4a0f565 rename njs_ev_data_t to njs_runtime_t
Thinker K.F. Li <thinker@branda.to>
parents: 550
diff changeset
18 extern njs_runtime_t *X_njs_MB_new(char *display_name, int w, int h);
871
67d0fed24120 Export a function to create a runtime for an existed window for JS
Thinker K.F. Li <thinker@codemud.net>
parents: 869
diff changeset
19 extern void X_njs_MB_free_keep_win(njs_runtime_t *rt);
67d0fed24120 Export a function to create a runtime for an existed window for JS
Thinker K.F. Li <thinker@codemud.net>
parents: 869
diff changeset
20 extern njs_runtime_t *X_njs_MB_new_with_win(void *display, long win);
571
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 560
diff changeset
21 extern int X_njs_MB_flush(njs_runtime_t *rt);
869
c18058fb48ee Export API for JS to feed X events.
Thinker K.F. Li <thinker@codemud.net>
parents: 822
diff changeset
22 extern void X_njs_MB_handle_single_event(njs_runtime_t *rt, void *evt);
c18058fb48ee Export API for JS to feed X events.
Thinker K.F. Li <thinker@codemud.net>
parents: 822
diff changeset
23 extern void X_njs_MB_no_more_event(njs_runtime_t *rt);
553
0a77b88500bf rename _X_njs_MB_get_runtime to _X_njs_MB_get_X_runtime
Thinker K.F. Li <thinker@branda.to>
parents: 552
diff changeset
24 extern void *_X_njs_MB_get_X_runtime(njs_runtime_t *rt);
550
127499ab2412 Upgrade ndoejs plugin to level of a new runtime.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
25
555
962d8436a303 Define functions to fill gap of njs runtime.
Thinker K.F. Li <thinker@branda.to>
parents: 553
diff changeset
26 #define X_njs_MB_kbevents(rt) X_MB_kbevents((rt)->xrt)
962d8436a303 Define functions to fill gap of njs runtime.
Thinker K.F. Li <thinker@branda.to>
parents: 553
diff changeset
27 #define X_njs_MB_rdman(rt) X_MB_rdman((rt)->xrt)
962d8436a303 Define functions to fill gap of njs runtime.
Thinker K.F. Li <thinker@branda.to>
parents: 553
diff changeset
28 #define X_njs_MB_tman(rt) X_MB_tman((rt)->xrt)
962d8436a303 Define functions to fill gap of njs runtime.
Thinker K.F. Li <thinker@branda.to>
parents: 553
diff changeset
29 #define X_njs_MB_ob_factory(rt) X_MB_ob_factory((rt)->xrt)
962d8436a303 Define functions to fill gap of njs runtime.
Thinker K.F. Li <thinker@branda.to>
parents: 553
diff changeset
30 #define X_njs_MB_img_ldr(rt) X_MB_img_ldr((rt)->xrt)
681
b601a4d6f7d1 Change kbevent to kbevents and hide X_MB_kbevents()
Thinker K.F. Li <thinker@branda.to>
parents: 571
diff changeset
31 #define X_njs_MB_kbevents(rt) X_MB_kbevents((rt)->xrt)
555
962d8436a303 Define functions to fill gap of njs runtime.
Thinker K.F. Li <thinker@branda.to>
parents: 553
diff changeset
32
550
127499ab2412 Upgrade ndoejs plugin to level of a new runtime.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
33 #endif /* __X_SUPP_NJS_H_ */