#ifndef KEYMAPWIN_H #define KEYMAPWIN_H #include "../include/osw-x.h" #include "../include/widget.h" typedef struct _xsw_keymap_win_struct xsw_keymap_win_struct; #define XSW_KEYMAP_WIN(p) ((xsw_keymap_win_struct *)(p)) /* * Draw amounts: */ #define KMW_DRAW_AMOUNT_COMPLETE 0 #define KMW_DRAW_AMOUNT_DESCRIPTION 1 #define KMW_DRAW_AMOUNT_SCAN_KEY 2 /* * Keymap Window: */ struct _xsw_keymap_win_struct { bool_t map_state, has_focus, disabled; int freeze_count, busy_count; int x, y; unsigned int width, height; visibility_t visibility_state; win_t toplevel; clist_struct list; /* Keymap Description */ win_t desc; pixmap_t desc_buf; /* Scan Key Prompt */ win_t key_prompt_win; pixmap_t key_prompt_buf; bool_t key_prompt_mode; /* True if in prompt mode */ push_button_struct ok_btn, cancel_btn, apply_btn, scan_key_btn, default_btn, default_all_btn; }; /* keymapwin.cpp */ extern "C" xsw_keymap_win_struct *KeymapWinNew(void); extern "C" void KeymapWinResize(xsw_keymap_win_struct *kmw); extern "C" void KeymapWinQueueResize(xsw_keymap_win_struct *kmw); extern "C" void KeymapWinDraw(xsw_keymap_win_struct *kmw, int amount); extern "C" void KeymapWinQueueDraw(xsw_keymap_win_struct *kmw, const int amount); extern "C" int KeymapWinManage(xsw_keymap_win_struct *kmw, event_t *event); extern "C" void KeymapWinMap(xsw_keymap_win_struct *kmw, win_t toplevel); extern "C" void KeymapWinUnmap(xsw_keymap_win_struct *kmw); extern "C" void KeymapWinDelete(xsw_keymap_win_struct *kmw); #endif /* KEYMAPWIN_H */