forked from enlightenment/efl
126 lines
4.0 KiB
Plaintext
126 lines
4.0 KiB
Plaintext
// import efl_gfx_types -> need to add Efl.Gfx.Color
|
|
|
|
/* Everything in this file is internal to Evas. It is not meant to be used
|
|
from outside EFL itself! */
|
|
|
|
struct Efl.Gfx.Color32
|
|
{
|
|
[[32 bit color data structure]]
|
|
r: uint8; [[Red component of the color]]
|
|
g: uint8; [[Green component of the color]]
|
|
b: uint8; [[Blue component of the color]]
|
|
a: uint8; [[Translucent component of the color]]
|
|
}
|
|
|
|
struct Efl.Canvas.Filter.State_Name
|
|
{
|
|
[[Filter state name structure]]
|
|
name: string; [[Filter state name]]
|
|
value: double; [[Filter state value]]
|
|
}
|
|
|
|
struct Efl.Canvas.Filter.State_Text
|
|
{
|
|
[[Filter state text structure]]
|
|
outline: Efl.Gfx.Color32; [[Text outline color]]
|
|
shadow: Efl.Gfx.Color32; [[Text shadow color]]
|
|
glow: Efl.Gfx.Color32; [[Text glow color]]
|
|
glow2: Efl.Gfx.Color32; [[Text glow2 color]]
|
|
}
|
|
|
|
struct Efl.Canvas.Filter.State
|
|
{
|
|
[[Internal structure representing the state of a Gfx Filter]]
|
|
text: Efl.Canvas.Filter.State_Text; [[Text state]]
|
|
color: Efl.Gfx.Color32; [[Color]]
|
|
cur: Efl.Canvas.Filter.State_Name; [[Current state]]
|
|
next: Efl.Canvas.Filter.State_Name; [[Next state]]
|
|
w: int; [[Width]]
|
|
h: int; [[Height]]
|
|
scale: double; [[Scale factor]]
|
|
pos: double; [[Position]]
|
|
}
|
|
|
|
mixin Efl.Canvas.Filter.Internal (Efl.Gfx.Filter, Efl.Object)
|
|
{
|
|
[[Evas internal implementation of filters.]]
|
|
|
|
eo_prefix: evas;
|
|
data: Evas_Filter_Data;
|
|
|
|
methods {
|
|
@property filter_changed @protected {
|
|
set {
|
|
[[Marks this filter as changed.]]
|
|
}
|
|
values {
|
|
val: bool; [[$true if filter changed, $false otherwise]]
|
|
}
|
|
}
|
|
@property filter_invalid @protected {
|
|
set {
|
|
[[Marks this filter as invalid.]]
|
|
}
|
|
values {
|
|
val: bool; [[$true if filter is invalid, $false otherwise]]
|
|
}
|
|
}
|
|
filter_input_alpha @protected @pure_virtual {
|
|
[[Called by Efl.Canvas.Filter.Internal to determine whether the input is alpha or rgba.]]
|
|
return: bool; [[$true on success, $false otherwise]]
|
|
}
|
|
filter_state_prepare @protected @pure_virtual {
|
|
[[Called by Efl.Canvas.Filter.Internal to request the parent class
|
|
for state information (color, etc...).]]
|
|
params {
|
|
@out state: Efl.Canvas.Filter.State; [[State info to fill in]]
|
|
@in data: void_ptr; [[Private data for the class]]
|
|
}
|
|
}
|
|
filter_input_render @protected @pure_virtual {
|
|
[[Called by Efl.Canvas.Filter.Internal when the parent class must render the input.]]
|
|
return: bool; [[Indicates success from the object render function.]]
|
|
params {
|
|
filter: void_ptr; [[Current filter context]]
|
|
engine: void_ptr; [[Engine context]]
|
|
output: void_ptr; [[Output context]]
|
|
drawctx: void_ptr; [[Draw context (for evas engine)]]
|
|
data: void_ptr; [[Private data used by textblock]]
|
|
l: int; [[Left]]
|
|
r: int; [[Right]]
|
|
t: int; [[Top]]
|
|
b: int; [[Bottom]]
|
|
x: int; [[X offset]]
|
|
y: int; [[Y offset]]
|
|
do_async: bool; [[$true when the operation should be done asynchronously, $false otherwise]]
|
|
}
|
|
}
|
|
filter_dirty @protected @pure_virtual {
|
|
[[Called when filter changes must trigger a redraw of the object.
|
|
|
|
Virtual, to be implemented in the parent class.
|
|
]]
|
|
}
|
|
@property filter_output_buffer @protected {
|
|
get {
|
|
[[Retrieve cached output buffer, if any.
|
|
|
|
Does not increment the reference count.
|
|
]]
|
|
}
|
|
values {
|
|
buffer: void_ptr; [[Output buffer]]
|
|
}
|
|
}
|
|
}
|
|
implements {
|
|
Efl.Object.constructor;
|
|
Efl.Object.destructor;
|
|
Efl.Gfx.Filter.filter_program { get; set; }
|
|
Efl.Gfx.Filter.filter_state { get; set; }
|
|
Efl.Gfx.Filter.filter_padding { get; }
|
|
Efl.Gfx.Filter.filter_source { get; set; }
|
|
Efl.Gfx.Filter.filter_data { get; set; }
|
|
}
|
|
}
|