RetroArch
Classes | Macros | Typedefs | Functions | Variables
xshm_gfx.c File Reference
#include <stdlib.h>
#include <string.h>
#include <sys/shm.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/extensions/XShm.h>
#include "../font_driver.h"
#include "../common/x11_common.h"
Include dependency graph for xshm_gfx.c:

Classes

struct  xshm
 

Macros

#define _XOPEN_SOURCE   700 /* TODO: this doesn't really belong here. */
 

Typedefs

typedef struct xshm xshm_t
 

Functions

static voidxshm_gfx_init (const video_info_t *video, const input_driver_t **input, void **input_data)
 
static bool xshm_gfx_frame (void *data, const void *frame, unsigned width, unsigned height, uint64_t frame_count, unsigned pitch, const char *msg, video_frame_info_t *video_info)
 
static void xshm_gfx_set_nonblock_state (void *data, bool toggle)
 
static bool xshm_gfx_alive (void *data)
 
static bool xshm_gfx_focus (void *data)
 
static bool xshm_gfx_suppress_screensaver (void *data, bool enable)
 
static void xshm_gfx_free (void *data)
 
static void xshm_gfx_set_rotation (void *data, unsigned rotation)
 
static void xshm_gfx_viewport_info (void *data, struct video_viewport *vp)
 
static bool xshm_gfx_read_viewport (void *data, uint8_t *buffer, bool is_idle)
 
static void xshm_poke_set_filtering (void *data, unsigned index, bool smooth)
 
static void xshm_poke_set_aspect_ratio (void *data, unsigned aspect_ratio_idx)
 
static void xshm_poke_apply_state_changes (void *data)
 
static void xshm_poke_set_texture_frame (void *data, const void *frame, bool rgb32, unsigned width, unsigned height, float alpha)
 
static void xshm_poke_texture_enable (void *data, bool enable, bool full_screen)
 
static void xshm_poke_set_osd_msg (void *data, video_frame_info_t *video_info, const char *msg, const void *params, void *font)
 
static void xshm_show_mouse (void *data, bool state)
 
static void xshm_grab_mouse_toggle (void *data)
 
static void xshm_gfx_poke_interface (void *data, const video_poke_interface_t **iface)
 
static bool xshm_gfx_set_shader (void *data, enum rarch_shader_type type, const char *path)
 

Variables

static video_poke_interface_t xshm_video_poke_interface
 
video_driver_t video_xshm
 

Macro Definition Documentation

◆ _XOPEN_SOURCE

#define _XOPEN_SOURCE   700 /* TODO: this doesn't really belong here. */

Typedef Documentation

◆ xshm_t

typedef struct xshm xshm_t

Function Documentation

◆ xshm_gfx_alive()

static bool xshm_gfx_alive ( void data)
static

◆ xshm_gfx_focus()

static bool xshm_gfx_focus ( void data)
static

◆ xshm_gfx_frame()

static bool xshm_gfx_frame ( void data,
const void frame,
unsigned  width,
unsigned  height,
uint64_t  frame_count,
unsigned  pitch,
const char *  msg,
video_frame_info_t video_info 
)
static
Here is the call graph for this function:

◆ xshm_gfx_free()

static void xshm_gfx_free ( void data)
static

◆ xshm_gfx_init()

static void* xshm_gfx_init ( const video_info_t video,
const input_driver_t **  input,
void **  input_data 
)
static
Here is the call graph for this function:

◆ xshm_gfx_poke_interface()

static void xshm_gfx_poke_interface ( void data,
const video_poke_interface_t **  iface 
)
static
Here is the call graph for this function:

◆ xshm_gfx_read_viewport()

static bool xshm_gfx_read_viewport ( void data,
uint8_t buffer,
bool  is_idle 
)
static

◆ xshm_gfx_set_nonblock_state()

static void xshm_gfx_set_nonblock_state ( void data,
bool  toggle 
)
static

◆ xshm_gfx_set_rotation()

static void xshm_gfx_set_rotation ( void data,
unsigned  rotation 
)
static

◆ xshm_gfx_set_shader()

static bool xshm_gfx_set_shader ( void data,
enum rarch_shader_type  type,
const char *  path 
)
static
Here is the call graph for this function:

◆ xshm_gfx_suppress_screensaver()

