 4226f97d54
			
		
	
	4226f97d54
	
	
	
		
			
			We add a custom im module for broadway that calls some broadway specific APIs to show/hide the keyboard on focus in/out. We then forward this to the browser, and on the ipad we focus an input field to activate the keyboard.
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __BROADWAY_H__
 | |
| #define __BROADWAY_H__
 | |
| 
 | |
| #include <glib.h>
 | |
| #include <gio/gio.h>
 | |
| #include "broadway-protocol.h"
 | |
| #include "broadway-buffer.h"
 | |
| 
 | |
| typedef struct BroadwayOutput BroadwayOutput;
 | |
| 
 | |
| typedef enum {
 | |
|   BROADWAY_WS_CONTINUATION = 0,
 | |
|   BROADWAY_WS_TEXT = 1,
 | |
|   BROADWAY_WS_BINARY = 2,
 | |
|   BROADWAY_WS_CNX_CLOSE = 8,
 | |
|   BROADWAY_WS_CNX_PING = 9,
 | |
|   BROADWAY_WS_CNX_PONG = 0xa
 | |
| } BroadwayWSOpCode;
 | |
| 
 | |
| BroadwayOutput *broadway_output_new             (GOutputStream  *out,
 | |
| 						 guint32         serial);
 | |
| void            broadway_output_free            (BroadwayOutput *output);
 | |
| int             broadway_output_flush           (BroadwayOutput *output);
 | |
| int             broadway_output_has_error       (BroadwayOutput *output);
 | |
| void            broadway_output_set_next_serial (BroadwayOutput *output,
 | |
| 						 guint32         serial);
 | |
| guint32         broadway_output_get_next_serial (BroadwayOutput *output);
 | |
| void            broadway_output_new_surface     (BroadwayOutput *output,
 | |
| 						 int             id,
 | |
| 						 int             x,
 | |
| 						 int             y,
 | |
| 						 int             w,
 | |
| 						 int             h,
 | |
| 						 gboolean        is_temp);
 | |
| void            broadway_output_disconnected    (BroadwayOutput *output);
 | |
| void            broadway_output_show_surface    (BroadwayOutput *output,
 | |
| 						 int             id);
 | |
| void            broadway_output_hide_surface    (BroadwayOutput *output,
 | |
| 						 int             id);
 | |
| void            broadway_output_raise_surface   (BroadwayOutput *output,
 | |
|                                                  int             id);
 | |
| void            broadway_output_lower_surface   (BroadwayOutput *output,
 | |
|                                                  int             id);
 | |
| void            broadway_output_destroy_surface (BroadwayOutput *output,
 | |
| 						 int             id);
 | |
| void            broadway_output_move_resize_surface (BroadwayOutput *output,
 | |
| 						     int             id,
 | |
| 						     gboolean        has_pos,
 | |
| 						     int             x,
 | |
| 						     int             y,
 | |
| 						     gboolean        has_size,
 | |
| 						     int             w,
 | |
| 						     int             h);
 | |
| void            broadway_output_set_transient_for (BroadwayOutput *output,
 | |
| 						   int             id,
 | |
| 						   int             parent_id);
 | |
| void            broadway_output_put_buffer      (BroadwayOutput *output,
 | |
| 						 int             id,
 | |
|                                                  BroadwayBuffer *prev_buffer,
 | |
|                                                  BroadwayBuffer *buffer);
 | |
| void            broadway_output_grab_pointer    (BroadwayOutput *output,
 | |
| 						 int id,
 | |
| 						 gboolean owner_event);
 | |
| guint32         broadway_output_ungrab_pointer  (BroadwayOutput *output);
 | |
| void            broadway_output_pong            (BroadwayOutput *output);
 | |
| void            broadway_output_set_show_keyboard (BroadwayOutput *output,
 | |
|                                                    gboolean show);
 | |
| 
 | |
| #endif /* __BROADWAY_H__ */
 |