/* _Glue_.h generated by valac 0.30.0, the Vala compiler, do not modify */


#ifndef _____GLUE__H__
#define _____GLUE__H__

#include <glib.h>
#include <glib-object.h>
#include <json-glib/json-glib.h>
#include <json-glib/json-gobject.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>

G_BEGIN_DECLS


#define TYPE_CACHEABLE (cacheable_get_type ())
#define CACHEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CACHEABLE, Cacheable))
#define CACHEABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CACHEABLE, CacheableClass))
#define IS_CACHEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CACHEABLE))
#define IS_CACHEABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CACHEABLE))
#define CACHEABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CACHEABLE, CacheableClass))

typedef struct _Cacheable Cacheable;
typedef struct _CacheableClass CacheableClass;

#define FONT_CONFIG_TYPE_FONT (font_config_font_get_type ())
#define FONT_CONFIG_FONT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FONT_CONFIG_TYPE_FONT, FontConfigFont))
#define FONT_CONFIG_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FONT_CONFIG_TYPE_FONT, FontConfigFontClass))
#define FONT_CONFIG_IS_FONT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FONT_CONFIG_TYPE_FONT))
#define FONT_CONFIG_IS_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FONT_CONFIG_TYPE_FONT))
#define FONT_CONFIG_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FONT_CONFIG_TYPE_FONT, FontConfigFontClass))

typedef struct _FontConfigFont FontConfigFont;
typedef struct _FontConfigFontClass FontConfigFontClass;
typedef struct _CacheablePrivate CacheablePrivate;
typedef struct _FontConfigFontPrivate FontConfigFontPrivate;

#define FONT_CONFIG_TYPE_WEIGHT (font_config_weight_get_type ())

#define FONT_CONFIG_TYPE_SLANT (font_config_slant_get_type ())

#define FONT_CONFIG_TYPE_WIDTH (font_config_width_get_type ())

#define FONT_CONFIG_TYPE_SPACING (font_config_spacing_get_type ())

#define FONT_CONFIG_TYPE_SUBPIXEL_ORDER (font_config_subpixel_order_get_type ())

#define FONT_CONFIG_TYPE_HINT_STYLE (font_config_hint_style_get_type ())

#define FONT_CONFIG_TYPE_LCD_FILTER (font_config_lcd_filter_get_type ())

#define FONT_MANAGER_TYPE_FONT_INFO (font_manager_font_info_get_type ())
#define FONT_MANAGER_FONT_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FONT_MANAGER_TYPE_FONT_INFO, FontManagerFontInfo))
#define FONT_MANAGER_FONT_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FONT_MANAGER_TYPE_FONT_INFO, FontManagerFontInfoClass))
#define FONT_MANAGER_IS_FONT_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FONT_MANAGER_TYPE_FONT_INFO))
#define FONT_MANAGER_IS_FONT_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FONT_MANAGER_TYPE_FONT_INFO))
#define FONT_MANAGER_FONT_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FONT_MANAGER_TYPE_FONT_INFO, FontManagerFontInfoClass))

typedef struct _FontManagerFontInfo FontManagerFontInfo;
typedef struct _FontManagerFontInfoClass FontManagerFontInfoClass;
typedef struct _FontManagerFontInfoPrivate FontManagerFontInfoPrivate;

struct _Cacheable {
	GObject parent_instance;
	CacheablePrivate * priv;
};

struct _CacheableClass {
	GObjectClass parent_class;
	gboolean (*deserialize_property) (Cacheable* self, const gchar* prop_name, GValue* val, GParamSpec* pspec, JsonNode* node);
	JsonNode* (*serialize_property) (Cacheable* self, const gchar* prop_name, GValue* val, GParamSpec* pspec);
};

struct _FontConfigFont {
	Cacheable parent_instance;
	FontConfigFontPrivate * priv;
};

struct _FontConfigFontClass {
	CacheableClass parent_class;
};