static bool xshm_gfx_suppress_screensaver ( void data,
bool  enable 
)
static

◆ xshm_gfx_viewport_info()

static void xshm_gfx_viewport_info ( void data,
struct video_viewport vp 
)
static

◆ xshm_grab_mouse_toggle()

static void xshm_grab_mouse_toggle ( void data)
static

◆ xshm_poke_apply_state_changes()

static void xshm_poke_apply_state_changes ( void data)
static

◆ xshm_poke_set_aspect_ratio()

static void xshm_poke_set_aspect_ratio ( void data,
unsigned  aspect_ratio_idx 
)
static

◆ xshm_poke_set_filtering()

static void xshm_poke_set_filtering ( void data,
unsigned  index,
bool  smooth 
)
static

◆ xshm_poke_set_osd_msg()

static void xshm_poke_set_osd_msg ( void data,
video_frame_info_t video_info,
const char *  msg,
const void params,
void font 
)
static

◆ xshm_poke_set_texture_frame()

static void xshm_poke_set_texture_frame ( void data,
const void frame,
bool  rgb32,
unsigned  width,
unsigned  height,
float  alpha 
)
static

◆ xshm_poke_texture_enable()

static void xshm_poke_texture_enable ( void data,
bool  enable,
bool  full_screen 
)
static

◆ xshm_show_mouse()

static void xshm_show_mouse ( void data,
bool  state 
)
static

Variable Documentation

◆ video_xshm

video_driver_t video_xshm
Initial value:
= {
NULL,
"xshm",
NULL,
}
static void xshm_gfx_set_rotation(void *data, unsigned rotation)
Definition: xshm_gfx.c:146
static void * xshm_gfx_init(const video_info_t *video, const input_driver_t **input, void **input_data)
Definition: xshm_gfx.c:52
static void xshm_gfx_viewport_info(void *data, struct video_viewport *vp)
Definition: xshm_gfx.c:151
static void xshm_gfx_free(void *data)
Definition: xshm_gfx.c:141
static bool xshm_gfx_frame(void *data, const void *frame, unsigned width, unsigned height, uint64_t frame_count, unsigned pitch, const char *msg, video_frame_info_t *video_info)
Definition: xshm_gfx.c:97
static void xshm_gfx_poke_interface(void *data, const video_poke_interface_t **iface)
Definition: xshm_gfx.c:232
static bool xshm_gfx_focus(void *data)
Definition: xshm_gfx.c:131
#define NULL
Pointer to 0.
Definition: gctypes.h:65
static bool xshm_gfx_suppress_screensaver(void *data, bool enable)
Definition: xshm_gfx.c:136
static bool xshm_gfx_alive(void *data)
Definition: xshm_gfx.c:126
static bool xshm_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
Definition: xshm_gfx.c:156
static bool xshm_gfx_set_shader(void *data, enum rarch_shader_type type, const char *path)
Definition: xshm_gfx.c:238
static void xshm_gfx_set_nonblock_state(void *data, bool toggle)
Definition: xshm_gfx.c:121

◆ xshm_video_poke_interface

video_poke_interface_t xshm_video_poke_interface
static
Initial value:
= {
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
}
static void xshm_poke_apply_state_changes(void *data)
Definition: xshm_gfx.c:171
static void xshm_show_mouse(void *data, bool state)
Definition: xshm_gfx.c:196
static void xshm_poke_set_filtering(void *data, unsigned index, bool smooth)
Definition: xshm_gfx.c:161
#define NULL
Pointer to 0.
Definition: gctypes.h:65
static void xshm_grab_mouse_toggle(void *data)
Definition: xshm_gfx.c:201
static void xshm_poke_set_aspect_ratio(void *data, unsigned aspect_ratio_idx)
Definition: xshm_gfx.c:166
static void xshm_poke_set_texture_frame(void *data, const void *frame, bool rgb32, unsigned width, unsigned height, float alpha)
Definition: xshm_gfx.c:176
static void xshm_poke_texture_enable(void *data, bool enable, bool full_screen)
Definition: xshm_gfx.c:183
static void xshm_poke_set_osd_msg(void *data, video_frame_info_t *video_info, const char *msg, const void *params, void *font)
Definition: xshm_gfx.c:189
float x11_get_refresh_rate(void *data)
Definition: x11_common.c:238