Blame ui/gtk3/ibusemojidialog.h

Packit Service 1d8f1c
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
Packit Service 1d8f1c
/* vim:set et sts=4: */
Packit Service 1d8f1c
/* bus - The Input Bus
Packit Service 1d8f1c
 * Copyright (C) 2017-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
Packit Service 1d8f1c
 * Copyright (C) 2017 Red Hat, Inc.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * This library is free software; you can redistribute it and/or
Packit Service 1d8f1c
 * modify it under the terms of the GNU Lesser General Public
Packit Service 1d8f1c
 * License as published by the Free Software Foundation; either
Packit Service 1d8f1c
 * version 2.1 of the License, or (at your option) any later version.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * This library is distributed in the hope that it will be useful,
Packit Service 1d8f1c
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 1d8f1c
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 1d8f1c
 * Lesser General Public License for more details.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * You should have received a copy of the GNU Lesser General Public
Packit Service 1d8f1c
 * License along with this library; if not, write to the Free Software
Packit Service 1d8f1c
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
Packit Service 1d8f1c
 * USA
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
Packit Service 1d8f1c
#ifndef __IBUS_EMOJI_DIALOG_H_
Packit Service 1d8f1c
#define __IBUS_EMOJI_DIALOG_H_
Packit Service 1d8f1c
Packit Service 1d8f1c
#include <gtk/gtk.h>
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * SECTION: ibusemojidialog
Packit Service 1d8f1c
 * @short_description: emoji dialog utility.
Packit Service 1d8f1c
 * @stability: Unstable
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * miscellaneous emoji dialg APIs.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
Packit Service 1d8f1c
G_BEGIN_DECLS
Packit Service 1d8f1c
Packit Service 1d8f1c
typedef struct _IBusEmojier IBusEmojier;
Packit Service 1d8f1c
typedef struct _IBusEmojierPrivate IBusEmojierPrivate;
Packit Service 1d8f1c
typedef struct _IBusEmojierClass IBusEmojierClass;
Packit Service 1d8f1c
Packit Service 1d8f1c
struct _IBusEmojier {
Packit Service 1d8f1c
    /*< private >*/
Packit Service 1d8f1c
    GtkWindow parent_instance;
Packit Service 1d8f1c
    IBusEmojierPrivate * priv;
Packit Service 1d8f1c
    /* instance members */
Packit Service 1d8f1c
    /*< public >*/
Packit Service 1d8f1c
};
Packit Service 1d8f1c
Packit Service 1d8f1c
struct _IBusEmojierClass {
Packit Service 1d8f1c
    /*< private >*/
Packit Service 1d8f1c
    GtkWindowClass parent_class;
Packit Service 1d8f1c
    /* class members */
Packit Service 1d8f1c
    /*< public >*/
Packit Service 1d8f1c
    /* signals */
Packit Service 1d8f1c
};
Packit Service 1d8f1c
Packit Service 1d8f1c
GType           ibus_emojier_get_type        (void);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_new:
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Creates a new #IBusEmojier.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Returns: A newly allocated #IBusEmojiier.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
IBusEmojier * ibus_emojier_new                    (void);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_run:
Packit Service 1d8f1c
 * @self: An #IBusEmojier
Packit Service 1d8f1c
 * @input_context_path: An input context path of #IBusInputContext
Packit Service 1d8f1c
 *                      of the focused application.
Packit Service 1d8f1c
 * @event: A #GdkEventKey for timestamp
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Runs emoji dialog to select emoji.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Returns: A selected emoji character.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
gchar *       ibus_emojier_run                    (IBusEmojier* self,
Packit Service 1d8f1c
                                                   const gchar*
Packit Service 1d8f1c
                                                           input_context_path,
Packit Service 1d8f1c
                                                   GdkEvent*    event);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_is_running:
