view src/gq-marshal.c @ 1783:b0352818977b

Allow to switch to fullscreen mode using LIRC. Imagine the following situation (which happened to me several times) : you want to see photos from your bed or your sofa so you launch geeqie and go to the right directory, then you take your remote control and sit comfortably far from your keyboard and mouse. And when you want to begin to watch photos, you realize you forgot to enable full screen! You have to stand up and to go until your computer and come back, whereas you could have done it with your remote control. Patch by Bernard Massot.
author zas_
date Tue, 05 Jan 2010 17:49:50 +0000
parents c9949c19a6d0
children
line wrap: on
line source

#include "gq-marshal.h"

#include	<glib-object.h>


#ifdef G_ENABLE_DEBUG
#define g_marshal_value_peek_boolean(v)  g_value_get_boolean(v)
#define g_marshal_value_peek_char(v)     g_value_get_char(v)
#define g_marshal_value_peek_uchar(v)    g_value_get_uchar(v)
#define g_marshal_value_peek_int(v)      g_value_get_int(v)
#define g_marshal_value_peek_uint(v)     g_value_get_uint(v)
#define g_marshal_value_peek_long(v)     g_value_get_long(v)
#define g_marshal_value_peek_ulong(v)    g_value_get_ulong(v)
#define g_marshal_value_peek_int64(v)    g_value_get_int64(v)
#define g_marshal_value_peek_uint64(v)   g_value_get_uint64(v)
#define g_marshal_value_peek_enum(v)     g_value_get_enum(v)
#define g_marshal_value_peek_flags(v)    g_value_get_flags(v)
#define g_marshal_value_peek_float(v)    g_value_get_float(v)
#define g_marshal_value_peek_double(v)   g_value_get_double(v)
#define g_marshal_value_peek_string(v)   (char*) g_value_get_string(v)
#define g_marshal_value_peek_param(v)    g_value_get_param(v)
#define g_marshal_value_peek_boxed(v)    g_value_get_boxed(v)
#define g_marshal_value_peek_pointer(v)  g_value_get_pointer(v)
#define g_marshal_value_peek_object(v)   g_value_get_object(v)
#else /* !G_ENABLE_DEBUG */
/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
 *          Do not access GValues directly in your code. Instead, use the
 *          g_value_get_*() functions
 */
#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
#endif /* !G_ENABLE_DEBUG */


/* VOID:VOID (gq-marshal.list:1) */

/* VOID:INT,INT,INT,INT (gq-marshal.list:2) */
void
gq_marshal_VOID__INT_INT_INT_INT(GClosure     *closure,
                                 GValue       *return_value G_GNUC_UNUSED,
                                 guint         n_param_values,
                                 const GValue *param_values,
                                 gpointer      invocation_hint G_GNUC_UNUSED,
                                 gpointer      marshal_data)
{
  typedef void (*GMarshalFunc_VOID__INT_INT_INT_INT) (gpointer     data1,
                                                      gint         arg_1,
                                                      gint         arg_2,
                                                      gint         arg_3,
                                                      gint         arg_4,
                                                      gpointer     data2);
  register GMarshalFunc_VOID__INT_INT_INT_INT callback;
  register GCClosure *cc = (GCClosure*) closure;
  register gpointer data1, data2;

  g_return_if_fail(n_param_values == 5);

  if (G_CCLOSURE_SWAP_DATA(closure))
    {
      data1 = closure->data;
      data2 = g_value_peek_pointer(param_values + 0);
    }
  else
    {
      data1 = g_value_peek_pointer(param_values + 0);
      data2 = closure->data;
    }
  callback = (GMarshalFunc_VOID__INT_INT_INT_INT) (marshal_data ? marshal_data : cc->callback);

  callback(data1,
           g_marshal_value_peek_int(param_values + 1),
           g_marshal_value_peek_int(param_values + 2),
           g_marshal_value_peek_int(param_values + 3),
           g_marshal_value_peek_int(param_values + 4),
           data2);
}

/* VOID:DOUBLE (gq-marshal.list:3) */

/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */