RetroArch
Macros | Functions | Variables
sixel_gfx.c File Reference
#include <retro_miscellaneous.h>
#include <stdlib.h>
#include "../font_driver.h"
#include "../../driver.h"
#include "../../configuration.h"
#include "../../retroarch.h"
#include "../../verbosity.h"
#include "../../frontend/frontend_driver.h"
#include "../common/sixel_common.h"
#include <sys/ioctl.h>
#include <unistd.h>
#include <sys/select.h>
Include dependency graph for sixel_gfx.c:

Macros

#define HAVE_SYS_IOCTL_H
 
#define HAVE_SYS_SELECT_H
 

Functions

static int sixel_write (char *data, int size, void *priv)
 
static SIXELSTATUS output_sixel (unsigned char *pixbuf, int width, int height, int ncolors, int pixelformat)
 
static void scroll_on_demand (int pixelheight)
 
static voidsixel_gfx_init (const video_info_t *video, const input_driver_t **input, void **input_data)
 
static bool sixel_gfx_frame (void *data, const void *frame, unsigned frame_width, unsigned frame_height, uint64_t frame_count, unsigned pitch, const char *msg, video_frame_info_t *video_info)
 
static void sixel_gfx_set_nonblock_state (void *data, bool toggle)
 
static bool sixel_gfx_alive (void *data)
 
static bool sixel_gfx_focus (void *data)
 
static bool sixel_gfx_suppress_screensaver (void *data, bool enable)
 
static bool sixel_gfx_has_windowed (void *data)
 
static void sixel_gfx_free (void *data)
 
static bool sixel_gfx_set_shader (void *data, enum rarch_shader_type type, const char *path)
 
static void sixel_gfx_set_rotation (void *data, unsigned rotation)
 
static void sixel_gfx_viewport_info (void *data, struct video_viewport *vp)
 
static bool sixel_gfx_read_viewport (void *data, uint8_t *buffer, bool is_idle)
 
static void sixel_set_texture_frame (void *data, const void *frame, bool rgb32, unsigned width, unsigned height, float alpha)
 
static void sixel_set_osd_msg (void *data, video_frame_info_t *video_info, const char *msg, const void *params, void *font)
 
static void sixel_get_video_output_size (void *data, unsigned *width, unsigned *height)
 
static void sixel_get_video_output_prev (void *data)
 
static void sixel_get_video_output_next (void *data)
 
static void sixel_set_video_mode (void *data, unsigned width, unsigned height, bool fullscreen)
 
static void sixel_gfx_get_poke_interface (void *data, const video_poke_interface_t **iface)
 
static void sixel_gfx_set_viewport (void *data, unsigned viewport_width, unsigned viewport_height, bool force_full, bool allow_rotate)
 
bool sixel_has_menu_frame (void)
 

Variables

static unsigned char * sixel_menu_frame = NULL
 
static unsigned sixel_menu_width = 0
 
static unsigned sixel_menu_height = 0
 
static unsigned sixel_menu_pitch = 0
 
static unsigned sixel_video_width = 0
 
static unsigned sixel_video_height = 0
 
static unsigned sixel_video_pitch = 0
 
static unsigned sixel_video_bits = 0
 
static unsigned sixel_menu_bits = 0
 
static double sixel_video_scale = 1
 
static bool sixel_rgb32 = false
 
static bool sixel_menu_rgb32 = false
 
static unsigned * sixel_temp_buf = NULL
 
static const video_poke_interface_t sixel_poke_interface
 
video_driver_t video_sixel
 

Macro Definition Documentation

◆ HAVE_SYS_IOCTL_H

#define HAVE_SYS_IOCTL_H

◆ HAVE_SYS_SELECT_H

#define HAVE_SYS_SELECT_H

Function Documentation

◆ output_sixel()

