Merge branch 'master' into devs/hermet/lottie

This commit is contained in:
Hermet Park 2020-07-07 09:47:33 +09:00
commit c76cfcf6ec
82 changed files with 815 additions and 2556 deletions

2
NEWS
View File

@ -4527,7 +4527,7 @@ Fixes:
* ecore-drm: Send proper keycode to ecore key event, and remove erroneous variable.
* edje/Edje_Edit: _edje_edit_real_part_add init field of Edje_Real_part
* fix ecore_con_url using 100% cpu and just let fd handler do work (T1251)
* fix behavior of edje entry to match other toolkit entires (T1229)
* fix behavior of edje entry to match other toolkit entries (T1229)
* fix ecore_thread_global_data_wait to work when no data exists yet
* Eo: Fix deref after free. (CID1039898)
* evas/render - fix segfault because of null cow access. (T1252)

View File

@ -47,14 +47,14 @@ function(eo_rule_create build_files relative_include_dirs)
${EOLIAN_EO_DIR_WITHOUT_NEWLINE}
)
# convert relative to absolut
# convert relative to absolute
foreach(relative_include_dir ${relative_include_dirs})
list(APPEND include_dirs
${CMAKE_CURRENT_SOURCE_DIR}/${relative_include_dir}
)
endforeach()
# work with the absolut paths
# work with the absolute paths
foreach(include_cmd ${include_dirs})
# build include cmd
string(CONCAT includes "${includes}" " -I${include_cmd}")

View File

@ -2750,7 +2750,7 @@
*
* The both states and the item are using the same callback function,
* that will cycle between states and unselect the item. Unseleting
* is required because it won't call the callback if an user clicks
* is required because it won't call the callback if a user clicks
* over an item already selected:
* @dontinclude toolbar_example_02.c
* @skip static

View File

@ -544,7 +544,7 @@
2011-11-16 Carsten Haitzler (The Rasterman)
* JPEG encode and decode in eet now uses ISLOW (not IFAST) due to
noticable quality losses in the chase for speed. It will use
noticeable quality losses in the chase for speed. It will use
IFAST for quality less than 60 when encoding
2011-12-02 Carsten Haitzler (The Rasterman)

View File

@ -502,7 +502,7 @@
2011-11-16 Carsten Haitzler (The Rasterman)
* JPEG encode and decode in eet now uses ISLOW (not IFAST) due to
noticable quality losses in the chase for speed. It will use
noticeable quality losses in the chase for speed. It will use
IFAST for quality less than 60 when encoding
2011-11-20 Carsten Haitzler (The Rasterman)
@ -808,7 +808,7 @@
2012-06-14 Cedric Bail
* Cache convertion from Evas_Map to RGBA_Map.
* Cache conversion from Evas_Map to RGBA_Map.
2012-06-15 Vincent Torri

View File

@ -60,7 +60,7 @@ Improvements:
* Reduce cost of propagating event by limiting the object we explore by using a bouncing box.
* Don't wake up prepare thread if there is nothing to prepare.
* Limit the updated region to fit in CPU cache for Pipe rendering.
* Cache convertion from Evas_Map to RGBA_Map.
* Cache conversion from Evas_Map to RGBA_Map.
* evas_object_smart_members_get() now returns NULL on non-smart objects.
* Pipeline rendering use prepare stage more extensively.
* Properly warn when user try to link object from different canvas.

View File

@ -2188,10 +2188,8 @@ src/benchmarks/evas/evas_bench_saver.c
src/benchmarks/evas/evas_bench_loader.c
src/benchmarks/elementary/collection.c
src/benchmarks/elementary/focus_widget_tree.c
src/benchmarks/eina/eina_bench_stringshare_e17.c
src/benchmarks/eina/eina_bench_convert.c
src/benchmarks/eina/eina_bench_mempool.c
src/benchmarks/eina/ecore_hash.c
src/benchmarks/eina/eina_bench_stringshare.c
src/benchmarks/eina/eina_bench_crc_hash.c
src/benchmarks/eina/evas_object_list.c
@ -2201,10 +2199,8 @@ src/benchmarks/eina/eina_bench_rectangle_pool.c
src/benchmarks/eina/eina_bench_quad.c
src/benchmarks/eina/evas_mempool.c
src/benchmarks/eina/eina_bench_array.c
src/benchmarks/eina/ecore_strings.c
src/benchmarks/eina/eina_bench_sort.c
src/benchmarks/eina/ecore_list.c
src/benchmarks/eina/evas_stringshare.c
src/benchmarks/eina/ecore_sheap.c
src/benchmarks/eina/eina_bench_hash.c
src/benchmarks/eina/evas_list.c

View File

@ -299,76 +299,6 @@ EAPI int ecore_dlist_free_cb_set(Ecore_DList *dlist,
Ecore_Free_Cb free_func);
/*
* Hash Table Implementation:
*
* Traditional hash table implementation. I had tried a list of tables
* approach to save on the realloc's but it ended up being much slower than
* the traditional approach.
*/
typedef struct _ecore_hash_node Ecore_Hash_Node;
# define ECORE_HASH_NODE(hash) ((Ecore_Hash_Node *)hash)
struct _ecore_hash_node
{
Ecore_Hash_Node *next; /* Pointer to the next node in the bucket list */
void *key; /* The key for the data node */
void *value; /* The value associated with this node */
};
typedef struct _ecore_hash Ecore_Hash;
# define ECORE_HASH(hash) ((Ecore_Hash *)hash)
struct _ecore_hash
{
Ecore_Hash_Node **buckets;
int size; /* An index into the table of primes to
determine size */
int nodes; /* The number of nodes currently in the hash */
int index; /* The current index into the bucket table */
Ecore_Compare_Cb compare; /* The function used to compare node values */
Ecore_Hash_Cb hash_func; /* The callback function to determine hash */
Ecore_Free_Cb free_key; /* The callback function to free key */
Ecore_Free_Cb free_value; /* The callback function to free value */
};
/* Create and initialize a hash */
EAPI Ecore_Hash *ecore_hash_new(Ecore_Hash_Cb hash_func,
Ecore_Compare_Cb compare);
EAPI int ecore_hash_init(Ecore_Hash *hash,
Ecore_Hash_Cb hash_func,
Ecore_Compare_Cb compare);
/* Functions related to freeing the data in the hash table */
EAPI int ecore_hash_free_key_cb_set(Ecore_Hash *hash,
Ecore_Free_Cb function);
EAPI int ecore_hash_free_value_cb_set(Ecore_Hash *hash,
Ecore_Free_Cb function);
EAPI void ecore_hash_destroy(Ecore_Hash *hash);
EAPI int ecore_hash_count(Ecore_Hash *hash);
EAPI int ecore_hash_for_each_node(Ecore_Hash *hash,
Ecore_For_Each for_each_func,
void *user_data);
EAPI Ecore_List *ecore_hash_keys(Ecore_Hash *hash);
/* Retrieve and store data into the hash */
EAPI void * ecore_hash_get(Ecore_Hash *hash, const void *key);
EAPI int ecore_hash_set(Ecore_Hash *hash, void *key, void *value);
EAPI int ecore_hash_hash_set(Ecore_Hash *hash, Ecore_Hash *set);
EAPI void * ecore_hash_remove(Ecore_Hash *hash, const void *key);
EAPI void * ecore_hash_find(Ecore_Hash *hash,
Ecore_Compare_Cb compare,
const void *value);
EAPI void ecore_hash_dump_graph(Ecore_Hash *hash);
EAPI void ecore_hash_dump_stats(Ecore_Hash *hash);
typedef struct _ecore_heap Ecore_Sheap;
# define ECORE_HEAP(heap) ((Ecore_Sheap *)heap)
@ -415,11 +345,6 @@ struct _ecore_string
int references;
};
EAPI int ecore_string_init();
EAPI int ecore_string_shutdown();
EAPI const char *ecore_string_instance(const char *string);
EAPI void ecore_string_release(const char *string);
typedef struct _Ecore_Tree_Node Ecore_Tree_Node;
# define ECORE_TREE_NODE(object) ((Ecore_Tree_Node *)object)
struct _Ecore_Tree_Node

View File

@ -1,952 +0,0 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "Ecore_Data.h"
#define PRIME_TABLE_MAX 21
#define PRIME_MIN 17
#define PRIME_MAX 16777213
#define ECORE_HASH_CHAIN_MAX 3
#define ECORE_COMPUTE_HASH(hash, key) hash->hash_func(key) % \
ecore_prime_table[hash->size];
#define ECORE_HASH_INCREASE(hash) ((hash && ecore_prime_table[hash->size] < \
PRIME_MAX) ? \
(hash->nodes / \
ecore_prime_table[hash->size]) > \
ECORE_HASH_CHAIN_MAX : FALSE)
#define ECORE_HASH_REDUCE(hash) ((hash && ecore_prime_table[hash->size] > \
PRIME_MIN) ? \
(double)hash->nodes / \
(double)ecore_prime_table[hash->size - 1] \
< ((double)ECORE_HASH_CHAIN_MAX * \
0.375) : FALSE)
static const unsigned int ecore_prime_table[] =
{
17, 31, 61, 127, 257, 509, 1021,
2053, 4093, 8191, 16381, 32771, 65537, 131071, 262147, 524287, 1048573,
2097143, 4194301, 8388617, 16777213
};
/* Private hash manipulation functions */
static int _ecore_hash_node_add(Ecore_Hash *hash,
Ecore_Hash_Node *node);
static Ecore_Hash_Node * _ecore_hash_node_get(Ecore_Hash *hash,
const void *key);
static int _ecore_hash_increase(Ecore_Hash *hash);
static int _ecore_hash_decrease(Ecore_Hash *hash);
static inline int _ecore_hash_rehash(Ecore_Hash *hash,
Ecore_Hash_Node **old_table,
int old_size);
static int _ecore_hash_bucket_destroy(Ecore_Hash_Node *list,
Ecore_Free_Cb keyd,
Ecore_Free_Cb valued);
static inline Ecore_Hash_Node *_ecore_hash_bucket_get(Ecore_Hash *hash,
Ecore_Hash_Node *bucket,
const void *key);
static Ecore_Hash_Node * _ecore_hash_node_new(void *key, void *value);
static int _ecore_hash_node_init(Ecore_Hash_Node *node,
void *key,
void *value);
static int _ecore_hash_node_destroy(Ecore_Hash_Node *node,
Ecore_Free_Cb keyd,
Ecore_Free_Cb valued);
/**
* @defgroup Ecore_Data_Hash_ADT_Creation_Group Hash Creation Functions
*
* Functions that create hash tables.
*/
/**
* Creates and initializes a new hash
* @param hash_func The function for determining hash position.
* @param compare The function for comparing node keys.
* @return @c NULL on error, a new hash on success.
* @ingroup Ecore_Data_Hash_ADT_Creation_Group
*/
EAPI Ecore_Hash *
ecore_hash_new(Ecore_Hash_Cb hash_func, Ecore_Compare_Cb compare)
{
Ecore_Hash *new_hash = (Ecore_Hash *)malloc(sizeof(Ecore_Hash));
if (!new_hash)
return NULL;
if (!ecore_hash_init(new_hash, hash_func, compare))
{
FREE(new_hash);
return NULL;
}
return new_hash;
}
/**
* Initializes the given hash.
* @param hash The given hash.
* @param hash_func The function used for hashing node keys.
* @param compare The function used for comparing node keys.
* @return @c TRUE on success, @c FALSE on an error.
* @ingroup Ecore_Data_Hash_ADT_Creation_Group
*/
EAPI int
ecore_hash_init(Ecore_Hash *hash,
Ecore_Hash_Cb hash_func,
Ecore_Compare_Cb compare)
{
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
memset(hash, 0, sizeof(Ecore_Hash));
hash->hash_func = hash_func;
hash->compare = compare;
hash->buckets = (Ecore_Hash_Node **)calloc(ecore_prime_table[0],
sizeof(Ecore_Hash_Node *));
return TRUE;
}
/**
* @defgroup Ecore_Data_Hash_ADT_Destruction_Group Hash Destruction Functions
*
* Functions that destroy hash tables and their contents.
*/
/**
* Sets the function to destroy the keys of the given hash.
* @param hash The given hash.
* @param function The function used to free the node keys. NULL is a
* valid value and means that no function will be called.
* @return @c TRUE on success, @c FALSE on error.
* @ingroup Ecore_Data_Hash_ADT_Destruction_Group
*/
EAPI int
ecore_hash_free_key_cb_set(Ecore_Hash *hash, Ecore_Free_Cb function)
{
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
hash->free_key = function;
return TRUE;
}
/**
* Sets the function to destroy the values in the given hash.
* @param hash The given hash.
* @param function The function that will free the node values. NULL is a
* valid value and means that no function will be called.
* @return @c TRUE on success, @c FALSE on error
* @ingroup Ecore_Data_Hash_ADT_Destruction_Group
*/
EAPI int
ecore_hash_free_value_cb_set(Ecore_Hash *hash, Ecore_Free_Cb function)
{
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
hash->free_value = function;
return TRUE;
}
/**
* @defgroup Ecore_Data_Hash_ADT_Data_Group Hash Data Functions
*
* Functions that set, access and delete values from the hash tables.
*/
/**
* Sets a key-value pair in the given hash table.
* @param hash The given hash table.
* @param key The key.
* @param value The value.
* @return @c TRUE if successful, @c FALSE if not.
* @ingroup Ecore_Data_Hash_ADT_Data_Group
*/
EAPI int
ecore_hash_set(Ecore_Hash *hash, void *key, void *value)
{
int ret = FALSE;
Ecore_Hash_Node *node;
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
node = _ecore_hash_node_get(hash, key);
if (node)
{
if (hash->free_key)
hash->free_key(key);
if (node->value && hash->free_value)
hash->free_value(node->value);
node->value = value;
ret = TRUE;
}
else
{
node = _ecore_hash_node_new(key, value);
if (node)
ret = _ecore_hash_node_add(hash, node);
}
return ret;
}
/**
* Sets all key-value pairs from set in the given hash table.
* @param hash The given hash table.
* @param set The hash table to import.
* @return @c TRUE if successful, @c FALSE if not.
* @ingroup Ecore_Data_Hash_ADT_Data_Group
*/
EAPI int
ecore_hash_hash_set(Ecore_Hash *hash, Ecore_Hash *set)
{
unsigned int i;
Ecore_Hash_Node *node, *old;
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
CHECK_PARAM_POINTER_RETURN("set", set, FALSE);
for (i = 0; i < ecore_prime_table[set->size]; i++)
{
/* Hash into a new list to avoid loops of rehashing the same nodes */
while ((old = set->buckets[i]))
{
set->buckets[i] = old->next;
old->next = NULL;
node = _ecore_hash_node_get(hash, old->key);
if (node)
{
/* This key already exists. Delete the old and add the new
* value */
if (hash->free_key)
hash->free_key(node->key);
if (hash->free_value)
hash->free_value(node->value);
node->key = old->key;
node->value = old->value;
free(old);
}
else
_ecore_hash_node_add(hash, old);
}
}
FREE(set->buckets);
ecore_hash_init(set, set->hash_func, set->compare);
return TRUE;
}
/**
* @brief Frees the hash table and the data contained inside it.
* @param hash: The hash table to destroy.
* @ingroup Ecore_Data_Hash_ADT_Destruction_Group
*/
EAPI void
ecore_hash_destroy(Ecore_Hash *hash)
{
unsigned int i = 0;
CHECK_PARAM_POINTER("hash", hash);
if (hash->buckets)
{
while (i < ecore_prime_table[hash->size])
{
if (hash->buckets[i])
{
Ecore_Hash_Node *bucket;
/*
* Remove the bucket list to avoid possible recursion
* on the free callbacks.
*/
bucket = hash->buckets[i];
hash->buckets[i] = NULL;
_ecore_hash_bucket_destroy(bucket,
hash->free_key,
hash->free_value);
}
i++;
}
FREE(hash->buckets);
}
FREE(hash);
return;
}
/**
* @defgroup Ecore_Data_Hash_ADT_Traverse_Group Hash Traverse Functions
*
* Functions that iterate through hash tables.
*/
/**
* Counts the number of nodes in a hash table.
* @param hash The hash table to count current nodes.
* @return The number of nodes in the hash.
* @ingroup Ecore_Data_Hash_ADT_Destruction_Group
*/
EAPI int
ecore_hash_count(Ecore_Hash *hash)
{
CHECK_PARAM_POINTER_RETURN("hash", hash, 0);
return hash->nodes;
}
/**
* Runs the @p for_each_func function on each entry in the given hash.
* @param hash The given hash.
* @param for_each_func The function that each entry is passed to.
* @param user_data a pointer passed to calls of for_each_func
* @return TRUE on success, FALSE otherwise.
* @ingroup Ecore_Data_Hash_ADT_Traverse_Group
*/
EAPI int
ecore_hash_for_each_node(Ecore_Hash *hash,
Ecore_For_Each for_each_func,
void *user_data)
{
unsigned int i = 0;
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
CHECK_PARAM_POINTER_RETURN("for_each_func", for_each_func, FALSE);
while (i < ecore_prime_table[hash->size])
{
if (hash->buckets[i])
{
Ecore_Hash_Node *node;
for (node = hash->buckets[i]; node; node = node->next)
{
for_each_func(node, user_data);
}
}
i++;
}
return TRUE;
}
/**
* Retrieves an ecore_list of all keys in the given hash.
* @param hash The given hash.
* @return new ecore_list on success, NULL otherwise
* @ingroup Ecore_Data_Hash_ADT_Traverse_Group
*/
EAPI Ecore_List *
ecore_hash_keys(Ecore_Hash *hash)
{
unsigned int i = 0;
Ecore_List *keys;
CHECK_PARAM_POINTER_RETURN("hash", hash, NULL);
keys = ecore_list_new();
while (i < ecore_prime_table[hash->size])
{
if (hash->buckets[i])
{
Ecore_Hash_Node *node;
for (node = hash->buckets[i]; node; node = node->next)
{
ecore_list_append(keys, node->key);
}
}
i++;
}
ecore_list_first_goto(keys);
return keys;
}
/**
* Prints the distribution of the given hash table for graphing.
* @param hash The given hash table.
*/
EAPI void
ecore_hash_dump_graph(Ecore_Hash *hash)
{
unsigned int i;
for (i = 0; i < ecore_prime_table[hash->size]; i++)
if (hash->buckets[i])
{
unsigned int n = 0;
Ecore_Hash_Node *node;
for (node = hash->buckets[i]; node; node = node->next)
n++;
printf("%u\t%u", i, n);
}
else
printf("%u\t0", i);
}
/**
* Prints the distribution of the given hash table for graphing.
* @param hash The given hash table.
*/
EAPI void
ecore_hash_dump_stats(Ecore_Hash *hash)
{
unsigned int i;
double variance, sum_n_2 = 0, sum_n = 0;
if (!hash->size) return;
for (i = 0; i < ecore_prime_table[hash->size]; i++)
{
if (hash->buckets[i])
{
int n = 0;
Ecore_Hash_Node *node;
for (node = hash->buckets[i]; node; node = node->next)
n++;
sum_n_2 += ((double)n * (double)n);
sum_n += (double)n;
}
}
if (i)
{
variance = (sum_n_2 - ((sum_n * sum_n) / (double)i)) / (double)i;
printf("Average length: %f\n\tvariance^2: %f", (sum_n / (double)i),
variance);
}
}
static int
_ecore_hash_bucket_destroy(Ecore_Hash_Node *list,
Ecore_Free_Cb keyd,
Ecore_Free_Cb valued)
{
Ecore_Hash_Node *node;
CHECK_PARAM_POINTER_RETURN("list", list, FALSE);
for (node = list; node; node = list)
{
list = list->next;
_ecore_hash_node_destroy(node, keyd, valued);
}
return TRUE;
}
/*
* @brief Add the node to the hash table
* @param hash: the hash table to add the key
* @param node: the node to add to the hash table
* @return Returns FALSE on error, TRUE on success
*/
static int
_ecore_hash_node_add(Ecore_Hash *hash, Ecore_Hash_Node *node)
{
size_t hash_val;
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
CHECK_PARAM_POINTER_RETURN("node", node, FALSE);
/* Check to see if the hash needs to be resized */
if (ECORE_HASH_INCREASE(hash))
_ecore_hash_increase(hash);
/* Compute the position in the table */
if (!hash->hash_func)
hash_val = (size_t)node->key % ecore_prime_table[hash->size];
else
hash_val = ECORE_COMPUTE_HASH(hash, node->key);
/* Prepend the node to the list at the index position */
node->next = hash->buckets[hash_val];
hash->buckets[hash_val] = node;
hash->nodes++;
return TRUE;
}
/**
* Retrieves the value associated with the given key from the given hash
* table.
* @param hash The given hash table.
* @param key The key to search for.
* @return The value corresponding to key on success, @c NULL otherwise.
* @ingroup Ecore_Data_Hash_ADT_Data_Group
*/
EAPI void *
ecore_hash_get(Ecore_Hash *hash, const void *key)
{
void *data;
Ecore_Hash_Node *node;
CHECK_PARAM_POINTER_RETURN("hash", hash, NULL);
node = _ecore_hash_node_get(hash, key);
if (!node)
return NULL;
data = node->value;
return data;
}
/**
* Removes the value associated with the given key in the given hash
* table.
* @param hash The given hash table.
* @param key The key to search for.
* @return The value corresponding to the key on success. @c NULL is
* returned if there is an error.
* @ingroup Ecore_Data_Hash_ADT_Data_Group
*/
EAPI void *
ecore_hash_remove(Ecore_Hash *hash, const void *key)
{
Ecore_Hash_Node *node = NULL;
Ecore_Hash_Node *list;
size_t hash_val;
void *ret = NULL;
CHECK_PARAM_POINTER_RETURN("hash", hash, NULL);
/* Compute the position in the table */
if (!hash->hash_func)
hash_val = (size_t)key % ecore_prime_table[hash->size];
else
hash_val = ECORE_COMPUTE_HASH(hash, key);
/*
* If their is a list that could possibly hold the key/value pair
* traverse it and remove the hash node.
*/
if (hash->buckets[hash_val])
{
list = hash->buckets[hash_val];
/*
* Traverse the list to find the specified key
*/
node = list;
if (hash->compare)
while ((node) && (hash->compare(node->key, key) != 0))
{
list = node;
node = node->next;
}
else
while ((node) && (node->key != key))
{
list = node;
node = node->next;
}
/*
* Remove the node with the matching key and free it's memory
*/
if (node)
{
if (list == node)
hash->buckets[hash_val] = node->next;
else
list->next = node->next;
ret = node->value;
node->value = NULL;
_ecore_hash_node_destroy(node, hash->free_key, NULL);
hash->nodes--;
}
}
if (ECORE_HASH_REDUCE(hash))
_ecore_hash_decrease(hash);
return ret;
}
/**
* Retrieves the first value that matches
* table.
* @param hash The given hash table.
* @param key The key to search for.
* @return The value corresponding to key on success, @c NULL otherwise.
* @ingroup Ecore_Data_Hash_ADT_Data_Group
*/
EAPI void *
ecore_hash_find(Ecore_Hash *hash, Ecore_Compare_Cb compare, const void *value)
{
unsigned int i = 0;
CHECK_PARAM_POINTER_RETURN("hash", hash, NULL);
CHECK_PARAM_POINTER_RETURN("compare", compare, NULL);
CHECK_PARAM_POINTER_RETURN("value", value, NULL);
while (i < ecore_prime_table[hash->size])
{
if (hash->buckets[i])
{
Ecore_Hash_Node *node;
for (node = hash->buckets[i]; node; node = node->next)
{
if (!compare(node->value, value))
return node->value;
}
}
i++;
}
return NULL;
}
/*
* @brief Retrieve the node associated with key
* @param hash: the hash table to search for the key
* @param key: the key to search for in the hash table
* @return Returns NULL on error, node corresponding to key on success
*/
static Ecore_Hash_Node *
_ecore_hash_node_get(Ecore_Hash *hash, const void *key)
{
size_t hash_val;
Ecore_Hash_Node *node = NULL;
CHECK_PARAM_POINTER_RETURN("hash", hash, NULL);
if (!hash->buckets)
return NULL;
/* Compute the position in the table */
if (!hash->hash_func)
hash_val = (size_t)key % ecore_prime_table[hash->size];
else
hash_val = ECORE_COMPUTE_HASH(hash, key);
/* Grab the bucket at the specified position */
if (hash->buckets[hash_val])
{
node = _ecore_hash_bucket_get(hash, hash->buckets[hash_val], key);
/*
* Move matched node to the front of the list as it's likely
* to be searched for again soon.
*/
if (node && node != hash->buckets[hash_val])
{
node->next = hash->buckets[hash_val];
hash->buckets[hash_val] = node;
}
}
return node;
}
/*
* @brief Search the hash bucket for a specified key
* @param hash: the hash table to retrieve the comparison function
* @param bucket: the list to search for the key
* @param key: the key to search for in the list
* @return Returns NULL on error or not found, the found node on success
*/
static inline Ecore_Hash_Node *
_ecore_hash_bucket_get(Ecore_Hash *hash,
Ecore_Hash_Node *bucket,
const void *key)
{
Ecore_Hash_Node *prev = NULL;
Ecore_Hash_Node *node = NULL;
/*
* Traverse the list to find the desired node, if the node is in the
* list, then return the node.
*/
if (hash->compare)
for (node = bucket; node; node = node->next)
{
if (hash->compare(node->key, key) == 0)
break;
prev = node;
}
else
for (node = bucket; node; node = node->next)
{
if (node->key == key)
break;
prev = node;
}
/*
* Remove node from the list to replace it at the beginning.
*/
if (node && prev)
{
prev->next = node->next;
node->next = NULL;
}
return node;
}
/*
* @brief Increase the size of the hash table by approx. 2 * current size
* @param hash: the hash table to increase the size of
* @return Returns TRUE on success, FALSE on error
*/
static int
_ecore_hash_increase(Ecore_Hash *hash)
{
void *old;
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
/* Max size reached so return FALSE */
if ((ecore_prime_table[hash->size] == PRIME_MAX) ||
(hash->size == PRIME_TABLE_MAX))
return FALSE;
/*
* Increase the size of the hash and save a pointer to the old data
*/
hash->size++;
old = hash->buckets;
/*
* Allocate a new bucket area, of the new larger size
*/
hash->buckets =
calloc(ecore_prime_table[hash->size], sizeof(Ecore_Hash_Node *));
/*
* Make sure the allocation succeeded, if not replace the old data and
* return a failure.
*/
if (!hash->buckets)
{
hash->buckets = old;
hash->size--;
return FALSE;
}
hash->nodes = 0;
/*
* Now move all of the old data into the new bucket area
*/
if (_ecore_hash_rehash(hash, old, hash->size - 1))
{
FREE(old);
return TRUE;
}
/*
* Free the old buckets regardless of success.
*/
FREE(old);
return FALSE;
}
/*
* @brief Decrease the size of the hash table by < 1/2 * current size
* @param hash: the hash table to decrease the size of
* @return Returns TRUE on success, FALSE on error
*/
static int
_ecore_hash_decrease(Ecore_Hash *hash)
{
Ecore_Hash_Node **old;
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
if (ecore_prime_table[hash->size] == PRIME_MIN)
return FALSE;
/*
* Decrease the hash size and store a pointer to the old data
*/
hash->size--;
old = hash->buckets;
/*
* Allocate a new area to store the data
*/
hash->buckets = (Ecore_Hash_Node **)calloc(ecore_prime_table[hash->size],
sizeof(Ecore_Hash_Node *));
/*
* Make sure allocation succeeded otherwise rreturn to the previous
* state
*/
if (!hash->buckets)
{
hash->buckets = old;
hash->size++;
return FALSE;
}
hash->nodes = 0;
if (_ecore_hash_rehash(hash, old, hash->size + 1))
{
FREE(old);
return TRUE;
}
return FALSE;
}
/*
* @brief Rehash the nodes of a table into the hash table
* @param hash: the hash to place the nodes of the table
* @param table: the table to remove the nodes from and place in hash
* @return Returns TRUE on success, FALSE on error
*/
static inline int
_ecore_hash_rehash(Ecore_Hash *hash, Ecore_Hash_Node **old_table, int old_size)
{
unsigned int i;
Ecore_Hash_Node *old;
CHECK_PARAM_POINTER_RETURN("hash", hash, FALSE);
CHECK_PARAM_POINTER_RETURN("old_table", old_table, FALSE);
for (i = 0; i < ecore_prime_table[old_size]; i++)
{
/* Hash into a new list to avoid loops of rehashing the same nodes */
while ((old = old_table[i]))
{
old_table[i] = old->next;
old->next = NULL;
_ecore_hash_node_add(hash, old);
}
}
return TRUE;
}
/*
* @brief Create a new hash node for key and value storage
* @param key: the key for this node
* @param value: the value that the key references
* @return Returns NULL on error, a new hash node on success
*/
static Ecore_Hash_Node *
_ecore_hash_node_new(void *key, void *value)
{
Ecore_Hash_Node *node;
node = (Ecore_Hash_Node *)malloc(sizeof(Ecore_Hash_Node));
if (!node)
return NULL;
if (!_ecore_hash_node_init(node, key, value))
{
FREE(node);
return NULL;
}
return node;
}
/*
* @brief Initialize a hash node to some sane default values
* @param node: the node to set the values
* @param key: the key to reference this node
* @param value: the value that key refers to
* @return Returns TRUE on success, FALSE on error
*/
static int
_ecore_hash_node_init(Ecore_Hash_Node *node, void *key, void *value)
{
CHECK_PARAM_POINTER_RETURN("node", node, FALSE);
node->key = key;
node->value = value;
return TRUE;
}
/*
* @brief Destroy a node and call the specified callbacks to free data
* @param node: the node to be destroyed
* @param keyd: the function to free the key
* @param valued: the function to free the value
* @return Returns TRUE on success, FALSE on error
*/
static int
_ecore_hash_node_destroy(Ecore_Hash_Node *node,
Ecore_Free_Cb keyd,
Ecore_Free_Cb valued)
{
CHECK_PARAM_POINTER_RETURN("node", node, FALSE);
if (keyd)
keyd(node->key);
if (valued)
valued(node->value);
FREE(node);
return TRUE;
}
int
ecore_str_compare(const void *key1, const void *key2)
{
const char *k1, *k2;
if (!key1 || !key2)
return ecore_direct_compare(key1, key2);
else if (key1 == key2)
return 0;
k1 = key1;
k2 = key2;
return strcmp(k1, k2);
}
unsigned int
ecore_str_hash(const void *key)
{
int i;
unsigned int mask;
unsigned int value = 0;
const char *k = key;
if (!k)
return 0;
mask = (sizeof(unsigned int) * 8) - 1;
for (i = 0; k[i] != '\0'; i++)
{
value ^= ((unsigned int)k[i] << ((i * 5) & mask));
}
return value;
}

