/*****************************************************************************
 *
 *  Name:       CTX_SDL_internal.h
 *
 *  $Id$
 *
 *  Purpose:    Internal interfaces of SDL mainloop plugin.
 *
 *  Copyright 2010-2012 Citrix Systems, Inc. All rights reserved.
 *
 *****************************************************************************/

#ifndef _CTX_SDL_INTERNAL_H
#define _CTX_SDL_INTERNAL_H

struct Draw_rect;
struct session_size;

extern void handle_SDL_keyboard(SDL_KeyboardEvent *ev);
extern int  handle_SDL_mouse(SDL_Event *ev);
extern int  handle_SDL_joystick(SDL_JoyAxisEvent *ev);
extern void handle_CTX_keyboard(SDL_KeyboardEvent *ev);

extern void  SDL_draw_LVB(struct Draw_rect *, BOOLEAN);
extern void  Get_max_screen_size(struct session_size *);
extern BOOLEAN SetupMainWindow(struct session_size *);
extern BOOLEAN ChangeSDLSurface(int width, int height);

extern VPSTATUS SDL_select_fd(struct pal_event *evt_p, int fd, BOOLEAN is_write);
#endif	/* _CTX_SDL_INTERNAL_H */