typedef enum  {
	FONT_CONFIG_WEIGHT_THIN = 0,
	FONT_CONFIG_WEIGHT_EXTRALIGHT = 40,
	FONT_CONFIG_WEIGHT_ULTRALIGHT = 40,
	FONT_CONFIG_WEIGHT_LIGHT = 50,
	FONT_CONFIG_WEIGHT_BOOK = 75,
	FONT_CONFIG_WEIGHT_REGULAR = 80,
	FONT_CONFIG_WEIGHT_NORMAL = 80,
	FONT_CONFIG_WEIGHT_MEDIUM = 100,
	FONT_CONFIG_WEIGHT_DEMIBOLD = 180,
	FONT_CONFIG_WEIGHT_SEMIBOLD = 180,
	FONT_CONFIG_WEIGHT_BOLD = 200,
	FONT_CONFIG_WEIGHT_EXTRABOLD = 205,
	FONT_CONFIG_WEIGHT_BLACK = 210,
	FONT_CONFIG_WEIGHT_HEAVY = 210,
	FONT_CONFIG_WEIGHT_EXTRABLACK = 215,
	FONT_CONFIG_WEIGHT_ULTRABLACK = 215
} FontConfigWeight;

typedef enum  {
	FONT_CONFIG_SLANT_ROMAN = 0,
	FONT_CONFIG_SLANT_ITALIC = 100,
	FONT_CONFIG_SLANT_OBLIQUE = 110
} FontConfigSlant;

typedef enum  {
	FONT_CONFIG_WIDTH_ULTRACONDENSED = 50,
	FONT_CONFIG_WIDTH_EXTRACONDENSED = 63,
	FONT_CONFIG_WIDTH_CONDENSED = 75,
	FONT_CONFIG_WIDTH_SEMICONDENSED = 87,
	FONT_CONFIG_WIDTH_NORMAL = 100,
	FONT_CONFIG_WIDTH_SEMIEXPANDED = 113,
	FONT_CONFIG_WIDTH_EXPANDED = 125,
	FONT_CONFIG_WIDTH_EXTRAEXPANDED = 150,
	FONT_CONFIG_WIDTH_ULTRAEXPANDED = 200
} FontConfigWidth;

typedef enum  {
	FONT_CONFIG_SPACING_PROPORTIONAL = 0,
	FONT_CONFIG_SPACING_DUAL = 90,
	FONT_CONFIG_SPACING_MONO = 100,
	FONT_CONFIG_SPACING_CHARCELL = 110
} FontConfigSpacing;

typedef enum  {
	FONT_CONFIG_SUBPIXEL_ORDER_UNKNOWN,
	FONT_CONFIG_SUBPIXEL_ORDER_RGB,
	FONT_CONFIG_SUBPIXEL_ORDER_BGR,
	FONT_CONFIG_SUBPIXEL_ORDER_VRGB,
	FONT_CONFIG_SUBPIXEL_ORDER_VBGR,
	FONT_CONFIG_SUBPIXEL_ORDER_NONE
} FontConfigSubpixelOrder;

typedef enum  {
	FONT_CONFIG_HINT_STYLE_NONE,
	FONT_CONFIG_HINT_STYLE_SLIGHT,
	FONT_CONFIG_HINT_STYLE_MEDIUM,
	FONT_CONFIG_HINT_STYLE_FULL
} FontConfigHintStyle;

typedef enum  {
	FONT_CONFIG_LCD_FILTER_NONE,
	FONT_CONFIG_LCD_FILTER_DEFAULT,
	FONT_CONFIG_LCD_FILTER_LIGHT,
	FONT_CONFIG_LCD_FILTER_LEGACY
} FontConfigLCDFilter;

struct _FontManagerFontInfo {
	Cacheable parent_instance;
	FontManagerFontInfoPrivate * priv;
	gint status;
};

struct _FontManagerFontInfoClass {
	CacheableClass parent_class;
};