static SIXELSTATUS output_sixel ( unsigned char *  pixbuf,
int  width,
int  height,
int  ncolors,
int  pixelformat 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ scroll_on_demand()

static void scroll_on_demand ( int  pixelheight)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sixel_get_video_output_next()

static void sixel_get_video_output_next ( void data)
static
Here is the call graph for this function:

◆ sixel_get_video_output_prev()

static void sixel_get_video_output_prev ( void data)
static
Here is the call graph for this function:

◆ sixel_get_video_output_size()

static void sixel_get_video_output_size ( void data,
unsigned *  width,
unsigned *  height 
)
static
Here is the call graph for this function:

◆ sixel_gfx_alive()

static bool sixel_gfx_alive ( void data)
static
Here is the call graph for this function:

◆ sixel_gfx_focus()

static bool sixel_gfx_focus ( void data)
static
Here is the call graph for this function:

◆ sixel_gfx_frame()

static bool sixel_gfx_frame ( void data,
const void frame,
unsigned  frame_width,
unsigned  frame_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:

◆ sixel_gfx_free()

static void sixel_gfx_free ( void data)
static
Here is the call graph for this function:

◆ sixel_gfx_get_poke_interface()

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

◆ sixel_gfx_has_windowed()

static bool sixel_gfx_has_windowed ( void data)
static
Here is the call graph for this function:

◆ sixel_gfx_init()

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

◆ sixel_gfx_read_viewport()

static bool sixel_gfx_read_viewport ( void data,
uint8_t buffer,
bool  is_idle 
)
static
Here is the call graph for this function:

◆ sixel_gfx_set_nonblock_state()

static void sixel_gfx_set_nonblock_state ( void data,
bool  toggle 
)
static
Here is the call graph for this function:

◆ sixel_gfx_set_rotation()

static void sixel_gfx_set_rotation ( void data,
unsigned  rotation 
)
static
Here is the call graph for this function:

◆ sixel_gfx_set_shader()

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

◆ sixel_gfx_set_viewport()

static void sixel_gfx_set_viewport ( void data,
unsigned  viewport_width,
unsigned  viewport_height,
bool  force_full,
bool  allow_rotate 
)
static

◆ sixel_gfx_suppress_screensaver()

static bool sixel_gfx_suppress_screensaver ( void data,
bool  enable 
)
static
Here is the call graph for this function:

◆ sixel_gfx_viewport_info()

static void sixel_gfx_viewport_info ( void data,
struct video_viewport vp 
)
static
Here is the call graph for this function:

◆ sixel_has_menu_frame()

bool sixel_has_menu_frame ( void  )

◆ sixel_set_osd_msg()

static void sixel_set_osd_msg ( void data,
video_frame_info_t video_info,
const char *  msg,
const void params,
void font 
)
static
Here is the call graph for this function:

◆ sixel_set_texture_frame()

static void sixel_set_texture_frame ( void data,
const void frame,
bool  rgb32,
unsigned  width,
unsigned  height,
float  alpha 
)
static
Here is the call graph for this function:

◆ sixel_set_video_mode()

static void sixel_set_video_mode ( void data,
unsigned  width,
unsigned  height,
bool  fullscreen 
)
static
Here is the call graph for this function:

◆ sixel_write()

static int sixel_write ( char *  data,
int  size,
void priv 
)
static
Here is the caller graph for this function:

Variable Documentation

◆ sixel_menu_bits

unsigned sixel_menu_bits = 0
static

◆ sixel_menu_frame

unsigned char* sixel_menu_frame = NULL
static

◆ sixel_menu_height

unsigned sixel_menu_height = 0
static

◆ sixel_menu_pitch

unsigned sixel_menu_pitch = 0
static

◆ sixel_menu_rgb32

bool sixel_menu_rgb32 = false
static

◆ sixel_menu_width

unsigned sixel_menu_width = 0
static

◆ sixel_poke_interface

const video_poke_interface_t sixel_poke_interface
static

◆ sixel_rgb32

bool sixel_rgb32 = false
static

◆ sixel_temp_buf

unsigned* sixel_temp_buf = NULL
static

◆ sixel_video_bits

unsigned sixel_video_bits = 0
static

◆ sixel_video_height

unsigned sixel_video_height = 0
static

◆ sixel_video_pitch

unsigned sixel_video_pitch = 0
static

◆ sixel_video_scale

double sixel_video_scale = 1
static

◆ sixel_video_width

unsigned sixel_video_width = 0
static

◆ video_sixel

video_driver_t video_sixel
Initial value:
= {
"sixel",
NULL,
}
static bool sixel_gfx_has_windowed(void *data)
Definition: sixel_gfx.c:471
static void sixel_gfx_free(void *data)
Definition: sixel_gfx.c:477
static bool sixel_gfx_set_shader(void *data, enum rarch_shader_type type, const char *path)
Definition: sixel_gfx.c:501
static void sixel_gfx_set_rotation(void *data, unsigned rotation)
Definition: sixel_gfx.c:511
static void sixel_gfx_set_viewport(void *data, unsigned viewport_width, unsigned viewport_height, bool force_full, bool allow_rotate)
Definition: sixel_gfx.c:641
static bool sixel_gfx_focus(void *data)
Definition: sixel_gfx.c:458
#define NULL
Pointer to 0.
Definition: gctypes.h:65
static bool sixel_gfx_frame(void *data, const void *frame, unsigned frame_width, unsigned frame_height, uint64_t frame_count, unsigned pitch, const char *msg, video_frame_info_t *video_info)
Definition: sixel_gfx.c:257
static void sixel_gfx_viewport_info(void *data, struct video_viewport *vp)
Definition: sixel_gfx.c:518
static bool sixel_gfx_suppress_screensaver(void *data, bool enable)
Definition: sixel_gfx.c:464
static void * sixel_gfx_init(const video_info_t *video, const input_driver_t **input, void **input_data)
Definition: sixel_gfx.c:189
static void sixel_gfx_set_nonblock_state(void *data, bool toggle)
Definition: sixel_gfx.c:430
static void sixel_gfx_get_poke_interface(void *data, const video_poke_interface_t **iface)
Definition: sixel_gfx.c:634
static bool sixel_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
Definition: sixel_gfx.c:525
static bool sixel_gfx_alive(void *data)
Definition: sixel_gfx.c:436