Interface Efl.Gfx.IHint
Efl graphics hint interface (Since EFL 1.22)
Syntax
public interface IHint : IWrapper, IDisposable
Properties
HintAlign
Hints for an object's alignment. These are hints on how to align an object inside the boundaries of a container/manager. Accepted values are in the 0.0 to 1.0 range.
For the horizontal component, 0.0 means the start of the axis in the direction that the current language reads, 1.0 means the end of the axis.
For the vertical component, 0.0 to the top, 1.0 means to the bottom.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Note: Default alignment hint values are 0.5, for both axes. (Since EFL 1.22)
Declaration
(double, double)HintAlign { get; set; }
Property Value
Type | Description |
---|---|
System.ValueTuple<System.Double, System.Double> | Double, ranging from 0.0 to 1.0, where 0.0 is at the start of the horizontal axis and 1.0 is at the end. |
HintAspect
Defines the aspect ratio to respect when scaling this object. The aspect ratio is defined as the width / height ratio of the object. Depending on the object and its container, this hint may or may not be fully respected.
If any of the given aspect ratio terms are 0, the object's container will ignore the aspect and scale this object to occupy the whole available area, for any given policy. (Since EFL 1.22)
Declaration
(HintAspect, Size2D)HintAspect { get; set; }
Property Value
Type | Description |
---|---|
System.ValueTuple<Efl.Gfx.HintAspect, Eina.Size2D> | Mode of interpretation. |
HintFill
Hints for an object's fill property that used to specify "justify" or "fill" by some users. Efl.Gfx.IHint.GetHintFill(out System.Boolean, out System.Boolean) specify whether to fill the space inside the boundaries of a container/manager. Maximum hints should be enforced with higher priority, if they are set. Also, any Efl.Gfx.IHint.GetHintMargin(out System.Int32, out System.Int32, out System.Int32, out System.Int32) set on objects should add up to the object space on the final scene composition.
See documentation of possible users: in Evas, they are the Efl.Ui.Box "box" and Efl.Ui.Table "table" smart objects.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Note: Default fill hint values are true, for both axes. (Since EFL 1.22)
Declaration
(bool, bool)HintFill { get; set; }
Property Value
Type | Description |
---|---|
System.ValueTuple<System.Boolean, System.Boolean> |
|
HintMargin
Hints for an object's margin or padding space. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
The object container is in charge of fetching this property and placing the object accordingly.
Note: Smart objects (such as elementary) can have their own hint policy. So calling this API may or may not affect the size of smart objects. (Since EFL 1.22)
Declaration
(int, int, int, int)HintMargin { get; set; }
Property Value
Type | Description |
---|---|
System.ValueTuple<System.Int32, System.Int32, System.Int32, System.Int32> | Integer to specify left padding. |
HintSizeCombinedMax
Read-only maximum size combining both Efl.Gfx.IHint.HintSizeRestrictedMax and Efl.Gfx.IHint.HintSizeMax hints. Efl.Gfx.IHint.HintSizeRestrictedMax is intended for mostly internal usage and widget developers, and Efl.Gfx.IHint.HintSizeMax is intended to be set from application side. Efl.Gfx.IHint.GetHintSizeCombinedMax() combines both values by taking their repective maximum (in both width and height), and is used internally to get an object's maximum size. (Since EFL 1.22)
Declaration
Size2D HintSizeCombinedMax { get; }
Property Value
Type | Description |
---|---|
Eina.Size2D | Maximum size (hint) in pixels. |
HintSizeCombinedMin
Read-only minimum size combining both Efl.Gfx.IHint.HintSizeRestrictedMin and Efl.Gfx.IHint.HintSizeMin hints. Efl.Gfx.IHint.HintSizeRestrictedMin is intended for mostly internal usage and widget developers, and Efl.Gfx.IHint.HintSizeMin is intended to be set from application side. Efl.Gfx.IHint.GetHintSizeCombinedMin() combines both values by taking their repective maximum (in both width and height), and is used internally to get an object's minimum size. (Since EFL 1.22)
Declaration
Size2D HintSizeCombinedMin { get; }
Property Value
Type | Description |
---|---|
Eina.Size2D | Minimum size (hint) in pixels. |
HintSizeMax
Hints on the object's maximum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
The object container is in charge of fetching this property and placing the object accordingly.
Values -1 will be treated as unset hint components, when queried by managers.
Note: Smart objects (such as elementary) can have their own hint policy. So calling this API may or may not affect the size of smart objects.
Note: It is an error for the Efl.Gfx.IHint.HintSizeMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
Size2D HintSizeMax { get; set; }
Property Value
Type | Description |
---|---|
Eina.Size2D | Maximum size (hint) in pixels, (-1, -1) by default for canvas objects). |
HintSizeMin
Hints on the object's minimum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate. The object container is in charge of fetching this property and placing the object accordingly.
Value 0 will be treated as unset hint components, when queried by managers.
Note: This property is meant to be set by applications and not by EFL itself. Use this to request a specific size (treated as minimum size).
Note: It is an error for the Efl.Gfx.IHint.HintSizeMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
Size2D HintSizeMin { get; set; }
Property Value
Type | Description |
---|---|
Eina.Size2D | Minimum size (hint) in pixels. |
HintSizeRestrictedMax
Internal hints for an object's maximum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Values -1 will be treated as unset hint components, when queried by managers.
Note: This property is internal and meant for widget developers to define the absolute maximum size of the object. EFL itself sets this size internally, so any change to it from an application might be ignored. Applications should use Efl.Gfx.IHint.HintSizeMax instead.
Note: It is an error for the Efl.Gfx.IHint.HintSizeRestrictedMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeRestrictedMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
Size2D HintSizeRestrictedMax { get; }
Property Value
Type | Description |
---|---|
Eina.Size2D | Maximum size (hint) in pixels. |
HintSizeRestrictedMin
Internal hints for an object's minimum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Values 0 will be treated as unset hint components, when queried by managers.
Note: This property is internal and meant for widget developers to define the absolute minimum size of the object. EFL itself sets this size internally, so any change to it from an application might be ignored. Use Efl.Gfx.IHint.HintSizeMin instead.
Note: It is an error for the Efl.Gfx.IHint.HintSizeRestrictedMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeRestrictedMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
Size2D HintSizeRestrictedMin { get; }
Property Value
Type | Description |
---|---|
Eina.Size2D | Minimum size (hint) in pixels. |
HintWeight
Hints for an object's weight. This is a hint on how a container object should resize a given child within its area. Containers may adhere to the simpler logic of just expanding the child object's dimensions to fit its own (see the Efl.Gfx.Constants.HintExpand helper weight macro) or the complete one of taking each child's weight hint as real weights to how much of its size to allocate for them in each axis. A container is supposed to, after normalizing the weights of its children (with weight hints), distribut the space it has to layout them by those factors -- most weighted children get larger in this process than the least ones.
Accepted values are zero or positive values. Some containers might use this hint as a boolean, but some others might consider it as a proportion, see documentation of each container.
Note: Default weight hint values are 0.0, for both axis. (Since EFL 1.22)
Declaration
(double, double)HintWeight { get; set; }
Property Value
Type | Description |
---|---|
System.ValueTuple<System.Double, System.Double> | Non-negative double value to use as horizontal weight hint. |
Methods
GetHintAlign(out Double, out Double)
Hints for an object's alignment. These are hints on how to align an object inside the boundaries of a container/manager. Accepted values are in the 0.0 to 1.0 range.
For the horizontal component, 0.0 means the start of the axis in the direction that the current language reads, 1.0 means the end of the axis.
For the vertical component, 0.0 to the top, 1.0 means to the bottom.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Note: Default alignment hint values are 0.5, for both axes. (Since EFL 1.22)
Declaration
void GetHintAlign(out double x, out double y)
Parameters
Type | Name | Description |
---|---|---|
System.Double | x | Double, ranging from 0.0 to 1.0, where 0.0 is at the start of the horizontal axis and 1.0 is at the end. |
System.Double | y | Double, ranging from 0.0 to 1.0, where 0.0 is at the start of the vertical axis and 1.0 is at the end. |
GetHintAspect(out HintAspect, out Size2D)
Defines the aspect ratio to respect when scaling this object. The aspect ratio is defined as the width / height ratio of the object. Depending on the object and its container, this hint may or may not be fully respected.
If any of the given aspect ratio terms are 0, the object's container will ignore the aspect and scale this object to occupy the whole available area, for any given policy. (Since EFL 1.22)
Declaration
void GetHintAspect(out HintAspect mode, out Size2D sz)
Parameters
Type | Name | Description |
---|---|---|
Efl.Gfx.HintAspect | mode | Mode of interpretation. |
Eina.Size2D | sz | Base size to use for aspecting. |
GetHintFill(out Boolean, out Boolean)
Hints for an object's fill property that used to specify "justify" or "fill" by some users. Efl.Gfx.IHint.GetHintFill(out System.Boolean, out System.Boolean) specify whether to fill the space inside the boundaries of a container/manager. Maximum hints should be enforced with higher priority, if they are set. Also, any Efl.Gfx.IHint.GetHintMargin(out System.Int32, out System.Int32, out System.Int32, out System.Int32) set on objects should add up to the object space on the final scene composition.
See documentation of possible users: in Evas, they are the Efl.Ui.Box "box" and Efl.Ui.Table "table" smart objects.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Note: Default fill hint values are true, for both axes. (Since EFL 1.22)
Declaration
void GetHintFill(out bool x, out bool y)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | x |
|
System.Boolean | y |
|
GetHintMargin(out Int32, out Int32, out Int32, out Int32)
Hints for an object's margin or padding space. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
The object container is in charge of fetching this property and placing the object accordingly.
Note: Smart objects (such as elementary) can have their own hint policy. So calling this API may or may not affect the size of smart objects. (Since EFL 1.22)
Declaration
void GetHintMargin(out int l, out int r, out int t, out int b)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | l | Integer to specify left padding. |
System.Int32 | r | Integer to specify right padding. |
System.Int32 | t | Integer to specify top padding. |
System.Int32 | b | Integer to specify bottom padding. |
GetHintSizeCombinedMax()
Read-only maximum size combining both Efl.Gfx.IHint.HintSizeRestrictedMax and Efl.Gfx.IHint.HintSizeMax hints. Efl.Gfx.IHint.HintSizeRestrictedMax is intended for mostly internal usage and widget developers, and Efl.Gfx.IHint.HintSizeMax is intended to be set from application side. Efl.Gfx.IHint.GetHintSizeCombinedMax() combines both values by taking their repective maximum (in both width and height), and is used internally to get an object's maximum size. (Since EFL 1.22)
Declaration
Size2D GetHintSizeCombinedMax()
Returns
Type | Description |
---|---|
Eina.Size2D | Maximum size (hint) in pixels. |
GetHintSizeCombinedMin()
Read-only minimum size combining both Efl.Gfx.IHint.HintSizeRestrictedMin and Efl.Gfx.IHint.HintSizeMin hints. Efl.Gfx.IHint.HintSizeRestrictedMin is intended for mostly internal usage and widget developers, and Efl.Gfx.IHint.HintSizeMin is intended to be set from application side. Efl.Gfx.IHint.GetHintSizeCombinedMin() combines both values by taking their repective maximum (in both width and height), and is used internally to get an object's minimum size. (Since EFL 1.22)
Declaration
Size2D GetHintSizeCombinedMin()
Returns
Type | Description |
---|---|
Eina.Size2D | Minimum size (hint) in pixels. |
GetHintSizeMax()
Hints on the object's maximum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
The object container is in charge of fetching this property and placing the object accordingly.
Values -1 will be treated as unset hint components, when queried by managers.
Note: Smart objects (such as elementary) can have their own hint policy. So calling this API may or may not affect the size of smart objects.
Note: It is an error for the Efl.Gfx.IHint.HintSizeMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
Size2D GetHintSizeMax()
Returns
Type | Description |
---|---|
Eina.Size2D | Maximum size (hint) in pixels, (-1, -1) by default for canvas objects). |
GetHintSizeMin()
Hints on the object's minimum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate. The object container is in charge of fetching this property and placing the object accordingly.
Value 0 will be treated as unset hint components, when queried by managers.
Note: This property is meant to be set by applications and not by EFL itself. Use this to request a specific size (treated as minimum size).
Note: It is an error for the Efl.Gfx.IHint.HintSizeMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
Size2D GetHintSizeMin()
Returns
Type | Description |
---|---|
Eina.Size2D | Minimum size (hint) in pixels. |
GetHintSizeRestrictedMax()
Get the "intrinsic" maximum size of this object. (Since EFL 1.22)
Declaration
Size2D GetHintSizeRestrictedMax()
Returns
Type | Description |
---|---|
Eina.Size2D | Maximum size (hint) in pixels. |
GetHintSizeRestrictedMin()
Get the "intrinsic" minimum size of this object. (Since EFL 1.22)
Declaration
Size2D GetHintSizeRestrictedMin()
Returns
Type | Description |
---|---|
Eina.Size2D | Minimum size (hint) in pixels. |
GetHintWeight(out Double, out Double)
Hints for an object's weight. This is a hint on how a container object should resize a given child within its area. Containers may adhere to the simpler logic of just expanding the child object's dimensions to fit its own (see the Efl.Gfx.Constants.HintExpand helper weight macro) or the complete one of taking each child's weight hint as real weights to how much of its size to allocate for them in each axis. A container is supposed to, after normalizing the weights of its children (with weight hints), distribut the space it has to layout them by those factors -- most weighted children get larger in this process than the least ones.
Accepted values are zero or positive values. Some containers might use this hint as a boolean, but some others might consider it as a proportion, see documentation of each container.
Note: Default weight hint values are 0.0, for both axis. (Since EFL 1.22)
Declaration
void GetHintWeight(out double x, out double y)
Parameters
Type | Name | Description |
---|---|---|
System.Double | x | Non-negative double value to use as horizontal weight hint. |
System.Double | y | Non-negative double value to use as vertical weight hint. |
SetHintAlign(Double, Double)
Hints for an object's alignment. These are hints on how to align an object inside the boundaries of a container/manager. Accepted values are in the 0.0 to 1.0 range.
For the horizontal component, 0.0 means the start of the axis in the direction that the current language reads, 1.0 means the end of the axis.
For the vertical component, 0.0 to the top, 1.0 means to the bottom.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Note: Default alignment hint values are 0.5, for both axes. (Since EFL 1.22)
Declaration
void SetHintAlign(double x, double y)
Parameters
Type | Name | Description |
---|---|---|
System.Double | x | Double, ranging from 0.0 to 1.0, where 0.0 is at the start of the horizontal axis and 1.0 is at the end. |
System.Double | y | Double, ranging from 0.0 to 1.0, where 0.0 is at the start of the vertical axis and 1.0 is at the end. |
SetHintAspect(HintAspect, Size2D)
Defines the aspect ratio to respect when scaling this object. The aspect ratio is defined as the width / height ratio of the object. Depending on the object and its container, this hint may or may not be fully respected.
If any of the given aspect ratio terms are 0, the object's container will ignore the aspect and scale this object to occupy the whole available area, for any given policy. (Since EFL 1.22)
Declaration
void SetHintAspect(HintAspect mode, Size2D sz)
Parameters
Type | Name | Description |
---|---|---|
Efl.Gfx.HintAspect | mode | Mode of interpretation. |
Eina.Size2D | sz | Base size to use for aspecting. |
SetHintFill(Boolean, Boolean)
Hints for an object's fill property that used to specify "justify" or "fill" by some users. Efl.Gfx.IHint.GetHintFill(out System.Boolean, out System.Boolean) specify whether to fill the space inside the boundaries of a container/manager. Maximum hints should be enforced with higher priority, if they are set. Also, any Efl.Gfx.IHint.GetHintMargin(out System.Int32, out System.Int32, out System.Int32, out System.Int32) set on objects should add up to the object space on the final scene composition.
See documentation of possible users: in Evas, they are the Efl.Ui.Box "box" and Efl.Ui.Table "table" smart objects.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Note: Default fill hint values are true, for both axes. (Since EFL 1.22)
Declaration
void SetHintFill(bool x, bool y)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | x |
|
System.Boolean | y |
|
SetHintMargin(Int32, Int32, Int32, Int32)
Hints for an object's margin or padding space. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
The object container is in charge of fetching this property and placing the object accordingly.
Note: Smart objects (such as elementary) can have their own hint policy. So calling this API may or may not affect the size of smart objects. (Since EFL 1.22)
Declaration
void SetHintMargin(int l, int r, int t, int b)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | l | Integer to specify left padding. |
System.Int32 | r | Integer to specify right padding. |
System.Int32 | t | Integer to specify top padding. |
System.Int32 | b | Integer to specify bottom padding. |
SetHintSizeMax(Size2D)
Hints on the object's maximum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
The object container is in charge of fetching this property and placing the object accordingly.
Values -1 will be treated as unset hint components, when queried by managers.
Note: Smart objects (such as elementary) can have their own hint policy. So calling this API may or may not affect the size of smart objects.
Note: It is an error for the Efl.Gfx.IHint.HintSizeMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
void SetHintSizeMax(Size2D sz)
Parameters
Type | Name | Description |
---|---|---|
Eina.Size2D | sz | Maximum size (hint) in pixels, (-1, -1) by default for canvas objects). |
SetHintSizeMin(Size2D)
Hints on the object's minimum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate. The object container is in charge of fetching this property and placing the object accordingly.
Value 0 will be treated as unset hint components, when queried by managers.
Note: This property is meant to be set by applications and not by EFL itself. Use this to request a specific size (treated as minimum size).
Note: It is an error for the Efl.Gfx.IHint.HintSizeMax to be smaller in either axis than Efl.Gfx.IHint.HintSizeMin. In this scenario, the max size hint will be prioritized over the user min size hint. (Since EFL 1.22)
Declaration
void SetHintSizeMin(Size2D sz)
Parameters
Type | Name | Description |
---|---|---|
Eina.Size2D | sz | Minimum size (hint) in pixels. |
SetHintWeight(Double, Double)
Hints for an object's weight. This is a hint on how a container object should resize a given child within its area. Containers may adhere to the simpler logic of just expanding the child object's dimensions to fit its own (see the Efl.Gfx.Constants.HintExpand helper weight macro) or the complete one of taking each child's weight hint as real weights to how much of its size to allocate for them in each axis. A container is supposed to, after normalizing the weights of its children (with weight hints), distribut the space it has to layout them by those factors -- most weighted children get larger in this process than the least ones.
Accepted values are zero or positive values. Some containers might use this hint as a boolean, but some others might consider it as a proportion, see documentation of each container.
Note: Default weight hint values are 0.0, for both axis. (Since EFL 1.22)
Declaration
void SetHintWeight(double x, double y)
Parameters
Type | Name | Description |
---|---|---|
System.Double | x | Non-negative double value to use as horizontal weight hint. |
System.Double | y | Non-negative double value to use as vertical weight hint. |
Events
HintsChangedEvent
Object hints changed. (Since EFL 1.22)
Declaration
event EventHandler HintsChangedEvent
Event Type
Type | Description |
---|---|
System.EventHandler |