enum Evas.Textgrid.Palette { [[The palette to use for the foreground and background colors. @since 1.7]] none, [[No palette is used]] standard, [[Standard palette (around 16 colors)]] extended, [[Extended palette (at max 256 colors)]] last [[Sentinel value to indicate last enum field during iteration]] } enum Evas.Textgrid.Font_Style { [[The style to give to each character of the grid. @since 1.7]] normal = (1 << 0), [[Normal style]] bold = (1 << 1), [[Bold style]] italic = (1 << 2) [[Oblique style]] } /* XXX: Actual definition is in C. */ struct Evas.Textgrid.Cell; [[Evas textgrid cell data structure]] class Evas.Textgrid (Efl.Canvas.Object, Efl.Text.Properties, Efl.Text.Font) { [[Evas textgrid class]] legacy_prefix: evas_object_textgrid; eo_prefix: evas_obj_textgrid; methods { @property supported_font_styles { set { [[This function is not implemented yet, do not use.]] } get { [[This function is not implemented yet, do not use.]] } values { styles: Evas.Textgrid.Font_Style; [[EVAS_TEXTGRID_FONT_STYLE_NORMAL]] } } @property size { set { [[Set the size of the textgrid object. This function sets the number of lines $h and the number of columns $w for the textgrid object $obj. If $w or $h are less than or equal to 0, this function does nothing. @since 1.7]] } get { [[Get the size of the textgrid object. This function retrieves the number of lines in the buffer $h and the number of columns in the buffer $w of the textgrid object $obj. $w or $h can be $null. On error, they are set to 0. @since 1.7]] } values { w: int; [[The number of columns (width in cells) of the grid.]] h: int; [[The number of rows (height in cells) of the grid.]] } } @property cell_size { get { [[Retrieve the size of a cell of the given textgrid object in pixels. This functions retrieves the width and height, in pixels, of a cell of the textgrid object $obj and stores them respectively in the buffers $width and $height. Their values depend on the monospace font and style used for the textgrid object. $width and $height can be $null. On error, they are set to 0. See also @Efl.Text.Properties.font.set and @.supported_font_styles.set @since 1.7]] } values { width: int; [[A pointer to the location to store the cell's width in pixels.]] height: int; [[A pointer to the location to store the cell's height in pixels.]] } } update_add { [[Indicate for evas that part of a textgrid region (cells) has been updated. This function declares to evas that a region of cells was updated by code and needs refreshing. See also @.cellrow_set, @.cellrow_get and @.size.set. @since 1.7]] /* FIXME-doc * 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 */ params { @in x: int; [[The rect region of cells top-left x (column).]] @in y: int; [[The rect region of cells top-left y (row).]] @in w: int; [[The rect region size in number of cells (columns).]] @in h: int; [[The rect region size in number of cells (rows).]] } } cellrow_set { [[Set the string at the given row of the given textgrid object. This function returns cells to the textgrid taken by evas_object_textgrid_cellrow_get. The row pointer $row should be the same row pointer returned by evas_object_textgrid_cellrow_get for the same row $y. See also @.cellrow_get, @.size.set and @.update_add. @since 1.7]] params { @in y: int; [[The row index of the grid.]] @in row: ptr(const(Evas.Textgrid.Cell)); [[The string as a sequence of #Evas_Textgrid_Cell.]] } } cellrow_get @const { [[Get the string at the given row of the given textgrid object. This function returns a pointer to the first cell of the line $y of the textgrid object $obj. If $y is not between 0 and the number of lines of the grid - 1, or on error, this function return $null. See also @.cellrow_set, @.size.set and @.update_add. @since 1.7]] return: ptr(Evas.Textgrid.Cell); [[A pointer to the first cell of the given row.]] params { @in y: int; [[The row index of the grid.]] } } palette_set { [[The set color to the given palette at the given index of the given textgrid object. This function sets the color for the palette of type $pal at the index $idx of the textgrid object $obj. The ARGB components are given by $r, $g, $b and $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 $idx is not between 0 and 255, or on error, this function does nothing. The color components are clamped between 0 and 255. If $idx is greater than the latest set color, the colors between this last index and $idx - 1 are set to black (0, 0, 0, 0). See also @.palette_get. @since 1.7]] params { @in pal: Evas.Textgrid.Palette; [[The type of the palette to set the color.]] @in idx: int; [[The index of the palette to which the color is stored.]] @in r: int; [[The red component of the color.]] @in g: int; [[The green component of the color.]] @in b: int; [[The blue component of the color.]] @in a: int; [[The alpha component of the color.]] } } palette_get @const { [[The retrieve color to the given palette at the given index of the given textgrid object. This function retrieves the color for the palette of type $pal at the index $idx of the textgrid object $obj. The ARGB components are stored in the buffers $r, $g, $b and $a. If $idx is not between 0 and the index of the latest set color, or if $pal is #EVAS_TEXTGRID_PALETTE_NONE or #EVAS_TEXTGRID_PALETTE_LAST, the values of the components are 0. $r, $g, $b and $a can be $null. See also @.palette_set. @since 1.7]] params { @in pal: Evas.Textgrid.Palette; [[The type of the palette to set the color.]] @in idx: int; [[The index of the palette to which the color is stored.]] @out r: int; [[A pointer to the red component of the color.]] @out g: int; [[A pointer to the green component of the color.]] @out b: int; [[A pointer to the blue component of the color.]] @out a: int; [[A pointer to the alpha component of the color.]] } } } implements { Efl.Object.constructor; Efl.Object.destructor; Efl.Text.Properties.font { get; set; } Efl.Text.Properties.font_source { get; set; } Efl.Text.Font.font_bitmap_scalable { get; set; } } }