www-content/pages/program_guide/evas_pg.txt

69 lines
6.2 KiB
Plaintext

~~Title: Evas Programming Guide~~
{{page>index}}
===== Evas Programming Guide =====
Evas is a clean display canvas API for several target display systems that can
draw anti-aliased text, smooth super and sub-sampled scaled images,
alpha-blend objects and much more.
It abstracts any need to know much about what the characteristics of your
display system are, what graphics calls are used to draw them, and how. It
deals on an object level where all you do is create and manipulate objects in
a canvas and set their properties.
Evas optimizes the rendering pipeline to minimize effort in redrawing changes
made to the canvas and so takes this work out of the programmers hand, saving
a lot of time and energy.
It is designed to work on embedded systems all the way to large and powerful
multi-cpu workstations. It can be compiled to only have the features you need
for your target platform if you so wish. It has several display back-ends,
allowing it display on several display systems, making it portable for
cross-device and cross-platform development.
Evas is not a widget set or a widget toolkit, but it is their base. See
Elementary for a toolkit based on Evas, Edje, Ecore and other Enlightenment
technologies.
It is not dependent or aware of main loops, input or output systems. Input
must be polled from various sources and fed to Evas. It does not create
windows or report windows updates to your system, but draws the pixels and
reports to the user the areas that are changed. These operations are ready to
be used in Ecore, particularly in Ecore_Evas wrapper/helper set of functions.
=== Table of Contents ===
* [[/program_guide/evas/rendering_concept_and_method_in_evas|Rendering Concept and Method in Evas]]
* [[/program_guide/evas/evas_object|Evas Object]]
* [[program_guide/evas/evas_object#Primitive_Renderable_Objects|Primitive Renderable Objects]]
* [[program_guide/evas/evas_object#Rectangle|Rectangle]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Object__Rectangle.html|API]]).
* [[program_guide/evas/evas_object#Text|Text]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Object__Text.html| API]]).
* [[/program_guide/evas/textblock_objects|Textblock]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Object__Textblock.html|API]])
* [[/program_guide/evas/image_objects|Image]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Object__Image.html|API]])
* [[program_guide/evas/evas_object#Primitive_Smart_Objects|Primitive Smart Objects]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Smart__Object__Group.html|API]])
* [[program_guide/evas/evas_object#Primitive_Container_Objects|Primitive Container Objects]]
* [[program_guide/evas/evas_object#Table|Table]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Object__Table.html|API]])
* [[program_guide/evas/evas_object#Grid|Grid]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Object__Grid.html|API]])
* [[program_guide/evas/evas_object#Box|Box]] ([[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Evas__Object__Box.html|API]])
* [[/program_guide/evas/clipping_objects|Clipping Objects]]
* [[/program_guide/evas/mapping_objects|Mapping Objects]]
* [[/program_guide/evas/evas_engines_concept|Evas Engines Concept]]
* [[/program_guide/evas/ui_rendering_mode|UI Rendering Mode]]
=== Related Info ===
* [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/evas_main.html|Evas API]]
* [[/program_guide/event_effect/evas_smart_events|Evas Smart Object Events PG]]
* [[/program_guide/event_effect/evas_object_events|Evas Object Events PG]]
* [[/program_guide/event_effect/evas_events|Evas Events PG]]
* [[/program_guide/event_effect/evas_map_animations|Evas Map Effects PG]]
\\
^ Evas Examples ^^^^^^
| [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Buffer_Simple.html|Simple Evas canvas]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Init_Shutdown.html|Evas' init/shutdown routines]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Text.html|Evas text object]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Images.html|Some image object functions]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Images_2.html|Some more image object functions]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Events.html|Evas events (canvas and object ones) and some canvas operations]] |
| [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Object_Manipulation.html|Evas objects basic manipulation]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Aspect_Hints.html|Evas aspect hints example]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Size_Hints.html|Evas alignment, minimum size, maximum size, padding and weight hints]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Stacking.html|Evas object stacking functions (and some event handling)]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Smart_Objects.html|Evas object smart objects]] | [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/Example_Evas_Box.html|Evas box]] |
\\
----
{{page>index}}