*/
EAPI Evas_Object *evas_object_rectangle_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+#include "canvas/evas_rectangle.eo.legacy.h"
/**
* @}
*/
*/
EAPI char *evas_textblock_text_utf8_to_markup(const Evas_Object *obj, const char *text) EINA_WARN_UNUSED_RESULT EINA_MALLOC;
-/**
- * Set the objects style to ts.
- * @param obj the Evas object to set the style to.
- * @param ts the style to set.
- * @return Returns no value.
- */
-EAPI void evas_object_textblock_style_set(Evas_Object *obj, const Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1);
-
-/**
- * Return the style of an object.
- * @param obj the object to get the style from.
- * @return the style of the object.
- */
-EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Push ts to the top of the user style stack.
- *
- * FIXME: API is solid but currently only supports 1 style in the stack.
- *
- * The user style overrides the corresponding elements of the regular style.
- * This is the proper way to do theme overrides in code.
- * @param obj the Evas object to set the style to.
- * @param ts the style to set.
- * @return Returns no value.
- * @see evas_object_textblock_style_set
- * @since 1.2
- */
-EAPI void evas_object_textblock_style_user_push(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1);
-
-/**
- * Del the from the top of the user style stack.
- *
- * @param obj the object to get the style from.
- * @see evas_object_textblock_style_get
- * @since 1.2
- */
-EAPI void evas_object_textblock_style_user_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Get (don't remove) the style at the top of the user style stack.
- *
- * @param obj the object to get the style from.
- * @return the style of the object.
- * @see evas_object_textblock_style_get
- * @since 1.2
- */
-EAPI const Evas_Textblock_Style *evas_object_textblock_style_user_peek(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * @brief Set the "replacement character" to use for the given textblock object.
- *
- * @param obj The given textblock object.
- * @param ch The charset name.
- */
-EAPI void evas_object_textblock_replace_char_set(Evas_Object *obj, const char *ch) EINA_ARG_NONNULL(1);
-
-/**
- * @brief Get the "replacement character" for given textblock object. Returns
- * @c NULL if no replacement character is in use.
- *
- * @param obj The given textblock object
- * @return Replacement character or @c NULL.
- */
-EAPI const char *evas_object_textblock_replace_char_get(Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * @brief Sets the vertical alignment of text within the textblock object
- * as a whole.
- *
- * Normally alignment is 0.0 (top of object). Values given should be
- * between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered
- * etc.).
- *
- * @param obj The given textblock object.
- * @param align A value between @c 0.0 and @c 1.0.
- * @since 1.1
- */
-EAPI void evas_object_textblock_valign_set(Evas_Object *obj, double align);
-
-/**
- * @brief Gets the vertical alignment of a textblock
- *
- * @param obj The given textblock object.
- * @return The alignment set for the object.
- * @since 1.1
- */
-EAPI double evas_object_textblock_valign_get(const Evas_Object *obj);
-
-/**
- * @brief Sets the BiDi delimiters used in the textblock.
- *
- * BiDi delimiters are use for in-paragraph separation of bidi segments. This
- * is useful for example in recipients fields of e-mail clients where bidi
- * oddities can occur when mixing RTL and LTR.
- *
- * @param obj The given textblock object.
- * @param delim A null terminated string of delimiters, e.g ",|".
- * @since 1.1
- */
-EAPI void evas_object_textblock_bidi_delimiters_set(Evas_Object *obj, const char *delim);
-
-/**
- * @brief Gets the BiDi delimiters used in the textblock.
- *
- * BiDi delimiters are use for in-paragraph separation of bidi segments. This
- * is useful for example in recipients fields of e-mail clients where bidi
- * oddities can occur when mixing RTL and LTR.
- *
- * @param obj The given textblock object.
- * @return A null terminated string of delimiters, e.g ",|". If empty, returns
- * @c NULL.
- * @since 1.1
- */
-EAPI const char *evas_object_textblock_bidi_delimiters_get(const Evas_Object *obj);
-
-/**
- * @brief Sets newline mode. When true, newline character will behave
- * as a paragraph separator.
- *
- * @param obj The given textblock object.
- * @param mode @c EINA_TRUE for legacy mode, @c EINA_FALSE otherwise.
- * @since 1.1
- */
-EAPI void evas_object_textblock_legacy_newline_set(Evas_Object *obj, Eina_Bool mode) EINA_ARG_NONNULL(1);
-
-/**
- * @brief Gets newline mode. When true, newline character behaves
- * as a paragraph separator.
- *
- * @param obj The given textblock object.
- * @return @c EINA_TRUE if in legacy mode, @c EINA_FALSE otherwise.
- * @since 1.1
- */
-EAPI Eina_Bool evas_object_textblock_legacy_newline_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Sets the tetxblock's text to the markup text.
- *
- * @note assumes text does not include the unicode object replacement char (0xFFFC)
- *
- * @param obj the textblock object.
- * @param text the markup text to use.
- * @return Return no value.
- */
-EAPI void evas_object_textblock_text_markup_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
-
-/**
- * Return the markup of the object.
- *
- * @param obj the Evas object.
- * @return the markup text of the object.
- */
-EAPI const char *evas_object_textblock_text_markup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Return the object's main cursor.
- *
- * @param obj the object.
- * @return The @p obj's main cursor.
- */
-EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
-
-/**
- * Create a new cursor, associate it to the obj and init it to point
- * to the start of the textblock. Association to the object means the cursor
- * will be updated when the object will change.
- *
- * @note if you need speed and you know what you are doing, it's slightly faster to just allocate the cursor yourself and not associate it. (only people developing the actual object, and not users of the object).
- *
- * @param obj the object to associate to.
- * @return the new cursor.
- */
-EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_new(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
-
-/**
- * Returns the
- *
- * @param obj The evas, must not be @c NULL.
- * @param anchor the anchor name to get
- * @return Returns the list format node corresponding to the anchor, may be null if there are none.
- */
-EAPI const Eina_List *evas_textblock_node_format_list_get(const Evas_Object *obj, const char *anchor) EINA_ARG_NONNULL(1, 2);
+#include "canvas/evas_textblock.eo.legacy.h"
/**
- * Returns the first format node.
- *
- * @param obj The evas, must not be @c NULL.
- * @return Returns the first format node, may be null if there are none.
- */
-EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_first_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Returns the last format node.
- *
- * @param obj The evas textblock, must not be NULL.
- * @return Returns the first format node, may be null if there are none.
- */
-EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_last_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Remove a format node and it's match. i.e, removes a \<tag\> \</tag\> pair.
- * Assumes the node is the first part of \<tag\> i.e, this won't work if
- * n is a closing tag.
- *
- * @param obj the Evas object of the textblock - not null.
- * @param n the current format node - not null.
- */
-EAPI void evas_textblock_node_format_remove_pair(Evas_Object *obj, Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2);
-
-/**
- * Get the geometry of a line number.
- *
- * @param obj the object.
- * @param line the line number.
- * @param cx x coord of the line.
- * @param cy y coord of the line.
- * @param cw w coord of the line.
- * @param ch h coord of the line.
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool evas_object_textblock_line_number_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
-
-/**
- * Clear the textblock object.
- * @note Does *NOT* free the Evas object itself.
- *
- * @param obj the object to clear.
- * @return nothing.
- */
-EAPI void evas_object_textblock_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Get the formatted width and height. This calculates the actual size after restricting
- * the textblock to the current size of the object.
- * The main difference between this and @ref evas_object_textblock_size_native_get
- * is that the "native" function does not wrapping into account
- * it just calculates the real width of the object if it was placed on an
- * infinite canvas, while this function gives the size after wrapping
- * according to the size restrictions of the object.
- *
- * For example for a textblock containing the text: "You shall not pass!"
- * with no margins or padding and assuming a monospace font and a size of
- * 7x10 char widths (for simplicity) has a native size of 19x1
- * and a formatted size of 5x4.
- *
- *
- * @param obj the Evas object.
- * @param w the width of the object.
- * @param h the height of the object
- * @return Returns no value.
- * @see evas_object_textblock_size_native_get
- */
-EAPI void evas_object_textblock_size_formatted_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
-
-/**
- * Get the native width and height. This calculates the actual size without taking account
- * the current size of the object.
- * The main difference between this and @ref evas_object_textblock_size_formatted_get
- * is that the "native" function does not take wrapping into account
- * it just calculates the real width of the object if it was placed on an
- * infinite canvas, while the "formatted" function gives the size after
- * wrapping text according to the size restrictions of the object.
- *
- * For example for a textblock containing the text: "You shall not pass!"
- * with no margins or padding and assuming a monospace font and a size of
- * 7x10 char widths (for simplicity) has a native size of 19x1
- * and a formatted size of 5x4.
- *
- * @param obj the Evas object of the textblock
- * @param w the width returned
- * @param h the height returned
- * @return Returns no value.
- */
-EAPI void evas_object_textblock_size_native_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
-EAPI void evas_object_textblock_style_insets_get(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1);
-/**
* @}
*/
*/
EAPI Evas_Object *evas_object_textgrid_add(Evas *e);
-/**
- * @brief Set the size of the textgrid object.
- *
- * @param obj The textgrid object.
- * @param w The number of columns (width in cells) of the grid.
- * @param h The number of rows (height in cells) of the grid.
- *
- * This function sets the number of lines @p h and the number
- * of columns @p w to the textgrid object @p obj. If
- * @p w or @p h are less or equal than 0, this
- * functiond does nothing.
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_size_set(Evas_Object *obj, int w, int h);
-
-/**
- * @brief Get the size of the textgrid object.
- *
- * @param obj The textgrid object.
- * @param w The number of columns of the grid.
- * @param h The number of rows of the grid.
- *
- * This function retrieves the number of lines in the buffer @p
- * h and the number of columns in the buffer @p w of
- * the textgrid object @p obj. @p w or @p h can be
- * @c NULL. On error, their value is 0.
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_size_get(const Evas_Object *obj, int *w, int *h);
-
-/**
- * @brief Set the font (source) file to be used on a given textgrid object.
- *
- * @param obj The textgrid object to set font for.
- * @param font_source The font file's path.
- *
- * This function allows the font file @p font_source to be explicitly
- * set for the textgrid object @p obj, overriding system lookup, which
- * will first occur in the given file's contents. If @p font_source is
- * @c NULL or is an empty string, or the same font_source has already
- * been set, or on error, this function does nothing.
- *
- * @see evas_object_textgrid_font_get()
- * @see evas_object_textgrid_font_set()
- * @see evas_object_textgrid_font_source_get()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_font_source_set(Evas_Object *obj, const char *font_source);
-
-/**
- * @brief Get the font file's path which is being used on a given textgrid object.
- *
- * @param obj The textgrid object to set font for.
- * @return The font file's path.
- *
- * This function returns the font source path of the textgrid object
- * @p obj. If the font source path has not been set, or on error,
- * @c NULL is returned.
- *
- * @see evas_object_textgrid_font_get()
- * @see evas_object_textgrid_font_set()
- * @see evas_object_textgrid_font_source_set()
- *
- * @since 1.7
- */
-EAPI const char *evas_object_textgrid_font_source_get(const Evas_Object *obj);
-
-/**
- * @brief Set the font family and size on a given textgrid object.
- *
- * @param obj The textgrid object to set font for.
- * @param font_name The font (family) name.
- * @param font_size The font size, in points.
- *
- * This function allows the font name @p font_name and size
- * @p font_size of the textgrid object @p obj to be set. The @p font_name
- * string has to follow fontconfig's convention on naming fonts, as
- * it's the underlying library used to query system fonts by Evas (see
- * the @c fc-list command's output, on your system, to get an
- * idea). It also has to be a monospace font. If @p font_name is
- * @c NULL, or if it is an empty string, or if @p font_size is less or
- * equal than 0, or on error, this function does nothing.
- *
- * @see evas_object_textgrid_font_get()
- * @see evas_object_textgrid_font_source_set()
- * @see evas_object_textgrid_font_source_get()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_font_set(Evas_Object *obj, const char *font_name, Evas_Font_Size font_size);
-
-/**
- * @brief Retrieve the font family and size in use on a given textgrid object.
- *
- * @param obj The textgrid object to query for font information.
- * @param font_name A pointer to the location to store the font name in.
- * @param font_size A pointer to the location to store the font size in.
- *
- * This function allows the font name and size of a textgrid object
- * @p obj to be queried and stored respectively in the buffers
- * @p font_name and @p font_size. Be aware that the font name string is
- * still owned by Evas and should @b not have free() called on it by
- * the caller of the function. On error, the font name is the empty
- * string and the font size is 0. @p font_name and @p font_source can
- * be @c NULL.
- *
- * @see evas_object_textgrid_font_set()
- * @see evas_object_textgrid_font_source_set()
- * @see evas_object_textgrid_font_source_get()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_font_get(const Evas_Object *obj, const char **font_name, Evas_Font_Size *font_size);
-
-/**
- * @brief Retrieve the size of a cell of the given textgrid object in pixels.
- *
- * @param obj The textgrid object to query for font information.
- * @param w A pointer to the location to store the width in pixels of a cell.
- * @param h A pointer to the location to store the height in
- * pixels of a cell.
- *
- * This functions retrieves the width and height, in pixels, of a cell
- * of the textgrid object @p obj and store them respectively in the
- * buffers @p width and @p height. Their value depends on the
- * monospace font used for the textgrid object, as well as the
- * style. @p width and @p height can be @c NULL. On error, they are
- * set to 0.
- *
- * @see evas_object_textgrid_font_set()
- * @see evas_object_textgrid_supported_font_styles_set()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_cell_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
-
-/**
- * @brief The set color to the given palette at the given index of the given textgrid object.
- *
- * @param obj The textgrid object to query for font information.
- * @param pal The type of the palette to set the color.
- * @param idx The index of the paletter to which the color is stored.
- * @param r The red component of the color.
- * @param g The green component of the color.
- * @param b The blue component of the color.
- * @param a The alpha component of the color.
- *
- * This function sets the color for the palette of type @p pal at the
- * index @p idx of the textgrid object @p obj. The ARGB components are
- * given by @p r, @p g, @p b and @p a. This color can be used when
- * setting the #Evas_Textgrid_Cell structure. The components must set
- * a pre-multiplied color. If pal is #EVAS_TEXTGRID_PALETTE_NONE or
- * #EVAS_TEXTGRID_PALETTE_LAST, or if @p idx is not between 0 and 255,
- * or on error, this function does nothing. The color components are
- * clamped between 0 and 255. If @p idx is greater than the latest set
- * color, the colors between this last index and @p idx - 1 are set to
- * black (0, 0, 0, 0).
- *
- * @see evas_object_textgrid_palette_get()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_palette_set(Evas_Object *obj, Evas_Textgrid_Palette pal, int idx, int r, int g, int b, int a);
-
-/**
- * @brief The retrieve color to the given palette at the given index of the given textgrid object.
- *
- * @param obj The textgrid object to query for font information.
- * @param pal The type of the palette to set the color.
- * @param idx The index of the palette to which the color is stored.
- * @param r A pointer to the red component of the color.
- * @param g A pointer to the green component of the color.
- * @param b A pointer to the blue component of the color.
- * @param a A pointer to the alpha component of the color.
- *
- * This function retrieves the color for the palette of type @p pal at the
- * index @p idx of the textgrid object @p obj. The ARGB components are
- * stored in the buffers @p r, @p g, @p b and @p a. If @p idx is not
- * between 0 and the index of the latest set color, or if @p pal is
- * #EVAS_TEXTGRID_PALETTE_NONE or #EVAS_TEXTGRID_PALETTE_LAST, the
- * values of the components are 0. @p r, @p g, @p b and @p a can be
- * @c NULL.
- *
- * @see evas_object_textgrid_palette_set()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_palette_get(const Evas_Object *obj, Evas_Textgrid_Palette pal, int idx, int *r, int *g, int *b, int *a);
-
-EAPI void evas_object_textgrid_supported_font_styles_set(Evas_Object *obj, Evas_Textgrid_Font_Style styles);
-EAPI Evas_Textgrid_Font_Style evas_object_textgrid_supported_font_styles_get(const Evas_Object *obj);
-
-/**
- * @brief Set the string at the given row of the given textgrid object.
- *
- * @param obj The textgrid object to query for font information.
- * @param y The row index of the grid.
- * @param row The string as a sequence of #Evas_Textgrid_Cell.
- *
- * This function returns cells to the textgrid taken by
- * evas_object_textgrid_cellrow_get(). The row pointer @p row should be the
- * same row pointer returned by evas_object_textgrid_cellrow_get() for the
- * same row @p y.
- *
- * @see evas_object_textgrid_cellrow_get()
- * @see evas_object_textgrid_size_set()
- * @see evas_object_textgrid_update_add()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_cellrow_set(Evas_Object *obj, int y, const Evas_Textgrid_Cell *row);
-
-/**
- * @brief Get the string at the given row of the given textgrid object.
- *
- * @param obj The textgrid object to query for font information.
- * @param y The row index of the grid.
- * @return A pointer to the first cell of the given row.
- *
- * This function returns a pointer to the first cell of the line @p y
- * of the textgrid object @p obj. If @p y is not between 0 and the
- * number of lines of the grid - 1, or on error, this function return @c NULL.
- *
- * @see evas_object_textgrid_cellrow_set()
- * @see evas_object_textgrid_size_set()
- * @see evas_object_textgrid_update_add()
- *
- * @since 1.7
- */
-EAPI Evas_Textgrid_Cell *evas_object_textgrid_cellrow_get(const Evas_Object *obj, int y);
-
-/**
- * @brief Indicate for evas that part of a textgrid region (cells) has been updated.
- *
- * @param obj The textgrid object.
- * @param x The rect region of cells top-left x (column)
- * @param y The rect region of cells top-left y (row)
- * @param w The rect region size in number of cells (columns)
- * @param h The rect region size in number of cells (rows)
- *
- * This function declares to evas that a region of cells was updated by
- * code and needs refreshing. An application should modify cells like this
- * as an example:
- *
- * @code
- * Evas_Textgrid_Cell *cells;
- * int i;
- *
- * cells = evas_object_textgrid_cellrow_get(obj, row);
- * for (i = 0; i < width; i++) cells[i].codepoint = 'E';
- * evas_object_textgrid_cellrow_set(obj, row, cells);
- * evas_object_textgrid_update_add(obj, 0, row, width, 1);
- * @endcode
- *
- * @see evas_object_textgrid_cellrow_set()
- * @see evas_object_textgrid_cellrow_get()
- * @see evas_object_textgrid_size_set()
- *
- * @since 1.7
- */
-EAPI void evas_object_textgrid_update_add(Evas_Object *obj, int x, int y, int w, int h);
+#include "canvas/evas_textgrid.eo.legacy.h"
/**
* @}
*/
EAPI Evas_Object *evas_object_line_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
-/**
- * Sets the coordinates of the end points of the given evas line object.
- * @param obj The given evas line object.
- * @param x1 The X coordinate of the first point.
- * @param y1 The Y coordinate of the first point.
- * @param x2 The X coordinate of the second point.
- * @param y2 The Y coordinate of the second point.
- */
-EAPI void evas_object_line_xy_set(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2);
+#include "canvas/evas_line.eo.legacy.h"
/**
- * Retrieves the coordinates of the end points of the given evas line object.
- * @param obj The given line object.
- * @param x1 Pointer to an integer in which to store the X coordinate of the
- * first end point.
- * @param y1 Pointer to an integer in which to store the Y coordinate of the
- * first end point.
- * @param x2 Pointer to an integer in which to store the X coordinate of the
- * second end point.
- * @param y2 Pointer to an integer in which to store the Y coordinate of the
- * second end point.
- */
-EAPI void evas_object_line_xy_get(const Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2);
-/**
* @}
*/
*/
EAPI Evas_Object *evas_object_polygon_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
-/**
- * Adds the given point to the given evas polygon object.
- * @param obj The given evas polygon object.
- * @param x The X coordinate of the given point.
- * @param y The Y coordinate of the given point.
- * @ingroup Evas_Polygon_Group
- */
-EAPI void evas_object_polygon_point_add(Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
-
-/**
- * Removes all of the points from the given evas polygon object.
- * @param obj The given polygon object.
- */
-EAPI void evas_object_polygon_points_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+#include "canvas/evas_polygon.eo.legacy.h"
/**
* @}
*/