Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

scheme/glt_gui.h

Go to the documentation of this file.
00001 
00008 #ifndef _GUI_GLT_GUI_H_
00009 #define _GUI_GLT_GUI_H_
00010 
00011 
00012 
00013 static inline struct window * vptr (SCM obj) { return ((struct window *) SCM_SMOB_DATA(obj)); }
00014 
00015 uns is_window_proxy(SCM proxy);
00016 
00017 static uns proxy_is_valid(SCM proxy)
00018 { return (vptr (proxy) != NULL); }
00019 
00020 
00021 static uns is_specific_window_proxy(SCM proxy, int type)
00022 {
00023     return (is_window_proxy (proxy) && proxy_is_valid (proxy) &&
00024             ((type < 0) || (vptr (proxy) -> type == (uns) type)));
00025 }
00026 
00027 static inline struct window * scm2window (SCM obj)
00028 { return is_window_proxy (obj) ? vptr (obj) : NULL; }
00029 
00030 SCM window2scm(struct window *p);
00031 
00032 void window_proxy_clean (struct window *p);
00033 
00034 #define ID_window -1
00035 #define ID_view WT_VIEW
00036 #define ID_console WT_CONSOLE
00037 
00038 static inline void assert_SW(SCM obj, unsigned int pos, const char *subr, int type)
00039 { SCM_ASSERT (is_specific_window_proxy (obj, type), obj, pos, subr); }
00040 
00041 static inline void * in_SW(SCM obj)
00042 { return scm2window (obj); }
00043 
00044 static inline SCM out_SW (void *ptr)
00045 { return window2scm (ptr); }
00046 
00047 void guilelink_gui_init(void);
00048 
00049 #endif

Generated on Tue Dec 9 16:30:08 2008 for Vrr by doxygen 1.3.5