File: x_im_candidate_screen.h

package info (click to toggle)
mlterm 3.1.2-1.3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 23,168 kB
  • sloc: ansic: 102,795; sh: 9,676; java: 2,018; perl: 1,601; makefile: 1,595; cpp: 771; sed: 16
file content (80 lines) | stat: -rw-r--r-- 2,002 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
 *	$Id$
 */

#ifndef  __X_IM_CANDIDATE_SCREEN_H__
#define  __X_IM_CANDIDATE_SCREEN_H__

#include  <ml_char.h>
#include  "x_window.h"
#include  "x_display.h"
#include  "x_font_manager.h"
#include  "x_color_manager.h"

typedef struct x_im_candidate
{
	u_short  info ; /* to store misc. info from IM plugins */

	ml_char_t *  chars ;
	u_int  num_of_chars ; /* == array size */
	u_int  filled_len ;

} x_im_candidate_t ;

typedef struct x_im_candidate_event_listener
{
	void *  self ;
	void (*selected)( void *  p , u_int  index) ;

}  x_im_candidate_event_listener_t ;

typedef struct x_im_candidate_screen
{
	x_window_t  window ;

	x_font_manager_t *  font_man ;		/* same as attaced screen */

	x_color_manager_t *  color_man ;	/* same as attaced screen */

	x_im_candidate_t *  candidates ;
	u_int  num_of_candidates ;		/* == array size          */

	u_int  num_per_window ;

	u_int  index ;		/* current selected index of candidates   */

	u_int  is_focused ;

	u_int  line_height ;	/* line height of attaced screen          */

	int  is_vertical_term ;
	int  is_vertical_direction ;

	/* x_im_candidate_screen.c -> im plugins */
	x_im_candidate_event_listener_t  listener ;

	/*
	 * methods for x_im_candidate_screen_t which is called from im
	 */
	int (*delete)( struct x_im_candidate_screen *) ;
	int (*show)( struct x_im_candidate_screen *) ;
	int (*hide)( struct x_im_candidate_screen *) ;
	int (*set_spot)( struct x_im_candidate_screen * , int  , int) ;
	int (*init)( struct x_im_candidate_screen * , u_int , u_int) ;
	int (*set)( struct x_im_candidate_screen * ,
		    mkf_parser_t * , u_char * , u_int) ;
	int (*select)( struct x_im_candidate_screen *  cand_screen , u_int) ;

} x_im_candidate_screen_t ;

x_im_candidate_screen_t * x_im_candidate_screen_new(
					x_display_t *  disp ,
					x_font_manager_t *  font_man ,
					x_color_manager_t *  color_man ,
					int  is_vertical_term ,
					int  is_vertical_direction ,
					u_int  line_height_of_screen ,
					int  x , int  y) ;

#endif