efl/src/lib/evas/canvas/evas_textgrid.eo

206 lines
7.9 KiB
Plaintext

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; }
}
}