View File

@ -1,164 +0,0 @@
#include <stdlib.h>
#include <string.h>
#include "Ecore_Data.h"
static void ecore_string_free_cb(void *data);
static Ecore_Hash *ecore_strings = NULL;
static int ecore_string_init_count = 0;
/**
* @defgroup Ecore_String_Group String Instance Functions
*
* These functions allow you to store one copy of a string, and use it
* throughout your program.
*
* This is a method to reduce the number of duplicated strings kept in
* memory. It's pretty common for the same strings to be dynamically
* allocated repeatedly between applications and libraries, especially in
* circumstances where you could have multiple copies of a structure that
* allocates the string. So rather than duplicating and freeing these
* strings, you request a read-only pointer to an existing string and
* only incur the overhead of a hash lookup.
*
* It sounds like micro-optimizing, but profiling has shown this can have
* a significant impact as you scale the number of copies up. It improves
* string creation/destruction speed, reduces memory use and decreases
* memory fragmentation, so a win all-around.
*/
/**
* Initialize the ecore string internal structure.
* @return Zero on failure, non-zero on successful initialization.
*/
EAPI int
ecore_string_init(void)
{
/*
* No strings have been loaded at this point, so create the hash
* table for storing string info for later.
*/
if (!ecore_string_init_count)
{
ecore_strings = ecore_hash_new(ecore_str_hash, ecore_str_compare);
if (!ecore_strings)
return 0;
ecore_hash_free_value_cb_set(ecore_strings, ecore_string_free_cb);
}
ecore_string_init_count++;
return 1;
}
/**
* Retrieves an instance of a string for use in an ecore program.
* @param string The string to retrieve an instance of.
* @return A pointer to an instance of the string on success.
* @c NULL on failure.
* @ingroup Ecore_String_Group
*/
EAPI const char *
ecore_string_instance(const char *string)
{
Ecore_String *str;
CHECK_PARAM_POINTER_RETURN("string", string, NULL);
/*
* Check for a previous instance of the string, if not found, create
* it.
*/
str = ecore_hash_get(ecore_strings, string);
if (!str)
{
int length;
/*
* Allocate and initialize a new string reference.
*/
length = strlen(string) + 1;
str =
(Ecore_String *)malloc(sizeof(Ecore_String) + length * sizeof(char));
if (!str) return NULL;
str->string = (char *)(str + 1);
str->references = 0;
memcpy(str->string, string, length);
ecore_hash_set(ecore_strings, str->string, str);
}
str->references++;
return str->string;
}
/**
* Notes that the given string has lost an instance.
*
* It will free the string if no other instances are left.
*
* @param string The given string.
* @ingroup Ecore_String_Group
*/
EAPI void
ecore_string_release(const char *string)
{
Ecore_String *str;
CHECK_PARAM_POINTER("string", string);
str = ecore_hash_get(ecore_strings, (char *)string);
if (!str)
return;
str->references--;
if (str->references < 1)
{
ecore_hash_remove(ecore_strings, (char *)string);
FREE(str);
}
}
EAPI void
ecore_string_hash_dump_graph(void)
{
ecore_hash_dump_graph(ecore_strings);
}
EAPI void
ecore_string_hash_dump_stats(void)
{
ecore_hash_dump_stats(ecore_strings);
}
/**
* Shutdown the ecore string internal structures
* @return 0 when the module is completely shut down, 1 or
* greater otherwise.
*/
EAPI int
ecore_string_shutdown(void)
{
--ecore_string_init_count;
if (!ecore_string_init_count)
{
ecore_hash_destroy(ecore_strings);
ecore_strings = NULL;
}
return ecore_string_init_count;
}
static void
ecore_string_free_cb(void *data)
{
Ecore_String *str;
str = data;
FREE(str);
}

View File

@ -36,7 +36,6 @@ struct _Eina_Benchmark_Case
};
static const Eina_Benchmark_Case etc[] = {
{ "Hash", eina_bench_hash, EINA_TRUE },
{ "Hash_Short_Key", eina_bench_crc_hash_short, EINA_TRUE },
{ "Hash_Medium_Key", eina_bench_crc_hash_medium, EINA_TRUE },
{ "Hash_Large_key", eina_bench_crc_hash_large, EINA_TRUE },
@ -129,8 +128,6 @@ main(int argc, char **argv)
break;
}
eina_bench_e17();
eina_shutdown();
_mempool_shutdown();

View File

@ -36,7 +36,4 @@ void eina_bench_rectangle_pool(Eina_Benchmark *bench);
void eina_bench_quadtree(Eina_Benchmark *bench);
void eina_bench_promise(Eina_Benchmark *bench);
/* Specific benchmark. */
void eina_bench_e17(void);
#endif

View File

@ -1,551 +0,0 @@
/* EINA - EFL data type library
* Copyright (C) 2008 Cedric Bail
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library;
* if not, see <http://www.gnu.org/licenses/>.
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#ifdef EINA_BENCH_HAVE_GLIB
# include <glib.h>
#endif
#include "Evas_Data.h"
#include "Ecore_Data.h"
#include "eina_hash.h"
#include "eina_array.h"
#include "eina_bench.h"
#include "eina_rbtree.h"
#include "eina_convert.h"
#ifdef CITYHASH_BENCH
// Hash function for a byte array.
uint64_t CityHash64(const char *buf, size_t len);
static int
city_hash(const char *buf, int len)
{
return (int)CityHash64(buf, len);
}
static unsigned int
_eina_string_key_length(const char *key)
{
if (!key)
return 0;
return (int)strlen(key) + 1;
}
static int
_eina_string_key_cmp(const char *key1, EINA_UNUSED int key1_length,
const char *key2, EINA_UNUSED int key2_length)
{
return strcmp(key1, key2);
}
#endif
typedef struct _Eina_Bench_Rbtree Eina_Bench_Rbtree;
struct _Eina_Bench_Rbtree
{
Eina_Rbtree node;
char key[10];
int value;
};
static Eina_Rbtree_Direction
_eina_bench_rbtree_cmp(const Eina_Bench_Rbtree *left,
const Eina_Bench_Rbtree *right,
EINA_UNUSED void *data)
{
if (!left)
return EINA_RBTREE_RIGHT;
if (!right)
return EINA_RBTREE_LEFT;
return strcmp(left->key,
right->key) < 0 ? EINA_RBTREE_LEFT : EINA_RBTREE_RIGHT;
}
static inline int
_eina_bench_rbtree_key(const Eina_Bench_Rbtree *node,
const char *key,
int length,
EINA_UNUSED void *data)
{
return strncmp(node->key, key, length);
}
static void
_eina_bench_rbtree_free(Eina_Rbtree *node, EINA_UNUSED void *data)
{
free(node);
}
static void
eina_bench_lookup_rbtree(int request)
{
Eina_Rbtree *root = NULL;
int i;
int j;
for (i = 0; i < request; ++i)
{
Eina_Bench_Rbtree *tmp;
tmp = malloc(sizeof (Eina_Bench_Rbtree));
if (!tmp)
continue;
tmp->value = i;
eina_convert_itoa(i, tmp->key);
root = eina_rbtree_inline_insert(root,
&tmp->node,
EINA_RBTREE_CMP_NODE_CB(
_eina_bench_rbtree_cmp),
NULL);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < request; ++i)
{
Eina_Rbtree *tmp;
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
tmp = eina_rbtree_inline_lookup(root,
tmp_key,
10,
EINA_RBTREE_CMP_KEY_CB(
_eina_bench_rbtree_key),
NULL);
/* Suppress warnings as we really don't want to do anything. */
(void) tmp;
}
eina_rbtree_delete(root, EINA_RBTREE_FREE_CB(_eina_bench_rbtree_free), NULL);
}
static void
eina_bench_lookup_murmur(int request)
{
Eina_Hash *hash = NULL;
int *tmp_val;
unsigned int i;
unsigned int j;
hash = eina_hash_new(EINA_KEY_LENGTH(_eina_string_key_length),
EINA_KEY_CMP(_eina_string_key_cmp),
EINA_KEY_HASH(eina_hash_murmur3),
free,
8);
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
tmp_val = malloc(sizeof (int));
if (!tmp_val)
continue;
eina_convert_itoa(i, tmp_key);
*tmp_val = i;
eina_hash_add(hash, tmp_key, tmp_val);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
tmp_val = eina_hash_find(hash, tmp_key);
}
eina_hash_free(hash);
}
#ifdef CITYHASH_BENCH
static void
eina_bench_lookup_cityhash(int request)
{
Eina_Hash *hash = NULL;
int *tmp_val;
unsigned int i;
unsigned int j;
hash = eina_hash_new(EINA_KEY_LENGTH(_eina_string_key_length),
EINA_KEY_CMP(_eina_string_key_cmp),
EINA_KEY_HASH(city_hash),
free,
8);
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
tmp_val = malloc(sizeof (int));
if (!tmp_val)
continue;
eina_convert_itoa(i, tmp_key);
*tmp_val = i;
eina_hash_add(hash, tmp_key, tmp_val);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
tmp_val = eina_hash_find(hash, tmp_key);
}
eina_hash_free(hash);
}
#endif
static void
eina_bench_lookup_superfast(int request)
{
Eina_Hash *hash = NULL;
int *tmp_val;
unsigned int i;
unsigned int j;
hash = eina_hash_string_superfast_new(free);
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
tmp_val = malloc(sizeof (int));
if (!tmp_val)
continue;
eina_convert_itoa(i, tmp_key);
*tmp_val = i;
eina_hash_add(hash, tmp_key, tmp_val);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
tmp_val = eina_hash_find(hash, tmp_key);
}
eina_hash_free(hash);
}
static void
eina_bench_lookup_djb2(int request)
{
Eina_Hash *hash = NULL;
int *tmp_val;
unsigned int i;
unsigned int j;
hash = eina_hash_string_djb2_new(free);
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
tmp_val = malloc(sizeof (int));
if (!tmp_val)
continue;
eina_convert_itoa(i, tmp_key);
*tmp_val = i;
eina_hash_add(hash, tmp_key, tmp_val);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
tmp_val = eina_hash_find(hash, tmp_key);
}
eina_hash_free(hash);
}
typedef struct _Eina_Bench_DJB2 Eina_Bench_DJB2;
struct _Eina_Bench_DJB2
{
char *key;
int value;
};
static void
eina_bench_lookup_djb2_inline(int request)
{
Eina_Hash *hash = NULL;
Eina_Bench_DJB2 *elm;
unsigned int i;
unsigned int j;
hash = eina_hash_string_djb2_new(free);
for (i = 0; i < (unsigned int)request; ++i)
{
int length;
elm = malloc(sizeof (Eina_Bench_DJB2) + 10);
if (!elm)
continue;
elm->key = (char *)(elm + 1);
length = eina_convert_itoa(i, elm->key) + 1;
elm->value = i;
eina_hash_direct_add_by_hash(hash, elm->key, length,
eina_hash_djb2(elm->key, length), elm);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
int length = eina_convert_itoa(rand() % request, tmp_key) + 1;
elm =
eina_hash_find_by_hash(hash, tmp_key, length,
eina_hash_djb2(tmp_key, length));
}
eina_hash_free(hash);
}
#ifdef EINA_BENCH_HAVE_GLIB
typedef struct _Eina_Bench_Glib Eina_Bench_Glib;
struct _Eina_Bench_Glib
{
char *key;
int value;
};
static void
eina_bench_lookup_ghash(int request)
{
Eina_Bench_Glib *elm;
GHashTable *hash;
unsigned int i;
unsigned int j;
hash = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, free);
for (i = 0; i < (unsigned int)request; ++i)
{
elm = malloc(sizeof (Eina_Bench_Glib) + 10);
if (!elm)
continue;
elm->key = (char *)(elm + 1);
eina_convert_itoa(i, elm->key);
elm->value = i;
g_hash_table_insert(hash, elm->key, elm);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
elm = g_hash_table_lookup(hash, tmp_key);
}
g_hash_table_destroy(hash);
}
#endif
static void
eina_bench_lookup_evas(int request)
{
Evas_Hash *hash = NULL;
Eina_Array *array = NULL;
int *tmp_val;
Eina_Array_Iterator it;
unsigned int i;
unsigned int j;
array = eina_array_new(10000);
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
tmp_val = malloc(sizeof (int));
if (!tmp_val)
continue;
eina_convert_itoa(i, tmp_key);
*tmp_val = i;
hash = evas_hash_add(hash, tmp_key, tmp_val);
eina_array_push(array, tmp_val);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
tmp_val = evas_hash_find(hash, tmp_key);
}
evas_hash_free(hash);
EINA_ARRAY_ITER_NEXT(array, i, tmp_val, it)
free(tmp_val);
eina_array_free(array);
}
typedef struct _Eina_Bench_Ecore Eina_Bench_Ecore;
struct _Eina_Bench_Ecore
{
char *key;
int value;
};
static void
eina_bench_lookup_ecore(int request)
{
Ecore_Hash *hash = NULL;
Eina_Bench_Ecore *elm;
unsigned int i;
unsigned int j;
hash = ecore_hash_new(ecore_str_hash, ecore_str_compare);
ecore_hash_free_key_cb_set(hash, NULL);
ecore_hash_free_value_cb_set(hash, free);
for (i = 0; i < (unsigned int)request; ++i)
{
elm = malloc(sizeof (Eina_Bench_Ecore) + 10);
if (!elm)
continue;
elm->key = (char *)(elm + 1);
eina_convert_itoa(i, elm->key);
elm->value = i;
ecore_hash_set(hash, elm->key, elm);
}
srand(time(NULL));
for (j = 0; j < 200; ++j)
for (i = 0; i < (unsigned int)request; ++i)
{
char tmp_key[10];
eina_convert_itoa(rand() % request, tmp_key);
elm = ecore_hash_get(hash, tmp_key);
}
ecore_hash_destroy(hash);
}
void eina_bench_hash(Eina_Benchmark *bench)
{
eina_benchmark_register(bench, "superfast-lookup",
EINA_BENCHMARK(
eina_bench_lookup_superfast), 10, 10000, 10);
eina_benchmark_register(bench, "djb2-lookup",
EINA_BENCHMARK(
eina_bench_lookup_djb2), 10, 10000, 10);
eina_benchmark_register(bench, "djb2-lookup-inline",
EINA_BENCHMARK(
eina_bench_lookup_djb2_inline), 10, 10000, 10);
eina_benchmark_register(bench, "murmur",
EINA_BENCHMARK(
eina_bench_lookup_murmur), 10, 10000, 10);
#ifdef CITYHASH_BENCH
eina_benchmark_register(bench, "cityhash",
EINA_BENCHMARK(
eina_bench_lookup_cityhash), 10, 10000, 10);
#endif
eina_benchmark_register(bench, "rbtree",
EINA_BENCHMARK(
eina_bench_lookup_rbtree), 10, 10000, 10);
#ifdef EINA_BENCH_HAVE_GLIB
eina_benchmark_register(bench, "ghash-lookup",
EINA_BENCHMARK(
eina_bench_lookup_ghash), 10, 10000, 10);
#endif
eina_benchmark_register(bench, "evas-lookup",
EINA_BENCHMARK(
eina_bench_lookup_evas), 10, 10000, 10);
eina_benchmark_register(bench, "ecore-lookup",
EINA_BENCHMARK(
eina_bench_lookup_ecore), 10, 10000, 10);
}

View File