GType cacheable_get_type (void) G_GNUC_CONST;
GType font_config_font_get_type (void) G_GNUC_CONST;
gint font_config_sort_fonts (FontConfigFont* a, FontConfigFont* b);
gchar* font_config_font_to_filename (FontConfigFont* self);
gchar* font_config_font_to_string (FontConfigFont* self);
FontConfigFont* font_config_font_new (void);
FontConfigFont* font_config_font_construct (GType object_type);
const gchar* font_config_font_get_filepath (FontConfigFont* self);
void font_config_font_set_filepath (FontConfigFont* self, const gchar* value);
gint font_config_font_get_index (FontConfigFont* self);
void font_config_font_set_index (FontConfigFont* self, gint value);
const gchar* font_config_font_get_family (FontConfigFont* self);
void font_config_font_set_family (FontConfigFont* self, const gchar* value);
const gchar* font_config_font_get_style (FontConfigFont* self);
void font_config_font_set_style (FontConfigFont* self, const gchar* value);
gint font_config_font_get_slant (FontConfigFont* self);
void font_config_font_set_slant (FontConfigFont* self, gint value);
gint font_config_font_get_weight (FontConfigFont* self);
void font_config_font_set_weight (FontConfigFont* self, gint value);
gint font_config_font_get_width (FontConfigFont* self);
void font_config_font_set_width (FontConfigFont* self, gint value);
gint font_config_font_get_spacing (FontConfigFont* self);
void font_config_font_set_spacing (FontConfigFont* self, gint value);
gint font_config_font_get_owner (FontConfigFont* self);
void font_config_font_set_owner (FontConfigFont* self, gint value);
const gchar* font_config_font_get_description (FontConfigFont* self);
void font_config_font_set_description (FontConfigFont* self, const gchar* value);
GType font_config_weight_get_type (void) G_GNUC_CONST;
gboolean font_config_weight_defined (FontConfigWeight self);
gchar* font_config_weight_to_string (FontConfigWeight self);
GType font_config_slant_get_type (void) G_GNUC_CONST;
gchar* font_config_slant_to_string (FontConfigSlant self);
GType font_config_width_get_type (void) G_GNUC_CONST;
gchar* font_config_width_to_string (FontConfigWidth self);
GType font_config_spacing_get_type (void) G_GNUC_CONST;
gchar* font_config_spacing_to_string (FontConfigSpacing self);
GType font_config_subpixel_order_get_type (void) G_GNUC_CONST;
gchar* font_config_subpixel_order_to_string (FontConfigSubpixelOrder self);
GType font_config_hint_style_get_type (void) G_GNUC_CONST;
gchar* font_config_hint_style_to_string (FontConfigHintStyle self);
GType font_config_lcd_filter_get_type (void) G_GNUC_CONST;
gchar* font_config_lcd_filter_to_string (FontConfigLCDFilter self);
gboolean cacheable_deserialize_property (Cacheable* self, const gchar* prop_name, GValue* val, GParamSpec* pspec, JsonNode* node);
GParamSpec** cacheable_list_properties (Cacheable* self, int* result_length1);
JsonNode* cacheable_serialize_property (Cacheable* self, const gchar* prop_name, GValue* val, GParamSpec* pspec);
Cacheable* cacheable_new (void);
Cacheable* cacheable_construct (GType object_type);
GType font_manager_font_info_get_type (void) G_GNUC_CONST;
FontManagerFontInfo* font_manager_font_info_new_from_filepath (const gchar* filepath, gint index);
FontManagerFontInfo* font_manager_font_info_construct_from_filepath (GType object_type, const gchar* filepath, gint index);
FontManagerFontInfo* font_manager_font_info_new (void);
FontManagerFontInfo* font_manager_font_info_construct (GType object_type);
gint font_manager_font_info_get_owner (FontManagerFontInfo* self);
void font_manager_font_info_set_owner (FontManagerFontInfo* self, gint value);
const gchar* font_manager_font_info_get_filetype (FontManagerFontInfo* self);
void font_manager_font_info_set_filetype (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_filesize (FontManagerFontInfo* self);
void font_manager_font_info_set_filesize (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_checksum (FontManagerFontInfo* self);
void font_manager_font_info_set_checksum (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_version (FontManagerFontInfo* self);
void font_manager_font_info_set_version (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_psname (FontManagerFontInfo* self);
void font_manager_font_info_set_psname (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_description (FontManagerFontInfo* self);
void font_manager_font_info_set_description (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_vendor (FontManagerFontInfo* self);
void font_manager_font_info_set_vendor (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_copyright (FontManagerFontInfo* self);
void font_manager_font_info_set_copyright (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_license_type (FontManagerFontInfo* self);
void font_manager_font_info_set_license_type (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_license_data (FontManagerFontInfo* self);
void font_manager_font_info_set_license_data (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_license_url (FontManagerFontInfo* self);
void font_manager_font_info_set_license_url (FontManagerFontInfo* self, const gchar* value);
const gchar* font_manager_font_info_get_panose (FontManagerFontInfo* self);
void font_manager_font_info_set_panose (FontManagerFontInfo* self, const gchar* value);
gint free_type_num_faces (const gchar* filepath);
gint free_type_query_file_info (FontManagerFontInfo* fileinfo, const gchar* filepath, gint index);
FontConfigFont* font_config_get_font_from_file (const gchar* filepath, gint index);
GeeArrayList* font_config_list_fonts (const gchar* family_name);


G_END_DECLS

#endif