Packit Service 1d8f1c
 * @self: An #IBusEmojier
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Returns: boolean if the emoji dialog is running
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
gboolean      ibus_emojier_is_running             (IBusEmojier* self);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_get_input_context_path:
Packit Service 1d8f1c
 * @self: An #IBusEmojier
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Returns: an input context path of #IBusInputContext
Packit Service 1d8f1c
 * which is saved in ibus_emojier_run().
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
gchar *       ibus_emojier_get_input_context_path (IBusEmojier* self);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_get_selected_string:
Packit Service 1d8f1c
 * @self: An #IBusEmojier
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Returns: an selected emoji character on the emoji dialog.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
gchar *       ibus_emojier_get_selected_string    (IBusEmojier* self);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_reset:
Packit Service 1d8f1c
 * @self: An #IBusEmojier
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Reset the selected string and input context path.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_reset                  (IBusEmojier* self);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_present_centralize:
Packit Service 1d8f1c
 * @self: An #IBusEmojier
Packit Service 1d8f1c
 * @event: A #GdkEventKey for timestamp
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Move the window to the toplevel on the screen and centralize it.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_present_centralize     (IBusEmojier* self,
Packit Service 1d8f1c
                                                   GdkEvent*    event);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_has_loaded_emoji_dict:
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Returns: %TRUE if the emoji dict is loaded, otherwise %FALSE.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
gboolean      ibus_emojier_has_loaded_emoji_dict  (void);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_set_annotation_lang:
Packit Service 1d8f1c
 * @lang: A langauge id for emoji annotations.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Set a language id for emoji annotations. #IBusEmojier will load
Packit Service 1d8f1c
 * $PKGDATADIR/dicts/emoji-@lang.dict. The default is "en".
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_set_annotation_lang    (const gchar* lang);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_set_emoji_font:
Packit Service 1d8f1c
 * @emoji_font: font name for emoji characters
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Set emoji font on the emoji dialog
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_set_emoji_font         (const gchar* emoji_font);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_set_favorites:
Packit Service 1d8f1c
 * @favorites: (array length=favorites_length): A custom emoji list.
Packit Service 1d8f1c
 * @favorites_length: A length of @favorites
Packit Service 1d8f1c
 * @favorite_annotations: (array length=favorite_annotations_length):
Packit Service 1d8f1c
 *                        (nullable):
Packit Service 1d8f1c
 *                        A custom annotation listfor @favorites.
Packit Service 1d8f1c
 * @favorite_annotations_length: A length of @favorite_annotations
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Set custom emojis on the emoji dialog. @favorite_annotations
Packit Service 1d8f1c
 * can be null. If you don't assign an annotation for a specific emoji,
Packit Service 1d8f1c
 * you can pass the annotation as "", e.g.
Packit Service 1d8f1c
 * favorite_annotations = { "", "", "my annotation" };
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_set_favorites          (gchar**      favorites,
Packit Service 1d8f1c
                                                   int
Packit Service 1d8f1c
                                                   favorites_length,
Packit Service 1d8f1c
                                                   gchar**
Packit Service 1d8f1c
                                                   favorite_annotations,
Packit Service 1d8f1c
                                                   int
Packit Service 1d8f1c
                                                   favorite_annotations_length);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_set_partial_match:
Packit Service 1d8f1c
 * @has_partial_match: Enable the partial match if %TRUE. Otherwise if %FALSE.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Set partial match for emoji annotations.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_set_partial_match      (gboolean  has_partial_match);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_set_partial_match_length:
Packit Service 1d8f1c
 * @length: minimum lenght to match partially.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Set the minimum lenght to match partially.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_set_partial_match_length
Packit Service 1d8f1c
                                                  (gint         length);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_set_partial_match_condition:
Packit Service 1d8f1c
 * @condition: condition id between 0 and 2.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Set the partial match condition with the integer.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_set_partial_match_condition
Packit Service 1d8f1c
                                                  (gint         condition);
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * ibus_emojier_load_unicode_dict:
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Load the dictionary of #IBusUnicodeData.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void          ibus_emojier_load_unicode_dict      (void);
Packit Service 1d8f1c
Packit Service 1d8f1c
G_END_DECLS
Packit Service 1d8f1c
#endif