@ -139,14 +139,14 @@ eina_bench_ecore_job(int request)
unsigned int j;
int i;
ecore_string_init();
//ecore_string_init();
for (i = 0; i < request; ++i)
{
char build[64] = "string_";
eina_convert_xtoa(i, build + 7);
tmp = ecore_string_instance(build);
//tmp = ecore_string_instance(build);
}
srand(time(NULL));
@ -157,13 +157,13 @@ eina_bench_ecore_job(int request)
char build[64] = "string_";
eina_convert_xtoa(rand() % request, build + 7);
tmp = ecore_string_instance(build);
//tmp = ecore_string_instance(build);
}
/* Suppress warnings as we really don't want to do anything. */
(void) tmp;
ecore_string_shutdown();
//ecore_string_shutdown();
}
void eina_bench_stringshare(Eina_Benchmark *bench)

View File

@ -1,121 +0,0 @@
/* EINA - EFL data type library
* Copyright (C) 2008 Cedric Bail
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library;
* if not, see <http://www.gnu.org/licenses/>.
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#ifdef EINA_BENCH_HAVE_GLIB
# include <glib.h>
#endif
#include "Evas_Data.h"
#include "Ecore_Data.h"
#include "Eina.h"
#if EINA_ENABLE_BENCH_E17
typedef struct _Eina_Stringshare_Test Eina_Stringshare_Test;
struct _Eina_Stringshare_Test
{
const char *name;
int (*init)(void);
const char *(*add)(const char *str);
void (*del)(const char *str);
int (*shutdown)(void);
};
static Eina_Stringshare_Test eina_str = {
"eina",
eina_init,
eina_stringshare_add,
eina_stringshare_del,
eina_shutdown
};
static Eina_Stringshare_Test evas_str = {
"evas",
NULL,
evas_stringshare_add,
evas_stringshare_del,
NULL
};
static Eina_Stringshare_Test ecore_str = {
"ecore",
ecore_string_init,
ecore_string_instance,
ecore_string_release,
ecore_string_shutdown
};
static Eina_Stringshare_Test *tests[] = {
&eina_str,
&evas_str,
&ecore_str,
NULL
};
static void
eina_bench_e17_stringshare(Eina_Stringshare_Test *str)
{
Eina_Counter *cnt;
char *result;
cnt = eina_counter_new(str->name);
eina_counter_start(cnt);
if (str->init)
str->init();
//#include "strlog"
if (str->shutdown)
str->shutdown();
eina_counter_stop(cnt, 1);
result = eina_counter_dump(cnt);
fprintf(stderr, "For `%s`:\n%s\n", str->name, result);
free(result);
eina_counter_free(cnt);
}
#endif
void
eina_bench_e17(void)
{
#if EINA_ENABLE_BENCH_E17
int i;
eina_init();
for (i = 0; tests[i]; ++i)
eina_bench_e17_stringshare(tests[i]);
eina_shutdown();
#endif
}

View File

@ -1,17 +1,13 @@
eina_bench_src = files(
'eina_bench.c',
'eina_bench_sort.c',
'eina_bench_hash.c',
'eina_bench_crc_hash.c',
'eina_bench_stringshare.c',
'eina_bench_convert.c',
'eina_bench_mempool.c',
'eina_bench_stringshare_e17.c',
'eina_bench_array.c',
'eina_bench_rectangle_pool.c',
'ecore_list.c',
'ecore_strings.c',
'ecore_hash.c',
'ecore_sheap.c',
'evas_hash.c',
'evas_list.c',

View File

@ -69,7 +69,7 @@ public class Stringshare : IEquatable<Stringshare>, IEquatable<string>
/// <summary>
/// Main constructor. Wrap the given string.
/// Have private acess to avoid wrapping a null reference,
/// use convertion or the factory method to create a new instance.
/// use conversion or the factory method to create a new instance.
/// <para>Since EFL 1.23.</para>
/// <see cref="Create(string)"/>
/// <see cref="implicit operator Stringshare(string)"/>
@ -108,7 +108,7 @@ public class Stringshare : IEquatable<Stringshare>, IEquatable<string>
}
/// <summary>
/// Implicit convertion to string.
/// Implicit conversion to string.
/// </summary>
public static implicit operator string(Stringshare ss)
{
@ -121,12 +121,12 @@ public class Stringshare : IEquatable<Stringshare>, IEquatable<string>
}
/// <summary>
/// Implicit convertion from string to Stringshare.
/// Implicit conversion from string to Stringshare.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <remarks>
/// Note that this method can be used to create an instance of this class,
/// either via an explicit cast or an implicit convertion.
/// either via an explicit cast or an implicit conversion.
/// <seealso cref="Create(string)"/>
/// </remarks>
public static implicit operator Stringshare(string s)
@ -145,7 +145,7 @@ public class Stringshare : IEquatable<Stringshare>, IEquatable<string>
/// </summary>
/// <remarks>
/// Note that this method can be used to create an instance of this class,
/// either via an explicit cast or an implicit convertion.
/// either via an explicit cast or an implicit conversion.
/// <seealso cref="Create(string)"/>
/// </remarks>
public static Stringshare FromString(string s) => s;

View File

@ -1971,7 +1971,7 @@ EAPI void ecore_imf_context_candidate_panel_geometry_ge
/**
* @ingroup Ecore_IMF_Context_Group
* @brief Sets whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.
* @brief Sets whether the Input Method Context should request to show the input panel in case of only a user's explicit Mouse Up event.
* It doesn't request to show the input panel even though the Input Method Context has focus.
*
* @param ctx An #Ecore_IMF_Context.
@ -1982,7 +1982,7 @@ EAPI void ecore_imf_context_input_panel_show_on_demand_
/**
* @ingroup Ecore_IMF_Context_Group
* @brief Gets whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.
* @brief Gets whether the Input Method Context should request to show the input panel in case of only a user's explicit Mouse Up event.
*
* @param ctx An #Ecore_IMF_Context.
* @return @c EINA_TRUE if the input panel will be shown in case of only Mouse up event.

File diff suppressed because it is too large Load Diff

View File

@ -1069,7 +1069,7 @@ eet_internal_read1(Eet_File *ef)
(byte_entries > 0x7fffffff), ef))
return NULL;
/* we can't have more entires than minimum bytes for those! invalid! */
/* we can't have more entries than minimum bytes for those! invalid! */
if (eet_test_close((num_entries * 20) > byte_entries, ef))
return NULL;

View File

@ -86,7 +86,7 @@ static void
_fast_accessor_init(Fast_Accessor *accessor, Eina_List **items)
{
//this is the accessor for accessing the items
//we have to workarround here the problem that
//we have to workaround here the problem that
//no accessor can be created for a not yet created list.
accessor->items = items;
}
@ -239,7 +239,7 @@ _item_scroll_internal(Eo *obj EINA_UNUSED,
ipos.x = ipos.x + vpos.x - view.x;
ipos.y = ipos.y + vpos.y - view.y;
//FIXME scrollable needs some sort of align, the docs do not even garantee to completly move in the element
//FIXME scrollable needs some sort of align, the docs do not even garantee to completely move in the element
efl_ui_scrollable_scroll(pd->smanager, ipos, anim);
}
@ -569,7 +569,7 @@ _selection_changed(void *data, const Efl_Event *ev)
Efl_Ui_Selection *fallback;
//if this is the highest call in the tree of selection changes, safe the fallback and apply it later
//this way we ensure that we are not accidently adding fallback even if we just want to have a empty selection list
//this way we ensure that we are not accidentally adding fallback even if we just want to have a empty selection list
fallback = pd->fallback;
pd->fallback = NULL;

View File

@ -1685,7 +1685,7 @@ _item_scroll_internal(Eo *obj EINA_UNUSED,
ipos.x = ipos.x + vpos.x - view.x;
ipos.y = ipos.y + vpos.y - view.y;
//FIXME scrollable needs some sort of align, the docs do not even garantee to completly move in the element
//FIXME scrollable needs some sort of align, the docs do not even garantee to completely move in the element
efl_ui_scrollable_scroll(pd->scroller, ipos, anim);
}

View File

@ -204,7 +204,7 @@ _efl_ui_exact_model_slot_find(Efl_Ui_Exact_Model_Data *pd, unsigned int index,
pd->parent->slot[found].start_offset = index / EFL_UI_EXACT_MODEL_CONTENT;
}
// Increase usage of the returnd slot for now
// Increase usage of the returned slot for now
pd->parent->slot[found].usage++;
// Unpack the data if requested

View File

@ -1139,7 +1139,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
/* FIXME: Maybe allow selctions to happen even when not editable. */
/* FIXME: Maybe allow selections to happen even when not editable. */
if (!en->editable) return;
#ifdef HAVE_ECORE_IMF

View File

