Packages
vix
0.40.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.0
0.34.0
0.33.1
0.33.0
0.32.0
0.31.1
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.1
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.1
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.2.1
0.2.0
retired
0.1.0
NIF based bindings for libvips
Current section
Files
Jump to
Current section
Files
c_src/g_object/g_param_spec.h
#ifndef VIX_G_PARAM_SPEC_H
#define VIX_G_PARAM_SPEC_H
#include "erl_nif.h"
#include <glib-object.h>
#include <stdbool.h>
extern ErlNifResourceType *G_PARAM_SPEC_RT;
typedef struct _GParamSpecResource {
GParamSpec *pspec;
} GParamSpecResource;
static inline bool vix_param_spec_is_enum(GParamSpec *pspec) {
return g_type_is_a(G_PARAM_SPEC_VALUE_TYPE(pspec), G_TYPE_ENUM);
}
static inline bool vix_param_spec_is_boolean(GParamSpec *pspec) {
return G_PARAM_SPEC_VALUE_TYPE(pspec) == G_TYPE_BOOLEAN;
}
static inline bool vix_param_spec_is_uint64(GParamSpec *pspec) {
return G_PARAM_SPEC_VALUE_TYPE(pspec) == G_TYPE_UINT64;
}
static inline bool vix_param_spec_is_double(GParamSpec *pspec) {
return G_PARAM_SPEC_VALUE_TYPE(pspec) == G_TYPE_DOUBLE;
}
static inline bool vix_param_spec_is_int(GParamSpec *pspec) {
return G_PARAM_SPEC_VALUE_TYPE(pspec) == G_TYPE_INT;
}
static inline bool vix_param_spec_is_uint(GParamSpec *pspec) {
return G_PARAM_SPEC_VALUE_TYPE(pspec) == G_TYPE_UINT;
}
static inline bool vix_param_spec_is_int64(GParamSpec *pspec) {
return G_PARAM_SPEC_VALUE_TYPE(pspec) == G_TYPE_INT64;
}
static inline bool vix_param_spec_is_string(GParamSpec *pspec) {
return G_PARAM_SPEC_VALUE_TYPE(pspec) == G_TYPE_STRING;
}
static inline bool vix_param_spec_is_flags(GParamSpec *pspec) {
return g_type_is_a(G_PARAM_SPEC_VALUE_TYPE(pspec), G_TYPE_FLAGS);
}
static inline bool vix_param_spec_is_boxed(GParamSpec *pspec) {
return g_type_is_a(G_PARAM_SPEC_VALUE_TYPE(pspec), G_TYPE_BOXED);
}
static inline bool vix_param_spec_is_object(GParamSpec *pspec) {
return g_type_is_a(G_PARAM_SPEC_VALUE_TYPE(pspec), G_TYPE_OBJECT);
}
ERL_NIF_TERM g_param_spec_to_erl_term(ErlNifEnv *env, GParamSpec *pspec);
bool erl_term_to_g_param_spec(ErlNifEnv *env, ERL_NIF_TERM term,
GParamSpec **pspec);
ERL_NIF_TERM g_param_spec_details(ErlNifEnv *env, GParamSpec *pspec);
int nif_g_param_spec_init(ErlNifEnv *env);
#endif