@ -2,7 +2,7 @@
# include <config.h>
#endif
// Note: we do not rely on reflection here to implement select as it require to asynchronously acces
// Note: we do not rely on reflection here to implement select as it require to asynchronously access
// children. Could be done differently by implementing the children select in the parent instead of
// in the children. For later optimization.
@ -543,7 +543,7 @@ _efl_ui_select_model_efl_ui_multi_selectable_all_select(Eo *obj,
unsigned int count, i;
// Not the fastest way to implement it, but will reuse more code and be easier as a v1.
// It also make it not very async which could be noticable.
// It also make it not very async which could be noticeable.
count = efl_model_children_count_get(obj);
for (i = 0; i < count; i++)
@ -573,7 +573,7 @@ _efl_ui_select_model_efl_ui_multi_selectable_index_range_ndx_range_select(Eo *ob
unsigned long count, i;
// Not the fastest way to implement it, but will reuse more code and be easier as a v1.
// It also make it not very async which could be noticable.
// It also make it not very async which could be noticeable.
count = MIN(efl_model_children_count_get(obj), b + 1);
for (i = a; i < count; i++)

View File

@ -1,5 +1,5 @@
/**
* @defgroup Elm_Ctxpopup Ctxpopup
* @defgroup Elm_Ctxpopup_Group Ctxpopup
* @ingroup Elementary
*
* @image html ctxpopup_inheritance_tree.png
@ -60,9 +60,13 @@
* @li @ref elm_object_item_focus_get
*
* @ref tutorial_ctxpopup shows the usage of a good deal of the API.
* @{
*
*/
/**
* @addtogroup Elm_Ctxpopup_Group
* @{
*/
#ifndef EFL_NOLEGACY_API_SUPPORT
#include "elc_ctxpopup_legacy.h"
#endif

View File

@ -4,7 +4,7 @@
* @param parent Parent object
* @return New object or @c NULL, if it cannot be created
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EAPI Evas_Object *elm_ctxpopup_add(Evas_Object *parent);

View File

@ -5,7 +5,7 @@
* @image html multibuttonentry_inheritance_tree.png
* @image latex multibuttonentry_inheritance_tree.eps
*
* A multi-button entry is a widget letting an user enter text and
* A multi-button entry is a widget letting a user enter text and
* each chunk of text managed as a set of buttons. Each text button is
* inserted by pressing the "return" key. If there is no space in the
* current row, a new button is added to the next row. When a text

View File

@ -1,5 +1,5 @@
/**
* @defgroup Elm_Box Box
* @defgroup Elm_Box_Group Box
* @ingroup Elementary
*
* @image html box_inheritance_tree.png

View File

@ -1,5 +1,5 @@
/**
* @addtogroup Elm_Box
* @addtogroup Elm_Box_Group
*
* @{
*/

View File

@ -15,7 +15,7 @@ typedef Eo Elm_Box;
#endif
/** Elementary box class
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
#define ELM_BOX_CLASS elm_box_class_get()
@ -32,7 +32,7 @@ EWAPI const Efl_Class *elm_box_class_get(void);
* @param[in] obj The object.
* @param[in] homogeneous The homogeneous flag
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_homogeneous_set(Eo *obj, Eina_Bool homogeneous);
@ -44,7 +44,7 @@ EOAPI void elm_obj_box_homogeneous_set(Eo *obj, Eina_Bool homogeneous);
*
* @return The homogeneous flag
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI Eina_Bool elm_obj_box_homogeneous_get(const Eo *obj);
@ -59,7 +59,7 @@ EOAPI Eina_Bool elm_obj_box_homogeneous_get(const Eo *obj);
* @param[in] horizontal The horizontal alignment of elements
* @param[in] vertical The vertical alignment of elements
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_align_set(Eo *obj, double horizontal, double vertical);
@ -72,7 +72,7 @@ EOAPI void elm_obj_box_align_set(Eo *obj, double horizontal, double vertical);
* @param[out] horizontal The horizontal alignment of elements
* @param[out] vertical The vertical alignment of elements
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_align_get(const Eo *obj, double *horizontal, double *vertical);
@ -88,7 +88,7 @@ EOAPI void elm_obj_box_align_get(const Eo *obj, double *horizontal, double *vert
* @param[in] obj The object.
* @param[in] horizontal The horizontal flag
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_horizontal_set(Eo *obj, Eina_Bool horizontal);
@ -100,7 +100,7 @@ EOAPI void elm_obj_box_horizontal_set(Eo *obj, Eina_Bool horizontal);
*
* @return The horizontal flag
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI Eina_Bool elm_obj_box_horizontal_get(const Eo *obj);
@ -116,7 +116,7 @@ EOAPI Eina_Bool elm_obj_box_horizontal_get(const Eo *obj);
* @param[in] horizontal The horizontal space between elements
* @param[in] vertical The vertical space between elements
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_padding_set(Eo *obj, int horizontal, int vertical);
@ -129,7 +129,7 @@ EOAPI void elm_obj_box_padding_set(Eo *obj, int horizontal, int vertical);
* @param[out] horizontal The horizontal space between elements
* @param[out] vertical The vertical space between elements
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_padding_get(const Eo *obj, int *horizontal, int *vertical);
@ -145,7 +145,7 @@ EOAPI void elm_obj_box_padding_get(const Eo *obj, int *horizontal, int *vertical
*
* @return List of children
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI Eina_List *elm_obj_box_children_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
@ -164,7 +164,7 @@ EOAPI Eina_List *elm_obj_box_children_get(const Eo *obj) EINA_WARN_UNUSED_RESULT
* @param[in] obj The object.
* @param[in] subobj The object to add to the box
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_pack_end(Eo *obj, Efl_Canvas_Object *subobj);
@ -180,7 +180,7 @@ EOAPI void elm_obj_box_pack_end(Eo *obj, Efl_Canvas_Object *subobj);
* See also @ref elm_obj_box_clear, @ref elm_obj_box_unpack.
* @param[in] obj The object.
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_unpack_all(Eo *obj);
@ -195,7 +195,7 @@ EOAPI void elm_obj_box_unpack_all(Eo *obj);
* @param[in] obj The object.
* @param[in] subobj The object to unpack
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_unpack(Eo *obj, Efl_Canvas_Object *subobj);
@ -215,7 +215,7 @@ EOAPI void elm_obj_box_unpack(Eo *obj, Efl_Canvas_Object *subobj);
* @param[in] subobj The object to add to the box
* @param[in] after The object after which to add it
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_pack_after(Eo *obj, Efl_Canvas_Object *subobj, Efl_Canvas_Object *after);
@ -234,7 +234,7 @@ EOAPI void elm_obj_box_pack_after(Eo *obj, Efl_Canvas_Object *subobj, Efl_Canvas
* @param[in] obj The object.
* @param[in] subobj The object to add to the box
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_pack_start(Eo *obj, Efl_Canvas_Object *subobj);
@ -247,7 +247,7 @@ EOAPI void elm_obj_box_pack_start(Eo *obj, Efl_Canvas_Object *subobj);
* position of a just added item you must force recalculate before doing so.
* @param[in] obj The object.
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_recalculate(Eo *obj);
@ -267,7 +267,7 @@ EOAPI void elm_obj_box_recalculate(Eo *obj);
* @param[in] subobj The object to add to the box
* @param[in] before The object before which to add it
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_pack_before(Eo *obj, Efl_Canvas_Object *subobj, Efl_Canvas_Object *before);
@ -280,7 +280,7 @@ EOAPI void elm_obj_box_pack_before(Eo *obj, Efl_Canvas_Object *subobj, Efl_Canva
* See also @ref elm_obj_box_unpack, @ref elm_obj_box_unpack_all.
* @param[in] obj The object.
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EOAPI void elm_obj_box_clear(Eo *obj);
@ -289,7 +289,7 @@ EWAPI extern const Efl_Event_Description _ELM_BOX_EVENT_CHILD_ADDED;
/** Called when child was added
* @return Efl_Object *
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
#define ELM_BOX_EVENT_CHILD_ADDED (&(_ELM_BOX_EVENT_CHILD_ADDED))
@ -298,7 +298,7 @@ EWAPI extern const Efl_Event_Description _ELM_BOX_EVENT_CHILD_REMOVED;
/** Called when child was removed
* @return Efl_Object *
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
#define ELM_BOX_EVENT_CHILD_REMOVED (&(_ELM_BOX_EVENT_CHILD_REMOVED))

View File

@ -6,7 +6,7 @@
* @param parent The parent object
* @return The new object or NULL if it cannot be created
*
* @ingroup Elm_Box
* @ingroup Elm_Box_Group
*/
EAPI Evas_Object *elm_box_add(Evas_Object *parent);
@ -43,5 +43,7 @@ EAPI Evas_Object *elm_box_add(Evas_Object *parent);
* @param[in] cb The callback function used for layout
* @param[in] data Data that will be passed to layout function
* @param[in] free_data Function called to free @c data
*
* @ingroup Elm_Box_Group
*/
EAPI void elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, Ecore_Cb free_data);

View File

@ -189,7 +189,7 @@ EOAPI void elm_obj_calendar_selectable_set(Eo *obj, Elm_Calendar_Selectable sele
EOAPI Elm_Calendar_Selectable elm_obj_calendar_selectable_get(const Eo *obj);
/**
* @brief The interval on time updates for an user mouse button hold on
* @brief The interval on time updates for a user mouse button hold on
* calendar widgets' month/year selection.
*
* This interval value is decreased while the user holds the mouse pointer
@ -213,7 +213,7 @@ EOAPI Elm_Calendar_Selectable elm_obj_calendar_selectable_get(const Eo *obj);
EOAPI void elm_obj_calendar_interval_set(Eo *obj, double interval);
/**
* @brief The interval on time updates for an user mouse button hold on
* @brief The interval on time updates for a user mouse button hold on
* calendar widgets' month/year selection.
*
* This interval value is decreased while the user holds the mouse pointer

View File

@ -176,7 +176,7 @@ EAPI void elm_calendar_selectable_set(Elm_Calendar *obj, Elm_Calendar_Selectable
EAPI Elm_Calendar_Selectable elm_calendar_selectable_get(const Elm_Calendar *obj);
/**
* @brief The interval on time updates for an user mouse button hold on
* @brief The interval on time updates for a user mouse button hold on
* calendar widgets' month/year selection.
*
* This interval value is decreased while the user holds the mouse pointer
@ -200,7 +200,7 @@ EAPI Elm_Calendar_Selectable elm_calendar_selectable_get(const Elm_Calendar *obj
EAPI void elm_calendar_interval_set(Elm_Calendar *obj, double interval);
/**
* @brief The interval on time updates for an user mouse button hold on
* @brief The interval on time updates for a user mouse button hold on
* calendar widgets' month/year selection.
*
* This interval value is decreased while the user holds the mouse pointer

View File

@ -304,7 +304,7 @@ EAPI void elm_config_scroll_page_scroll_friction_set(double friction);
*
* @return @c EINA_TRUE if context menu is disabled, otherwise @c EINA_FALSE.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
* @since 1.17
*/
EAPI Eina_Bool elm_config_context_menu_disabled_get(void);
@ -315,7 +315,7 @@ EAPI Eina_Bool elm_config_context_menu_disabled_get(void);
* @param disabled disable context menu if @c EINA_TRUE, enable otherwise
*
* @see elm_config_context_menu_disabled_get()
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
* @since 1.17
*/
EAPI void elm_config_context_menu_disabled_set(Eina_Bool disabled);
@ -1927,7 +1927,7 @@ EAPI const char *elm_config_indicator_service_get(int rotation);
* Get the duration for occurring long tap event of gesture layer.
*
* @return Timeout for long tap event of gesture layer.
* @ingroup Elm_Gesture_Layer
* @ingroup Elm_Gesture_Layer_Group
* @since 1.8
*/
EAPI double elm_config_glayer_long_tap_start_timeout_get(void);
@ -1936,7 +1936,7 @@ EAPI double elm_config_glayer_long_tap_start_timeout_get(void);
* Set the duration for occurring long tap event of gesture layer.
*
* @param long_tap_timeout Timeout for long tap event of gesture layer.
* @ingroup Elm_Gesture_Layer
* @ingroup Elm_Gesture_Layer_Group
* @since 1.8
*/
EAPI void elm_config_glayer_long_tap_start_timeout_set(double long_tap_timeout);
@ -1945,7 +1945,7 @@ EAPI void elm_config_glayer_long_tap_start_timeout_set(double long_tap_timeout
* Get the duration for occurring double tap event of gesture layer.
*
* @return Timeout for double tap event of gesture layer.
* @ingroup Elm_Gesture_Layer
* @ingroup Elm_Gesture_Layer_Group
* @since 1.8
*/
EAPI double elm_config_glayer_double_tap_timeout_get(void);
@ -1954,7 +1954,7 @@ EAPI double elm_config_glayer_double_tap_timeout_get(void);
* Set the duration for occurring double tap event of gesture layer.
*
* @param double_tap_timeout Timeout for double tap event of gesture layer.
* @ingroup Elm_Gesture_Layer
* @ingroup Elm_Gesture_Layer_Group
* @since 1.8
*/
EAPI void elm_config_glayer_double_tap_timeout_set(double double_tap_timeout);

View File

@ -13,7 +13,7 @@ typedef Eo Elm_Ctxpopup;
/** Direction in which to show the popup.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
typedef enum
{
@ -33,7 +33,7 @@ typedef enum
#endif
/** Elementary context popup class
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
#define ELM_CTXPOPUP_CLASS elm_ctxpopup_class_get()
@ -46,7 +46,7 @@ EWAPI const Efl_Class *elm_ctxpopup_class_get(void);
*
* @return The selected item or @c null.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_selected_item_get(const Eo *obj);
@ -57,7 +57,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_selected_item_get(const Eo *obj);
*
* @return The first item or @c null.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_first_item_get(const Eo *obj);
@ -68,7 +68,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_first_item_get(const Eo *obj);
*
* @return The last item or @c null.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_last_item_get(const Eo *obj);
@ -79,7 +79,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_last_item_get(const Eo *obj);
*
* @return const list to widget items
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI const Eina_List *elm_obj_ctxpopup_items_get(const Eo *obj);
@ -89,7 +89,7 @@ EOAPI const Eina_List *elm_obj_ctxpopup_items_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] horizontal @c true for horizontal mode, @c false for vertical.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI void elm_obj_ctxpopup_horizontal_set(Eo *obj, Eina_Bool horizontal);
@ -102,7 +102,7 @@ EOAPI void elm_obj_ctxpopup_horizontal_set(Eo *obj, Eina_Bool horizontal);
*
* @return @c true for horizontal mode, @c false for vertical.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Eina_Bool elm_obj_ctxpopup_horizontal_get(const Eo *obj);
@ -124,7 +124,7 @@ EOAPI Eina_Bool elm_obj_ctxpopup_horizontal_get(const Eo *obj);
*
* @since 1.9
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI void elm_obj_ctxpopup_auto_hide_disabled_set(Eo *obj, Eina_Bool disabled);
@ -139,7 +139,7 @@ EOAPI void elm_obj_ctxpopup_auto_hide_disabled_set(Eo *obj, Eina_Bool disabled);
*
* @since 1.9
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Eina_Bool elm_obj_ctxpopup_auto_hide_disabled_get(const Eo *obj);
@ -156,7 +156,7 @@ EOAPI Eina_Bool elm_obj_ctxpopup_auto_hide_disabled_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] parent The parent to use.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI void elm_obj_ctxpopup_hover_parent_set(Eo *obj, Efl_Canvas_Object *parent);
@ -169,7 +169,7 @@ EOAPI void elm_obj_ctxpopup_hover_parent_set(Eo *obj, Efl_Canvas_Object *parent)
*
* @return The parent to use.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Efl_Canvas_Object *elm_obj_ctxpopup_hover_parent_get(const Eo *obj);
@ -188,7 +188,7 @@ EOAPI Efl_Canvas_Object *elm_obj_ctxpopup_hover_parent_get(const Eo *obj);
* @param[in] third 3th priority of direction
* @param[in] fourth 4th priority of direction
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI void elm_obj_ctxpopup_direction_priority_set(Eo *obj, Elm_Ctxpopup_Direction first, Elm_Ctxpopup_Direction second, Elm_Ctxpopup_Direction third, Elm_Ctxpopup_Direction fourth);
@ -203,7 +203,7 @@ EOAPI void elm_obj_ctxpopup_direction_priority_set(Eo *obj, Elm_Ctxpopup_Directi
* @param[out] third 3th priority of direction
* @param[out] fourth 4th priority of direction
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI void elm_obj_ctxpopup_direction_priority_get(const Eo *obj, Elm_Ctxpopup_Direction *first, Elm_Ctxpopup_Direction *second, Elm_Ctxpopup_Direction *third, Elm_Ctxpopup_Direction *fourth);
@ -216,7 +216,7 @@ EOAPI void elm_obj_ctxpopup_direction_priority_get(const Eo *obj, Elm_Ctxpopup_D
*
* @return Direction
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Ctxpopup_Direction elm_obj_ctxpopup_direction_get(const Eo *obj);
@ -228,13 +228,13 @@ EOAPI Elm_Ctxpopup_Direction elm_obj_ctxpopup_direction_get(const Eo *obj);
* be emitted.
* @param[in] obj The object.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI void elm_obj_ctxpopup_dismiss(Eo *obj);
/** Clear all items in the given ctxpopup object.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI void elm_obj_ctxpopup_clear(Eo *obj);
@ -254,7 +254,7 @@ EOAPI void elm_obj_ctxpopup_clear(Eo *obj);
*
* @since 1.21
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_insert_before(Eo *obj, Elm_Widget_Item *before, const char *label, Efl_Canvas_Object *icon, Evas_Smart_Cb func, const void *data);
@ -274,7 +274,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_insert_before(Eo *obj, Elm_Widget_I
*
* @since 1.21
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_insert_after(Eo *obj, Elm_Widget_Item *after, const char *label, Efl_Canvas_Object *icon, Evas_Smart_Cb func, const void *data);
@ -294,7 +294,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_insert_after(Eo *obj, Elm_Widget_It
*
* @return A handle to the item added or @c null, on errors.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_append(Eo *obj, const char *label, Efl_Canvas_Object *icon, Evas_Smart_Cb func, const void *data);
@ -316,7 +316,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_append(Eo *obj, const char *label,
*
* @since 1.11
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_prepend(Eo *obj, const char *label, Efl_Canvas_Object *icon, Evas_Smart_Cb func, const void *data);
@ -324,7 +324,7 @@ EWAPI extern const Efl_Event_Description _ELM_CTXPOPUP_EVENT_DISMISSED;
/** Called when context popup was dismissed
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
#define ELM_CTXPOPUP_EVENT_DISMISSED (&(_ELM_CTXPOPUP_EVENT_DISMISSED))
@ -333,7 +333,7 @@ EWAPI extern const Efl_Event_Description _ELM_CTXPOPUP_EVENT_GEOMETRY_UPDATE;
/** Called when context popup geometry was updated
* @return const Eina_Rect *
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
#define ELM_CTXPOPUP_EVENT_GEOMETRY_UPDATE (&(_ELM_CTXPOPUP_EVENT_GEOMETRY_UPDATE))

View File

@ -13,7 +13,7 @@ typedef Eo Elm_Ctxpopup;
/** Direction in which to show the popup.
*
* @ingroup Elm_Ctxpopup
* @ingroup Elm_Ctxpopup_Group
*/
typedef enum
{

View File

@ -13,9 +13,17 @@ typedef Eo Elm_Ctxpopup_Item;
#endif
/** Elementary context popup item class
/**
* Elementary context popup item class
*
* @ingroup Elm_Ctxpopup_Item
* @defgroup Elm_Ctxpopup_Item_Group
* @ingroup Elm_Ctxpopup_Group
*/
/**
* @brief Get the context popup item class
*
* @ingroup Elm_Ctxpopup_Item_Group
*/
#define ELM_CTXPOPUP_ITEM_CLASS elm_ctxpopup_item_class_get()
@ -31,7 +39,7 @@ EWAPI const Efl_Class *elm_ctxpopup_item_class_get(void);
* @return The item before the object in its parent's list. If there is no
* previous item or in case of error, @c null is returned.
*
* @ingroup Elm_Ctxpopup_Item
* @ingroup Elm_Ctxpopup_Item_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_prev_get(const Eo *obj);
@ -45,7 +53,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_prev_get(const Eo *obj);
* @return The item after the object in its parent's list. If there is no next
* item or in case of error, @c null is returned.
*
* @ingroup Elm_Ctxpopup_Item
* @ingroup Elm_Ctxpopup_Item_Group
*/
EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_next_get(const Eo *obj);
@ -66,7 +74,7 @@ EOAPI Elm_Widget_Item *elm_obj_ctxpopup_item_next_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] selected The selection state.
*
* @ingroup Elm_Ctxpopup_Item
* @ingroup Elm_Ctxpopup_Item_Group
*/
EOAPI void elm_obj_ctxpopup_item_selected_set(Eo *obj, Eina_Bool selected);
@ -79,7 +87,7 @@ EOAPI void elm_obj_ctxpopup_item_selected_set(Eo *obj, Eina_Bool selected);
*
* @return The selection state.
*
* @ingroup Elm_Ctxpopup_Item
* @ingroup Elm_Ctxpopup_Item_Group
*/
EOAPI Eina_Bool elm_obj_ctxpopup_item_selected_get(const Eo *obj);
@ -90,7 +98,7 @@ EOAPI Eina_Bool elm_obj_ctxpopup_item_selected_get(const Eo *obj);
* @param[in] func Smart callback function
* @param[in] data Data pointer
*
* @ingroup Elm_Ctxpopup_Item
* @ingroup Elm_Ctxpopup_Item_Group
*/
EOAPI void elm_obj_ctxpopup_item_init(Eo *obj, Evas_Smart_Cb func, const void *data);

View File

@ -68,7 +68,7 @@ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_autosave_get(const Evas_Obj
*
* @deprecated
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EINA_DEPRECATED EAPI void elm_scrolled_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly);
@ -81,7 +81,7 @@ EINA_DEPRECATED EAPI void elm_scrolled_entry_cnp_textonly_set(Evas_Objec
*
* @deprecated
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cnp_textonly_get(Evas_Object *obj);
@ -309,7 +309,7 @@ EINA_DEPRECATED EAPI void elm_map_markers_list_show(Eina_List *
* elm_map_marker_class_get_cb_set() should be used.
*
* This content is what will be inside the bubble that will be displayed
* when an user clicks over the marker.
* when a user clicks over the marker.
*
* This returns the actual Evas object used to be placed inside
* the bubble. This may be @c NULL, as it may
@ -680,7 +680,7 @@ EINA_DEPRECATED EAPI void elm_genlist_scroller_policy_get(const Evas_Ob
*
* @deprecated Use elm_scroller_policy_set() instead.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EINA_DEPRECATED EAPI void elm_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v);
@ -696,7 +696,7 @@ EINA_DEPRECATED EAPI void elm_entry_scrollbar_policy_set(Evas_Object *obj, Elm_S
*
* @deprecated Use elm_scroller_bounce_set() instead.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EINA_DEPRECATED EAPI void elm_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
@ -709,7 +709,7 @@ EINA_DEPRECATED EAPI void elm_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bou
*
* @deprecated Use elm_scroller_bounce_get() instead.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EINA_DEPRECATED EAPI void elm_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);

View File

@ -1,5 +1,5 @@
/**
* @defgroup Elm_Entry Entry
* @defgroup Elm_Entry_Group Entry
* @ingroup Elementary
*
* @image html entry_inheritance_tree.png

View File

@ -2,7 +2,7 @@
#define ELM_ENTRY_COMMON_H_
/**
* @addtogroup Elm_Entry
* @addtogroup Elm_Entry_Group
*
* @{
*/

View File

@ -15,7 +15,7 @@ typedef Eo Elm_Entry;
#endif
/** Elementary entry class
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_CLASS elm_entry_class_get()
@ -29,7 +29,7 @@ EWAPI const Efl_Class *elm_entry_class_get(void);
* @param[in] obj The object.
* @param[in] scroll @c true if it is to be scrollable, @c false otherwise.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_scrollable_set(Eo *obj, Eina_Bool scroll);
@ -43,12 +43,12 @@ EOAPI void elm_obj_entry_scrollable_set(Eo *obj, Eina_Bool scroll);
*
* @return @c true if it is to be scrollable, @c false otherwise.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_scrollable_get(const Eo *obj);
/**
* @brief Set the attribute to show the input panel in case of only an user's
* @brief Set the attribute to show the input panel in case of only a user's
* explicit Mouse Up event. It doesn't request to show the input panel even
* though it has focus.
*
@ -58,12 +58,12 @@ EOAPI Eina_Bool elm_obj_entry_scrollable_get(const Eo *obj);
*
* @since 1.9
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_show_on_demand_set(Eo *obj, Eina_Bool ondemand);
/**
* @brief Get the attribute to show the input panel in case of only an user's
* @brief Get the attribute to show the input panel in case of only a user's
* explicit Mouse Up event.
*
* @param[in] obj The object.
@ -73,7 +73,7 @@ EOAPI void elm_obj_entry_input_panel_show_on_demand_set(Eo *obj, Eina_Bool ondem
*
* @since 1.9
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_input_panel_show_on_demand_get(const Eo *obj);
@ -83,7 +83,7 @@ EOAPI Eina_Bool elm_obj_entry_input_panel_show_on_demand_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] disabled If @c true, the menu is disabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_context_menu_disabled_set(Eo *obj, Eina_Bool disabled);
@ -95,7 +95,7 @@ EOAPI void elm_obj_entry_context_menu_disabled_set(Eo *obj, Eina_Bool disabled);
*
* @return If @c true, the menu is disabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_context_menu_disabled_get(const Eo *obj);
@ -113,7 +113,7 @@ EOAPI Eina_Bool elm_obj_entry_context_menu_disabled_get(const Eo *obj);
* @param[in] cnp_mode One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP,
* #ELM_CNP_MODE_NO_IMAGE, #ELM_CNP_MODE_PLAINTEXT.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cnp_mode_set(Eo *obj, Elm_Cnp_Mode cnp_mode);
@ -128,7 +128,7 @@ EOAPI void elm_obj_entry_cnp_mode_set(Eo *obj, Elm_Cnp_Mode cnp_mode);
* @return One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP, #ELM_CNP_MODE_NO_IMAGE,
* #ELM_CNP_MODE_PLAINTEXT.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Elm_Cnp_Mode elm_obj_entry_cnp_mode_get(const Eo *obj);
@ -148,7 +148,7 @@ EOAPI Elm_Cnp_Mode elm_obj_entry_cnp_mode_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] format The file format
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_file_text_format_set(Eo *obj, Elm_Text_Format format);
@ -160,7 +160,7 @@ EOAPI void elm_obj_entry_file_text_format_set(Eo *obj, Elm_Text_Format format);
* @param[in] obj The object.
* @param[in] lang Language to be set to the input panel.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_language_set(Eo *obj, Elm_Input_Panel_Lang lang);
@ -171,7 +171,7 @@ EOAPI void elm_obj_entry_input_panel_language_set(Eo *obj, Elm_Input_Panel_Lang
*
* @return Language to be set to the input panel.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Elm_Input_Panel_Lang elm_obj_entry_input_panel_language_get(const Eo *obj);
@ -181,7 +181,7 @@ EOAPI Elm_Input_Panel_Lang elm_obj_entry_input_panel_language_get(const Eo *obj)
* @param[in] obj The object.
* @param[in] disabled If @c true, the selection handlers are disabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_selection_handler_disabled_set(Eo *obj, Eina_Bool disabled);
@ -192,7 +192,7 @@ EOAPI void elm_obj_entry_selection_handler_disabled_set(Eo *obj, Eina_Bool disab
*
* @return If @c true, the selection handlers are disabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_selection_handler_disabled_get(const Eo *obj);
@ -204,7 +204,7 @@ EOAPI Eina_Bool elm_obj_entry_selection_handler_disabled_get(const Eo *obj);
*
* @since 1.8
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_layout_variation_set(Eo *obj, int variation);
@ -217,7 +217,7 @@ EOAPI void elm_obj_entry_input_panel_layout_variation_set(Eo *obj, int variation
*
* @since 1.8
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI int elm_obj_entry_input_panel_layout_variation_get(const Eo *obj);
@ -227,7 +227,7 @@ EOAPI int elm_obj_entry_input_panel_layout_variation_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] autocapital_type The type of autocapitalization.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_autocapital_type_set(Eo *obj, Elm_Autocapital_Type autocapital_type);
@ -238,7 +238,7 @@ EOAPI void elm_obj_entry_autocapital_type_set(Eo *obj, Elm_Autocapital_Type auto
*
* @return The type of autocapitalization.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Elm_Autocapital_Type elm_obj_entry_autocapital_type_get(const Eo *obj);
@ -258,7 +258,7 @@ EOAPI Elm_Autocapital_Type elm_obj_entry_autocapital_type_get(const Eo *obj);
* @param[in] editable If @c true, user input will be inserted in the entry, if
* not, the entry is read-only and no user input is allowed.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_editable_set(Eo *obj, Eina_Bool editable);
@ -270,7 +270,7 @@ EOAPI void elm_obj_entry_editable_set(Eo *obj, Eina_Bool editable);
* @return If @c true, user input will be inserted in the entry, if not, the
* entry is read-only and no user input is allowed.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_editable_get(const Eo *obj);
@ -285,7 +285,7 @@ EOAPI Eina_Bool elm_obj_entry_editable_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] style The style to use for the underlying hover.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_anchor_hover_style_set(Eo *obj, const char *style);
@ -296,7 +296,7 @@ EOAPI void elm_obj_entry_anchor_hover_style_set(Eo *obj, const char *style);
*
* @return The style to use for the underlying hover.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI const char *elm_obj_entry_anchor_hover_style_get(const Eo *obj);
@ -315,7 +315,7 @@ EOAPI const char *elm_obj_entry_anchor_hover_style_get(const Eo *obj);
* @param[in] single_line If @c true, the text in the entry will be on a single
* line.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_single_line_set(Eo *obj, Eina_Bool single_line);
@ -326,7 +326,7 @@ EOAPI void elm_obj_entry_single_line_set(Eo *obj, Eina_Bool single_line);
*
* @return If @c true, the text in the entry will be on a single line.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_single_line_get(const Eo *obj);
@ -339,7 +339,7 @@ EOAPI Eina_Bool elm_obj_entry_single_line_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] password If @c true, password mode is enabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_password_set(Eo *obj, Eina_Bool password);
@ -350,7 +350,7 @@ EOAPI void elm_obj_entry_password_set(Eo *obj, Eina_Bool password);
*
* @return If @c true, password mode is enabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_password_get(const Eo *obj);
@ -361,7 +361,7 @@ EOAPI Eina_Bool elm_obj_entry_password_get(const Eo *obj);
* @param[in] disabled The state to put in in: @c true for disabled, @c false
* for enabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_return_key_disabled_set(Eo *obj, Eina_Bool disabled);
@ -373,7 +373,7 @@ EOAPI void elm_obj_entry_input_panel_return_key_disabled_set(Eo *obj, Eina_Bool
*
* @return The state to put in in: @c true for disabled, @c false for enabled.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_input_panel_return_key_disabled_get(const Eo *obj);
@ -383,7 +383,7 @@ EOAPI Eina_Bool elm_obj_entry_input_panel_return_key_disabled_get(const Eo *obj)
* @param[in] obj The object.
* @param[in] auto_save Autosave the loaded file or not.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_autosave_set(Eo *obj, Eina_Bool auto_save);
@ -394,7 +394,7 @@ EOAPI void elm_obj_entry_autosave_set(Eo *obj, Eina_Bool auto_save);
*
* @return Autosave the loaded file or not.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_autosave_get(const Eo *obj);
@ -407,7 +407,7 @@ EOAPI Eina_Bool elm_obj_entry_autosave_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] parent The object to use as parent for the hover.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_anchor_hover_parent_set(Eo *obj, Efl_Canvas_Object *parent);
@ -421,7 +421,7 @@ EOAPI void elm_obj_entry_anchor_hover_parent_set(Eo *obj, Efl_Canvas_Object *par
*
* @return The object to use as parent for the hover.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Efl_Canvas_Object *elm_obj_entry_anchor_hover_parent_get(const Eo *obj);
@ -432,7 +432,7 @@ EOAPI Efl_Canvas_Object *elm_obj_entry_anchor_hover_parent_get(const Eo *obj);
* @param[in] prediction Whether the entry should allow to use the text
* prediction.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_prediction_allow_set(Eo *obj, Eina_Bool prediction);
@ -443,7 +443,7 @@ EOAPI void elm_obj_entry_prediction_allow_set(Eo *obj, Eina_Bool prediction);
*
* @return Whether the entry should allow to use the text prediction.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_prediction_allow_get(const Eo *obj);
@ -454,7 +454,7 @@ EOAPI Eina_Bool elm_obj_entry_prediction_allow_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] hints Input hint.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_hint_set(Eo *obj, Elm_Input_Hints hints);
@ -465,7 +465,7 @@ EOAPI void elm_obj_entry_input_hint_set(Eo *obj, Elm_Input_Hints hints);
*
* @return Input hint.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Elm_Input_Hints elm_obj_entry_input_hint_get(const Eo *obj);
@ -475,7 +475,7 @@ EOAPI Elm_Input_Hints elm_obj_entry_input_hint_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] layout Layout type.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_layout_set(Eo *obj, Elm_Input_Panel_Layout layout);
@ -486,7 +486,7 @@ EOAPI void elm_obj_entry_input_panel_layout_set(Eo *obj, Elm_Input_Panel_Layout
*
* @return Layout type.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Elm_Input_Panel_Layout elm_obj_entry_input_panel_layout_get(const Eo *obj);
@ -502,7 +502,7 @@ EOAPI Elm_Input_Panel_Layout elm_obj_entry_input_panel_layout_get(const Eo *obj)
* @param[in] obj The object.
* @param[in] return_key_type The type of "return" key on the input panel.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_return_key_type_set(Eo *obj, Elm_Input_Panel_Return_Key_Type return_key_type);
@ -513,7 +513,7 @@ EOAPI void elm_obj_entry_input_panel_return_key_type_set(Eo *obj, Elm_Input_Pane
*
* @return The type of "return" key on the input panel.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Elm_Input_Panel_Return_Key_Type elm_obj_entry_input_panel_return_key_type_get(const Eo *obj);
@ -524,7 +524,7 @@ EOAPI Elm_Input_Panel_Return_Key_Type elm_obj_entry_input_panel_return_key_type_
* @param[in] enabled If @c true, the input panel is appeared when entry is
* clicked or has a focus.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_enabled_set(Eo *obj, Eina_Bool enabled);
@ -536,7 +536,7 @@ EOAPI void elm_obj_entry_input_panel_enabled_set(Eo *obj, Eina_Bool enabled);
* @return If @c true, the input panel is appeared when entry is clicked or has
* a focus.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_input_panel_enabled_get(const Eo *obj);
@ -554,7 +554,7 @@ EOAPI Eina_Bool elm_obj_entry_input_panel_enabled_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] wrap The wrap mode to use. See Elm_Wrap_Type for details on them.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_line_wrap_set(Eo *obj, Elm_Wrap_Type wrap);
@ -565,7 +565,7 @@ EOAPI void elm_obj_entry_line_wrap_set(Eo *obj, Elm_Wrap_Type wrap);
*
* @return The wrap mode to use. See Elm_Wrap_Type for details on them.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Elm_Wrap_Type elm_obj_entry_line_wrap_get(const Eo *obj);
@ -578,7 +578,7 @@ EOAPI Elm_Wrap_Type elm_obj_entry_line_wrap_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] pos The position of the cursor.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cursor_pos_set(Eo *obj, int pos);
@ -589,7 +589,7 @@ EOAPI void elm_obj_entry_cursor_pos_set(Eo *obj, int pos);
*
* @return The position of the cursor.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI int elm_obj_entry_cursor_pos_get(const Eo *obj);
@ -601,13 +601,13 @@ EOAPI int elm_obj_entry_cursor_pos_get(const Eo *obj);
* @param[in] setting @c true if the object should be displayed, @c false if
* not.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_icon_visible_set(Eo *obj, Eina_Bool setting);
/** This moves the cursor to the end of the current line.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cursor_line_end_set(Eo *obj);
@ -620,7 +620,7 @@ EOAPI void elm_obj_entry_cursor_line_end_set(Eo *obj);
*
* @since 1.9
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_select_region_set(Eo *obj, int start, int end);
@ -633,7 +633,7 @@ EOAPI void elm_obj_entry_select_region_set(Eo *obj, int start, int end);
*
* @since 1.18
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_select_region_get(const Eo *obj, int *start, int *end);
@ -649,7 +649,7 @@ EOAPI void elm_obj_entry_select_region_get(const Eo *obj, int *start, int *end);
* @param[in] enabled If @c enabled is @c true, the return key is automatically
* disabled when the entry has no text.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_return_key_autoenabled_set(Eo *obj, Eina_Bool enabled);
@ -660,25 +660,25 @@ EOAPI void elm_obj_entry_input_panel_return_key_autoenabled_set(Eo *obj, Eina_Bo
* @param[in] obj The object.
* @param[in] setting @c true if the object should be displayed, false if not.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_end_visible_set(Eo *obj, Eina_Bool setting);
/** This moves the cursor to the beginning of the entry.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cursor_begin_set(Eo *obj);
/** This moves the cursor to the beginning of the current line.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cursor_line_begin_set(Eo *obj);
/** This moves the cursor to the end of the entry.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cursor_end_set(Eo *obj);
@ -709,7 +709,7 @@ EOAPI void elm_obj_entry_cursor_end_set(Eo *obj);
*
* @return Textblock object
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Efl_Canvas_Object *elm_obj_entry_textblock_get(const Eo *obj);
@ -727,7 +727,7 @@ EOAPI Efl_Canvas_Object *elm_obj_entry_textblock_get(const Eo *obj);
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_textblock_cursor_geometry_get(const Eo *obj, int *x, int *y, int *w, int *h);
@ -743,7 +743,7 @@ EOAPI Eina_Bool elm_obj_entry_textblock_cursor_geometry_get(const Eo *obj, int *
*
* @return Input method context
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void *elm_obj_entry_imf_context_get(const Eo *obj);
@ -759,7 +759,7 @@ EOAPI void *elm_obj_entry_imf_context_get(const Eo *obj);
*
* @return @c true if format node exists, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_cursor_is_format_get(const Eo *obj);
@ -775,7 +775,7 @@ EOAPI Eina_Bool elm_obj_entry_cursor_is_format_get(const Eo *obj);
*
* @return Character
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI char *elm_obj_entry_textblock_cursor_content_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
@ -794,7 +794,7 @@ EOAPI char *elm_obj_entry_textblock_cursor_content_get(const Eo *obj) EINA_WARN_
*
* @return Selected string
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI const char *elm_obj_entry_selection_get(const Eo *obj);
@ -805,7 +805,7 @@ EOAPI const char *elm_obj_entry_selection_get(const Eo *obj);
*
* @return @c true if position has a visible format, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_cursor_is_visible_format_get(const Eo *obj);
@ -817,7 +817,7 @@ EOAPI Eina_Bool elm_obj_entry_cursor_is_visible_format_get(const Eo *obj);
*
* @since 1.18
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_select_allow_set(Eo *obj, Eina_Bool allow);
@ -830,7 +830,7 @@ EOAPI void elm_obj_entry_select_allow_set(Eo *obj, Eina_Bool allow);
*
* @since 1.18
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_select_allow_get(const Eo *obj);
@ -841,7 +841,7 @@ EOAPI Eina_Bool elm_obj_entry_select_allow_get(const Eo *obj);
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_cursor_prev(Eo *obj);
@ -849,7 +849,7 @@ EOAPI Eina_Bool elm_obj_entry_cursor_prev(Eo *obj);
*
* @since 1.7
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_text_style_user_pop(Eo *obj);
@ -862,7 +862,7 @@ EOAPI void elm_obj_entry_text_style_user_pop(Eo *obj);
* @param[in] func The function called to provide the item object.
* @param[in] data The data passed to @c func.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_item_provider_prepend(Eo *obj, Elm_Entry_Item_Provider_Cb func, void *data);
@ -876,7 +876,7 @@ EOAPI void elm_obj_entry_item_provider_prepend(Eo *obj, Elm_Entry_Item_Provider_
* @c false).
* @param[in] obj The object.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_show(Eo *obj);
@ -888,7 +888,7 @@ EOAPI void elm_obj_entry_input_panel_show(Eo *obj);
* Context to clear the preedit state.
* @param[in] obj The object.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_imf_context_reset(Eo *obj);
@ -900,14 +900,14 @@ EOAPI void elm_obj_entry_imf_context_reset(Eo *obj);
* popup, returning the entry to its normal state.
* @param[in] obj The object.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_anchor_hover_end(Eo *obj);
/** This begins a selection within the entry as though the user were holding
* down the mouse button to make a selection.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cursor_selection_begin(Eo *obj);
@ -918,20 +918,20 @@ EOAPI void elm_obj_entry_cursor_selection_begin(Eo *obj);
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_cursor_down(Eo *obj);
/** This function writes any changes made to the file set with @ref
* elm_entry_file_set.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_file_save(Eo *obj);
/** This executes a "copy" action on the selected text in the entry.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_selection_copy(Eo *obj);
@ -947,7 +947,7 @@ EOAPI void elm_obj_entry_selection_copy(Eo *obj);
*
* @since 1.7
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_text_style_user_push(Eo *obj, const char *style);
@ -961,7 +961,7 @@ EOAPI void elm_obj_entry_text_style_user_push(Eo *obj, const char *style);
* @param[in] func The function called to provide the item object.
* @param[in] data The data passed to @c func.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_item_provider_remove(Eo *obj, Elm_Entry_Item_Provider_Cb func, void *data);
@ -976,7 +976,7 @@ EOAPI void elm_obj_entry_item_provider_remove(Eo *obj, Elm_Entry_Item_Provider_C
*
* @since 1.7
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI const char *elm_obj_entry_text_style_user_peek(const Eo *obj);
@ -987,7 +987,7 @@ EOAPI const char *elm_obj_entry_text_style_user_peek(const Eo *obj);
* See also @ref elm_obj_entry_context_menu_item_add.
* @param[in] obj The object.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_context_menu_clear(Eo *obj);
@ -998,7 +998,7 @@ EOAPI void elm_obj_entry_context_menu_clear(Eo *obj);
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_cursor_up(Eo *obj);
@ -1020,7 +1020,7 @@ EOAPI Eina_Bool elm_obj_entry_cursor_up(Eo *obj);
* @param[in] obj The object.
* @param[in] entry The text to insert.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_insert(Eo *obj, const char *entry);
@ -1035,7 +1035,7 @@ EOAPI void elm_obj_entry_insert(Eo *obj, const char *entry);
* @param[in] data The specific data to be set to the input panel.
* @param[in] len The length of data, in bytes, to send to the input panel.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_imdata_set(Eo *obj, const void *data, int len);
@ -1046,13 +1046,13 @@ EOAPI void elm_obj_entry_input_panel_imdata_set(Eo *obj, const void *data, int l
* @param[out] data The specific data to be got from the input panel.
* @param[out] len The length of data.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_imdata_get(const Eo *obj, void *data, int *len);
/** This executes a "paste" action in the entry.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_selection_paste(Eo *obj);
@ -1063,13 +1063,13 @@ EOAPI void elm_obj_entry_selection_paste(Eo *obj);
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_cursor_next(Eo *obj);
/** This drops any existing text selection within the entry.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_select_none(Eo *obj);
@ -1082,26 +1082,26 @@ EOAPI void elm_obj_entry_select_none(Eo *obj);
* @c false)
* @param[in] obj The object.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_input_panel_hide(Eo *obj);
/** This selects all text within the entry.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_select_all(Eo *obj);
/** This ends a selection within the entry as though the user had just released
* the mouse button while making a selection.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_cursor_selection_end(Eo *obj);
/** This executes a "cut" action on the selected text in the entry.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_selection_cut(Eo *obj);
@ -1116,7 +1116,7 @@ EOAPI void elm_obj_entry_selection_cut(Eo *obj);
*
* @return @c true if empty, @c false otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_is_empty(const Eo *obj);
@ -1130,7 +1130,7 @@ EOAPI Eina_Bool elm_obj_entry_is_empty(const Eo *obj);
* @param[in] func The filter function to remove.
* @param[in] data The user data passed when adding the function.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_markup_filter_remove(Eo *obj, Elm_Entry_Filter_Cb func, void *data);
@ -1150,7 +1150,7 @@ EOAPI void elm_obj_entry_markup_filter_remove(Eo *obj, Elm_Entry_Filter_Cb func,
* @param[in] func The function called to provide the item object.
* @param[in] data The data passed to @c func.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_item_provider_append(Eo *obj, Elm_Entry_Item_Provider_Cb func, void *data);
@ -1169,7 +1169,7 @@ EOAPI void elm_obj_entry_item_provider_append(Eo *obj, Elm_Entry_Item_Provider_C
* @param[in] func The function to use as text filter.
* @param[in] data User data to pass to @c func.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_markup_filter_append(Eo *obj, Elm_Entry_Filter_Cb func, void *data);
@ -1186,7 +1186,7 @@ EOAPI void elm_obj_entry_markup_filter_append(Eo *obj, Elm_Entry_Filter_Cb func,
* @param[in] obj The object.
* @param[in] str The text to be appended.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_append(Eo *obj, const char *str);
@ -1209,7 +1209,7 @@ EOAPI void elm_obj_entry_append(Eo *obj, const char *str);
* @param[in] func The callback to execute when the item is clicked.
* @param[in] data The data to associate with the item for related functions.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_context_menu_item_add(Eo *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
@ -1222,7 +1222,7 @@ EOAPI void elm_obj_entry_context_menu_item_add(Eo *obj, const char *label, const
* @param[in] func The function to use as text filter.
* @param[in] data User data to pass to @c func.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_markup_filter_prepend(Eo *obj, Elm_Entry_Filter_Cb func, void *data);
@ -1235,7 +1235,7 @@ EOAPI void elm_obj_entry_markup_filter_prepend(Eo *obj, Elm_Entry_Filter_Cb func
*
* @since 1.20
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI void elm_obj_entry_prediction_hint_set(Eo *obj, const char *prediction_hint);
@ -1250,7 +1250,7 @@ EOAPI void elm_obj_entry_prediction_hint_set(Eo *obj, const char *prediction_hin
*
* @since 1.21
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_prediction_hint_hash_set(Eo *obj, const char *key, const char *value);
@ -1264,7 +1264,7 @@ EOAPI Eina_Bool elm_obj_entry_prediction_hint_hash_set(Eo *obj, const char *key,
*
* @since 1.21
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EOAPI Eina_Bool elm_obj_entry_prediction_hint_hash_del(Eo *obj, const char *key);
@ -1272,7 +1272,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ACTIVATED;
/** Called when entry got activated
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ACTIVATED (&(_ELM_ENTRY_EVENT_ACTIVATED))
@ -1280,7 +1280,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CHANGED;
/** Called when entry changed
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_CHANGED (&(_ELM_ENTRY_EVENT_CHANGED))
@ -1289,7 +1289,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CHANGED_USER;
/** Called when the object changed due to user interaction
* @return Elm_Entry_Change_Info
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_CHANGED_USER (&(_ELM_ENTRY_EVENT_CHANGED_USER))
@ -1298,7 +1298,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_VALIDATE;
/** Called when validating
* @return Elm_Validate_Content
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_VALIDATE (&(_ELM_ENTRY_EVENT_VALIDATE))
@ -1306,7 +1306,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CONTEXT_OPEN;
/** Called when context menu was opened
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_CONTEXT_OPEN (&(_ELM_ENTRY_EVENT_CONTEXT_OPEN))
@ -1315,7 +1315,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_CLICKED;
/** Called when anchor was clicked
* @return Elm_Entry_Anchor_Info
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ANCHOR_CLICKED (&(_ELM_ENTRY_EVENT_ANCHOR_CLICKED))
@ -1323,7 +1323,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_REJECTED;
/** Called when entry was rejected
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_REJECTED (&(_ELM_ENTRY_EVENT_REJECTED))
@ -1331,7 +1331,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_MAXLENGTH_REACHED;
/** Called when maximum entry length has been reached
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_MAXLENGTH_REACHED (&(_ELM_ENTRY_EVENT_MAXLENGTH_REACHED))
@ -1339,7 +1339,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_PREEDIT_CHANGED;
/** Called when entry preedit changed
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_PREEDIT_CHANGED (&(_ELM_ENTRY_EVENT_PREEDIT_CHANGED))
@ -1347,7 +1347,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_PRESS;
/** Called when entry pressed
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_PRESS (&(_ELM_ENTRY_EVENT_PRESS))
@ -1355,7 +1355,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_REDO_REQUEST;
/** Called when redo was requested
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_REDO_REQUEST (&(_ELM_ENTRY_EVENT_REDO_REQUEST))
@ -1363,7 +1363,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_UNDO_REQUEST;
/** Called when undo was requested
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_UNDO_REQUEST (&(_ELM_ENTRY_EVENT_UNDO_REQUEST))
@ -1371,7 +1371,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_TEXT_SET_DONE;
/** Called when text set finished
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_TEXT_SET_DONE (&(_ELM_ENTRY_EVENT_TEXT_SET_DONE))
@ -1379,7 +1379,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ABORTED;
/** Called when entry was aborted
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ABORTED (&(_ELM_ENTRY_EVENT_ABORTED))
@ -1388,7 +1388,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_DOWN;
/** Called on anchor down
* @return Elm_Entry_Anchor_Info
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ANCHOR_DOWN (&(_ELM_ENTRY_EVENT_ANCHOR_DOWN))
@ -1397,7 +1397,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_HOVER_OPENED;
/** Called when hover opened
* @return Elm_Entry_Anchor_Hover_Info
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ANCHOR_HOVER_OPENED (&(_ELM_ENTRY_EVENT_ANCHOR_HOVER_OPENED))
@ -1406,7 +1406,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_IN;
/** Called on anchor in
* @return Elm_Entry_Anchor_Info
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ANCHOR_IN (&(_ELM_ENTRY_EVENT_ANCHOR_IN))
@ -1415,7 +1415,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_OUT;
/** Called on anchor out
* @return Elm_Entry_Anchor_Info
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ANCHOR_OUT (&(_ELM_ENTRY_EVENT_ANCHOR_OUT))
@ -1424,7 +1424,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_ANCHOR_UP;
/** called on anchor up
* @return Elm_Entry_Anchor_Info
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_ANCHOR_UP (&(_ELM_ENTRY_EVENT_ANCHOR_UP))
@ -1432,7 +1432,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CURSOR_CHANGED;
/** Called on cursor changed
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_CURSOR_CHANGED (&(_ELM_ENTRY_EVENT_CURSOR_CHANGED))
@ -1440,7 +1440,7 @@ EWAPI extern const Efl_Event_Description _ELM_ENTRY_EVENT_CURSOR_CHANGED_MANUAL;
/** Called on manual cursor change
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
#define ELM_ENTRY_EVENT_CURSOR_CHANGED_MANUAL (&(_ELM_ENTRY_EVENT_CURSOR_CHANGED_MANUAL))

View File

@ -41,7 +41,7 @@ EAPI void elm_entry_scrollable_set(Elm_Entry *obj, Eina_Bool scroll);
EAPI Eina_Bool elm_entry_scrollable_get(const Elm_Entry *obj);
/**
* @brief Set the attribute to show the input panel in case of only an user's
* @brief Set the attribute to show the input panel in case of only a user's
* explicit Mouse Up event. It doesn't request to show the input panel even
* though it has focus.
*
@ -56,7 +56,7 @@ EAPI Eina_Bool elm_entry_scrollable_get(const Elm_Entry *obj);
EAPI void elm_entry_input_panel_show_on_demand_set(Elm_Entry *obj, Eina_Bool ondemand);
/**
* @brief Get the attribute to show the input panel in case of only an user's
* @brief Get the attribute to show the input panel in case of only a user's
* explicit Mouse Up event.
*
* @param[in] obj The object.

View File

@ -12,7 +12,7 @@
* @param parent The parent object
* @return The new object or NULL if it cannot be created
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EAPI Evas_Object *elm_entry_add(Evas_Object *parent);
@ -24,7 +24,7 @@ EAPI Evas_Object *elm_entry_add(Evas_Object *parent);
*
* @note Using this function bypasses text filters
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EAPI void elm_entry_entry_set(Evas_Object *obj, const char *entry);
@ -35,7 +35,7 @@ EAPI void elm_entry_entry_set(Evas_Object *obj, const char *entry)
* @param obj The entry object
* @return The currently displayed text or NULL on failure
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EAPI const char *elm_entry_entry_get(const Evas_Object *obj);
@ -51,7 +51,7 @@ EAPI const char *elm_entry_entry_get(const Evas_Object *obj);
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*
* @param[in] obj The entry object
* @param[in] file The path to the file to load and save
@ -66,7 +66,7 @@ EAPI Eina_Bool elm_entry_file_set(Evas_Object *obj, const char *file, E
* This function can be used to retrieve any file set on the entry for
* edition, along with the format used to load and save it.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*
* @param[in] obj The entry object
* @param[out] file The path to the file to load and save
@ -82,6 +82,6 @@ EAPI void elm_entry_file_get(const Evas_Object *obj, const char **
* @ref elm_entry_textblock_get for more information.
* @param[in] obj The object.
*
* @ingroup Elm_Entry
* @ingroup Elm_Entry_Group
*/
EAPI void elm_entry_calc_force(Evas_Object *obj);

View File

@ -108,7 +108,7 @@ EOAPI Elm_Widget_Item *elm_obj_flipselector_selected_item_get(const Eo *obj);
EOAPI void elm_obj_flipselector_first_interval_set(Eo *obj, double interval);
/**
* @brief Get the interval on time updates for an user mouse button hold on a
* @brief Get the interval on time updates for a user mouse button hold on a
* flip selector widget.
*
* See also @ref elm_obj_flipselector_first_interval_set for more details.

View File

@ -101,7 +101,7 @@ EAPI Elm_Widget_Item *elm_flipselector_selected_item_get(const Elm_Flipselector
EAPI void elm_flipselector_first_interval_set(Elm_Flipselector *obj, double interval);
/**
* @brief Get the interval on time updates for an user mouse button hold on a
* @brief Get the interval on time updates for a user mouse button hold on a
* flip selector widget.
*
* See also @ref elm_flipselector_first_interval_set for more details.

View File

@ -291,7 +291,7 @@ typedef enum
typedef enum
{
ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT = 0, /**< default multiple select mode */
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL, /**< disallow mutiple selection
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL, /**< disallow multiple selection
* when clicked without control
* key pressed */
ELM_OBJECT_MULTI_SELECT_MODE_MAX /**< canary value: any value greater or equal
@ -342,7 +342,7 @@ typedef enum
/** Defines if the item is of any special type (has subitems or it's the index
* of a group), or is just a simple item.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
typedef enum
{
@ -359,7 +359,7 @@ typedef enum
/** Defines the type of the item part Used while updating item's parts It can
* be used at updating multi fields.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
typedef enum
{
@ -371,7 +371,7 @@ typedef enum
/** Defines where to position the item in the genlist.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
typedef enum
{
@ -389,7 +389,7 @@ typedef enum
/** Defines where to position the item in the genlist.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
typedef enum
{
@ -407,7 +407,7 @@ typedef enum
/** Defines the type of the item part Used while updating item's parts. It can
* be used at updating multi fields.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
typedef enum
{

View File

@ -1,5 +1,5 @@
/**
* @defgroup Elm_Gengrid Gengrid (Generic grid)
* @defgroup Elm_Gengrid_Group Gengrid (Generic grid)
* @ingroup Elementary
*
* @image html gengrid_inheritance_tree.png
@ -271,7 +271,7 @@
*/
/**
* @addtogroup Elm_Gengrid
* @addtogroup Elm_Gengrid_Group
* @{
*/

View File

@ -35,7 +35,7 @@ typedef Elm_Gen_Item_Del_Cb Elm_Gengrid_Item_Del_Cb;
* @see elm_gengrid_item_class_free()
* @see elm_gengrid_item_append()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI Elm_Gengrid_Item_Class *elm_gengrid_item_class_new(void);
@ -52,7 +52,7 @@ EAPI Elm_Gengrid_Item_Class *elm_gengrid_item_class_new(void);
* @see elm_gengrid_item_class_ref()
* @see elm_gengrid_item_class_unref()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_class_free(Elm_Gengrid_Item_Class *itc);
@ -65,7 +65,7 @@ EAPI void elm_gengrid_item_class_free(Elm_Gengrid_Item_Class *itc);
*
* @see elm_gengrid_item_class_unref()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_class_ref(Elm_Gengrid_Item_Class *itc);
@ -80,7 +80,7 @@ EAPI void elm_gengrid_item_class_ref(Elm_Gengrid_Item_Class *itc);
* @see elm_gengrid_item_class_ref()
* @see elm_gengrid_item_class_free()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_class_unref(Elm_Gengrid_Item_Class *itc);
@ -99,7 +99,7 @@ EAPI void elm_gengrid_item_class_unref(Elm_Gengrid_Item_Class *itc);
* In order to set a content or something else as a tooltip, look at
* elm_gengrid_item_tooltip_content_cb_set().
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_tooltip_text_set(Elm_Object_Item *it, const char *text);
@ -167,7 +167,7 @@ EAPI void elm_gengrid_item_tooltip_unset(Elm_Object_Ite
*
* @see elm_gengrid_item_tooltip_style_get()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_tooltip_style_set(Elm_Object_Item *it, const char *style);
@ -181,7 +181,7 @@ EAPI void elm_gengrid_item_tooltip_style_set(Elm_Object
*
* @see elm_gengrid_item_tooltip_style_set() for more details
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI const char *elm_gengrid_item_tooltip_style_get(const Elm_Object_Item *it);
@ -243,7 +243,7 @@ EAPI void elm_gengrid_item_cursor_set(Elm_Object_Item *
* @see elm_gengrid_item_cursor_set() for more details
* @see elm_gengrid_item_cursor_unset()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI const char *elm_gengrid_item_cursor_get(const Elm_Object_Item *it);
@ -260,7 +260,7 @@ EAPI const char *elm_gengrid_item_cursor_get(const Elm_Object_
* @see elm_object_cursor_unset()
* @see elm_gengrid_item_cursor_set() for more details
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_cursor_unset(Elm_Object_Item *it);
@ -285,7 +285,7 @@ EAPI void elm_gengrid_item_cursor_unset(Elm_Object_Item
* @see elm_gengrid_item_cursor_engine_only_set()
* @see elm_gengrid_item_cursor_style_get()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_cursor_style_set(Elm_Object_Item *it, const char *style);
@ -299,7 +299,7 @@ EAPI void elm_gengrid_item_cursor_style_set(Elm_Object_
*
* @see elm_gengrid_item_cursor_style_set() for more details
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI const char *elm_gengrid_item_cursor_style_get(const Elm_Object_Item *it);
@ -319,7 +319,7 @@ EAPI const char *elm_gengrid_item_cursor_style_get(const Elm_O
* @note By default, cursors will only be looked for between those
* provided by the rendering engine.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only);
@ -335,7 +335,7 @@ EAPI void elm_gengrid_item_cursor_engine_only_set(Elm_O
*
* @see elm_gengrid_item_cursor_engine_only_set(), for more details
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI Eina_Bool elm_gengrid_item_cursor_engine_only_get(const Elm_Object_Item *it);
@ -351,7 +351,7 @@ EAPI Eina_Bool elm_gengrid_item_cursor_engine_only_get(const
* gengrid. For example, @c (0, 1) would stand for first row,
* second column.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_pos_get(const Elm_Object_Item *it, unsigned int *x, unsigned int *y);
@ -379,7 +379,7 @@ EAPI void elm_gengrid_item_pos_get(const Elm_Object_Ite
*
* @see elm_gengrid_item_select_mode_get()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_item_select_mode_set(Elm_Object_Item *it, Elm_Object_Select_Mode mode);
@ -392,7 +392,7 @@ EAPI void elm_gengrid_item_select_mode_set(Elm_Object_I
*
* @see elm_gengrid_item_select_mode_set()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI Elm_Object_Select_Mode elm_gengrid_item_select_mode_get(const Elm_Object_Item *it);

View File

@ -13,7 +13,7 @@ typedef Eo Elm_Gengrid;
/** Gengrid reorder modes
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
typedef enum
{
@ -25,7 +25,7 @@ typedef enum
#endif
/** Elementary gengrid class
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_CLASS elm_gengrid_class_get()
@ -46,7 +46,7 @@ EWAPI const Efl_Class *elm_gengrid_class_get(void);
* @param[in] align_x Alignment in the horizontal axis (0 <= align_x <= 1).
* @param[in] align_y Alignment in the vertical axis (0 <= align_y <= 1).
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_align_set(Eo *obj, double align_x, double align_y);
@ -60,7 +60,7 @@ EOAPI void elm_obj_gengrid_align_set(Eo *obj, double align_x, double align_y);
* @param[out] align_x Alignment in the horizontal axis (0 <= align_x <= 1).
* @param[out] align_y Alignment in the vertical axis (0 <= align_y <= 1).
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_align_get(const Eo *obj, double *align_x, double *align_y);
@ -75,7 +75,7 @@ EOAPI void elm_obj_gengrid_align_get(const Eo *obj, double *align_x, double *ali
* @param[in] obj The object.
* @param[in] fill @c true if the grid is filled, @c false otherwise
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_filled_set(Eo *obj, Eina_Bool fill);
@ -89,7 +89,7 @@ EOAPI void elm_obj_gengrid_filled_set(Eo *obj, Eina_Bool fill);
*
* @return @c true if the grid is filled, @c false otherwise
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Eina_Bool elm_obj_gengrid_filled_get(const Eo *obj);
@ -107,7 +107,7 @@ EOAPI Eina_Bool elm_obj_gengrid_filled_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] multi @c true if multislect is enabled, @c false otherwise
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_multi_select_set(Eo *obj, Eina_Bool multi);
@ -119,7 +119,7 @@ EOAPI void elm_obj_gengrid_multi_select_set(Eo *obj, Eina_Bool multi);
*
* @return @c true if multislect is enabled, @c false otherwise
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Eina_Bool elm_obj_gengrid_multi_select_get(const Eo *obj);
@ -135,7 +135,7 @@ EOAPI Eina_Bool elm_obj_gengrid_multi_select_get(const Eo *obj);
* @param[in] w The group items' width.
* @param[in] h The group items' height.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_group_item_size_set(Eo *obj, int w, int h);
@ -149,7 +149,7 @@ EOAPI void elm_obj_gengrid_group_item_size_set(Eo *obj, int w, int h);
* @param[out] w The group items' width.
* @param[out] h The group items' height.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_group_item_size_get(const Eo *obj, int *w, int *h);
@ -168,7 +168,7 @@ EOAPI void elm_obj_gengrid_group_item_size_get(const Eo *obj, int *w, int *h);
* @param[in] obj The object.
* @param[in] mode The select mode.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
@ -179,7 +179,7 @@ EOAPI void elm_obj_gengrid_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode)
*
* @return The select mode.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Object_Select_Mode elm_obj_gengrid_select_mode_get(const Eo *obj);
@ -199,7 +199,7 @@ EOAPI Elm_Object_Select_Mode elm_obj_gengrid_select_mode_get(const Eo *obj);
* @param[in] reorder_mode Use @c true to turn reordering on, @c false to turn
* it off.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_reorder_mode_set(Eo *obj, Eina_Bool reorder_mode);
@ -211,7 +211,7 @@ EOAPI void elm_obj_gengrid_reorder_mode_set(Eo *obj, Eina_Bool reorder_mode);
*
* @return Use @c true to turn reordering on, @c false to turn it off.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Eina_Bool elm_obj_gengrid_reorder_mode_get(const Eo *obj);
@ -222,7 +222,7 @@ EOAPI Eina_Bool elm_obj_gengrid_reorder_mode_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] highlight @c true if item will be highlighted, @c false otherwise
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_highlight_mode_set(Eo *obj, Eina_Bool highlight);
@ -234,7 +234,7 @@ EOAPI void elm_obj_gengrid_highlight_mode_set(Eo *obj, Eina_Bool highlight);
*
* @return @c true if item will be highlighted, @c false otherwise
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Eina_Bool elm_obj_gengrid_highlight_mode_get(const Eo *obj);
@ -246,7 +246,7 @@ EOAPI Eina_Bool elm_obj_gengrid_highlight_mode_get(const Eo *obj);
*
* @since 1.11
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_reorder_type_set(Eo *obj, Elm_Gengrid_Reorder_Type type);
@ -262,7 +262,7 @@ EOAPI void elm_obj_gengrid_reorder_type_set(Eo *obj, Elm_Gengrid_Reorder_Type ty
* @param[in] w The items' width.
* @param[in] h The items' height.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_item_size_set(Eo *obj, int w, int h);
@ -276,7 +276,7 @@ EOAPI void elm_obj_gengrid_item_size_set(Eo *obj, int w, int h);
* @param[out] w The items' width.
* @param[out] h The items' height.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_item_size_get(const Eo *obj, int *w, int *h);
@ -294,7 +294,7 @@ EOAPI void elm_obj_gengrid_item_size_get(const Eo *obj, int *w, int *h);
*
* @since 1.8
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_multi_select_mode_set(Eo *obj, Elm_Object_Multi_Select_Mode mode);
@ -309,7 +309,7 @@ EOAPI void elm_obj_gengrid_multi_select_mode_set(Eo *obj, Elm_Object_Multi_Selec
*
* @since 1.8
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Object_Multi_Select_Mode elm_obj_gengrid_multi_select_mode_get(const Eo *obj);
@ -330,7 +330,7 @@ EOAPI Elm_Object_Multi_Select_Mode elm_obj_gengrid_multi_select_mode_get(const E
* @param[in] horizontal @c true to make the gengrid expand horizontally,
* @c false to expand vertically.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_horizontal_set(Eo *obj, Eina_Bool horizontal);
@ -343,7 +343,7 @@ EOAPI void elm_obj_gengrid_horizontal_set(Eo *obj, Eina_Bool horizontal);
* @return @c true to make the gengrid expand horizontally, @c false to expand
* vertically.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Eina_Bool elm_obj_gengrid_horizontal_get(const Eo *obj);
@ -360,7 +360,7 @@ EOAPI Eina_Bool elm_obj_gengrid_horizontal_get(const Eo *obj);
* @return The selected item's handle or @c null if none is selected at the
* moment (and on errors).
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_selected_item_get(const Eo *obj);
@ -376,7 +376,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_selected_item_get(const Eo *obj);
*
* @return The list of realized items or @c null if none are realized.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Eina_List *elm_obj_gengrid_realized_items_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
@ -390,7 +390,7 @@ EOAPI Eina_List *elm_obj_gengrid_realized_items_get(const Eo *obj) EINA_WARN_UNU
* @return The first item's handle or @c null, if there are no items in @c obj
* (and on errors)
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_first_item_get(const Eo *obj);
@ -407,7 +407,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_first_item_get(const Eo *obj);
* @return The list of selected items or @c null, if none is selected at the
* moment (and on errors).
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI const Eina_List *elm_obj_gengrid_selected_items_get(const Eo *obj);
@ -421,7 +421,7 @@ EOAPI const Eina_List *elm_obj_gengrid_selected_items_get(const Eo *obj);
* @return The last item's handle or @c null if there are no items in @c obj
* (and on errors).
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_last_item_get(const Eo *obj);
@ -439,7 +439,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_last_item_get(const Eo *obj);
*
* @return A handle to the item added or @c null on errors.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_item_insert_before(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Elm_Widget_Item *relative, Evas_Smart_Cb func, const void *func_data);
@ -453,7 +453,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_item_insert_before(Eo *obj, const Elm_Gen
* To update just one item, use @ref elm_gengrid_item_update.
* @param[in] obj The object.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_realized_items_update(Eo *obj);
@ -471,7 +471,7 @@ EOAPI void elm_obj_gengrid_realized_items_update(Eo *obj);
*
* @return A handle to the item added or @c null on error.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_item_insert_after(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Elm_Widget_Item *relative, Evas_Smart_Cb func, const void *func_data);
@ -484,7 +484,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_item_insert_after(Eo *obj, const Elm_Geng
*
* @return Items in list
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI unsigned int elm_obj_gengrid_items_count(const Eo *obj);
@ -512,7 +512,7 @@ EOAPI unsigned int elm_obj_gengrid_items_count(const Eo *obj);
*
* @return The item at the coordinates or @c null if none.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_at_xy_item_get(const Eo *obj, int x, int y, int *xposret, int *yposret);
@ -529,7 +529,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_at_xy_item_get(const Eo *obj, int x, int
*
* @return A handle to the item added or @c null on errors.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_item_append(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Evas_Smart_Cb func, const void *func_data);
@ -546,7 +546,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_item_append(Eo *obj, const Elm_Gengrid_It
*
* @return A handle to the item added or @c null on errors.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_item_prepend(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Evas_Smart_Cb func, const void *func_data);
@ -558,7 +558,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_item_prepend(Eo *obj, const Elm_Gengrid_I
* See @ref elm_gengrid_item_del to remove just one item.
* @param[in] obj The object.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_clear(Eo *obj);
@ -580,7 +580,7 @@ EOAPI void elm_obj_gengrid_clear(Eo *obj);
*
* @return A handle to the item added or @c null on errors.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_item_sorted_insert(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
@ -607,7 +607,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_item_sorted_insert(Eo *obj, const Elm_Gen
*
* @since 1.11
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_search_by_text_item_get(Eo *obj, Elm_Widget_Item *item_to_search_from, const char *part_name, const char *pattern, Elm_Glob_Match_Flags flags);
@ -619,7 +619,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_search_by_text_item_get(Eo *obj, Elm_Widg
*
* @since 1.10
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_reorder_mode_start(Eo *obj, Ecore_Pos_Map tween_mode);
@ -627,7 +627,7 @@ EOAPI void elm_obj_gengrid_reorder_mode_start(Eo *obj, Ecore_Pos_Map tween_mode)
*
* @since 1.10
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EOAPI void elm_obj_gengrid_reorder_mode_stop(Eo *obj);
@ -636,7 +636,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_REALIZED;
/** Called when gengrid realized
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_REALIZED (&(_ELM_GENGRID_EVENT_REALIZED))
@ -645,7 +645,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_UNREALIZED;
/** Called when gengrid unrealized
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_UNREALIZED (&(_ELM_GENGRID_EVENT_UNREALIZED))
@ -654,7 +654,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_INDEX_UPDATE;
/** Called on gengrid index update
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_INDEX_UPDATE (&(_ELM_GENGRID_EVENT_INDEX_UPDATE))
@ -662,7 +662,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_SCROLL_PAGE_CHANGED;
/** Called when scroll page changed
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_SCROLL_PAGE_CHANGED (&(_ELM_GENGRID_EVENT_SCROLL_PAGE_CHANGED))
@ -670,7 +670,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_BOTTOM;
/** Called when bottom edge is reached
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_EDGE_BOTTOM (&(_ELM_GENGRID_EVENT_EDGE_BOTTOM))
@ -678,7 +678,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_TOP;
/** Called when top edge is reached
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_EDGE_TOP (&(_ELM_GENGRID_EVENT_EDGE_TOP))
@ -686,7 +686,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_RIGHT;
/** Called when right edge is reached
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_EDGE_RIGHT (&(_ELM_GENGRID_EVENT_EDGE_RIGHT))
@ -694,7 +694,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_LEFT;
/** Called when left edge is reached
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_EDGE_LEFT (&(_ELM_GENGRID_EVENT_EDGE_LEFT))
@ -703,7 +703,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_FOCUSED;
/** Called when item got focus
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_ITEM_FOCUSED (&(_ELM_GENGRID_EVENT_ITEM_FOCUSED))
@ -712,7 +712,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_UNFOCUSED;
/** Called when item no longer has focus
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_ITEM_UNFOCUSED (&(_ELM_GENGRID_EVENT_ITEM_UNFOCUSED))
@ -721,7 +721,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_ST
/** Called when item reorder animation started
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_START (&(_ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_START))
@ -730,7 +730,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_ST
/** Called when item reorder animation stopped
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_STOP (&(_ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_STOP))
@ -739,7 +739,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ACTIVATED;
/** Called when gengrid got activated
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_ACTIVATED (&(_ELM_GENGRID_EVENT_ACTIVATED))
@ -748,7 +748,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_HIGHLIGHTED;
/** Called when gengrid is highlighted
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_HIGHLIGHTED (&(_ELM_GENGRID_EVENT_HIGHLIGHTED))
@ -757,7 +757,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_UNHIGHLIGHTED;
/** Called when gengrid is no longer highlighted
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_UNHIGHLIGHTED (&(_ELM_GENGRID_EVENT_UNHIGHLIGHTED))
@ -766,7 +766,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_RELEASED;
/** Called when gengrid is released
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_RELEASED (&(_ELM_GENGRID_EVENT_RELEASED))
@ -775,7 +775,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_MOVED;
/** Called when gengrid item moved
* @return Efl_Object *
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
#define ELM_GENGRID_EVENT_MOVED (&(_ELM_GENGRID_EVENT_MOVED))

View File

@ -13,7 +13,7 @@ typedef Eo Elm_Gengrid;
/** Gengrid reorder modes
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
typedef enum
{

View File

@ -13,9 +13,17 @@ typedef Eo Elm_Gengrid_Item;
#endif
/** Elementary gengrid item class
/**
* Elementary gengrid item class
*
* @ingroup Elm_Gengrid_Item
* @defgroup Elm_Gengrid_Item_Group
* @ingroup Elm_Gengrid_Group
*/
/**
* @brief Get gengrid item class
*
* @ingroup Elm_Gengrid_Item_Group
*/
#define ELM_GENGRID_ITEM_CLASS elm_gengrid_item_class_get()
@ -31,7 +39,7 @@ EWAPI const Efl_Class *elm_gengrid_item_class_get(void);
*
* @return The item before @c item, or @c NULL if there's none (and on errors)
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_item_prev_get(const Eo *obj);
@ -45,7 +53,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_item_prev_get(const Eo *obj);
*
* @return The item after @c item, or @c NULL if there's none (and on errors)
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI Elm_Widget_Item *elm_obj_gengrid_item_next_get(const Eo *obj);
@ -63,7 +71,7 @@ EOAPI Elm_Widget_Item *elm_obj_gengrid_item_next_get(const Eo *obj);
* @param[in] selected The selected state ($true selected, @c false not
* selected)
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_selected_set(Eo *obj, Eina_Bool selected);
@ -81,7 +89,7 @@ EOAPI void elm_obj_gengrid_item_selected_set(Eo *obj, Eina_Bool selected);
*
* @return The selected state ($true selected, @c false not selected)
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI Eina_Bool elm_obj_gengrid_item_selected_get(const Eo *obj);
@ -95,7 +103,7 @@ EOAPI Eina_Bool elm_obj_gengrid_item_selected_get(const Eo *obj);
*
* @return Gengrid Item class for the given item
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI const Elm_Gengrid_Item_Class *elm_obj_gengrid_item_class_get(const Eo *obj);
@ -106,7 +114,7 @@ EOAPI const Elm_Gengrid_Item_Class *elm_obj_gengrid_item_class_get(const Eo *obj
*
* @return The position inside the list of item.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI int elm_obj_gengrid_item_index_get(const Eo *obj);
@ -121,7 +129,7 @@ EOAPI int elm_obj_gengrid_item_index_get(const Eo *obj);
* @param[out] x Pointer to variable to store the item's <b>row number</b>.
* @param[out] y Pointer to variable to store the item's <b>column number</b>.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_pos_get(const Eo *obj, unsigned int *x, unsigned int *y);
@ -147,7 +155,7 @@ EOAPI void elm_obj_gengrid_item_pos_get(const Eo *obj, unsigned int *x, unsigned
* @param[in] obj The object.
* @param[in] mode The selected mode
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
@ -174,7 +182,7 @@ EOAPI void elm_obj_gengrid_item_select_mode_set(Eo *obj, Elm_Object_Select_Mode
*
* @return The selected mode
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI Elm_Object_Select_Mode elm_obj_gengrid_item_select_mode_get(const Eo *obj);
@ -196,7 +204,7 @@ EOAPI Elm_Object_Select_Mode elm_obj_gengrid_item_select_mode_get(const Eo *obj)
*
* @since 1.19
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_custom_size_set(Eo *obj, int w, int h);
@ -215,7 +223,7 @@ EOAPI void elm_obj_gengrid_item_custom_size_set(Eo *obj, int w, int h);
*
* @since 1.19
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_custom_size_get(const Eo *obj, int *w, int *h);
@ -229,7 +237,7 @@ EOAPI void elm_obj_gengrid_item_custom_size_get(const Eo *obj, int *w, int *h);
* @param[in] obj The object.
* @param[in] type Where to position the item in the viewport.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_show(Eo *obj, Elm_Gengrid_Item_Scrollto_Type type);
@ -244,7 +252,7 @@ EOAPI void elm_obj_gengrid_item_show(Eo *obj, Elm_Gengrid_Item_Scrollto_Type typ
* @param[in] obj The object.
* @param[in] type Where to position the item in the viewport.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_bring_in(Eo *obj, Elm_Gengrid_Item_Scrollto_Type type);
@ -256,7 +264,7 @@ EOAPI void elm_obj_gengrid_item_bring_in(Eo *obj, Elm_Gengrid_Item_Scrollto_Type
* changed and you want the changes to be reflected.
* @param[in] obj The object.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_update(Eo *obj);
@ -277,7 +285,7 @@ EOAPI void elm_obj_gengrid_item_update(Eo *obj);
*
* @since 1.15
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_fields_update(Eo *obj, const char *parts, Elm_Gengrid_Item_Field_Type itf);
@ -292,7 +300,7 @@ EOAPI void elm_obj_gengrid_item_fields_update(Eo *obj, const char *parts, Elm_Ge
* @param[in] itc The gengrid item class describing the function pointers and
* the item style.
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_class_update(Eo *obj, const Elm_Gengrid_Item_Class *itc);
@ -308,7 +316,7 @@ EOAPI void elm_obj_gengrid_item_class_update(Eo *obj, const Elm_Gengrid_Item_Cla
*
* @since 1.18
*
* @ingroup Elm_Gengrid_Item
* @ingroup Elm_Gengrid_Item_Group
*/
EOAPI void elm_obj_gengrid_item_all_contents_unset(Eo *obj, Eina_List **l);

View File

@ -14,6 +14,11 @@ typedef Eo Elm_Gengrid_Item;
#endif
/**
* @defgroup Elm_Gengrid_Item_Group
* @ingroup Elm_Gengrid_Group
*/
/**
* @brief Get the previous item in a gengrid widget's internal list of items,
* given a handle to one of those items.

View File

@ -14,7 +14,7 @@
* @see elm_object_item_del()
* @see elm_gengrid_clear()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI Evas_Object *elm_gengrid_add(Evas_Object *parent);
@ -28,7 +28,7 @@ EAPI Evas_Object *elm_gengrid_add(Evas_Object *parent);
* @return The item stored in @p obj at position @p nth or @c NULL, if there's
* no item with that index (and on errors)
*
* @ingroup Genilst
* @ingroup Elm_Gengrid_Group
* @since 1.8
*/
EAPI Elm_Object_Item *elm_gengrid_nth_item_get(const Evas_Object *obj, unsigned int nth);
@ -80,7 +80,7 @@ EINA_DEPRECATED EAPI void elm_gengrid_page_show(const E
*
* @see elm_gengrid_scroller_policy_get()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
@ -97,7 +97,7 @@ EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_set(Evas_Object *
*
* @see elm_gengrid_scroller_policy_set()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
@ -121,7 +121,7 @@ EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_get(const Evas_Ob
*
* @see elm_scroller_bounce_set()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EINA_DEPRECATED EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
@ -139,7 +139,7 @@ EINA_DEPRECATED EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina
*
* @see elm_scroller_bounce_get()
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EINA_DEPRECATED EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
@ -218,7 +218,7 @@ EINA_DEPRECATED EAPI void elm_gengrid_page_bring_in(const Evas_Object *
* @param[in] h_pagesize Page size horizontal
* @param[in] v_pagesize Page size vertical
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_page_size_set(Evas_Object *obj, int h_pagesize, int v_pagesize);
@ -230,7 +230,7 @@ EAPI void elm_gengrid_page_size_set(Evas_Object *obj, int h_pagesize, int v_page
* @param[in] h_pagerel Page relation horizontal
* @param[in] v_pagerel Page relation vertical
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
@ -242,7 +242,7 @@ EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, doub
* @param[out] h_pagerel Page relation horizontal
* @param[out] v_pagerel Page relation vertical
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel);
@ -258,7 +258,7 @@ EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagere
* @param[in] disabled Use @c true to disable mouse wheel or @c false to enable
* it.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI void elm_gengrid_wheel_disabled_set(Evas_Object *obj, Eina_Bool disabled);
@ -271,7 +271,7 @@ EAPI void elm_gengrid_wheel_disabled_set(Evas_Object *obj, Eina_Bool disabled);
*
* @return Use @c true to disable mouse wheel or @c false to enable it.
*
* @ingroup Elm_Gengrid
* @ingroup Elm_Gengrid_Group
*/
EAPI Eina_Bool elm_gengrid_wheel_disabled_get(const Evas_Object *obj);

View File

@ -1,5 +1,5 @@
/**
* @defgroup Elm_Genlist Genlist (Generic list)
* @defgroup Elm_Genlist_Group Genlist (Generic list)
* @ingroup Elementary
*
* @image html genlist_inheritance_tree.png
@ -393,7 +393,7 @@
*/
/**
* @addtogroup Elm_Genlist
* @addtogroup Elm_Genlist_Group
* @{
*/

View File

@ -44,7 +44,7 @@ typedef Elm_Gen_Item_Reusable_Content_Get_Cb Elm_Genlist_Reusable_Content_Get_Cb
* @see elm_genlist_item_class_free()
* @see elm_genlist_item_append()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI Elm_Genlist_Item_Class *elm_genlist_item_class_new(void);
@ -61,7 +61,7 @@ EAPI Elm_Genlist_Item_Class *elm_genlist_item_class_new(void);
* @see elm_genlist_item_class_ref()
* @see elm_genlist_item_class_unref()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc);
@ -74,7 +74,7 @@ EAPI void elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc);
*
* @see elm_genlist_item_class_unref()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc);
@ -89,7 +89,7 @@ EAPI void elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc);
* @see elm_genlist_item_class_ref()
* @see elm_genlist_item_class_free()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc);
@ -108,7 +108,7 @@ EAPI void elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc);
* In order to set a content or something else as a tooltip, look at
* elm_genlist_item_tooltip_content_cb_set().
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_tooltip_text_set(Elm_Object_Item *it, const char *text);
@ -136,7 +136,7 @@ EAPI void elm_genlist_item_tooltip_text_set(Elm_Object_
* In order to set just a text as a tooltip, look at
* elm_genlist_item_tooltip_text_set().
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
@ -153,7 +153,7 @@ EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_O
*
* @see elm_genlist_item_tooltip_content_cb_set()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_tooltip_unset(Elm_Object_Item *it);
@ -176,7 +176,7 @@ EAPI void elm_genlist_item_tooltip_unset(Elm_Object_Ite
*
* @see elm_genlist_item_tooltip_style_get()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_tooltip_style_set(Elm_Object_Item *it, const char *style);
@ -190,7 +190,7 @@ EAPI void elm_genlist_item_tooltip_style_set(Elm_Object
*
* @see elm_genlist_item_tooltip_style_set() for more details
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI const char *elm_genlist_item_tooltip_style_get(const Elm_Object_Item *it);
@ -236,7 +236,7 @@ EAPI Eina_Bool elm_genlist_item_tooltip_window_mode_get(cons
* @see elm_genlist_item_cursor_get()
* @see elm_genlist_item_cursor_unset()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_cursor_set(Elm_Object_Item *it, const char *cursor);
@ -252,7 +252,7 @@ EAPI void elm_genlist_item_cursor_set(Elm_Object_Item *
* @see elm_genlist_item_cursor_set() for more details
* @see elm_genlist_item_cursor_unset()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI const char *elm_genlist_item_cursor_get(const Elm_Object_Item *it);
@ -269,7 +269,7 @@ EAPI const char *elm_genlist_item_cursor_get(const Elm_Object_
* @see elm_object_cursor_unset()
* @see elm_genlist_item_cursor_set() for more details
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_cursor_unset(Elm_Object_Item *it);
@ -294,7 +294,7 @@ EAPI void elm_genlist_item_cursor_unset(Elm_Object_Item
* @see elm_genlist_item_cursor_engine_only_set()
* @see elm_genlist_item_cursor_style_get()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_cursor_style_set(Elm_Object_Item *it, const char *style);
@ -308,7 +308,7 @@ EAPI void elm_genlist_item_cursor_style_set(Elm_Object_
*
* @see elm_genlist_item_cursor_style_set() for more details
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI const char *elm_genlist_item_cursor_style_get(const Elm_Object_Item *it);
@ -328,7 +328,7 @@ EAPI const char *elm_genlist_item_cursor_style_get(const Elm_O
* @note By default, cursors will only be looked for between those
* provided by the rendering engine.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI void elm_genlist_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only);
@ -344,7 +344,7 @@ EAPI void elm_genlist_item_cursor_engine_only_set(Elm_O
*
* @see elm_genlist_item_cursor_engine_only_set(), for more details
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const Elm_Object_Item *it);

View File

@ -15,7 +15,7 @@ typedef Eo Elm_Genlist;
#endif
/** Elementary genlist class
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_CLASS elm_genlist_class_get()
@ -38,7 +38,7 @@ EWAPI const Efl_Class *elm_genlist_class_get(void);
* @param[in] homogeneous Assume the items within the genlist are of the same
* height and width. Default is @c false.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_homogeneous_set(Eo *obj, Eina_Bool homogeneous);
@ -50,7 +50,7 @@ EOAPI void elm_obj_genlist_homogeneous_set(Eo *obj, Eina_Bool homogeneous);
* @return Assume the items within the genlist are of the same height and
* width. Default is @c false.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Bool elm_obj_genlist_homogeneous_get(const Eo *obj);
@ -68,7 +68,7 @@ EOAPI Eina_Bool elm_obj_genlist_homogeneous_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] mode The select mode.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
@ -79,7 +79,7 @@ EOAPI void elm_obj_genlist_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode)
*
* @return The select mode.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Object_Select_Mode elm_obj_genlist_select_mode_get(const Eo *obj);
@ -95,7 +95,7 @@ EOAPI Elm_Object_Select_Mode elm_obj_genlist_select_mode_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] enabled The tree effect status.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_focus_on_selection_set(Eo *obj, Eina_Bool enabled);
@ -106,7 +106,7 @@ EOAPI void elm_obj_genlist_focus_on_selection_set(Eo *obj, Eina_Bool enabled);
*
* @return The tree effect status.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Bool elm_obj_genlist_focus_on_selection_get(const Eo *obj);
@ -124,7 +124,7 @@ EOAPI Eina_Bool elm_obj_genlist_focus_on_selection_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] timeout Timeout in seconds. Default is elm config value (1.0).
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_longpress_timeout_set(Eo *obj, double timeout);
@ -135,7 +135,7 @@ EOAPI void elm_obj_genlist_longpress_timeout_set(Eo *obj, double timeout);
*
* @return Timeout in seconds. Default is elm config value (1.0).
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI double elm_obj_genlist_longpress_timeout_get(const Eo *obj);
@ -149,7 +149,7 @@ EOAPI double elm_obj_genlist_longpress_timeout_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] multi Multi-select enable/disable. Default is disabled.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_multi_select_set(Eo *obj, Eina_Bool multi);
@ -160,7 +160,7 @@ EOAPI void elm_obj_genlist_multi_select_set(Eo *obj, Eina_Bool multi);
*
* @return Multi-select enable/disable. Default is disabled.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Bool elm_obj_genlist_multi_select_get(const Eo *obj);
@ -174,7 +174,7 @@ EOAPI Eina_Bool elm_obj_genlist_multi_select_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] reorder_mode The reorder mode.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_reorder_mode_set(Eo *obj, Eina_Bool reorder_mode);
@ -185,7 +185,7 @@ EOAPI void elm_obj_genlist_reorder_mode_set(Eo *obj, Eina_Bool reorder_mode);
*
* @return The reorder mode.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Bool elm_obj_genlist_reorder_mode_get(const Eo *obj);
@ -197,7 +197,7 @@ EOAPI Eina_Bool elm_obj_genlist_reorder_mode_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] decorated The decorate mode status.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_decorate_mode_set(Eo *obj, Eina_Bool decorated);
@ -208,7 +208,7 @@ EOAPI void elm_obj_genlist_decorate_mode_set(Eo *obj, Eina_Bool decorated);
*
* @return The decorate mode status.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Bool elm_obj_genlist_decorate_mode_get(const Eo *obj);
@ -226,7 +226,7 @@ EOAPI Eina_Bool elm_obj_genlist_decorate_mode_get(const Eo *obj);
*
* @since 1.8
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_multi_select_mode_set(Eo *obj, Elm_Object_Multi_Select_Mode mode);
@ -239,7 +239,7 @@ EOAPI void elm_obj_genlist_multi_select_mode_set(Eo *obj, Elm_Object_Multi_Selec
*
* @since 1.8
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Object_Multi_Select_Mode elm_obj_genlist_multi_select_mode_get(const Eo *obj);
@ -262,7 +262,7 @@ EOAPI Elm_Object_Multi_Select_Mode elm_obj_genlist_multi_select_mode_get(const E
* @param[in] count Maximum number of items within an item block. Default is
* 32.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_block_count_set(Eo *obj, int count);
@ -273,7 +273,7 @@ EOAPI void elm_obj_genlist_block_count_set(Eo *obj, int count);
*
* @return Maximum number of items within an item block. Default is 32.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI int elm_obj_genlist_block_count_get(const Eo *obj);
@ -283,7 +283,7 @@ EOAPI int elm_obj_genlist_block_count_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] enabled The tree effect status.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_tree_effect_enabled_set(Eo *obj, Eina_Bool enabled);
@ -294,7 +294,7 @@ EOAPI void elm_obj_genlist_tree_effect_enabled_set(Eo *obj, Eina_Bool enabled);
*
* @return The tree effect status.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Bool elm_obj_genlist_tree_effect_enabled_get(const Eo *obj);
@ -311,7 +311,7 @@ EOAPI Eina_Bool elm_obj_genlist_tree_effect_enabled_get(const Eo *obj);
* @param[in] highlight @c true to enable highlighting or @c false to disable
* it.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_highlight_mode_set(Eo *obj, Eina_Bool highlight);
@ -323,7 +323,7 @@ EOAPI void elm_obj_genlist_highlight_mode_set(Eo *obj, Eina_Bool highlight);
*
* @return @c true to enable highlighting or @c false to disable it.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Bool elm_obj_genlist_highlight_mode_get(const Eo *obj);
@ -355,7 +355,7 @@ EOAPI Eina_Bool elm_obj_genlist_highlight_mode_get(const Eo *obj);
* @param[in] mode The mode to use (one of @ref ELM_LIST_SCROLL or
* @ref ELM_LIST_LIMIT).
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_mode_set(Eo *obj, Elm_List_Mode mode);
@ -367,7 +367,7 @@ EOAPI void elm_obj_genlist_mode_set(Eo *obj, Elm_List_Mode mode);
* @return The mode to use (one of @ref ELM_LIST_SCROLL or
* @ref ELM_LIST_LIMIT).
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_List_Mode elm_obj_genlist_mode_get(const Eo *obj);
@ -382,7 +382,7 @@ EOAPI Elm_List_Mode elm_obj_genlist_mode_get(const Eo *obj);
* @return The active item for that current mode. Or @c null if no item is
* activated with any mode.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_decorated_item_get(const Eo *obj);
@ -400,7 +400,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_decorated_item_get(const Eo *obj);
*
* @return The selected item, or @c null if none is selected.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_selected_item_get(const Eo *obj);
@ -415,7 +415,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_selected_item_get(const Eo *obj);
*
* @return The first item or @c null.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_first_item_get(const Eo *obj);
@ -431,7 +431,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_first_item_get(const Eo *obj);
*
* @return List of realized items
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_List *elm_obj_genlist_realized_items_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
@ -452,7 +452,7 @@ EOAPI Eina_List *elm_obj_genlist_realized_items_get(const Eo *obj) EINA_WARN_UNU
*
* @return List of selected items
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI const Eina_List *elm_obj_genlist_selected_items_get(const Eo *obj);
@ -467,7 +467,7 @@ EOAPI const Eina_List *elm_obj_genlist_selected_items_get(const Eo *obj);
*
* @return Last item in list
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_last_item_get(const Eo *obj);
@ -488,7 +488,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_last_item_get(const Eo *obj);
*
* @return Handle to inserted item
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_insert_before(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Widget_Item *before_it, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
@ -502,7 +502,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_insert_before(Eo *obj, const Elm_Gen
* To update just one item, use @ref elm_genlist_item_update.
* @param[in] obj The object.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_realized_items_update(Eo *obj);
@ -523,7 +523,7 @@ EOAPI void elm_obj_genlist_realized_items_update(Eo *obj);
*
* @return Handle to inserted item
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_insert_after(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Widget_Item *after_it, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
@ -546,7 +546,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_insert_after(Eo *obj, const Elm_Genl
*
* @return Item at position
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_at_xy_item_get(const Eo *obj, int x, int y, int *posret);
@ -562,7 +562,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_at_xy_item_get(const Eo *obj, int x, int
* @param[in] obj The object.
* @param[in] key Filter key
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_filter_set(Eo *obj, void *key);
@ -576,7 +576,7 @@ EOAPI void elm_obj_genlist_filter_set(Eo *obj, void *key);
*
* @return Iterator on genlist
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Eina_Iterator *elm_obj_genlist_filter_iterator_new(Eo *obj);
@ -593,7 +593,7 @@ EOAPI Eina_Iterator *elm_obj_genlist_filter_iterator_new(Eo *obj);
*
* @since 1.18
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI unsigned int elm_obj_genlist_filtered_items_count(const Eo *obj);
@ -606,7 +606,7 @@ EOAPI unsigned int elm_obj_genlist_filtered_items_count(const Eo *obj);
*
* @return Item in list
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI unsigned int elm_obj_genlist_items_count(const Eo *obj);
@ -626,7 +626,7 @@ EOAPI unsigned int elm_obj_genlist_items_count(const Eo *obj);
*
* @return Handle to prepended item
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_prepend(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
@ -636,7 +636,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_prepend(Eo *obj, const Elm_Genlist_I
* This removes (and deletes) all items in @c obj, leaving it empty.
* @param[in] obj The object.
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI void elm_obj_genlist_clear(Eo *obj);
@ -656,7 +656,7 @@ EOAPI void elm_obj_genlist_clear(Eo *obj);
*
* @return Handle to appended item
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_append(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
@ -678,7 +678,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_append(Eo *obj, const Elm_Genlist_It
*
* @return Handle to inserted item
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_sorted_insert(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Genlist_Item_Type type, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
@ -704,7 +704,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_sorted_insert(Eo *obj, const Elm_Gen
*
* @since 1.11
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_search_by_text_item_get(Eo *obj, Elm_Widget_Item *item_to_search_from, const char *part_name, const char *pattern, Elm_Glob_Match_Flags flags);
@ -713,7 +713,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_FOCUSED;
/** Called when genlist item got focus
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_ITEM_FOCUSED (&(_ELM_GENLIST_EVENT_ITEM_FOCUSED))
@ -722,7 +722,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_UNFOCUSED;
/** Called when genlist item lost focus
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_ITEM_UNFOCUSED (&(_ELM_GENLIST_EVENT_ITEM_UNFOCUSED))
@ -730,7 +730,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_DRAG;
/** Called when vertical bar is dragged
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_VBAR_DRAG (&(_ELM_GENLIST_EVENT_VBAR_DRAG))
@ -738,7 +738,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_PRESS;
/** Called when vertical bar is pressed
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_VBAR_PRESS (&(_ELM_GENLIST_EVENT_VBAR_PRESS))
@ -746,7 +746,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_UNPRESS;
/** Called when vertical bar is no longer pressed
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_VBAR_UNPRESS (&(_ELM_GENLIST_EVENT_VBAR_UNPRESS))
@ -754,7 +754,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_DRAG;
/** Called when horizontal bar is dragged
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_HBAR_DRAG (&(_ELM_GENLIST_EVENT_HBAR_DRAG))
@ -762,7 +762,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_PRESS;
/** Called when horizontal bar is pressed
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_HBAR_PRESS (&(_ELM_GENLIST_EVENT_HBAR_PRESS))
@ -770,7 +770,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_UNPRESS;
/** Called when horizontal bar is no longer pressed
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_HBAR_UNPRESS (&(_ELM_GENLIST_EVENT_HBAR_UNPRESS))
@ -778,7 +778,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_TOP;
/** Called when top edge is reached
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_EDGE_TOP (&(_ELM_GENLIST_EVENT_EDGE_TOP))
@ -786,7 +786,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_BOTTOM;
/** Called when bottom edge is reached
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_EDGE_BOTTOM (&(_ELM_GENLIST_EVENT_EDGE_BOTTOM))
@ -794,7 +794,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_LEFT;
/** Called when left edge is reached
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_EDGE_LEFT (&(_ELM_GENLIST_EVENT_EDGE_LEFT))
@ -802,7 +802,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_RIGHT;
/** Called when right edge is reached
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_EDGE_RIGHT (&(_ELM_GENLIST_EVENT_EDGE_RIGHT))
@ -811,7 +811,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED;
/** Called when genlist item moved
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MOVED (&(_ELM_GENLIST_EVENT_MOVED))
@ -820,7 +820,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_BEFORE;
/** Called when genlist item moved before
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MOVED_BEFORE (&(_ELM_GENLIST_EVENT_MOVED_BEFORE))
@ -829,7 +829,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_AFTER;
/** Called when genlist item moved after
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MOVED_AFTER (&(_ELM_GENLIST_EVENT_MOVED_AFTER))
@ -838,7 +838,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_SWIPE;
/** Called when swipe is detected
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_SWIPE (&(_ELM_GENLIST_EVENT_SWIPE))
@ -847,7 +847,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_IN;
/** Called when multitouch pinch in detected
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MULTI_PINCH_IN (&(_ELM_GENLIST_EVENT_MULTI_PINCH_IN))
@ -856,7 +856,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_OUT;
/** Called when multitouch pinch out detected
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MULTI_PINCH_OUT (&(_ELM_GENLIST_EVENT_MULTI_PINCH_OUT))
@ -865,7 +865,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN;
/** Called when multitouch swipe down detected
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN))
@ -874,7 +874,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_UP;
/** Called when multitouch swipe up detected
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MULTI_SWIPE_UP (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_UP))
@ -883,7 +883,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT;
/** Called when multitouch swipe right detected
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT))
@ -892,7 +892,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT;
/** Called when multitouch swipe left detected
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT))
@ -901,7 +901,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_RELEASED;
/** Called when genlist is released
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_RELEASED (&(_ELM_GENLIST_EVENT_RELEASED))
@ -910,7 +910,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ACTIVATED;
/** called when genlist is activated
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_ACTIVATED (&(_ELM_GENLIST_EVENT_ACTIVATED))
@ -919,7 +919,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HIGHLIGHTED;
/** Called when genlist is highlighted
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_HIGHLIGHTED (&(_ELM_GENLIST_EVENT_HIGHLIGHTED))
@ -928,7 +928,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_UNHIGHLIGHTED;
/** Called when genlist is no longer highlighted
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_UNHIGHLIGHTED (&(_ELM_GENLIST_EVENT_UNHIGHLIGHTED))
@ -937,7 +937,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_REALIZED;
/** Called when genlist is realized
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_REALIZED (&(_ELM_GENLIST_EVENT_REALIZED))
@ -946,7 +946,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_UNREALIZED;
/** Called when genlist is unrealized
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_UNREALIZED (&(_ELM_GENLIST_EVENT_UNREALIZED))
@ -955,7 +955,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACT_REQUEST;
/** Called when contract is requested
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_CONTRACT_REQUEST (&(_ELM_GENLIST_EVENT_CONTRACT_REQUEST))
@ -964,7 +964,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EXPAND_REQUEST;
/** Called when expand is requested
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_EXPAND_REQUEST (&(_ELM_GENLIST_EVENT_EXPAND_REQUEST))
@ -973,7 +973,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACTED;
/** called when genlist is contracted
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_CONTRACTED (&(_ELM_GENLIST_EVENT_CONTRACTED))
@ -982,7 +982,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EXPANDED;
/** Called when genlist is expanded
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_EXPANDED (&(_ELM_GENLIST_EVENT_EXPANDED))
@ -991,7 +991,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_INDEX_UPDATE;
/** Called when genlist index updated
* @return Efl_Object *
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_INDEX_UPDATE (&(_ELM_GENLIST_EVENT_INDEX_UPDATE))
@ -999,7 +999,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED
/** Called when genlist tree effect finished
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED (&(_ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED))
@ -1007,7 +1007,7 @@ EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_FILTER_DONE;
/** Called when genlist filter is done
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
#define ELM_GENLIST_EVENT_FILTER_DONE (&(_ELM_GENLIST_EVENT_FILTER_DONE))

View File

@ -13,9 +13,17 @@ typedef Eo Elm_Genlist_Item;
#endif
/** Elementary genlist item class
/**
* Elementary genlist item class
*
* @ingroup Elm_Genlist_Item
* @defgroup Elm_Genlist_Item_Group
* @ingroup Elm_Genlist_Group
*/
/**
* @brief Get genlist item class
*
* @ingroup Elm_Genlist_Item_Group
*/
#define ELM_GENLIST_ITEM_CLASS elm_genlist_item_class_get()
@ -40,7 +48,7 @@ EWAPI const Efl_Class *elm_genlist_item_class_get(void);
*
* @return The item before @c item, or @c null if there's none (and on errors).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_prev_get(const Eo *obj);
@ -63,7 +71,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_prev_get(const Eo *obj);
*
* @return The item after @c item, or @c null if there's none (and on errors).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_next_get(const Eo *obj);
@ -77,7 +85,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_next_get(const Eo *obj);
*
* @return The parent of the item or @c null if it has no parent.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Elm_Widget_Item *elm_obj_genlist_item_parent_item_get(const Eo *obj);
@ -93,7 +101,7 @@ EOAPI Elm_Widget_Item *elm_obj_genlist_item_parent_item_get(const Eo *obj);
*
* @since 1.9
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI const Eina_List *elm_obj_genlist_item_subitems_get(const Eo *obj);
@ -108,7 +116,7 @@ EOAPI const Eina_List *elm_obj_genlist_item_subitems_get(const Eo *obj);
* @param[in] selected The selected state ($true selected, @c false not
* selected).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_selected_set(Eo *obj, Eina_Bool selected);
@ -119,7 +127,7 @@ EOAPI void elm_obj_genlist_item_selected_set(Eo *obj, Eina_Bool selected);
*
* @return The selected state ($true selected, @c false not selected).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Eina_Bool elm_obj_genlist_item_selected_get(const Eo *obj);
@ -141,7 +149,7 @@ EOAPI Eina_Bool elm_obj_genlist_item_selected_get(const Eo *obj);
* @param[in] expanded The expanded state ($true expanded, @c false not
* expanded).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_expanded_set(Eo *obj, Eina_Bool expanded);
@ -154,7 +162,7 @@ EOAPI void elm_obj_genlist_item_expanded_set(Eo *obj, Eina_Bool expanded);
*
* @return The expanded state ($true expanded, @c false not expanded).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Eina_Bool elm_obj_genlist_item_expanded_get(const Eo *obj);
@ -165,7 +173,7 @@ EOAPI Eina_Bool elm_obj_genlist_item_expanded_get(const Eo *obj);
*
* @return The depth of expanded item.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI int elm_obj_genlist_item_expanded_depth_get(const Eo *obj);
@ -179,7 +187,7 @@ EOAPI int elm_obj_genlist_item_expanded_depth_get(const Eo *obj);
*
* @return Genlist Item class for the given item.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI const Elm_Genlist_Item_Class *elm_obj_genlist_item_class_get(const Eo *obj);
@ -192,7 +200,7 @@ EOAPI const Elm_Genlist_Item_Class *elm_obj_genlist_item_class_get(const Eo *obj
*
* @return The position inside the list of item.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI int elm_obj_genlist_item_index_get(const Eo *obj);
@ -205,7 +213,7 @@ EOAPI int elm_obj_genlist_item_index_get(const Eo *obj);
*
* @return Name of the item's decorate mode.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI const char *elm_obj_genlist_item_decorate_mode_get(const Eo *obj);
@ -219,7 +227,7 @@ EOAPI const char *elm_obj_genlist_item_decorate_mode_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] flip The flip mode.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_flip_set(Eo *obj, Eina_Bool flip);
@ -233,7 +241,7 @@ EOAPI void elm_obj_genlist_item_flip_set(Eo *obj, Eina_Bool flip);
*
* @return The flip mode.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Eina_Bool elm_obj_genlist_item_flip_get(const Eo *obj);
@ -261,7 +269,7 @@ EOAPI Eina_Bool elm_obj_genlist_item_flip_get(const Eo *obj);
* @param[in] obj The object.
* @param[in] mode The selected mode.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
@ -274,7 +282,7 @@ EOAPI void elm_obj_genlist_item_select_mode_set(Eo *obj, Elm_Object_Select_Mode
*
* @return The selected mode.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Elm_Object_Select_Mode elm_obj_genlist_item_select_mode_get(const Eo *obj);
@ -288,7 +296,7 @@ EOAPI Elm_Object_Select_Mode elm_obj_genlist_item_select_mode_get(const Eo *obj)
*
* @return Item type.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Elm_Genlist_Item_Type elm_obj_genlist_item_type_get(const Eo *obj);
@ -304,7 +312,7 @@ EOAPI Elm_Genlist_Item_Type elm_obj_genlist_item_type_get(const Eo *obj);
* @param[in] pin The item pin state state ($true pin item, @c false unpin
* item).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_pin_set(Eo *obj, Eina_Bool pin);
@ -315,7 +323,7 @@ EOAPI void elm_obj_genlist_item_pin_set(Eo *obj, Eina_Bool pin);
*
* @return The item pin state state ($true pin item, @c false unpin item).
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI Eina_Bool elm_obj_genlist_item_pin_get(const Eo *obj);
@ -330,7 +338,7 @@ EOAPI Eina_Bool elm_obj_genlist_item_pin_get(const Eo *obj);
*
* @since 1.9
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI unsigned int elm_obj_genlist_item_subitems_count(Eo *obj);
@ -341,19 +349,19 @@ EOAPI unsigned int elm_obj_genlist_item_subitems_count(Eo *obj);
* given item @c it.
* @param[in] obj The object.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_subitems_clear(Eo *obj);
/** Promote an item to the top of the list.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_promote(Eo *obj);
/** Demote an item to the end of the list.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_demote(Eo *obj);
@ -368,7 +376,7 @@ EOAPI void elm_obj_genlist_item_demote(Eo *obj);
* @param[in] type The position to bring in, the given item to. @ref
* Elm_Genlist_Item_Scrollto_Type.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_show(Eo *obj, Elm_Genlist_Item_Scrollto_Type type);
@ -384,7 +392,7 @@ EOAPI void elm_obj_genlist_item_show(Eo *obj, Elm_Genlist_Item_Scrollto_Type typ
* @param[in] type The position to bring in, the given item to. @ref
* Elm_Genlist_Item_Scrollto_Type.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_bring_in(Eo *obj, Elm_Genlist_Item_Scrollto_Type type);
@ -398,7 +406,7 @@ EOAPI void elm_obj_genlist_item_bring_in(Eo *obj, Elm_Genlist_Item_Scrollto_Type
* @param[in] obj The object.
* @param[out] l The contents list to return.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_all_contents_unset(Eo *obj, Eina_List **l);
@ -419,7 +427,7 @@ EOAPI void elm_obj_genlist_item_all_contents_unset(Eo *obj, Eina_List **l);
* elm_genlist_item_fields_update.
* @param[in] obj The object.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_update(Eo *obj);
@ -438,7 +446,7 @@ EOAPI void elm_obj_genlist_item_update(Eo *obj);
* @param[in] parts The name of item's part.
* @param[in] itf The type of item's part type.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_fields_update(Eo *obj, const char *parts, Elm_Genlist_Item_Field_Type itf);
@ -452,7 +460,7 @@ EOAPI void elm_obj_genlist_item_fields_update(Eo *obj, const char *parts, Elm_Ge
* @param[in] obj The object.
* @param[in] itc The item class for the item.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_class_update(Eo *obj, const Elm_Genlist_Item_Class *itc);
@ -489,7 +497,7 @@ EOAPI void elm_obj_genlist_item_class_update(Eo *obj, const Elm_Genlist_Item_Cla
* @param[in] decorate_it_type Mode name.
* @param[in] decorate_it_set Boolean to define set or unset mode.
*
* @ingroup Elm_Genlist_Item
* @ingroup Elm_Genlist_Item_Group
*/
EOAPI void elm_obj_genlist_item_decorate_mode_set(Eo *obj, const char *decorate_it_type, Eina_Bool decorate_it_set);

View File

@ -14,6 +14,11 @@ typedef Eo Elm_Genlist_Item;
#endif
/**
* @defgroup Elm_Genlist_Item_Group
* @ingroup Elm_Genlist_Group
*/
/**
* @brief Get the previous item in a genlist widget's internal list of items,
* given a handle to one of those items.

View File

@ -11,7 +11,7 @@
* @see elm_object_item_del()
* @see elm_genlist_clear()
*
* @ingroup Elm_Genlist
* @ingroup Elm_Genlist_Group
*/
EAPI Evas_Object *elm_genlist_add(Evas_Object *parent);
@ -25,7 +25,7 @@ EAPI Evas_Object *elm_genlist_add(Evas_Object *parent);
* @return The item stored in @p obj at position @p nth or @c NULL, if there's
* no item with that index (and on errors)
*
* @ingroup Genilst
* @ingroup Elm_Genlist_Group
* @since 1.8
*/
EAPI Elm_Object_Item *

View File

@ -1,5 +1,5 @@
/**
* @defgroup Elm_Gesture_Layer Gesture Layer
* @defgroup Elm_Gesture_Layer_Group Gesture Layer
* @ingroup Elementary
*
* @image html gesture_layer_inheritance_tree.png

View File

@ -10,7 +10,7 @@
* This does not activate the gesture layer. You have to
* call elm_gesture_layer_attach() in order to 'activate' gesture-layer.
*
* @ingroup Elm_Gesture_Layer
* @ingroup Elm_Gesture_Layer_Group
*/
EAPI Evas_Object *elm_gesture_layer_add(Evas_Object *parent);
@ -32,7 +32,7 @@ EAPI Evas_Object *elm_gesture_layer_add(Evas_Object *parent);
*
* @see elm_gesture_layer_tap_longpress_cb_del
* @since 1.8
* @ingroup Elm_Gesture_Layer
* @ingroup Elm_Gesture_Layer_Group
*/
EAPI void elm_gesture_layer_tap_longpress_cb_add(Evas_Object *obj, Elm_Gesture_State state, Elm_Gesture_Event_Cb cb, void *data);
@ -49,6 +49,6 @@ EAPI void elm_gesture_layer_tap_longpress_cb_add(Evas_Object *obj, Elm_Gesture_S
*
* @see elm_gesture_layer_tap_longpress_cb_add
* @since 1.8
* @ingroup Elm_Gesture_Layer
* @ingroup Elm_Gesture_Layer_Group
*/
EAPI void elm_gesture_layer_tap_longpress_cb_del(Evas_Object *obj, Elm_Gesture_State state, Elm_Gesture_Event_Cb cb, void *data);

View File

@ -472,8 +472,8 @@ EAPI int elm_map_overlay_class_zoom_max_get(const Elm_Map_Over
* is clicked, callback will be called and return a virtual group overlays.
*
* You can change the state (hidden, paused, etc.) or set the content
* or icon of the group overlays by chaning the state of the class overlay.
* Do not modifty the group overlay itself.
* or icon of the group overlays by changing the state of the class overlay.
* Do not modify the group overlay itself.
*
* @see elm_map_overlay_class_add()
*/

View File

@ -339,7 +339,7 @@ EOAPI Elm_Map_Overlay *elm_obj_map_overlay_circle_add(Eo *obj, double lon, doubl
* have default style layouts at first.
*
* You can change the state (hidden, paused, etc.) or set the content or icon
* of the group overlays by chaning the state of the class overlay. Do not
* of the group overlays by changing the state of the class overlay. Do not
* modify the group overlay itself.
*
* Also these changes have a influence on the overlays in the same class even

View File

@ -332,7 +332,7 @@ EAPI Elm_Map_Overlay *elm_map_overlay_circle_add(Elm_Map *obj, double lon, doubl
* have default style layouts at first.
*
* You can change the state (hidden, paused, etc.) or set the content or icon
* of the group overlays by chaning the state of the class overlay. Do not
* of the group overlays by changing the state of the class overlay. Do not
* modify the group overlay itself.
*
* Also these changes have a influence on the overlays in the same class even

View File

@ -34,7 +34,7 @@
*
* Once a prefs widget is created, after elm_prefs_file_set() is
* issued on it, all of its UI elements will get default values,
* declared on that file. To fetch an user's own, personal set of
* declared on that file. To fetch a user's own, personal set of
* those values, one gets to pair an <b>@ref elm-prefs-data</b> handle
* to the prefs widget.
*

View File

@ -26,7 +26,7 @@ EWAPI const Efl_Class *elm_prefs_class_get(void);
*
* Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
* all of its UI elements will get default values, when declared on that file.
* To fetch an user's own, personal set of those values, one gets to pair a
* To fetch a user's own, personal set of those values, one gets to pair a
* prefs data handle to the prefs widget. This is what this call is intended
* for.
*
@ -59,7 +59,7 @@ EOAPI Eina_Bool elm_obj_prefs_data_set(Eo *obj, Elm_Prefs_Data *data);
*
* Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
* all of its UI elements will get default values, when declared on that file.
* To fetch an user's own, personal set of those values, one gets to pair a
* To fetch a user's own, personal set of those values, one gets to pair a
* prefs data handle to the prefs widget. This is what this call is intended
* for.
*
@ -147,7 +147,7 @@ EOAPI void elm_obj_prefs_reset(Eo *obj, Elm_Prefs_Reset_Mode mode);
/**
* @brief Set the value on a given prefs widget's item.
*
* This will change the value of item named @c name programatically.
* This will change the value of item named @c name programmatically.
*
* @param[in] obj The object.
* @param[in] name The name of the item (as declared in the prefs collection)
@ -304,7 +304,7 @@ EOAPI Efl_Canvas_Object *elm_obj_prefs_item_unswallow(Eo *obj, const char *name)
*
* Each prefs item may have a default visibility state, declared on the $.epb
* @c prefs it was loaded with. By this call one may alter that state,
* programatically.
* programmatically.
*
* @param[in] obj The object.
* @param[in] name The name of the item (as declared in the prefs collection)

View File

@ -19,7 +19,7 @@ typedef Eo Elm_Prefs;
*
* Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
* all of its UI elements will get default values, when declared on that file.
* To fetch an user's own, personal set of those values, one gets to pair a
* To fetch a user's own, personal set of those values, one gets to pair a
* prefs data handle to the prefs widget. This is what this call is intended
* for.
*
@ -52,7 +52,7 @@ EAPI Eina_Bool elm_prefs_data_set(Elm_Prefs *obj, Elm_Prefs_Data *data);
*
* Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
* all of its UI elements will get default values, when declared on that file.
* To fetch an user's own, personal set of those values, one gets to pair a
* To fetch a user's own, personal set of those values, one gets to pair a
* prefs data handle to the prefs widget. This is what this call is intended
* for.
*
@ -140,7 +140,7 @@ EAPI void elm_prefs_reset(Elm_Prefs *obj, Elm_Prefs_Reset_Mode mode);
/**
* @brief Set the value on a given prefs widget's item.
*
* This will change the value of item named @c name programatically.
* This will change the value of item named @c name programmatically.
*
* @param[in] obj The object.
* @param[in] name The name of the item (as declared in the prefs collection)
@ -297,7 +297,7 @@ EAPI Efl_Canvas_Object *elm_prefs_item_unswallow(Elm_Prefs *obj, const char *nam
*
* Each prefs item may have a default visibility state, declared on the $.epb
* @c prefs it was loaded with. By this call one may alter that state,
* programatically.
* programmatically.
*
* @param[in] obj The object.
* @param[in] name The name of the item (as declared in the prefs collection)

View File

@ -1976,7 +1976,7 @@ EINA_DEPRECATED EAPI void elm_flipselector_item_del(Elm_Object_Item *it);
EINA_DEPRECATED EAPI void elm_flipselector_interval_set(Evas_Object *obj, double interval);
/**
* Get the interval on time updates for an user mouse button hold
* Get the interval on time updates for a user mouse button hold
* on a flip selector widget.
*
* @param obj The flip selector object

View File

@ -79,7 +79,7 @@ EOAPI void elm_obj_spinner_wrap_set(Eo *obj, Eina_Bool wrap);
EOAPI Eina_Bool elm_obj_spinner_wrap_get(const Eo *obj);
/**
* @brief Control the interval on time updates for an user mouse button hold on
* @brief Control the interval on time updates for a user mouse button hold on
* spinner widgets' arrows.
*
* This interval value is decreased while the user holds the mouse pointer
@ -103,7 +103,7 @@ EOAPI Eina_Bool elm_obj_spinner_wrap_get(const Eo *obj);
EOAPI void elm_obj_spinner_interval_set(Eo *obj, double interval);
/**
* @brief Control the interval on time updates for an user mouse button hold on
* @brief Control the interval on time updates for a user mouse button hold on
* spinner widgets' arrows.
*
* This interval value is decreased while the user holds the mouse pointer

View File

@ -72,7 +72,7 @@ EAPI void elm_spinner_wrap_set(Elm_Spinner *obj, Eina_Bool wrap);
EAPI Eina_Bool elm_spinner_wrap_get(const Elm_Spinner *obj);
/**
* @brief Control the interval on time updates for an user mouse button hold on
* @brief Control the interval on time updates for a user mouse button hold on
* spinner widgets' arrows.
*
* This interval value is decreased while the user holds the mouse pointer
@ -96,7 +96,7 @@ EAPI Eina_Bool elm_spinner_wrap_get(const Elm_Spinner *obj);
EAPI void elm_spinner_interval_set(Elm_Spinner *obj, double interval);
/**
* @brief Control the interval on time updates for an user mouse button hold on
* @brief Control the interval on time updates for a user mouse button hold on
* spinner widgets' arrows.
*
* This interval value is decreased while the user holds the mouse pointer

View File

@ -127,7 +127,7 @@ _items_visibility_fix(Elm_Toolbar *obj,
evas_object_geometry_get(VIEW(it), NULL, NULL, &ciw, &cih);
if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE)) *iw += cih;
else *iw += ciw;
//expand is the case where the bx_more stuff is used and the prio.visible is completly ignored.
//expand is the case where the bx_more stuff is used and the prio.visible is completely ignored.
//if this is the case - then every item in there is just visible in the box - nothing (beside the items in the other box is hidden)
if (!usage_bx_more)
{

View File

@ -5907,7 +5907,7 @@ EAPI int evas_object_image_stride_get(const Evas_Object *obj) EINA_WARN_UNUSED_R
* @brief Replaces the raw image data of the given image object.
*
* This function lets the application replace an image object's internal pixel
* buffer with an user-allocated one. For best results, you should generally
* buffer with a user-allocated one. For best results, you should generally
* first call @ref evas_object_image_size_set with the width and height for the
* new buffer.
*

View File

@ -362,6 +362,7 @@ struct _RGBA_Font_Glyph
Evas_Coord x_bear;
Evas_Coord y_bear;
FT_Glyph glyph;
FT_Vector advance;
RGBA_Font_Glyph_Out *glyph_out;
void *col_dat;
/* this is a problem - only 1 engine at a time can extend such a font... grrr */

View File

@ -711,6 +711,46 @@ _fash_gl_add(Fash_Glyph *fash, int item, RGBA_Font_Glyph *glyph)
fash->bucket[grp]->bucket[maj]->item[min] = glyph;
}
static void evas_font_glyph_load(RGBA_Font_Glyph *fg)
{
if(fg->glyph) return;
RGBA_Font_Int *fi = fg->fi;
FT_UInt idx = fg->index;
FT_Error error;
const FT_Int32 hintflags[3] =
{ FT_LOAD_NO_HINTING, FT_LOAD_FORCE_AUTOHINT, FT_LOAD_NO_AUTOHINT };
static FT_Matrix transform = {0x10000, _EVAS_FONT_SLANT_TAN * 0x10000,
0x00000, 0x10000};
evas_common_font_int_reload(fi);
FTLOCK();
error = FT_Load_Glyph(fi->src->ft.face, idx,
(FT_HAS_COLOR(fi->src->ft.face) ?
(FT_LOAD_COLOR | hintflags[fi->hinting]) :
(FT_LOAD_DEFAULT | FT_LOAD_NO_BITMAP | hintflags[fi->hinting])));
FTUNLOCK();
if (error)
{
return;
}
/* Transform the outline of Glyph according to runtime_rend. */
if (fi->runtime_rend & FONT_REND_SLANT)
FT_Outline_Transform(&fi->src->ft.face->glyph->outline, &transform);
/* Embolden the outline of Glyph according to rundtime_rend. */
if (fi->runtime_rend & FONT_REND_WEIGHT)
FT_GlyphSlot_Embolden(fi->src->ft.face->glyph);
FTLOCK();
error = FT_Get_Glyph(fi->src->ft.face->glyph, &(fg->glyph));
FTUNLOCK();
return;
}
EAPI RGBA_Font_Glyph *
evas_common_font_int_cache_glyph_get(RGBA_Font_Int *fi, FT_UInt idx)
{
@ -749,48 +789,60 @@ evas_common_font_int_cache_glyph_get(RGBA_Font_Int *fi, FT_UInt idx)
/* Transform the outline of Glyph according to runtime_rend. */
if (fi->runtime_rend & FONT_REND_SLANT)
FT_Outline_Transform(&fi->src->ft.face->glyph->outline, &transform);
FT_Outline_Transform(&fi->src->ft.face->glyph->outline, &transform);
/* Embolden the outline of Glyph according to rundtime_rend. */
if (fi->runtime_rend & FONT_REND_WEIGHT)
FT_GlyphSlot_Embolden(fi->src->ft.face->glyph);
FT_GlyphSlot_Embolden(fi->src->ft.face->glyph);
fg = calloc(1, sizeof(RGBA_Font_Glyph));
if (!fg) return NULL;
FTLOCK();
error = FT_Get_Glyph(fi->src->ft.face->glyph, &(fg->glyph));
FTUNLOCK();
if (error)
if (FT_HAS_COLOR(fi->src->ft.face))
{
free(fg);
if (!fi->fash) fi->fash = _fash_gl_new();
if (fi->fash) _fash_gl_add(fi->fash, idx, (void *)(-1));
return NULL;
}
fg->advance.x = fi->src->ft.face->glyph->advance.x * 1024;
fg->advance.y = fi->src->ft.face->glyph->advance.y * 1024;
{
FT_BBox outbox;
FT_Glyph_Get_CBox(fg->glyph,
((fi->hinting == 0) ? FT_GLYPH_BBOX_UNSCALED :
FT_GLYPH_BBOX_GRIDFIT),
&outbox);
fg->width = EVAS_FONT_ROUND_26_6_TO_INT(outbox.xMax - outbox.xMin);
fg->x_bear = EVAS_FONT_ROUND_26_6_TO_INT(outbox.xMin);
fg->y_bear = EVAS_FONT_ROUND_26_6_TO_INT(outbox.yMax);
FT_GlyphSlot slot = fi->src->ft.face->glyph;
fg->width = EVAS_FONT_ROUND_26_6_TO_INT(slot->metrics.width);
fg->x_bear = EVAS_FONT_ROUND_26_6_TO_INT(slot->metrics.horiBearingX);
fg->y_bear = EVAS_FONT_ROUND_26_6_TO_INT(slot->metrics.horiBearingY);
if (FT_HAS_FIXED_SIZES(fi->src->ft.face))
{
if (FT_HAS_COLOR(fi->src->ft.face) &&
fi->bitmap_scalable & EFL_TEXT_FONT_BITMAP_SCALABLE_COLOR)
if (fi->bitmap_scalable & EFL_TEXT_FONT_BITMAP_SCALABLE_COLOR)
{
fg->glyph->advance.x *= fi->scale_factor;
fg->glyph->advance.y *= fi->scale_factor;
fg->advance.x *= fi->scale_factor;
fg->advance.y *= fi->scale_factor;
fg->width *= fi->scale_factor;
fg->x_bear *= fi->scale_factor;
fg->y_bear *= fi->scale_factor;
}
}
}
else
{
FTLOCK();
error = FT_Get_Glyph(fi->src->ft.face->glyph, &(fg->glyph));
FTUNLOCK();
if (error)
{
free(fg);
if (!fi->fash) fi->fash = _fash_gl_new();
if (fi->fash) _fash_gl_add(fi->fash, idx, (void *)(-1));
return NULL;
}
fg->advance.x = fg->glyph->advance.x;
fg->advance.y = fg->glyph->advance.y;
FT_BBox outbox;
FT_Glyph_Get_CBox(fg->glyph,
((fi->hinting == 0) ? FT_GLYPH_BBOX_UNSCALED :
FT_GLYPH_BBOX_GRIDFIT),
&outbox);
fg->width = EVAS_FONT_ROUND_26_6_TO_INT(outbox.xMax - outbox.xMin);
fg->x_bear = EVAS_FONT_ROUND_26_6_TO_INT(outbox.xMin);
fg->y_bear = EVAS_FONT_ROUND_26_6_TO_INT(outbox.yMax);
}
fg->index = idx;
fg->fi = fi;
@ -813,7 +865,7 @@ evas_common_font_int_cache_glyph_render(RGBA_Font_Glyph *fg)
/* no cserve2 case */
if (fg->glyph_out)
return EINA_TRUE;
evas_font_glyph_load(fg);
FTLOCK();
error = FT_Glyph_To_Bitmap(&(fg->glyph), FT_RENDER_MODE_NORMAL, 0, 1);
if (error)

View File

@ -188,7 +188,7 @@ _evas_common_font_ot_hb_get_glyph_advance(hb_font_t *font,
fg = evas_common_font_int_cache_glyph_get(fi, glyph);
if (fg)
{
return fg->glyph->advance.x >> 10;
return fg->advance.x >> 10;
}
return 0;
}

View File

@ -17,7 +17,7 @@
#ifdef BILINEAR_HALF_TO_FULL_SCALE
if (// image is not too big so that cululative error on steps might be
// noticable
// noticeable
(dst_region_w <= 4096) &&
(dst_region_h <= 4096) &&
(src_region_w <= 4096) &&

View File

@ -1104,7 +1104,7 @@ _content_create_ot(RGBA_Font_Int *fi, const Eina_Unicode *text,
if (is_replacement)
{
/* Update the advance accordingly */
adjust_x += (pen_x + (fg->glyph->advance.x >> 16)) -
adjust_x += (pen_x + (fg->advance.x >> 16)) -
gl_itr->pen_after;
}
pen_x = gl_itr->pen_after;
@ -1198,7 +1198,7 @@ _content_create_regular(RGBA_Font_Int *fi, const Eina_Unicode *text,
gl_itr->index = idx;
gl_itr->x_bear = fg->x_bear;
gl_itr->y_bear = fg->y_bear;
adv = fg->glyph->advance.x >> 10;
adv = fg->advance.x >> 10;
gl_itr->width = fg->width;
if (EVAS_FONT_CHARACTER_IS_INVISIBLE(_gl))

View File

@ -197,6 +197,8 @@ evil_path_is_absolute(const char *path)
if (!path)
return 0;
if (*path == '/' || *path == '\\') return 1;
length = strlen(path);
if (length < 3) return 0;

View File

@ -263,7 +263,7 @@ _decode_image(GifFileType *gif, DATA32 *data, int rowpix, int xin, int yin,
if (cmap)
{
// fill in local color table of guaranteed 256 entires with cmap & pad
// fill in local color table of guaranteed 256 entries with cmap & pad
for (cnum = 0; cnum < cmap->ColorCount; cnum++)
colors[cnum] = cmap->Colors[cnum];
for (cnum = cmap->ColorCount; cnum < 256; cnum++)

View File

@ -519,7 +519,7 @@ evas_image_load_file_head_with_data_png(void *loader_data,
memcpy(&prop->content, &optional_content, sizeof (Eina_Rectangle));
// Check that the limit of our content zone are correct
// This could be handled as an incorrect file completly,
// This could be handled as an incorrect file completely,
// but let's try to recover
if (prop->content.x == 0 || prop->content.y == 0)
{

View File

@ -547,6 +547,11 @@ static const struct {
const char *test;
const char *result;
} sanitize[] = {
#ifdef _WIN32
{ "C:\\home\\mydir\\..\\myfile", "C:/home/myfile" },
{ "C:/home/mydir/../myfile", "C:/home/myfile" },
{ "\\home\\mydir\\..\\myfile", "/home/myfile" },
#endif
{ "/home/mydir/../myfile", "/home/myfile" }
};
@ -558,7 +563,7 @@ EFL_START_TEST(eina_test_file_path)
for (i = 0; i < sizeof (sanitize) / sizeof (sanitize[0]); i++)
{
path = eina_file_path_sanitize(sanitize[i].test);
fail_if(strcmp(path, sanitize[i].result));
ck_assert_str_eq(path, sanitize[i].result);
free(path);
}
}