| Evas.h | | Evas.h | |
| /** | | /** | |
|
| @mainpage Evas | | @mainpage Evas | |
| | | | |
|
| @version 1.1 | | @version 1.7 | |
| @date 2000-2012 | | @date 2000-2012 | |
| | | | |
|
| Please see the @ref authors page for contact details. | | Please see the @ref authors page for contact details. | |
| @link Evas.h Evas API @endlink | | @link Evas.h Evas API @endlink | |
| | | | |
|
| @link Evas.h Evas API @endlink | | @link Evas.h Evas API @endlink | |
| | | | |
| @section toc Table of Contents | | @section toc Table of Contents | |
| | | | |
| @li @ref intro | | @li @ref intro | |
| @li @ref work | | @li @ref work | |
| @li @ref compiling | | @li @ref compiling | |
| @li @ref install | | @li @ref install | |
| @li @ref next_steps | | @li @ref next_steps | |
| @li @ref intro_example | | @li @ref intro_example | |
| | | | |
| @section intro What is Evas? | | @section intro What is Evas? | |
| | | | |
| Evas is a clean display canvas API for several target display systems | | Evas is a clean display canvas API for several target display systems | |
| that can draw anti-aliased text, smooth super and sub-sampled scaled | | that can draw anti-aliased text, smooth super and sub-sampled scaled | |
| images, alpha-blend objects and much more. | | images, alpha-blend objects and much more. | |
| | | | |
| It abstracts any need to know much about what the characteristics of | | It abstracts any need to know much about what the characteristics of | |
| your display system are or what graphics calls are used to draw them | | your display system are or what graphics calls are used to draw them | |
| and how. It deals on an object level where all you do is create and | | and how. It deals on an object level where all you do is create and | |
| manipulate objects in a canvas, set their properties, and the rest is | | manipulate objects in a canvas, set their properties, and the rest is | |
| done for you. | | done for you. | |
| | | | |
| Evas optimises the rendering pipeline to minimise effort in redrawing | | Evas optimises the rendering pipeline to minimise effort in redrawing | |
| changes made to the canvas and so takes this work out of the | | changes made to the canvas and so takes this work out of the | |
| programmers hand, saving a lot of time and energy. | | programmers hand, saving a lot of time and energy. | |
| | | | |
| It's small and lean, designed to work on embedded systems all the way | | It's small and lean, designed to work on embedded systems all the way | |
| to large and powerful multi-cpu workstations. It can be compiled to | | 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 | | only have the features you need for your target platform if you so | |
| wish, thus keeping it small and lean. It has several display | | wish, thus keeping it small and lean. It has several display | |
| back-ends, letting it display on several display systems, making it | | back-ends, letting it display on several display systems, making it | |
| portable for cross-device and cross-platform development. | | portable for cross-device and cross-platform development. | |
| | | | |
| @subsection intro_not_evas What Evas is not? | | @subsection intro_not_evas What Evas is not? | |
| | | | |
| Evas is not a widget set or widget toolkit, however it is their | | Evas is not a widget set or widget toolkit, however it is their | |
| base. See Elementary (http://docs.enlightenment.org/auto/elementary/) | | base. See Elementary (http://docs.enlightenment.org/auto/elementary/) | |
| for a toolkit based on Evas, Edje, Ecore and other Enlightenment | | for a toolkit based on Evas, Edje, Ecore and other Enlightenment | |
| technologies. | | technologies. | |
| | | | |
| It is not dependent or aware of main loops, input or output | | It is not dependent or aware of main loops, input or output | |
| systems. Input should be polled from various sources and fed to | | systems. Input should be polled from various sources and fed to | |
| Evas. Similarly, it will not create windows or report windows updates | | Evas. Similarly, it will not create windows or report windows updates | |
| to your system, rather just drawing the pixels and reporting to the | | to your system, rather just drawing the pixels and reporting to the | |
| user the areas that were changed. Of course these operations are quite | | user the areas that were changed. Of course these operations are quite | |
| common and thus they are ready to use in Ecore, particularly in | | common and thus they are ready to use in Ecore, particularly in | |
| Ecore_Evas (http://docs.enlightenment.org/auto/ecore/). | | Ecore_Evas (http://docs.enlightenment.org/auto/ecore/). | |
| | | | |
| @section work How does Evas work? | | @section work How does Evas work? | |
| | | | |
| Evas is a canvas display library. This is markedly different from most | | Evas is a canvas display library. This is markedly different from most | |
| display and windowing systems as a canvas is structural and is also a | | display and windowing systems as a canvas is structural and is also a | |
| state engine, whereas most display and windowing systems are immediate | | state engine, whereas most display and windowing systems are immediate | |
| mode display targets. Evas handles the logic between a structural | | mode display targets. Evas handles the logic between a structural | |
| display via its state engine, and controls the target windowing system | | display via its state engine, and controls the target windowing system | |
| in order to produce rendered results of the current canvas' state on | | in order to produce rendered results of the current canvas' state on | |
| the display. | | the display. | |
| | | | |
| Immediate mode display systems retain very little, or no state. A | | Immediate mode display systems retain very little, or no state. A | |
| program will execute a series of commands, as in the pseudo code: | | program will execute a series of commands, as in the pseudo code: | |
| | | | |
| @verbatim | | @verbatim | |
| draw line from position (0, 0) to position (100, 200); | | draw line from position (0, 0) to position (100, 200); | |
| | | | |
| draw rectangle from position (10, 30) to position (50, 500); | | draw rectangle from position (10, 30) to position (50, 500); | |
| | | | |
| bitmap_handle = create_bitmap(); | | bitmap_handle = create_bitmap(); | |
| scale bitmap_handle to size 100 x 100; | | scale bitmap_handle to size 100 x 100; | |
| draw image bitmap_handle at position (10, 30); | | draw image bitmap_handle at position (10, 30); | |
| @endverbatim | | @endverbatim | |
| | | | |
| The series of commands is executed by the windowing system and the | | The series of commands is executed by the windowing system and the | |
| results are displayed on the screen (normally). Once the commands are | | results are displayed on the screen (normally). Once the commands are | |
| executed the display system has little or no idea of how to reproduce | | executed the display system has little or no idea of how to reproduce | |
| this image again, and so has to be instructed by the application how | | this image again, and so has to be instructed by the application how | |
| to redraw sections of the screen whenever needed. Each successive | | to redraw sections of the screen whenever needed. Each successive | |
| command will be executed as instructed by the application and either | | command will be executed as instructed by the application and either | |
| emulated by software or sent to the graphics hardware on the device to | | emulated by software or sent to the graphics hardware on the device to | |
| be performed. | | be performed. | |
| | | | |
| The advantage of such a system is that it is simple, and gives a | | The advantage of such a system is that it is simple, and gives a | |
| program tight control over how something looks and is drawn. Given the | | program tight control over how something looks and is drawn. Given the | |
| increasing complexity of displays and demands by users to have better | | increasing complexity of displays and demands by users to have better | |
| looking interfaces, more and more work is needing to be done at this | | looking interfaces, more and more work is needing to be done at this | |
| level by the internals of widget sets, custom display widgets and | | level by the internals of widget sets, custom display widgets and | |
| other programs. This means more and more logic and display rendering | | other programs. This means more and more logic and display rendering | |
| code needs to be written time and time again, each time the | | code needs to be written time and time again, each time the | |
| application needs to figure out how to minimise redraws so that | | application needs to figure out how to minimise redraws so that | |
| display is fast and interactive, and keep track of redraw logic. The | | display is fast and interactive, and keep track of redraw logic. The | |
| power comes at a high-price, lots of extra code and work. Programmers | | power comes at a high-price, lots of extra code and work. Programmers | |
| not very familiar with graphics programming will often make mistakes | | not very familiar with graphics programming will often make mistakes | |
| at this level and produce code that is sub optimal. Those familiar | | at this level and produce code that is sub optimal. Those familiar | |
| with this kind of programming will simply get bored by writing the | | with this kind of programming will simply get bored by writing the | |
| same code again and again. | | same code again and again. | |
| | | | |
| For example, if in the above scene, the windowing system requires the | | For example, if in the above scene, the windowing system requires the | |
| application to redraw the area from 0, 0 to 50, 50 (also referred as | | application to redraw the area from 0, 0 to 50, 50 (also referred as | |
| "expose event"), then the programmer must calculate manually the | | "expose event"), then the programmer must calculate manually the | |
| updates and repaint it again: | | updates and repaint it again: | |
| | | | |
|
| @verbatim | | @verbatim | |
| Redraw from position (0, 0) to position (50, 50): | | Redraw from position (0, 0) to position (50, 50): | |
| | | | |
|
| // what was in area (0, 0, 50, 50)? | | // what was in area (0, 0, 50, 50)? | |
| | | | |
|
| // 1. intersection part of line (0, 0) to (100, 200)? | | // 1. intersection part of line (0, 0) to (100, 200)? | |
| draw line from position (0, 0) to position (25, 50); | | draw line from position (0, 0) to position (25, 50); | |
| | | | |
|
| // 2. intersection part of rectangle (10, 30) to (50, 500)? | | // 2. intersection part of rectangle (10, 30) to (50, 500)? | |
| draw rectangle from position (10, 30) to position (50, 50) | | draw rectangle from position (10, 30) to position (50, 50) | |
| | | | |
|
| // 3. intersection part of image at (10, 30), size 100 x 100? | | // 3. intersection part of image at (10, 30), size 100 x 100? | |
| bitmap_subimage = subregion from position (0, 0) to position (40, 20) | | bitmap_subimage = subregion from position (0, 0) to position (40, 20) | |
| draw image bitmap_subimage at position (10, 30); | | draw image bitmap_subimage at position (10, 30); | |
|
| @endverbatim | | @endverbatim | |
| | | | |
|
| The clever reader might have noticed that, if all elements in the | | The clever reader might have noticed that, if all elements in the | |
| above scene are opaque, then the system is doing useless paints: part | | above scene are opaque, then the system is doing useless paints: part | |
| of the line is behind the rectangle, and part of the rectangle is | | of the line is behind the rectangle, and part of the rectangle is | |
| behind the image. These useless paints tend to be very costly, as | | behind the image. These useless paints tend to be very costly, as | |
| pixels tend to be 4 bytes in size, thus an overlapping region of 100 x | | pixels tend to be 4 bytes in size, thus an overlapping region of 100 x | |
| 100 pixels is around 40000 useless writes! The developer could write | | 100 pixels is around 40000 useless writes! The developer could write | |
| code to calculate the overlapping areas and avoid painting then, but | | code to calculate the overlapping areas and avoid painting then, but | |
| then it should be mixed with the "expose event" handling mentioned | | then it should be mixed with the "expose event" handling mentioned | |
| above and quickly one realizes the initially simpler method became | | above and quickly one realizes the initially simpler method became | |
| really complex. | | really complex. | |
| | | | |
| Evas is a structural system in which the programmer creates and | | Evas is a structural system in which the programmer creates and | |
| manages display objects and their properties, and as a result of this | | manages display objects and their properties, and as a result of this | |
| higher level state management, the canvas is able to redraw the set of | | higher level state management, the canvas is able to redraw the set of | |
| objects when needed to represent the current state of the canvas. | | objects when needed to represent the current state of the canvas. | |
| | | | |
| For example, the pseudo code: | | For example, the pseudo code: | |
| | | | |
| @verbatim | | @verbatim | |
| line_handle = create_line(); | | line_handle = create_line(); | |
| set line_handle from position (0, 0) to position (100, 200); | | set line_handle from position (0, 0) to position (100, 200); | |
| show line_handle; | | show line_handle; | |
| | | | |
| rectangle_handle = create_rectangle(); | | rectangle_handle = create_rectangle(); | |
| move rectangle_handle to position (10, 30); | | move rectangle_handle to position (10, 30); | |
| resize rectangle_handle to size 40 x 470; | | resize rectangle_handle to size 40 x 470; | |
| show rectangle_handle; | | show rectangle_handle; | |
| | | | |
| bitmap_handle = create_bitmap(); | | bitmap_handle = create_bitmap(); | |
| scale bitmap_handle to size 100 x 100; | | scale bitmap_handle to size 100 x 100; | |
| move bitmap_handle to position (10, 30); | | move bitmap_handle to position (10, 30); | |
| show bitmap_handle; | | show bitmap_handle; | |
| | | | |
| render scene; | | render scene; | |
| @endverbatim | | @endverbatim | |
| | | | |
| This may look longer, but when the display needs to be refreshed or | | This may look longer, but when the display needs to be refreshed or | |
| updated, the programmer only moves, resizes, shows, hides etc. the | | updated, the programmer only moves, resizes, shows, hides etc. the | |
| objects that need to change. The programmer simply thinks at the | | objects that need to change. The programmer simply thinks at the | |
| object logic level, and the canvas software does the rest of the work | | object logic level, and the canvas software does the rest of the work | |
| for them, figuring out what actually changed in the canvas since it | | for them, figuring out what actually changed in the canvas since it | |
| was last drawn, how to most efficiently redraw the canvas and its | | was last drawn, how to most efficiently redraw the canvas and its | |
| contents to reflect the current state, and then it can go off and do | | contents to reflect the current state, and then it can go off and do | |
| the actual drawing of the canvas. | | the actual drawing of the canvas. | |
| | | | |
| This lets the programmer think in a more natural way when dealing with | | This lets the programmer think in a more natural way when dealing with | |
| a display, and saves time and effort of working out how to load and | | a display, and saves time and effort of working out how to load and | |
| display images, render given the current display system etc. Since | | display images, render given the current display system etc. Since | |
| Evas also is portable across different display systems, this also | | Evas also is portable across different display systems, this also | |
| gives the programmer the ability to have their code ported and | | gives the programmer the ability to have their code ported and | |
| displayed on different display systems with very little work. | | displayed on different display systems with very little work. | |
| | | | |
| Evas can be seen as a display system that stands somewhere between a | | Evas can be seen as a display system that stands somewhere between a | |
| widget set and an immediate mode display system. It retains basic | | widget set and an immediate mode display system. It retains basic | |
| display logic, but does very little high-level logic such as | | display logic, but does very little high-level logic such as | |
| scrollbars, sliders, push buttons etc. | | scrollbars, sliders, push buttons etc. | |
| | | | |
| @section compiling How to compile using Evas ? | | @section compiling How to compile using Evas ? | |
| | | | |
| Evas is a library your application links to. The procedure for this is | | Evas is a library your application links to. The procedure for this is | |
| very simple. You simply have to compile your application with the | | very simple. You simply have to compile your application with the | |
| appropriate compiler flags that the @c pkg-config script outputs. For | | appropriate compiler flags that the @c pkg-config script outputs. For | |
| example: | | example: | |
| | | | |
| Compiling C or C++ files into object files: | | Compiling C or C++ files into object files: | |
| | | | |
| @verbatim | | @verbatim | |
| gcc -c -o main.o main.c `pkg-config --cflags evas` | | gcc -c -o main.o main.c `pkg-config --cflags evas` | |
| @endverbatim | | @endverbatim | |
| | | | |
| Linking object files into a binary executable: | | Linking object files into a binary executable: | |
| | | | |
| @verbatim | | @verbatim | |
| gcc -o my_application main.o `pkg-config --libs evas` | | gcc -o my_application main.o `pkg-config --libs evas` | |
| @endverbatim | | @endverbatim | |
| | | | |
| You simply have to make sure that @c pkg-config is in your shell's @c | | You simply have to make sure that @c pkg-config is in your shell's @c | |
| PATH (see the manual page for your appropriate shell) and @c evas.pc | | PATH (see the manual page for your appropriate shell) and @c evas.pc | |
| in @c /usr/lib/pkgconfig or its path in the @c PKG_CONFIG_PATH | | in @c /usr/lib/pkgconfig or its path in the @c PKG_CONFIG_PATH | |
| environment variable. It's that simple to link and use Evas once you | | environment variable. It's that simple to link and use Evas once you | |
| have written your code to use it. | | have written your code to use it. | |
| | | | |
| Since the program is linked to Evas, it is now able to use any | | Since the program is linked to Evas, it is now able to use any | |
| advertised API calls to display graphics in a canvas managed by it, as | | advertised API calls to display graphics in a canvas managed by it, as | |
| well as use the API calls provided to manage data. | | well as use the API calls provided to manage data. | |
| | | | |
| You should make sure you add any extra compile and link flags to your | | You should make sure you add any extra compile and link flags to your | |
| compile commands that your application may need as well. The above | | compile commands that your application may need as well. The above | |
| example is only guaranteed to make Evas add it's own requirements. | | example is only guaranteed to make Evas add it's own requirements. | |
| | | | |
| @section install How is it installed? | | @section install How is it installed? | |
| | | | |
| Simple: | | Simple: | |
| | | | |
| @verbatim | | @verbatim | |
| ./configure | | ./configure | |
| make | | make | |
| su - | | su - | |
| ... | | ... | |
| make install | | make install | |
| @endverbatim | | @endverbatim | |
| | | | |
| @section next_steps Next Steps | | @section next_steps Next Steps | |
| | | | |
| After you understood what Evas is and installed it in your system you | | After you understood what Evas is and installed it in your system you | |
| should proceed understanding the programming interface for all | | should proceed understanding the programming interface for all | |
| objects, then see the specific for the most used elements. We'd | | objects, then see the specific for the most used elements. We'd | |
| recommend you to take a while to learn Ecore | | recommend you to take a while to learn Ecore | |
| (http://docs.enlightenment.org/auto/ecore/) and Edje | | (http://docs.enlightenment.org/auto/ecore/) and Edje | |
| (http://docs.enlightenment.org/auto/edje/) as they will likely save | | (http://docs.enlightenment.org/auto/edje/) as they will likely save | |
| you tons of work compared to using just Evas directly. | | you tons of work compared to using just Evas directly. | |
| | | | |
|
| Recommended reading: | | Recommended reading: | |
| | | | |
|
| @li @ref Evas_Object_Group, where you'll get how to basically | | @li @ref Evas_Object_Group, where you'll get how to basically | |
| manipulate generic objects lying on an Evas canvas, handle canvas | | manipulate generic objects lying on an Evas canvas, handle canvas | |
| and object events, etc. | | and object events, etc. | |
|
| @li @ref Evas_Object_Rectangle, to learn about the most basic object | | @li @ref Evas_Object_Rectangle, to learn about the most basic object | |
| type on Evas -- the rectangle. | | type on Evas -- the rectangle. | |
|
| @li @ref Evas_Object_Polygon, to learn how to create polygon elements | | @li @ref Evas_Object_Polygon, to learn how to create polygon elements | |
| on the canvas. | | on the canvas. | |
|
| @li @ref Evas_Line_Group, to learn how to create line elements on the | | @li @ref Evas_Line_Group, to learn how to create line elements on the | |
| canvas. | | canvas. | |
|
| @li @ref Evas_Object_Image, to learn about image objects, over which | | @li @ref Evas_Object_Image, to learn about image objects, over which | |
| Evas can do a plethora of operations. | | Evas can do a plethora of operations. | |
|
| @li @ref Evas_Object_Text, to learn how to create textual elements on | | @li @ref Evas_Object_Text, to learn how to create textual elements on | |
| the canvas. | | the canvas. | |
|
| @li @ref Evas_Object_Textblock, to learn how to create multiline | | @li @ref Evas_Object_Textblock, to learn how to create multiline | |
| textual elements on the canvas. | | textual elements on the canvas. | |
|
| @li @ref Evas_Smart_Object_Group and @ref Evas_Smart_Group, to define | | @li @ref Evas_Smart_Object_Group and @ref Evas_Smart_Group, to define | |
| new objects that provide @b custom functions to handle clipping, | | new objects that provide @b custom functions to handle clipping, | |
| hiding, moving, resizing, color setting and more. These could | | hiding, moving, resizing, color setting and more. These could | |
| be as simple as a group of objects that move together (see @ref | | be as simple as a group of objects that move together (see @ref | |
| Evas_Smart_Object_Clipped) up to implementations of what | | Evas_Smart_Object_Clipped) up to implementations of what | |
| ends to be a widget, providing some intelligence (thus the name) | | ends to be a widget, providing some intelligence (thus the name) | |
| to Evas objects -- like a button or check box, for example. | | to Evas objects -- like a button or check box, for example. | |
| | | | |
|
| @section intro_example Introductory Example | | @section intro_example Introductory Example | |
| | | | |
|
| @include evas-buffer-simple.c | | @include evas-buffer-simple.c | |
| */ | | */ | |
| | | | |
| /** | | /** | |
|
| @page authors Authors | | @page authors Authors | |
| @author Carsten Haitzler <raster@@rasterman.com> | | @author Carsten Haitzler <raster@@rasterman.com> | |
| @author Till Adam <till@@adam-lilienthal.de> | | @author Till Adam <till@@adam-lilienthal.de> | |
| @author Steve Ireland <sireland@@pobox.com> | | @author Steve Ireland <sireland@@pobox.com> | |
| @author Brett Nash <nash@@nash.id.au> | | @author Brett Nash <nash@@nash.id.au> | |
| @author Tilman Sauerbeck <tilman@@code-monkey.de> | | @author Tilman Sauerbeck <tilman@@code-monkey.de> | |
| @author Corey Donohoe <atmos@@atmos.org> | | @author Corey Donohoe <atmos@@atmos.org> | |
| @author Yuri Hudobin <glassy_ape@@users.sourceforge.net> | | @author Yuri Hudobin <glassy_ape@@users.sourceforge.net> | |
| @author Nathan Ingersoll <ningerso@@d.umn.edu> | | @author Nathan Ingersoll <ningerso@@d.umn.edu> | |
| @author Willem Monsuwe <willem@@stack.nl> | | @author Willem Monsuwe <willem@@stack.nl> | |
| @author Jose O Gonzalez <jose_ogp@@juno.com> | | @author Jose O Gonzalez <jose_ogp@@juno.com> | |
| @author Bernhard Nemec <Bernhard.Nemec@@viasyshc.com> | | @author Bernhard Nemec <Bernhard.Nemec@@viasyshc.com> | |
| @author Jorge Luis Zapata Muga <jorgeluis.zapata@@gmail.com> | | @author Jorge Luis Zapata Muga <jorgeluis.zapata@@gmail.com> | |
| @author Cedric Bail <cedric.bail@@free.fr> | | @author Cedric Bail <cedric.bail@@free.fr> | |
| @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> | | @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> | |
| @author Vincent Torri <vtorri@@univ-evry.fr> | | @author Vincent Torri <vtorri@@univ-evry.fr> | |
| @author Tim Horton <hortont424@@gmail.com> | | @author Tim Horton <hortont424@@gmail.com> | |
| @author Tom Hacohen <tom@@stosb.com> | | @author Tom Hacohen <tom@@stosb.com> | |
| @author Mathieu Taillefumier <mathieu.taillefumier@@free.fr> | | @author Mathieu Taillefumier <mathieu.taillefumier@@free.fr> | |
| @author Iván Briano <ivan@@profusion.mobi> | | @author Iván Briano <ivan@@profusion.mobi> | |
| @author Gustavo Lima Chaves <glima@@profusion.mobi> | | @author Gustavo Lima Chaves <glima@@profusion.mobi> | |
| @author Samsung Electronics | | @author Samsung Electronics | |
| @author Samsung SAIT | | @author Samsung SAIT | |
| @author Sung W. Park <sungwoo@@gmail.com> | | @author Sung W. Park <sungwoo@@gmail.com> | |
| @author Jiyoun Park <jy0703.park@@samsung.com> | | @author Jiyoun Park <jy0703.park@@samsung.com> | |
| @author Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@@samsung.com> <myoungwo | | @author Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@@samsung.com> <myoun | |
| on@@gmail.com> | | gwoon@@gmail.com> | |
| @author Thierry el Borgi <thierry@@substantiel.fr> | | @author Thierry el Borgi <thierry@@substantiel.fr> | |
| @author ChunEon Park <hermet@@hermet.pe.kr> | | @author Shilpa Singh <shilpa.singh@@samsung.com> <shilpasingh.o@@gmail.c | |
| @author Christopher 'devilhorns' Michael <cpmichael1@comcast.net> | | om> | |
| @author Seungsoo Woo <om101.woo@samsung.com> | | @author ChunEon Park <hermet@@hermet.pe.kr> | |
| | | @author Christopher 'devilhorns' Michael <cpmichael1@@comcast.net> | |
| Please contact <enlightenment-devel@lists.sourceforge.net> to get in | | @author Seungsoo Woo <om101.woo@@samsung.com> | |
| contact with the developers and maintainers. | | @author Youness Alaoui <kakaroto@@kakaroto.homelinux.net> | |
| */ | | @author Jim Kukunas <james.t.kukunas@@linux.intel.com> | |
| | | @author Nicolas Aguirre <aguirre.nicolas@@gmail.com> | |
| | | @author Rafal Krypa <r.krypa@@samsung.com> | |
| | | @author Hyoyoung Chang <hyoyoung@@gmail.com> | |
| | | @author Jérôme Pinot <ngc891@@gmail.com> | |
| | | @author Rafael Antognolli <antognolli@@profusion.mobi> | |
| | | | |
| | | Please contact <enlightenment-devel@lists.sourceforge.net> to get in | |
| | | contact with the developers and maintainers. | |
| | | */ | |
| | | | |
| #ifndef _EVAS_H | | #ifndef _EVAS_H | |
| #define _EVAS_H | | #define _EVAS_H | |
| | | | |
| #include <time.h> | | #include <time.h> | |
| | | | |
| #include <Eina.h> | | #include <Eina.h> | |
| | | | |
| #ifdef EAPI | | #ifdef EAPI | |
| # undef EAPI | | # undef EAPI | |
| | | | |
| skipping to change at line 343 | | skipping to change at line 351 | |
| # else | | # else | |
| # define EAPI | | # define EAPI | |
| # endif | | # endif | |
| #endif /* ! _WIN32 */ | | #endif /* ! _WIN32 */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
| #define EVAS_VERSION_MAJOR 1 | | #define EVAS_VERSION_MAJOR 1 | |
|
| #define EVAS_VERSION_MINOR 2 | | #define EVAS_VERSION_MINOR 7 | |
| | | | |
| typedef struct _Evas_Version | | typedef struct _Evas_Version | |
| { | | { | |
| int major; | | int major; | |
| int minor; | | int minor; | |
| int micro; | | int micro; | |
| int revision; | | int revision; | |
| } Evas_Version; | | } Evas_Version; | |
| | | | |
|
| EAPI extern Evas_Version *evas_version; | | EAPI extern Evas_Version * evas_version; | |
| | | | |
| /** | | /** | |
| * @file | | * @file | |
| * @brief These routines are used for Evas library interaction. | | * @brief These routines are used for Evas library interaction. | |
| * | | * | |
| * @todo check boolean return values and convert to Eina_Bool | | * @todo check boolean return values and convert to Eina_Bool | |
| * @todo change all api to use EINA_SAFETY_* | | * @todo change all api to use EINA_SAFETY_* | |
| * @todo finish api documentation | | * @todo finish api documentation | |
| */ | | */ | |
| | | | |
| /* BiDi exposed stuff */ | | /* BiDi exposed stuff */ | |
|
| /*FIXME: document */ | | /*FIXME: document */ | |
| typedef enum _Evas_BiDi_Direction | | typedef enum _Evas_BiDi_Direction | |
| { | | { | |
| EVAS_BIDI_DIRECTION_NATURAL, | | EVAS_BIDI_DIRECTION_NATURAL, | |
| EVAS_BIDI_DIRECTION_NEUTRAL = EVAS_BIDI_DIRECTION_NATURAL, | | EVAS_BIDI_DIRECTION_NEUTRAL = EVAS_BIDI_DIRECTION_NATURAL, | |
| EVAS_BIDI_DIRECTION_LTR, | | EVAS_BIDI_DIRECTION_LTR, | |
| EVAS_BIDI_DIRECTION_RTL | | EVAS_BIDI_DIRECTION_RTL | |
| } Evas_BiDi_Direction; | | } Evas_BiDi_Direction; | |
| | | | |
| /** | | /** | |
| * Identifier of callbacks to be set for Evas canvases or Evas | | * Identifier of callbacks to be set for Evas canvases or Evas | |
| | | | |
| skipping to change at line 442 | | skipping to change at line 450 | |
| | | | |
| EVAS_CALLBACK_RENDER_PRE, /**< Called just before rendering starts on th
e canvas target @since 1.2 */ | | EVAS_CALLBACK_RENDER_PRE, /**< Called just before rendering starts on th
e canvas target @since 1.2 */ | |
| EVAS_CALLBACK_RENDER_POST, /**< Called just after rendering stops on the
canvas target @since 1.2 */ | | EVAS_CALLBACK_RENDER_POST, /**< Called just after rendering stops on the
canvas target @since 1.2 */ | |
| | | | |
| EVAS_CALLBACK_LAST /**< kept as last element/sentinel -- not really an e
vent */ | | EVAS_CALLBACK_LAST /**< kept as last element/sentinel -- not really an e
vent */ | |
| } Evas_Callback_Type; /**< The types of events triggering a callback */ | | } Evas_Callback_Type; /**< The types of events triggering a callback */ | |
| | | | |
| /** | | /** | |
| * @def EVAS_CALLBACK_PRIORITY_BEFORE | | * @def EVAS_CALLBACK_PRIORITY_BEFORE | |
| * Slightly more prioritized than default. | | * Slightly more prioritized than default. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| #define EVAS_CALLBACK_PRIORITY_BEFORE -100 | | #define EVAS_CALLBACK_PRIORITY_BEFORE -100 | |
| /** | | /** | |
| * @def EVAS_CALLBACK_PRIORITY_DEFAULT | | * @def EVAS_CALLBACK_PRIORITY_DEFAULT | |
| * Default callback priority level | | * Default callback priority level | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
| #define EVAS_CALLBACK_PRIORITY_DEFAULT 0 | | #define EVAS_CALLBACK_PRIORITY_DEFAULT 0 | |
| /** | | /** | |
| * @def EVAS_CALLBACK_PRIORITY_AFTER | | * @def EVAS_CALLBACK_PRIORITY_AFTER | |
| * Slightly less prioritized than default. | | * Slightly less prioritized than default. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| #define EVAS_CALLBACK_PRIORITY_AFTER 100 | | #define EVAS_CALLBACK_PRIORITY_AFTER 100 | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Callback_Priority | | * @typedef Evas_Callback_Priority | |
| * | | * | |
| * Callback priority value. Range is -32k - 32k. The lower the number, the | | * Callback priority value. Range is -32k - 32k. The lower the number, the | |
| * bigger the priority. | | * bigger the priority. | |
| * | | * | |
| * @see EVAS_CALLBACK_PRIORITY_AFTER | | * @see EVAS_CALLBACK_PRIORITY_AFTER | |
| * @see EVAS_CALLBACK_PRIORITY_BEFORE | | * @see EVAS_CALLBACK_PRIORITY_BEFORE | |
| * @see EVAS_CALLBACK_PRIORITY_DEFAULT | | * @see EVAS_CALLBACK_PRIORITY_DEFAULT | |
| * | | * | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
| typedef short Evas_Callback_Priority; | | typedef short Evas_Callback_Priority; | |
| | | | |
| /** | | /** | |
| * Flags for Mouse Button events | | * Flags for Mouse Button events | |
| */ | | */ | |
| typedef enum _Evas_Button_Flags | | typedef enum _Evas_Button_Flags | |
| { | | { | |
| EVAS_BUTTON_NONE = 0, /**< No extra mouse button data */ | | EVAS_BUTTON_NONE = 0, /**< No extra mouse button data */ | |
| EVAS_BUTTON_DOUBLE_CLICK = (1 << 0), /**< This mouse button press was th
e 2nd press of a double click */ | | EVAS_BUTTON_DOUBLE_CLICK = (1 << 0), /**< This mouse button press was th
e 2nd press of a double click */ | |
| | | | |
| skipping to change at line 522 | | skipping to change at line 530 | |
| EVAS_FONT_HINTING_BYTECODE /**< Bytecode font hinting */ | | EVAS_FONT_HINTING_BYTECODE /**< Bytecode font hinting */ | |
| } Evas_Font_Hinting_Flags; /**< Flags for Font Hinting */ | | } Evas_Font_Hinting_Flags; /**< Flags for Font Hinting */ | |
| | | | |
| /** | | /** | |
| * Colorspaces for pixel data supported by Evas | | * Colorspaces for pixel data supported by Evas | |
| * @ingroup Evas_Object_Image | | * @ingroup Evas_Object_Image | |
| */ | | */ | |
| typedef enum _Evas_Colorspace | | typedef enum _Evas_Colorspace | |
| { | | { | |
| EVAS_COLORSPACE_ARGB8888, /**< ARGB 32 bits per pixel, high-byte is Alph
a, accessed 1 32bit word at a time */ | | EVAS_COLORSPACE_ARGB8888, /**< ARGB 32 bits per pixel, high-byte is Alph
a, accessed 1 32bit word at a time */ | |
|
| /* these are not currently supported - but planned for the future */ | | /* these are not currently supported - but planned for the future */ | |
| EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 spe
cifications. The data pointed to is just an array of row pointer, pointing
to the Y rows, then the Cb, then Cr rows */ | | EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 spe
cifications. The data pointed to is just an array of row pointer, pointing
to the Y rows, then the Cb, then Cr rows */ | |
|
| EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 spec
ifications. The data pointed to is just an array of row pointer, pointing t
o the Y rows, then the Cb, then Cr rows */ | | EVAS_COLORSPACE_YCBCR422P709_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-709 spe
cifications. The data pointed to is just an array of row pointer, pointing
to the Y rows, then the Cb, then Cr rows */ | |
| EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 b
its of the 8 being used per alpha byte */ | | EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 b
its of the 8 being used per alpha byte */ | |
| EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */ | | EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */ | |
| EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specificat
ions. The data pointed to is just an array of row pointer, pointing to line
of Y,Cb,Y,Cr bytes */ | | EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specificat
ions. The data pointed to is just an array of row pointer, pointing to line
of Y,Cb,Y,Cr bytes */ | |
| EVAS_COLORSPACE_YCBCR420NV12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of row pointer, pointing to th
e Y rows, then the Cb,Cr rows. */ | | EVAS_COLORSPACE_YCBCR420NV12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of row pointer, pointing to th
e Y rows, then the Cb,Cr rows. */ | |
| EVAS_COLORSPACE_YCBCR420TM12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of tiled row pointer, pointing
to the Y rows, then the Cb,Cr rows. */ | | EVAS_COLORSPACE_YCBCR420TM12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of tiled row pointer, pointing
to the Y rows, then the Cb,Cr rows. */ | |
| } Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */ | | } Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */ | |
| | | | |
| /** | | /** | |
| * How to pack items into cells in a table. | | * How to pack items into cells in a table. | |
| * @ingroup Evas_Object_Table | | * @ingroup Evas_Object_Table | |
| * | | * | |
| * @see evas_object_table_homogeneous_set() for an explanation of the funct
ion of | | * @see evas_object_table_homogeneous_set() for an explanation of the funct
ion of | |
| * each one. | | * each one. | |
| */ | | */ | |
| typedef enum _Evas_Object_Table_Homogeneous_Mode | | typedef enum _Evas_Object_Table_Homogeneous_Mode | |
| { | | { | |
|
| EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, | | EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, | |
| EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, | | EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, | |
| EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 | | EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 | |
| } Evas_Object_Table_Homogeneous_Mode; /**< Table cell pack mode. */ | | } Evas_Object_Table_Homogeneous_Mode; /**< Table cell pack mode. */ | |
| | | | |
|
| typedef struct _Evas_Coord_Rectangle Evas_Coord_Rectangle; /**< A generic | | typedef struct _Evas_Coord_Rectangle Evas_Coord_Rectangle; /**< A gen | |
| rectangle handle */ | | eric rectangle handle */ | |
| typedef struct _Evas_Point Evas_Point; /**< integer point | | typedef struct _Evas_Point Evas_Point; /**< integer point | |
| */ | | */ | |
| | | | |
|
| typedef struct _Evas_Coord_Point Evas_Coord_Point; /**< Evas_C | | typedef struct _Evas_Coord_Point Evas_Coord_Point; /**< Evas_C | |
| oord point */ | | oord point */ | |
| typedef struct _Evas_Coord_Precision_Point Evas_Coord_Precision_Point; /* | | typedef struct _Evas_Coord_Precision_Point Evas_Coord_Precision_Point; /* | |
| *< Evas_Coord point with sub-pixel precision */ | | *< Evas_Coord point with sub-pixel precision */ | |
| | | | |
|
| typedef struct _Evas_Position Evas_Position; /**< associates | | typedef struct _Evas_Position Evas_Position; /**< associates | |
| given point in Canvas and Output */ | | given point in Canvas and Output */ | |
| typedef struct _Evas_Precision_Position Evas_Precision_Position; /**< | | typedef struct _Evas_Precision_Position Evas_Precision_Position; /**< | |
| associates given point in Canvas and Output, with sub-pixel precision */ | | associates given point in Canvas and Output, with sub-pixel precision */ | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Smart_Class | | * @typedef Evas_Smart_Class | |
| * | | * | |
| * A smart object's @b base class definition | | * A smart object's @b base class definition | |
| * | | * | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
|
| typedef struct _Evas_Smart_Class Evas_Smart_Class; | | typedef struct _Evas_Smart_Class Evas_Smart_Class; | |
| | | | |
| | | /** | |
| | | * @typedef Evas_Smart_Interface | |
| | | * | |
| | | * A smart object's @b base interface definition | |
| | | * | |
| | | * An Evas interface is exactly like the OO-concept: an 'contract' or | |
| | | * API a given object is declared to support. A smart object may have | |
| | | * more than one interface, thus extending the behavior it gets from | |
| | | * sub-classing. | |
| | | * | |
| | | * @since 1.7 | |
| | | * | |
| | | * @ingroup Evas_Smart_Group | |
| | | */ | |
| | | typedef struct _Evas_Smart_Interface Evas_Smart_Interface; | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Smart_Cb_Description | | * @typedef Evas_Smart_Cb_Description | |
| * | | * | |
| * A smart object callback description, used to provide introspection | | * A smart object callback description, used to provide introspection | |
| * | | * | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
|
| typedef struct _Evas_Smart_Cb_Description Evas_Smart_Cb_Description; | | typedef struct _Evas_Smart_Cb_Description Evas_Smart_Cb_Description; | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Map | | * @typedef Evas_Map | |
| * | | * | |
| * An opaque handle to map points | | * An opaque handle to map points | |
| * | | * | |
| * @see evas_map_new() | | * @see evas_map_new() | |
| * @see evas_map_free() | | * @see evas_map_free() | |
| * @see evas_map_dup() | | * @see evas_map_dup() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Map | | * @ingroup Evas_Object_Group_Map | |
| */ | | */ | |
|
| typedef struct _Evas_Map Evas_Map; | | typedef struct _Evas_Map Evas_Map; | |
| | | | |
| /** | | /** | |
| * @typedef Evas | | * @typedef Evas | |
| * | | * | |
| * An opaque handle to an Evas canvas. | | * An opaque handle to an Evas canvas. | |
| * | | * | |
| * @see evas_new() | | * @see evas_new() | |
| * @see evas_free() | | * @see evas_free() | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| typedef struct _Evas Evas; | | typedef struct _Evas Evas; | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Object | | * @typedef Evas_Object | |
| * An Evas Object handle. | | * An Evas Object handle. | |
| * @ingroup Evas_Object_Group | | * @ingroup Evas_Object_Group | |
| */ | | */ | |
| typedef struct _Evas_Object Evas_Object; | | typedef struct _Evas_Object Evas_Object; | |
| | | | |
| typedef void Evas_Performance; /**< An Evas Performa
nce handle */ | | typedef void Evas_Performance; /**< An Evas Performa
nce handle */ | |
| typedef struct _Evas_Modifier Evas_Modifier; /**< An opaque type cont
aining information on which modifier keys are registered in an Evas canvas
*/ | | typedef struct _Evas_Modifier Evas_Modifier; /**< An opaque type cont
aining information on which modifier keys are registered in an Evas canvas
*/ | |
| typedef struct _Evas_Lock Evas_Lock; /**< An opaque type containi
ng information on which lock keys are registered in an Evas canvas */ | | typedef struct _Evas_Lock Evas_Lock; /**< An opaque type containi
ng information on which lock keys are registered in an Evas canvas */ | |
| typedef struct _Evas_Smart Evas_Smart; /**< An Evas Smart Object h
andle */ | | typedef struct _Evas_Smart Evas_Smart; /**< An Evas Smart Object h
andle */ | |
| typedef struct _Evas_Native_Surface Evas_Native_Surface; /**< A generic dat
atype for engine specific native surface information */ | | typedef struct _Evas_Native_Surface Evas_Native_Surface; /**< A generic dat
atype for engine specific native surface information */ | |
| | | | |
|
| /** | | /** | |
| * @typedef Evas_Video_Surface | | * @typedef Evas_Video_Surface | |
| * | | * | |
| * A generic datatype for video specific surface information | | * A generic datatype for video specific surface information | |
| * @see evas_object_image_video_surface_set | | * @see evas_object_image_video_surface_set | |
| * @see evas_object_image_video_surface_get | | * @see evas_object_image_video_surface_get | |
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
| typedef struct _Evas_Video_Surface Evas_Video_Surface; | | typedef struct _Evas_Video_Surface Evas_Video_Surface; | |
| | | | |
| typedef unsigned long long Evas_Modifier_Mask; /**< An Evas modifi | | typedef unsigned long long Evas_Modifier_Mask; /**< An Evas modifi | |
| er mask type */ | | er mask type */ | |
| | | | |
| typedef int Evas_Coord; | | typedef int Evas_Coord; | |
| typedef int Evas_Font_Size; | | typedef int Evas_Font_Size; | |
| typedef int Evas_Angle; | | typedef int Evas_Angle; | |
| | | | |
| struct _Evas_Coord_Rectangle /**< A rectangle in Evas_Coord */ | | struct _Evas_Coord_Rectangle /**< A rectangle in Evas_Coord */ | |
| { | | { | |
| Evas_Coord x; /**< top-left x co-ordinate of rectangle */ | | Evas_Coord x; /**< top-left x co-ordinate of rectangle */ | |
| Evas_Coord y; /**< top-left y co-ordinate of rectangle */ | | Evas_Coord y; /**< top-left y co-ordinate of rectangle */ | |
| Evas_Coord w; /**< width of rectangle */ | | Evas_Coord w; /**< width of rectangle */ | |
| Evas_Coord h; /**< height of rectangle */ | | Evas_Coord h; /**< height of rectangle */ | |
| }; | | }; | |
| | | | |
| struct _Evas_Point | | struct _Evas_Point | |
| | | | |
| skipping to change at line 648 | | skipping to change at line 672 | |
| }; | | }; | |
| | | | |
| struct _Evas_Coord_Point | | struct _Evas_Coord_Point | |
| { | | { | |
| Evas_Coord x, y; | | Evas_Coord x, y; | |
| }; | | }; | |
| | | | |
| struct _Evas_Coord_Precision_Point | | struct _Evas_Coord_Precision_Point | |
| { | | { | |
| Evas_Coord x, y; | | Evas_Coord x, y; | |
|
| double xsub, ysub; | | double xsub, ysub; | |
| }; | | }; | |
| | | | |
| struct _Evas_Position | | struct _Evas_Position | |
| { | | { | |
|
| Evas_Point output; | | Evas_Point output; | |
| Evas_Coord_Point canvas; | | Evas_Coord_Point canvas; | |
| }; | | }; | |
| | | | |
| struct _Evas_Precision_Position | | struct _Evas_Precision_Position | |
| { | | { | |
|
| Evas_Point output; | | Evas_Point output; | |
| Evas_Coord_Precision_Point canvas; | | Evas_Coord_Precision_Point canvas; | |
| }; | | }; | |
| | | | |
| typedef enum _Evas_Aspect_Control | | typedef enum _Evas_Aspect_Control | |
| { | | { | |
| EVAS_ASPECT_CONTROL_NONE = 0, /**< Preference on scaling unset */ | | EVAS_ASPECT_CONTROL_NONE = 0, /**< Preference on scaling unset */ | |
| EVAS_ASPECT_CONTROL_NEITHER = 1, /**< Same effect as unset preference on
scaling */ | | EVAS_ASPECT_CONTROL_NEITHER = 1, /**< Same effect as unset preference on
scaling */ | |
| EVAS_ASPECT_CONTROL_HORIZONTAL = 2, /**< Use all horizontal container sp
ace to place an object, using the given aspect */ | | EVAS_ASPECT_CONTROL_HORIZONTAL = 2, /**< Use all horizontal container sp
ace to place an object, using the given aspect */ | |
| EVAS_ASPECT_CONTROL_VERTICAL = 3, /**< Use all vertical container space
to place an object, using the given aspect */ | | EVAS_ASPECT_CONTROL_VERTICAL = 3, /**< Use all vertical container space
to place an object, using the given aspect */ | |
| EVAS_ASPECT_CONTROL_BOTH = 4 /**< Use all horizontal @b and vertical con
tainer spaces to place an object (never growing it out of those bounds), us
ing the given aspect */ | | EVAS_ASPECT_CONTROL_BOTH = 4 /**< Use all horizontal @b and vertical con
tainer spaces to place an object (never growing it out of those bounds), us
ing the given aspect */ | |
| } Evas_Aspect_Control; /**< Aspect types/policies for scaling size hints, u
sed for evas_object_size_hint_aspect_set() */ | | } Evas_Aspect_Control; /**< Aspect types/policies for scaling size hints, u
sed for evas_object_size_hint_aspect_set() */ | |
| | | | |
| typedef struct _Evas_Pixel_Import_Source Evas_Pixel_Import_Source; /**< A s
ource description of pixels for importing pixels */ | | typedef struct _Evas_Pixel_Import_Source Evas_Pixel_Import_Source; /**< A s
ource description of pixels for importing pixels */ | |
|
| typedef struct _Evas_Engine_Info Evas_Engine_Info; /**< A generic Evas | | typedef struct _Evas_Engine_Info Evas_Engine_Info; /**< A generic E | |
| Engine information structure */ | | vas Engine information structure */ | |
| typedef struct _Evas_Device Evas_Device; /**< A source device han | | typedef struct _Evas_Device Evas_Device; /**< A source device | |
| dle - where the event came from */ | | handle - where the event came from */ | |
| typedef struct _Evas_Event_Mouse_Down Evas_Event_Mouse_Down; /**< Event str | | typedef struct _Evas_Event_Mouse_Down Evas_Event_Mouse_Down; /**< Event | |
| ucture for #EVAS_CALLBACK_MOUSE_DOWN event callbacks */ | | structure for #EVAS_CALLBACK_MOUSE_DOWN event callbacks */ | |
| typedef struct _Evas_Event_Mouse_Up Evas_Event_Mouse_Up; /**< Event struc | | typedef struct _Evas_Event_Mouse_Up Evas_Event_Mouse_Up; /**< Event st | |
| ture for #EVAS_CALLBACK_MOUSE_UP event callbacks */ | | ructure for #EVAS_CALLBACK_MOUSE_UP event callbacks */ | |
| typedef struct _Evas_Event_Mouse_In Evas_Event_Mouse_In; /**< Event struc | | typedef struct _Evas_Event_Mouse_In Evas_Event_Mouse_In; /**< Event st | |
| ture for #EVAS_CALLBACK_MOUSE_IN event callbacks */ | | ructure for #EVAS_CALLBACK_MOUSE_IN event callbacks */ | |
| typedef struct _Evas_Event_Mouse_Out Evas_Event_Mouse_Out; /**< Event stru | | typedef struct _Evas_Event_Mouse_Out Evas_Event_Mouse_Out; /**< Event s | |
| cture for #EVAS_CALLBACK_MOUSE_OUT event callbacks */ | | tructure for #EVAS_CALLBACK_MOUSE_OUT event callbacks */ | |
| typedef struct _Evas_Event_Mouse_Move Evas_Event_Mouse_Move; /**< Event str | | typedef struct _Evas_Event_Mouse_Move Evas_Event_Mouse_Move; /**< Event | |
| ucture for #EVAS_CALLBACK_MOUSE_MOVE event callbacks */ | | structure for #EVAS_CALLBACK_MOUSE_MOVE event callbacks */ | |
| typedef struct _Evas_Event_Mouse_Wheel Evas_Event_Mouse_Wheel; /**< Event s | | typedef struct _Evas_Event_Mouse_Wheel Evas_Event_Mouse_Wheel; /**< Event | |
| tructure for #EVAS_CALLBACK_MOUSE_WHEEL event callbacks */ | | structure for #EVAS_CALLBACK_MOUSE_WHEEL event callbacks */ | |
| typedef struct _Evas_Event_Multi_Down Evas_Event_Multi_Down; /**< Event str | | typedef struct _Evas_Event_Multi_Down Evas_Event_Multi_Down; /**< Event | |
| ucture for #EVAS_CALLBACK_MULTI_DOWN event callbacks */ | | structure for #EVAS_CALLBACK_MULTI_DOWN event callbacks */ | |
| typedef struct _Evas_Event_Multi_Up Evas_Event_Multi_Up; /**< Event struc | | typedef struct _Evas_Event_Multi_Up Evas_Event_Multi_Up; /**< Event st | |
| ture for #EVAS_CALLBACK_MULTI_UP event callbacks */ | | ructure for #EVAS_CALLBACK_MULTI_UP event callbacks */ | |
| typedef struct _Evas_Event_Multi_Move Evas_Event_Multi_Move; /**< Event str | | typedef struct _Evas_Event_Multi_Move Evas_Event_Multi_Move; /**< Event | |
| ucture for #EVAS_CALLBACK_MULTI_MOVE event callbacks */ | | structure for #EVAS_CALLBACK_MULTI_MOVE event callbacks */ | |
| typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down; /**< Event struc | | typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down; /**< Event st | |
| ture for #EVAS_CALLBACK_KEY_DOWN event callbacks */ | | ructure for #EVAS_CALLBACK_KEY_DOWN event callbacks */ | |
| typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up; /**< Event structu | | typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up; /**< Event stru | |
| re for #EVAS_CALLBACK_KEY_UP event callbacks */ | | cture for #EVAS_CALLBACK_KEY_UP event callbacks */ | |
| typedef struct _Evas_Event_Hold Evas_Event_Hold; /**< Event structure | | typedef struct _Evas_Event_Hold Evas_Event_Hold; /**< Event struct | |
| for #EVAS_CALLBACK_HOLD event callbacks */ | | ure for #EVAS_CALLBACK_HOLD event callbacks */ | |
| | | | |
| typedef enum _Evas_Load_Error | | typedef enum _Evas_Load_Error | |
| { | | { | |
| EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */ | | EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */ | |
| EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */ | | EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */ | |
| EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not ex
ist */ | | EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not ex
ist */ | |
| EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission denied to an exis
ting file (or path) */ | | EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission denied to an exis
ting file (or path) */ | |
| EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resou
rces failure prevented load */ | | EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resou
rces failure prevented load */ | |
| EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as
a known format) */ | | EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as
a known format) */ | |
| EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */ | | EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */ | |
| | | | |
| skipping to change at line 726 | | skipping to change at line 750 | |
| typedef enum _Evas_Pixel_Import_Pixel_Format | | typedef enum _Evas_Pixel_Import_Pixel_Format | |
| { | | { | |
| EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */ | | EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */ | |
| EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the
high byte per 32bit pixel word */ | | EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the
high byte per 32bit pixel word */ | |
| EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 6
01 color encoding with contiguous planes in the order Y, U and V */ | | EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 6
01 color encoding with contiguous planes in the order Y, U and V */ | |
| } Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See ev
as_object_image_pixels_import() */ | | } Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See ev
as_object_image_pixels_import() */ | |
| | | | |
| struct _Evas_Pixel_Import_Source | | struct _Evas_Pixel_Import_Source | |
| { | | { | |
| Evas_Pixel_Import_Pixel_Format format; /**< pixel format type ie ARGB32,
YUV420P_601 etc. */ | | Evas_Pixel_Import_Pixel_Format format; /**< pixel format type ie ARGB32,
YUV420P_601 etc. */ | |
|
| int w, h; /**< width and height of source in pixels */ | | int w, h; /**< width and height of source in | |
| void **rows; /**< an array of pointers (size depends on format) pointing | | pixels */ | |
| to left edge of each scanline */ | | void **rows; /**< an array of pointers (size dep | |
| | | ends on format) pointing to left edge of each scanline */ | |
| }; | | }; | |
| | | | |
| /* magic version number to know what the native surf struct looks like */ | | /* magic version number to know what the native surf struct looks like */ | |
| #define EVAS_NATIVE_SURFACE_VERSION 2 | | #define EVAS_NATIVE_SURFACE_VERSION 2 | |
| | | | |
| typedef enum _Evas_Native_Surface_Type | | typedef enum _Evas_Native_Surface_Type | |
| { | | { | |
| EVAS_NATIVE_SURFACE_NONE, | | EVAS_NATIVE_SURFACE_NONE, | |
| EVAS_NATIVE_SURFACE_X11, | | EVAS_NATIVE_SURFACE_X11, | |
| EVAS_NATIVE_SURFACE_OPENGL | | EVAS_NATIVE_SURFACE_OPENGL | |
| } Evas_Native_Surface_Type; | | } Evas_Native_Surface_Type; | |
| | | | |
| struct _Evas_Native_Surface | | struct _Evas_Native_Surface | |
| { | | { | |
|
| int version; | | int version; | |
| Evas_Native_Surface_Type type; | | Evas_Native_Surface_Type type; | |
| union { | | union { | |
|
| struct { | | struct | |
| void *visual; /**< visual of the pixmap to use (Visual) */ | | { | |
| unsigned long pixmap; /**< pixmap id to use (Pixmap) */ | | void *visual; /**< visual of the pixmap to use (Visual) */ | |
| } x11; | | unsigned long pixmap; /**< pixmap id to use (Pixmap) */ | |
| struct { | | } x11; | |
| unsigned int texture_id; /**< opengl texture id to use from glGenT | | struct | |
| extures() */ | | { | |
| unsigned int framebuffer_id; /**< 0 if not a FBO, FBO id otherwise | | unsigned int texture_id; /**< opengl texture id to use from glGenT | |
| from glGenFramebuffers() */ | | extures() */ | |
| unsigned int internal_format; /**< same as 'internalFormat' for gl | | unsigned int framebuffer_id; /**< 0 if not a FBO, FBO id otherwise | |
| TexImage2D() */ | | from glGenFramebuffers() */ | |
| unsigned int format; /**< same as 'format' for glTexImage2D() */ | | unsigned int internal_format; /**< same as 'internalFormat' for gl | |
| unsigned int x, y, w, h; /**< region inside the texture to use (im | | TexImage2D() */ | |
| age size is assumed as texture size, with 0, 0 being the top-left and co-or | | unsigned int format; /**< same as 'format' for glTexImage2D() */ | |
| dinates working down to the right and bottom being positive) */ | | unsigned int x, y, w, h; /**< region inside the texture to use (im | |
| } opengl; | | age size is assumed as texture size, with 0, 0 being the top-left and co-or | |
| | | dinates working down to the right and bottom being positive) */ | |
| | | } opengl; | |
| } data; | | } data; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * @def EVAS_VIDEO_SURFACE_VERSION | | * @def EVAS_VIDEO_SURFACE_VERSION | |
| * Magic version number to know what the video surf struct looks like | | * Magic version number to know what the video surf struct looks like | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
| #define EVAS_VIDEO_SURFACE_VERSION 1 | | #define EVAS_VIDEO_SURFACE_VERSION 1 | |
| | | | |
| typedef void (*Evas_Video_Cb)(void *data, Evas_Object *obj, const Evas_Vide
o_Surface *surface); | | typedef void (*Evas_Video_Cb)(void *data, Evas_Object *obj, const Evas_Vide
o_Surface *surface); | |
| typedef void (*Evas_Video_Coord_Cb)(void *data, Evas_Object *obj, const Eva
s_Video_Surface *surface, Evas_Coord a, Evas_Coord b); | | typedef void (*Evas_Video_Coord_Cb)(void *data, Evas_Object *obj, const Eva
s_Video_Surface *surface, Evas_Coord a, Evas_Coord b); | |
| | | | |
| struct _Evas_Video_Surface | | struct _Evas_Video_Surface | |
| { | | { | |
|
| int version; | | int version; | |
| | | | |
| Evas_Video_Coord_Cb move; /**< Move the video surface to this position *
/ | | Evas_Video_Coord_Cb move; /**< Move the video surface to this position *
/ | |
| Evas_Video_Coord_Cb resize; /**< Resize the video surface to that size *
/ | | Evas_Video_Coord_Cb resize; /**< Resize the video surface to that size *
/ | |
|
| Evas_Video_Cb show; /**< Show the video overlay surface */ | | Evas_Video_Cb show; /**< Show the video overlay surface */ | |
| Evas_Video_Cb hide; /**< Hide the video overlay surface */ | | Evas_Video_Cb hide; /**< Hide the video overlay surface */ | |
| Evas_Video_Cb update_pixels; /**< Please update the Evas_Object_Image pi | | Evas_Video_Cb update_pixels; /**< Please update the Evas_Object_Im | |
| xels when called */ | | age pixels when called */ | |
| | | | |
|
| Evas_Object *parent; | | Evas_Object *parent; | |
| void *data; | | void *data; | |
| }; | | }; | |
| | | | |
|
| #define EVAS_LAYER_MIN -32768 /**< bottom-most layer number */ | | #define EVAS_LAYER_MIN -32768 /**< bottom-most layer numb | |
| #define EVAS_LAYER_MAX 32767 /**< top-most layer number */ | | er */ | |
| | | #define EVAS_LAYER_MAX 32767 /**< top-most layer number * | |
| | | / | |
| | | | |
|
| #define EVAS_COLOR_SPACE_ARGB 0 /**< Not used for anything */ | | #define EVAS_COLOR_SPACE_ARGB 0 /**< Not used for anything */ | |
| #define EVAS_COLOR_SPACE_AHSV 1 /**< Not used for anything */ | | #define EVAS_COLOR_SPACE_AHSV 1 /**< Not used for anything */ | |
| #define EVAS_TEXT_INVALID -1 /**< Not used for anything */ | | #define EVAS_TEXT_INVALID -1 /**< Not used for anything */ | |
| #define EVAS_TEXT_SPECIAL -2 /**< Not used for anything */ | | #define EVAS_TEXT_SPECIAL -2 /**< Not used for anything */ | |
| | | | |
| #define EVAS_HINT_EXPAND 1.0 /**< Use with evas_object_size_hint_weight_se | | #define EVAS_HINT_EXPAND 1.0 /**< Use with evas_object_size | |
| t(), evas_object_size_hint_weight_get(), evas_object_size_hint_expand_set() | | _hint_weight_set(), evas_object_size_hint_weight_get(), evas_object_size_hi | |
| , evas_object_size_hint_expand_get() */ | | nt_expand_set(), evas_object_size_hint_expand_get() */ | |
| #define EVAS_HINT_FILL -1.0 /**< Use with evas_object_size_hint_align_set | | #define EVAS_HINT_FILL -1.0 /**< Use with evas_object_siz | |
| (), evas_object_size_hint_align_get(), evas_object_size_hint_fill_set(), ev | | e_hint_align_set(), evas_object_size_hint_align_get(), evas_object_size_hin | |
| as_object_size_hint_fill_get() */ | | t_fill_set(), evas_object_size_hint_fill_get() */ | |
| #define evas_object_size_hint_fill_set evas_object_size_hint_align_set /**< | | #define evas_object_size_hint_fill_set evas_object_size_hint_align_set /* | |
| Convenience macro to make it easier to understand that align is also used | | *< Convenience macro to make it easier to understand that align is also use | |
| for fill properties (as fill is mutually exclusive to align) */ | | d for fill properties (as fill is mutually exclusive to align) */ | |
| #define evas_object_size_hint_fill_get evas_object_size_hint_align_get /**< | | #define evas_object_size_hint_fill_get evas_object_size_hint_align_get /* | |
| Convenience macro to make it easier to understand that align is also used | | *< Convenience macro to make it easier to understand that align is also use | |
| for fill properties (as fill is mutually exclusive to align) */ | | d for fill properties (as fill is mutually exclusive to align) */ | |
| #define evas_object_size_hint_expand_set evas_object_size_hint_weight_set /
**< Convenience macro to make it easier to understand that weight is also u
sed for expand properties */ | | #define evas_object_size_hint_expand_set evas_object_size_hint_weight_set /
**< Convenience macro to make it easier to understand that weight is also u
sed for expand properties */ | |
| #define evas_object_size_hint_expand_get evas_object_size_hint_weight_get /
**< Convenience macro to make it easier to understand that weight is also u
sed for expand properties */ | | #define evas_object_size_hint_expand_get evas_object_size_hint_weight_get /
**< Convenience macro to make it easier to understand that weight is also u
sed for expand properties */ | |
| | | | |
| /** | | /** | |
| * How the object should be rendered to output. | | * How the object should be rendered to output. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| typedef enum _Evas_Render_Op | | typedef enum _Evas_Render_Op | |
| { | | { | |
| EVAS_RENDER_BLEND = 0, /**< default op: d = d*(1-sa) + s */ | | EVAS_RENDER_BLEND = 0, /**< default op: d = d*(1-sa) + s */ | |
| | | | |
| skipping to change at line 859 | | skipping to change at line 885 | |
| EVAS_IMAGE_CONTENT_HINT_STATIC = 2 /**< The contents won't change over t
ime */ | | EVAS_IMAGE_CONTENT_HINT_STATIC = 2 /**< The contents won't change over t
ime */ | |
| } Evas_Image_Content_Hint; /**< How an image's data is to be treated by Eva
s, for optimization */ | | } Evas_Image_Content_Hint; /**< How an image's data is to be treated by Eva
s, for optimization */ | |
| | | | |
| struct _Evas_Engine_Info /** Generic engine information. Generic info is us
eless */ | | struct _Evas_Engine_Info /** Generic engine information. Generic info is us
eless */ | |
| { | | { | |
| int magic; /**< Magic number */ | | int magic; /**< Magic number */ | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Mouse_Down /** Mouse button press event */ | | struct _Evas_Event_Mouse_Down /** Mouse button press event */ | |
| { | | { | |
|
| int button; /**< Mouse button number that went down (1 - 32) */ | | int button; /**< Mouse button number that went down (1 - 3
2) */ | |
| | | | |
|
| Evas_Point output; /**< The X/Y location of the cursor */ | | Evas_Point output; /**< The X/Y location of the cursor */ | |
| Evas_Coord_Point canvas; /**< The X/Y location of the cursor */ | | Evas_Coord_Point canvas; /**< The X/Y location of the cursor */ | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; /**< modifier keys pressed during the event */ | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| | | Evas_Lock *locks; | |
| | | | |
| Evas_Button_Flags flags; /**< button flags set during the event */ | | Evas_Button_Flags flags; /**< button flags set during the event */ | |
| unsigned int timestamp; | | unsigned int timestamp; | |
| Evas_Event_Flags event_flags; | | Evas_Event_Flags event_flags; | |
| Evas_Device *dev; | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Mouse_Up /** Mouse button release event */ | | struct _Evas_Event_Mouse_Up /** Mouse button release event */ | |
| { | | { | |
|
| int button; /**< Mouse button number that was raised (1 - 32) */ | | int button; /**< Mouse button number that was raised (1 -
32) */ | |
| | | | |
|
| Evas_Point output; | | Evas_Point output; /**< The X/Y location of the cursor */ | |
| Evas_Coord_Point canvas; | | Evas_Coord_Point canvas; /**< The X/Y location of the cursor */ | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| | | Evas_Lock *locks; | |
| | | | |
|
| Evas_Button_Flags flags; | | Evas_Button_Flags flags; /**< button flags set during the event */ | |
| unsigned int timestamp; | | unsigned int timestamp; | |
| Evas_Event_Flags event_flags; | | Evas_Event_Flags event_flags; | |
| Evas_Device *dev; | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Mouse_In /** Mouse enter event */ | | struct _Evas_Event_Mouse_In /** Mouse enter event */ | |
| { | | { | |
|
| int buttons; /**< Button pressed mask, Bits set to 1 are buttons current
ly pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */ | | int buttons; /**< Button pressed mask, Bits set to 1 are bu
ttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc
.) */ | |
| | | | |
|
| Evas_Point output; | | Evas_Point output; /**< The X/Y location of the cursor */ | |
| Evas_Coord_Point canvas; | | Evas_Coord_Point canvas; /**< The X/Y location of the cursor */ | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| unsigned int timestamp; | | Evas_Lock *locks; | |
| Evas_Event_Flags event_flags; | | unsigned int timestamp; | |
| Evas_Device *dev; | | Evas_Event_Flags event_flags; | |
| | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Mouse_Out /** Mouse leave event */ | | struct _Evas_Event_Mouse_Out /** Mouse leave event */ | |
| { | | { | |
|
| int buttons; /**< Button pressed mask, Bits set to 1 are buttons current
ly pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */ | | int buttons; /**< Button pressed mask, Bits set to 1 are bu
ttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc
.) */ | |
| | | | |
|
| Evas_Point output; | | Evas_Point output; /**< The X/Y location of the cursor */ | |
| Evas_Coord_Point canvas; | | Evas_Coord_Point canvas; /**< The X/Y location of the cursor */ | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| unsigned int timestamp; | | Evas_Lock *locks; | |
| Evas_Event_Flags event_flags; | | unsigned int timestamp; | |
| Evas_Device *dev; | | Evas_Event_Flags event_flags; | |
| | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Mouse_Move /** Mouse button down event */ | | struct _Evas_Event_Mouse_Move /** Mouse button down event */ | |
| { | | { | |
|
| int buttons; /**< Button pressed mask, Bits set to 1 are buttons current
ly pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */ | | int buttons; /**< Button pressed mask, Bits set to 1 are bu
ttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc
.) */ | |
| | | | |
|
| Evas_Position cur, prev; | | Evas_Position cur, prev; | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| unsigned int timestamp; | | Evas_Lock *locks; | |
| Evas_Event_Flags event_flags; | | unsigned int timestamp; | |
| Evas_Device *dev; | | Evas_Event_Flags event_flags; | |
| | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Mouse_Wheel /** Wheel event */ | | struct _Evas_Event_Mouse_Wheel /** Wheel event */ | |
| { | | { | |
|
| int direction; /* 0 = default up/down wheel FIXME: more wheel types */ | | int direction; /* 0 = default up/down wheel FIXME: more whe | |
| int z; /* ...,-2,-1 = down, 1,2,... = up */ | | el types */ | |
| | | int z; /* ...,-2,-1 = down, 1,2,... = up */ | |
| | | | |
|
| Evas_Point output; | | Evas_Point output; /**< The X/Y location of the cursor */ | |
| Evas_Coord_Point canvas; | | Evas_Coord_Point canvas; /**< The X/Y location of the cursor */ | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| unsigned int timestamp; | | Evas_Lock *locks; | |
| Evas_Event_Flags event_flags; | | unsigned int timestamp; | |
| Evas_Device *dev; | | Evas_Event_Flags event_flags; | |
| | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Multi_Down /** Multi button press event */ | | struct _Evas_Event_Multi_Down /** Multi button press event */ | |
| { | | { | |
|
| int device; /**< Multi device number that went down (1 or more for extra | | int device; /**< Multi device number that went do | |
| touches) */ | | wn (1 or more for extra touches) */ | |
| double radius, radius_x, radius_y; | | double radius, radius_x, radius_y; | |
| double pressure, angle; | | double pressure, angle; | |
| | | | |
|
| Evas_Point output; | | Evas_Point output; | |
| Evas_Coord_Precision_Point canvas; | | Evas_Coord_Precision_Point canvas; | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| | | Evas_Lock *locks; | |
| | | | |
|
| Evas_Button_Flags flags; | | Evas_Button_Flags flags; /**< button flags set during the event */ | |
| unsigned int timestamp; | | unsigned int timestamp; | |
| Evas_Event_Flags event_flags; | | Evas_Event_Flags event_flags; | |
| Evas_Device *dev; | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Multi_Up /** Multi button release event */ | | struct _Evas_Event_Multi_Up /** Multi button release event */ | |
| { | | { | |
|
| int device; /**< Multi device number that went up (1 or more for extra t | | int device; /**< Multi device number that went up | |
| ouches) */ | | (1 or more for extra touches) */ | |
| double radius, radius_x, radius_y; | | double radius, radius_x, radius_y; | |
| double pressure, angle; | | double pressure, angle; | |
| | | | |
|
| Evas_Point output; | | Evas_Point output; | |
| Evas_Coord_Precision_Point canvas; | | Evas_Coord_Precision_Point canvas; | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| | | Evas_Lock *locks; | |
| | | | |
|
| Evas_Button_Flags flags; | | Evas_Button_Flags flags; /**< button flags set during the event */ | |
| unsigned int timestamp; | | unsigned int timestamp; | |
| Evas_Event_Flags event_flags; | | Evas_Event_Flags event_flags; | |
| Evas_Device *dev; | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Multi_Move /** Multi button down event */ | | struct _Evas_Event_Multi_Move /** Multi button down event */ | |
| { | | { | |
|
| int device; /**< Multi device number that moved (1 or more for extra tou | | int device; /**< Multi device number that moved (1 o | |
| ches) */ | | r more for extra touches) */ | |
| double radius, radius_x, radius_y; | | double radius, radius_x, radius_y; | |
| double pressure, angle; | | double pressure, angle; | |
| | | | |
| Evas_Precision_Position cur; | | Evas_Precision_Position cur; | |
| | | | |
|
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| unsigned int timestamp; | | Evas_Lock *locks; | |
| Evas_Event_Flags event_flags; | | unsigned int timestamp; | |
| Evas_Device *dev; | | Evas_Event_Flags event_flags; | |
| | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Key_Down /** Key press event */ | | struct _Evas_Event_Key_Down /** Key press event */ | |
| { | | { | |
|
| char *keyname; /**< the name string of the key pressed */ | | char *keyname; /**< the name string of the key pressed */ | |
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| | | Evas_Lock *locks; | |
| const char *key; /**< The logical key : (eg shift+1 == exclamation) * | | | |
| / | | const char *key; /**< The logical key : (eg shift+1 == exclamation) | |
| const char *string; /**< A UTF8 string if this keystroke has produced | | */ | |
| a visible string to be ADDED */ | | const char *string; /**< A UTF8 string if this keystroke has produc | |
| const char *compose; /**< A UTF8 string if this keystroke has modifie | | ed a visible string to be ADDED */ | |
| d a string in the middle of being composed - this string replaces the previ | | const char *compose; /**< A UTF8 string if this keystroke has modif | |
| ous one */ | | ied a string in the middle of being composed - this string replaces the pre | |
| unsigned int timestamp; | | vious one */ | |
| Evas_Event_Flags event_flags; | | unsigned int timestamp; | |
| Evas_Device *dev; | | Evas_Event_Flags event_flags; | |
| | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Key_Up /** Key release event */ | | struct _Evas_Event_Key_Up /** Key release event */ | |
| { | | { | |
|
| char *keyname; /**< the name string of the key released */ | | char *keyname; /**< the name string of the key released */ | |
| void *data; | | void *data; | |
| Evas_Modifier *modifiers; | | Evas_Modifier *modifiers; /**< modifier keys pressed during the event | |
| Evas_Lock *locks; | | */ | |
| | | Evas_Lock *locks; | |
| const char *key; /**< The logical key : (eg shift+1 == exclamation) * | | | |
| / | | const char *key; /**< The logical key : (eg shift+1 == exclamation) | |
| const char *string; /**< A UTF8 string if this keystroke has produced | | */ | |
| a visible string to be ADDED */ | | const char *string; /**< A UTF8 string if this keystroke has produc | |
| const char *compose; /**< A UTF8 string if this keystroke has modifie | | ed a visible string to be ADDED */ | |
| d a string in the middle of being composed - this string replaces the previ | | const char *compose; /**< A UTF8 string if this keystroke has modif | |
| ous one */ | | ied a string in the middle of being composed - this string replaces the pre | |
| unsigned int timestamp; | | vious one */ | |
| Evas_Event_Flags event_flags; | | unsigned int timestamp; | |
| Evas_Device *dev; | | Evas_Event_Flags event_flags; | |
| | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| struct _Evas_Event_Hold /** Hold change event */ | | struct _Evas_Event_Hold /** Hold change event */ | |
| { | | { | |
|
| int hold; /**< The hold flag */ | | int hold; /**< The hold flag */ | |
| void *data; | | void *data; | |
| | | | |
|
| unsigned int timestamp; | | unsigned int timestamp; | |
| Evas_Event_Flags event_flags; | | Evas_Event_Flags event_flags; | |
| Evas_Device *dev; | | Evas_Device *dev; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * How the mouse pointer should be handled by Evas. | | * How the mouse pointer should be handled by Evas. | |
| * | | * | |
| * In the mode #EVAS_OBJECT_POINTER_MODE_AUTOGRAB, when a mouse button | | * In the mode #EVAS_OBJECT_POINTER_MODE_AUTOGRAB, when a mouse button | |
| * is pressed down over an object and held, with the mouse pointer | | * is pressed down over an object and held, with the mouse pointer | |
| * being moved outside of it, the pointer still behaves as being bound | | * being moved outside of it, the pointer still behaves as being bound | |
| * to that object, albeit out of its drawing region. When the button | | * to that object, albeit out of its drawing region. When the button | |
| * is released, the event will be fed to the object, that may check if | | * is released, the event will be fed to the object, that may check if | |
| | | | |
| skipping to change at line 1067 | | skipping to change at line 1093 | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| typedef enum _Evas_Object_Pointer_Mode | | typedef enum _Evas_Object_Pointer_Mode | |
| { | | { | |
| EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */ | | EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */ | |
| EVAS_OBJECT_POINTER_MODE_NOGRAB, /**< pointer always bound to the object
right below it */ | | EVAS_OBJECT_POINTER_MODE_NOGRAB, /**< pointer always bound to the object
right below it */ | |
| EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN /**< useful on object w
ith "repeat events" enabled, where mouse/touch up and down events WONT be r
epeated to objects and these objects wont be auto-grabbed. @since 1.2 */ | | EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN /**< useful on object w
ith "repeat events" enabled, where mouse/touch up and down events WONT be r
epeated to objects and these objects wont be auto-grabbed. @since 1.2 */ | |
| } Evas_Object_Pointer_Mode; /**< How the mouse pointer should be handled by
Evas. */ | | } Evas_Object_Pointer_Mode; /**< How the mouse pointer should be handled by
Evas. */ | |
| | | | |
|
| typedef void (*Evas_Smart_Cb) (void *data, Evas_Object *obj, void *eve | | typedef void (*Evas_Smart_Cb)(void *data, Evas_Object *obj, void *even | |
| nt_info); /**< Evas smart objects' "smart callback" function signature */ | | t_info); /**< Evas smart objects' "smart callback" function signature */ | |
| typedef void (*Evas_Event_Cb) (void *data, Evas *e, void *event_info); | | typedef void (*Evas_Event_Cb)(void *data, Evas *e, void *event_info); | |
| /**< Evas event callback function signature */ | | /**< Evas event callback function signature */ | |
| typedef Eina_Bool (*Evas_Object_Event_Post_Cb) (void *data, Evas *e); | | typedef Eina_Bool (*Evas_Object_Event_Post_Cb)(void *data, Evas *e); | |
| typedef void (*Evas_Object_Event_Cb) (void *data, Evas *e, Evas_Object | | typedef void (*Evas_Object_Event_Cb)(void *data, Evas *e, Evas_Object | |
| *obj, void *event_info); /**< Evas object event callback function signatur | | *obj, void *event_info); /**< Evas object event callback function signatur | |
| e */ | | e */ | |
| typedef void (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_T
ype type, void *event_info); | | typedef void (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_T
ype type, void *event_info); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Group Top Level Functions | | * @defgroup Evas_Group Top Level Functions | |
| * | | * | |
| * Functions that affect Evas as a whole. | | * Functions that affect Evas as a whole. | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Initialize Evas | | * Initialize Evas | |
| | | | |
| skipping to change at line 1112 | | skipping to change at line 1138 | |
| * @skip static Evas *create_canvas | | * @skip static Evas *create_canvas | |
| * @until evas_output_viewport_set(canvas, | | * @until evas_output_viewport_set(canvas, | |
| * | | * | |
| * Note that this is code creating an Evas canvas with no usage of | | * Note that this is code creating an Evas canvas with no usage of | |
| * Ecore helpers at all -- no linkage with Ecore on this scenario, | | * Ecore helpers at all -- no linkage with Ecore on this scenario, | |
| * thus. Again, this wouldn't be on Evas common usage for most | | * thus. Again, this wouldn't be on Evas common usage for most | |
| * developers. See the full @ref Example_Evas_Buffer_Simple "example". | | * developers. See the full @ref Example_Evas_Buffer_Simple "example". | |
| * | | * | |
| * @ingroup Evas_Group | | * @ingroup Evas_Group | |
| */ | | */ | |
|
| EAPI int evas_init (void); | | EAPI int evas_init(void); | |
| | | | |
| /** | | /** | |
| * Shutdown Evas | | * Shutdown Evas | |
| * | | * | |
| * @return Evas' init counter value. | | * @return Evas' init counter value. | |
| * | | * | |
| * This function finalizes Evas, decrementing the counter of the | | * This function finalizes Evas, decrementing the counter of the | |
| * number of calls to the function evas_init(). This new value for the | | * number of calls to the function evas_init(). This new value for the | |
| * counter is returned. | | * counter is returned. | |
| * | | * | |
| | | | |
| skipping to change at line 1143 | | skipping to change at line 1169 | |
| * Where that function would contain: | | * Where that function would contain: | |
| * @skip evas_free(canvas) | | * @skip evas_free(canvas) | |
| * @until evas_free(canvas) | | * @until evas_free(canvas) | |
| * | | * | |
| * Most users would be using ecore_evas_shutdown() instead, like told | | * Most users would be using ecore_evas_shutdown() instead, like told | |
| * in evas_init(). See the full @ref Example_Evas_Buffer_Simple | | * in evas_init(). See the full @ref Example_Evas_Buffer_Simple | |
| * "example". | | * "example". | |
| * | | * | |
| * @ingroup Evas_Group | | * @ingroup Evas_Group | |
| */ | | */ | |
|
| EAPI int evas_shutdown (void); | | EAPI int evas_shutdown(void); | |
| | | | |
| /** | | /** | |
| * Return if any allocation errors have occurred during the prior function | | * Return if any allocation errors have occurred during the prior function | |
| * @return The allocation error flag | | * @return The allocation error flag | |
| * | | * | |
| * This function will return if any memory allocation errors occurred durin
g, | | * This function will return if any memory allocation errors occurred durin
g, | |
| * and what kind they were. The return value will be one of | | * and what kind they were. The return value will be one of | |
| * EVAS_ALLOC_ERROR_NONE, EVAS_ALLOC_ERROR_FATAL or EVAS_ALLOC_ERROR_RECOVE
RED | | * EVAS_ALLOC_ERROR_NONE, EVAS_ALLOC_ERROR_FATAL or EVAS_ALLOC_ERROR_RECOVE
RED | |
| * with each meaning something different. | | * with each meaning something different. | |
| * | | * | |
| | | | |
| skipping to change at line 1196 | | skipping to change at line 1222 | |
| * } | | * } | |
| * if (evas_alloc_error() == EVAS_ALLOC_ERROR_RECOVERED) | | * if (evas_alloc_error() == EVAS_ALLOC_ERROR_RECOVERED) | |
| * { | | * { | |
| * fprintf(stderr, "WARNING: Memory is really low. Cleaning out RAM.\n"
); | | * fprintf(stderr, "WARNING: Memory is really low. Cleaning out RAM.\n"
); | |
| * my_memory_cleanup(); | | * my_memory_cleanup(); | |
| * } | | * } | |
| * @endcode | | * @endcode | |
| * | | * | |
| * @ingroup Evas_Group | | * @ingroup Evas_Group | |
| */ | | */ | |
|
| EAPI Evas_Alloc_Error evas_alloc_error (void); | | EAPI Evas_Alloc_Error evas_alloc_error(void); | |
| | | | |
| /** | | /** | |
| * @brief Get evas' internal asynchronous events read file descriptor. | | * @brief Get evas' internal asynchronous events read file descriptor. | |
| * | | * | |
| * @return The canvas' asynchronous events read file descriptor. | | * @return The canvas' asynchronous events read file descriptor. | |
| * | | * | |
| * Evas' asynchronous events are meant to be dealt with internally, | | * Evas' asynchronous events are meant to be dealt with internally, | |
| * i. e., when building stuff to be glued together into the EFL | | * i. e., when building stuff to be glued together into the EFL | |
| * infrastructure -- a module, for example. The context which demands | | * infrastructure -- a module, for example. The context which demands | |
| * its use is when calculations need to be done out of the main | | * its use is when calculations need to be done out of the main | |
| | | | |
| skipping to change at line 1221 | | skipping to change at line 1247 | |
| * preload inside evas. If the canvas was instantiated through | | * preload inside evas. If the canvas was instantiated through | |
| * ecore-evas usage, ecore itself will take care of calling those | | * ecore-evas usage, ecore itself will take care of calling those | |
| * events' processing. | | * events' processing. | |
| * | | * | |
| * This function returns the read file descriptor where to get the | | * This function returns the read file descriptor where to get the | |
| * asynchronous events of the canvas. Naturally, other mainloops, | | * asynchronous events of the canvas. Naturally, other mainloops, | |
| * apart from ecore, may make use of it. | | * apart from ecore, may make use of it. | |
| * | | * | |
| * @ingroup Evas_Group | | * @ingroup Evas_Group | |
| */ | | */ | |
|
| EAPI int evas_async_events_fd_get (void) EINA_WARN_U
NUSED_RESULT; | | EAPI int evas_async_events_fd_get(void) EINA_WARN_UNUSED_RESU
LT; | |
| | | | |
| /** | | /** | |
| * @brief Trigger the processing of all events waiting on the file | | * @brief Trigger the processing of all events waiting on the file | |
| * descriptor returned by evas_async_events_fd_get(). | | * descriptor returned by evas_async_events_fd_get(). | |
| * | | * | |
| * @return The number of events processed. | | * @return The number of events processed. | |
| * | | * | |
| * All asynchronous events queued up by evas_async_events_put() are | | * All asynchronous events queued up by evas_async_events_put() are | |
| * processed here. More precisely, the callback functions, informed | | * processed here. More precisely, the callback functions, informed | |
| * together with other event parameters, when queued, get called (with | | * together with other event parameters, when queued, get called (with | |
| * those parameters), in that order. | | * those parameters), in that order. | |
| * | | * | |
| * @ingroup Evas_Group | | * @ingroup Evas_Group | |
| */ | | */ | |
|
| EAPI int evas_async_events_process (void); | | EAPI int evas_async_events_process(void); | |
| | | | |
| /** | | /** | |
|
| * Insert asynchronous events on the canvas. | | * Insert asynchronous events on the canvas. | |
| * | | * | |
| * @param target The target to be affected by the events. | | * @param target The target to be affected by the events. | |
| * @param type The type of callback function. | | * @param type The type of callback function. | |
| * @param event_info Information about the event. | | * @param event_info Information about the event. | |
| * @param func The callback function pointer. | | * @param func The callback function pointer. | |
| * | | * | |
| * This is the way, for a routine running outside evas' main thread, | | * This is the way, for a routine running outside evas' main thread, | |
| * to report an asynchronous event. A callback function is informed, | | * to report an asynchronous event. A callback function is informed, | |
| * whose call is to happen after evas_async_events_process() is | | * whose call is to happen after evas_async_events_process() is | |
| * called. | | * called. | |
| * | | * | |
| * @ingroup Evas_Group | | * @ingroup Evas_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_async_events_put (const void *targe
t, Evas_Callback_Type type, void *event_info, Evas_Async_Events_Put_Cb func
) EINA_ARG_NONNULL(1, 4); | | EAPI Eina_Bool evas_async_events_put(const void *target, Evas_Callb
ack_Type type, void *event_info, Evas_Async_Events_Put_Cb func) EINA_ARG_NO
NNULL(1, 4); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Canvas Canvas Functions | | * @defgroup Evas_Canvas Canvas Functions | |
| * | | * | |
| * Low level Evas canvas functions. Sub groups will present more high | | * Low level Evas canvas functions. Sub groups will present more high | |
| * level ones, though. | | * level ones, though. | |
| * | | * | |
| * Most of these functions deal with low level Evas actions, like: | | * Most of these functions deal with low level Evas actions, like: | |
| * @li create/destroy raw canvases, not bound to any displaying engine | | * @li create/destroy raw canvases, not bound to any displaying engine | |
| * @li tell a canvas i got focused (in a windowing context, for example) | | * @li tell a canvas i got focused (in a windowing context, for example) | |
| | | | |
| skipping to change at line 1303 | | skipping to change at line 1329 | |
| * directly, consider using the high level functions in | | * directly, consider using the high level functions in | |
| * Ecore_Evas such as @c ecore_evas_new(). See | | * Ecore_Evas such as @c ecore_evas_new(). See | |
| * http://docs.enlightenment.org/auto/ecore/. | | * http://docs.enlightenment.org/auto/ecore/. | |
| * | | * | |
| * @attention it is recommended that one calls evas_init() before | | * @attention it is recommended that one calls evas_init() before | |
| * creating new canvas. | | * creating new canvas. | |
| * | | * | |
| * @return A new uninitialised Evas canvas on success. Otherwise, @c NULL. | | * @return A new uninitialised Evas canvas on success. Otherwise, @c NULL. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI Evas *evas_new (void) EINA_WARN_U
NUSED_RESULT EINA_MALLOC; | | EAPI Evas *evas_new(void) EINA_WARN_UNUSED_RESULT EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Frees the given evas and any objects created on it. | | * Frees the given evas and any objects created on it. | |
| * | | * | |
| * Any objects with 'free' callbacks will have those callbacks called | | * Any objects with 'free' callbacks will have those callbacks called | |
| * in this function. | | * in this function. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_free (Evas *e) EINA_AR
G_NONNULL(1); | | EAPI void evas_free(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Inform to the evas that it got the focus. | | * Inform to the evas that it got the focus. | |
| * | | * | |
| * @param e The evas to change information. | | * @param e The evas to change information. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_focus_in (Evas *e); | | EAPI void evas_focus_in(Evas *e); | |
| | | | |
| /** | | /** | |
| * Inform to the evas that it lost the focus. | | * Inform to the evas that it lost the focus. | |
| * | | * | |
| * @param e The evas to change information. | | * @param e The evas to change information. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_focus_out (Evas *e); | | EAPI void evas_focus_out(Evas *e); | |
| | | | |
| /** | | /** | |
| * Get the focus state known by the given evas | | * Get the focus state known by the given evas | |
| * | | * | |
| * @param e The evas to query information. | | * @param e The evas to query information. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_focus_state_get (const Evas *e); | | EAPI Eina_Bool evas_focus_state_get(const Evas *e); | |
| | | | |
| /** | | /** | |
| * Push the nochange flag up 1 | | * Push the nochange flag up 1 | |
| * | | * | |
| * This tells evas, that while the nochange flag is greater than 0, do not | | * This tells evas, that while the nochange flag is greater than 0, do not | |
| * mark objects as "changed" when making changes. | | * mark objects as "changed" when making changes. | |
| * | | * | |
| * @param e The evas to change information. | | * @param e The evas to change information. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_nochange_push (Evas *e); | | EAPI void evas_nochange_push(Evas *e); | |
| | | | |
| /** | | /** | |
| * Pop the nochange flag down 1 | | * Pop the nochange flag down 1 | |
| * | | * | |
| * This tells evas, that while the nochange flag is greater than 0, do not | | * This tells evas, that while the nochange flag is greater than 0, do not | |
| * mark objects as "changed" when making changes. | | * mark objects as "changed" when making changes. | |
| * | | * | |
| * @param e The evas to change information. | | * @param e The evas to change information. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_nochange_pop (Evas *e); | | EAPI void evas_nochange_pop(Evas *e); | |
| | | | |
| /** | | /** | |
| * Attaches a specific pointer to the evas for fetching later | | * Attaches a specific pointer to the evas for fetching later | |
| * | | * | |
| * @param e The canvas to attach the pointer to | | * @param e The canvas to attach the pointer to | |
| * @param data The pointer to attach | | * @param data The pointer to attach | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_data_attach_set (Evas *e, void *da
ta) EINA_ARG_NONNULL(1); | | EAPI void evas_data_attach_set(Evas *e, void *data) EINA_ARG_N
ONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the pointer attached by evas_data_attach_set() | | * Returns the pointer attached by evas_data_attach_set() | |
| * | | * | |
| * @param e The canvas to attach the pointer to | | * @param e The canvas to attach the pointer to | |
| * @return The pointer attached | | * @return The pointer attached | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void *evas_data_attach_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI void *evas_data_attach_get(const Evas *e) EINA_WARN_UNUSED
_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Add a damage rectangle. | | * Add a damage rectangle. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param x The rectangle's left position. | | * @param x The rectangle's left position. | |
| * @param y The rectangle's top position. | | * @param y The rectangle's top position. | |
| * @param w The rectangle's width. | | * @param w The rectangle's width. | |
| * @param h The rectangle's height. | | * @param h The rectangle's height. | |
| * | | * | |
| * This is the function by which one tells evas that a part of the | | * This is the function by which one tells evas that a part of the | |
| * canvas has to be repainted. | | * canvas has to be repainted. | |
| * | | * | |
|
| | | * @note All newly created Evas rectangles get the default color values of | |
| | | 255 255 255 255 (opaque white). | |
| | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_damage_rectangle_add (Evas *e, int x, i
nt y, int w, int h) EINA_ARG_NONNULL(1); | | EAPI void evas_damage_rectangle_add(Evas *e, int x, int y, int
w, int h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Add an "obscured region" to an Evas canvas. | | * Add an "obscured region" to an Evas canvas. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param x The rectangle's top left corner's horizontal coordinate. | | * @param x The rectangle's top left corner's horizontal coordinate. | |
| * @param y The rectangle's top left corner's vertical coordinate | | * @param y The rectangle's top left corner's vertical coordinate | |
| * @param w The rectangle's width. | | * @param w The rectangle's width. | |
| * @param h The rectangle's height. | | * @param h The rectangle's height. | |
| * | | * | |
| | | | |
| skipping to change at line 1453 | | skipping to change at line 1481 | |
| * | | * | |
| * In that example, pressing the "Ctrl" and "o" keys will impose or | | * In that example, pressing the "Ctrl" and "o" keys will impose or | |
| * remove an obscured region in the middle of the canvas. You'll get | | * remove an obscured region in the middle of the canvas. You'll get | |
| * the same contents at the time the key was pressed, if toggling it | | * the same contents at the time the key was pressed, if toggling it | |
| * on, until you toggle it off again (make sure the animation is | | * on, until you toggle it off again (make sure the animation is | |
| * running on to get the idea better). See the full @ref | | * running on to get the idea better). See the full @ref | |
| * Example_Evas_Events "example". | | * Example_Evas_Events "example". | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_obscured_rectangle_add (Evas *e, int x, i
nt y, int w, int h) EINA_ARG_NONNULL(1); | | EAPI void evas_obscured_rectangle_add(Evas *e, int x, int y, i
nt w, int h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Remove all "obscured regions" from an Evas canvas. | | * Remove all "obscured regions" from an Evas canvas. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * | | * | |
| * This function removes all the rectangles from the obscured regions | | * This function removes all the rectangles from the obscured regions | |
| * list of the canvas @p e. It takes obscured areas added with | | * list of the canvas @p e. It takes obscured areas added with | |
| * evas_obscured_rectangle_add() and make them again a regions that @b | | * evas_obscured_rectangle_add() and make them again a regions that @b | |
| * have to be repainted on rendering updates. | | * have to be repainted on rendering updates. | |
| | | | |
| skipping to change at line 1478 | | skipping to change at line 1506 | |
| * @note This function does @b not flag the canvas as having its state | | * @note This function does @b not flag the canvas as having its state | |
| * changed. If you want to re-render it afterwards expecting new | | * changed. If you want to re-render it afterwards expecting new | |
| * contents, you have to add "damage" regions yourself (see | | * contents, you have to add "damage" regions yourself (see | |
| * evas_damage_rectangle_add()). | | * evas_damage_rectangle_add()). | |
| * | | * | |
| * @see evas_obscured_rectangle_add() for an example | | * @see evas_obscured_rectangle_add() for an example | |
| * @see evas_render_updates() | | * @see evas_render_updates() | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_obscured_clear (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_obscured_clear(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Force immediate renderization of the given Evas canvas. | | * Force immediate renderization of the given Evas canvas. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @return A newly allocated list of updated rectangles of the canvas | | * @return A newly allocated list of updated rectangles of the canvas | |
| * (@c Eina_Rectangle structs). Free this list with | | * (@c Eina_Rectangle structs). Free this list with | |
| * evas_render_updates_free(). | | * evas_render_updates_free(). | |
| * | | * | |
| * This function forces an immediate renderization update of the given | | * This function forces an immediate renderization update of the given | |
| | | | |
| skipping to change at line 1509 | | skipping to change at line 1537 | |
| * | | * | |
| * Example code follows. | | * Example code follows. | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip add an obscured | | * @skip add an obscured | |
| * @until d.obscured = !d.obscured; | | * @until d.obscured = !d.obscured; | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI Eina_List *evas_render_updates (Evas *e) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_List *evas_render_updates(Evas *e) EINA_WARN_UNUSED_RESULT
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Free the rectangles returned by evas_render_updates(). | | * Free the rectangles returned by evas_render_updates(). | |
| * | | * | |
| * @param updates The list of updated rectangles of the canvas. | | * @param updates The list of updated rectangles of the canvas. | |
| * | | * | |
| * This function removes the region from the render updates list. It | | * This function removes the region from the render updates list. It | |
| * makes the region doesn't be render updated anymore. | | * makes the region doesn't be render updated anymore. | |
| * | | * | |
| * @see evas_render_updates() for an example | | * @see evas_render_updates() for an example | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_render_updates_free (Eina_List *update
s); | | EAPI void evas_render_updates_free(Eina_List *updates); | |
| | | | |
| /** | | /** | |
| * Force renderization of the given canvas. | | * Force renderization of the given canvas. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_render (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_render(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Update the canvas internal objects but not triggering immediate | | * Update the canvas internal objects but not triggering immediate | |
| * renderization. | | * renderization. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * | | * | |
| * This function updates the canvas internal objects not triggering | | * This function updates the canvas internal objects not triggering | |
| * renderization. To force renderization function evas_render() should | | * renderization. To force renderization function evas_render() should | |
| * be used. | | * be used. | |
| * | | * | |
| * @see evas_render. | | * @see evas_render. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_norender (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_norender(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Make the canvas discard internally cached data used for rendering. | | * Make the canvas discard internally cached data used for rendering. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * | | * | |
| * This function flushes the arrays of delete, active and render objects. | | * This function flushes the arrays of delete, active and render objects. | |
| * Other things it may also discard are: shared memory segments, | | * Other things it may also discard are: shared memory segments, | |
| * temporary scratch buffers, cached data to avoid re-compute of that data
etc. | | * temporary scratch buffers, cached data to avoid re-compute of that data
etc. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_render_idle_flush (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_render_idle_flush(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Make the canvas discard as much data as possible used by the engine at | | * Make the canvas discard as much data as possible used by the engine at | |
| * runtime. | | * runtime. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * | | * | |
| * This function will unload images, delete textures and much more, where | | * This function will unload images, delete textures and much more, where | |
| * possible. You may also want to call evas_render_idle_flush() immediately | | * possible. You may also want to call evas_render_idle_flush() immediately | |
| * prior to this to perhaps discard a little more, though evas_render_dump(
) | | * prior to this to perhaps discard a little more, though evas_render_dump(
) | |
| * should implicitly delete most of what evas_render_idle_flush() might | | * should implicitly delete most of what evas_render_idle_flush() might | |
| * discard too. | | * discard too. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void evas_render_dump (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_render_dump(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Output_Method Render Engine Functions | | * @defgroup Evas_Output_Method Render Engine Functions | |
| * | | * | |
| * Functions that are used to set the render engine for a given | | * Functions that are used to set the render engine for a given | |
| * function, and then get that engine working. | | * function, and then get that engine working. | |
| * | | * | |
| * The following code snippet shows how they can be used to | | * The following code snippet shows how they can be used to | |
| * initialise an evas that uses the X11 software engine: | | * initialise an evas that uses the X11 software engine: | |
| * @code | | * @code | |
| | | | |
| skipping to change at line 1655 | | skipping to change at line 1683 | |
| * } | | * } | |
| * engine_id = evas_render_method_lookup("software_x11"); | | * engine_id = evas_render_method_lookup("software_x11"); | |
| * if (!engine_id) | | * if (!engine_id) | |
| * { | | * { | |
| * fprintf(stderr, "ERROR: Requested rendering engine is absent.\n"); | | * fprintf(stderr, "ERROR: Requested rendering engine is absent.\n"); | |
| * exit(-1); | | * exit(-1); | |
| * } | | * } | |
| * evas_output_method_set(evas, engine_id); | | * evas_output_method_set(evas, engine_id); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI int evas_render_method_lookup (const char *name)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_render_method_lookup(const char *name) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * List all the rendering engines compiled into the copy of the Evas librar
y | | * List all the rendering engines compiled into the copy of the Evas librar
y | |
| * | | * | |
| * @return A linked list whose data members are C strings of engine names | | * @return A linked list whose data members are C strings of engine names | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| * | | * | |
| * Calling this will return a handle (pointer) to an Evas linked | | * Calling this will return a handle (pointer) to an Evas linked | |
| * list. Each node in the linked list will have the data pointer be a | | * list. Each node in the linked list will have the data pointer be a | |
| * (char *) pointer to the name string of the rendering engine | | * (char *) pointer to the name string of the rendering engine | |
| | | | |
| skipping to change at line 1688 | | skipping to change at line 1716 | |
| * { | | * { | |
| * fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); | | * fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); | |
| * exit(-1); | | * exit(-1); | |
| * } | | * } | |
| * printf("Available Evas Engines:\n"); | | * printf("Available Evas Engines:\n"); | |
| * EINA_LIST_FOREACH(engine_list, l, engine_name) | | * EINA_LIST_FOREACH(engine_list, l, engine_name) | |
| * printf("%s\n", engine_name); | | * printf("%s\n", engine_name); | |
| * evas_render_method_list_free(engine_list); | | * evas_render_method_list_free(engine_list); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI Eina_List *evas_render_method_list (void) EINA_WARN_U
NUSED_RESULT; | | EAPI Eina_List *evas_render_method_list(void) EINA_WARN_UNUSED_RESUL
T; | |
| | | | |
| /** | | /** | |
| * This function should be called to free a list of engine names | | * This function should be called to free a list of engine names | |
| * | | * | |
| * @param list The Eina_List base pointer for the engine list to be freed | | * @param list The Eina_List base pointer for the engine list to be freed | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| * | | * | |
| * When this function is called it will free the engine list passed in | | * When this function is called it will free the engine list passed in | |
| * as @p list. The list should only be a list of engines generated by | | * as @p list. The list should only be a list of engines generated by | |
| * calling evas_render_method_list(). If @p list is NULL, nothing will | | * calling evas_render_method_list(). If @p list is NULL, nothing will | |
| | | | |
| skipping to change at line 1718 | | skipping to change at line 1746 | |
| * { | | * { | |
| * fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); | | * fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); | |
| * exit(-1); | | * exit(-1); | |
| * } | | * } | |
| * printf("Available Evas Engines:\n"); | | * printf("Available Evas Engines:\n"); | |
| * EINA_LIST_FOREACH(engine_list, l, engine_name) | | * EINA_LIST_FOREACH(engine_list, l, engine_name) | |
| * printf("%s\n", engine_name); | | * printf("%s\n", engine_name); | |
| * evas_render_method_list_free(engine_list); | | * evas_render_method_list_free(engine_list); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void evas_render_method_list_free (Eina_List *list); | | EAPI void evas_render_method_list_free(Eina_List *list); | |
| | | | |
| /** | | /** | |
| * Sets the output engine for the given evas. | | * Sets the output engine for the given evas. | |
| * | | * | |
| * Once the output engine for an evas is set, any attempt to change it | | * Once the output engine for an evas is set, any attempt to change it | |
| * will be ignored. The value for @p render_method can be found using | | * will be ignored. The value for @p render_method can be found using | |
| * @ref evas_render_method_lookup . | | * @ref evas_render_method_lookup . | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param render_method The numeric engine value to use. | | * @param render_method The numeric engine value to use. | |
| * | | * | |
| * @attention it is mandatory that one calls evas_init() before | | * @attention it is mandatory that one calls evas_init() before | |
| * setting the output method. | | * setting the output method. | |
| * | | * | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| */ | | */ | |
|
| EAPI void evas_output_method_set (Evas *e, int rend
er_method) EINA_ARG_NONNULL(1); | | EAPI void evas_output_method_set(Evas *e, int render_method) E
INA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the number of the output engine used for the given evas. | | * Retrieves the number of the output engine used for the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The ID number of the output engine being used. @c 0 is | | * @return The ID number of the output engine being used. @c 0 is | |
| * returned if there is an error. | | * returned if there is an error. | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| */ | | */ | |
|
| EAPI int evas_output_method_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_output_method_get(const Evas *e) EINA_WARN_UNUS
ED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the current render engine info struct from the given evas. | | * Retrieves the current render engine info struct from the given evas. | |
| * | | * | |
| * The returned structure is publicly modifiable. The contents are | | * The returned structure is publicly modifiable. The contents are | |
| * valid until either @ref evas_engine_info_set or @ref evas_render | | * valid until either @ref evas_engine_info_set or @ref evas_render | |
| * are called. | | * are called. | |
| * | | * | |
| * This structure does not need to be freed by the caller. | | * This structure does not need to be freed by the caller. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return A pointer to the Engine Info structure. @c NULL is returned if | | * @return A pointer to the Engine Info structure. @c NULL is returned if | |
| * an engine has not yet been assigned. | | * an engine has not yet been assigned. | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| */ | | */ | |
|
| EAPI Evas_Engine_Info *evas_engine_info_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Engine_Info *evas_engine_info_get(const Evas *e) EINA_WARN_UNUSED
_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Applies the engine settings for the given evas from the given @c | | * Applies the engine settings for the given evas from the given @c | |
| * Evas_Engine_Info structure. | | * Evas_Engine_Info structure. | |
| * | | * | |
| * To get the Evas_Engine_Info structure to use, call @ref | | * To get the Evas_Engine_Info structure to use, call @ref | |
| * evas_engine_info_get . Do not try to obtain a pointer to an | | * evas_engine_info_get . Do not try to obtain a pointer to an | |
| * @c Evas_Engine_Info structure in any other way. | | * @c Evas_Engine_Info structure in any other way. | |
| * | | * | |
| * You will need to call this function at least once before you can | | * You will need to call this function at least once before you can | |
| * create objects on an evas or render that evas. Some engines allow | | * create objects on an evas or render that evas. Some engines allow | |
| * their settings to be changed more than once. | | * their settings to be changed more than once. | |
| * | | * | |
| * Once called, the @p info pointer should be considered invalid. | | * Once called, the @p info pointer should be considered invalid. | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param info The pointer to the Engine Info to use | | * @param info The pointer to the Engine Info to use | |
| * @return @c EINA_TRUE if no error occurred, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if no error occurred, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_engine_info_set (Evas *e, Evas_Eng
ine_Info *info) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_engine_info_set(Evas *e, Evas_Engine_Info *info
) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Output_Size Output and Viewport Resizing Functions | | * @defgroup Evas_Output_Size Output and Viewport Resizing Functions | |
| * | | * | |
| * Functions that set and retrieve the output and viewport size of an | | * Functions that set and retrieve the output and viewport size of an | |
| * evas. | | * evas. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| | | | |
| | | | |
| skipping to change at line 1807 | | skipping to change at line 1835 | |
| * size. The viewport will be stretched to fill the given rectangle. | | * size. The viewport will be stretched to fill the given rectangle. | |
| * | | * | |
| * The units used for @p w and @p h depend on the engine used by the | | * The units used for @p w and @p h depend on the engine used by the | |
| * evas. | | * evas. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param w The width in output units, usually pixels. | | * @param w The width in output units, usually pixels. | |
| * @param h The height in output units, usually pixels. | | * @param h The height in output units, usually pixels. | |
| * @ingroup Evas_Output_Size | | * @ingroup Evas_Output_Size | |
| */ | | */ | |
|
| EAPI void evas_output_size_set (Evas *e, int w, i
nt h) EINA_ARG_NONNULL(1); | | EAPI void evas_output_size_set(Evas *e, int w, int h) EINA_ARG
_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the output size of the render engine of the given evas. | | * Retrieve the output size of the render engine of the given evas. | |
| * | | * | |
| * The output size is given in whatever the output units are for the | | * The output size is given in whatever the output units are for the | |
| * engine. | | * engine. | |
| * | | * | |
| * If either @p w or @p h is @c NULL, then it is ignored. If @p e is | | * If either @p w or @p h is @c NULL, then it is ignored. If @p e is | |
| * invalid, the returned results are undefined. | | * invalid, the returned results are undefined. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param w The pointer to an integer to store the width in. | | * @param w The pointer to an integer to store the width in. | |
| * @param h The pointer to an integer to store the height in. | | * @param h The pointer to an integer to store the height in. | |
| * @ingroup Evas_Output_Size | | * @ingroup Evas_Output_Size | |
| */ | | */ | |
|
| EAPI void evas_output_size_get (const Evas *e, in
t *w, int *h) EINA_ARG_NONNULL(1); | | EAPI void evas_output_size_get(const Evas *e, int *w, int *h)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the output viewport of the given evas in evas units. | | * Sets the output viewport of the given evas in evas units. | |
| * | | * | |
| * The output viewport is the area of the evas that will be visible to | | * The output viewport is the area of the evas that will be visible to | |
| * the viewer. The viewport will be stretched to fit the output | | * the viewer. The viewport will be stretched to fit the output | |
| * target of the evas when rendering is performed. | | * target of the evas when rendering is performed. | |
| * | | * | |
| * @note The coordinate values do not have to map 1-to-1 with the output | | * @note The coordinate values do not have to map 1-to-1 with the output | |
| * target. However, it is generally advised that it is done for ease | | * target. However, it is generally advised that it is done for ease | |
| * of use. | | * of use. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param x The top-left corner x value of the viewport. | | * @param x The top-left corner x value of the viewport. | |
| * @param y The top-left corner y value of the viewport. | | * @param y The top-left corner y value of the viewport. | |
| * @param w The width of the viewport. Must be greater than 0. | | * @param w The width of the viewport. Must be greater than 0. | |
| * @param h The height of the viewport. Must be greater than 0. | | * @param h The height of the viewport. Must be greater than 0. | |
| * @ingroup Evas_Output_Size | | * @ingroup Evas_Output_Size | |
| */ | | */ | |
|
| EAPI void evas_output_viewport_set (Evas *e, Evas_Coo
rd x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | | EAPI void evas_output_viewport_set(Evas *e, Evas_Coord x, Evas
_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the render engine's output viewport co-ordinates in canvas units. | | * Get the render engine's output viewport co-ordinates in canvas units. | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param x The pointer to a x variable to be filled in | | * @param x The pointer to a x variable to be filled in | |
| * @param y The pointer to a y variable to be filled in | | * @param y The pointer to a y variable to be filled in | |
| * @param w The pointer to a width variable to be filled in | | * @param w The pointer to a width variable to be filled in | |
| * @param h The pointer to a height variable to be filled in | | * @param h The pointer to a height variable to be filled in | |
| * @ingroup Evas_Output_Size | | * @ingroup Evas_Output_Size | |
| * | | * | |
| | | | |
| skipping to change at line 1869 | | skipping to change at line 1897 | |
| * is invalid, the results are undefined. | | * is invalid, the results are undefined. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * Evas_Coord x, y, width, height; | | * Evas_Coord x, y, width, height; | |
| * | | * | |
| * evas_output_viewport_get(evas, &x, &y, &w, &h); | | * evas_output_viewport_get(evas, &x, &y, &w, &h); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void evas_output_viewport_get (const Evas *e, Ev
as_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(
1); | | EAPI void evas_output_viewport_get(const Evas *e, Evas_Coord *
x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the output framespace size of the render engine of the given evas. | | * Sets the output framespace size of the render engine of the given evas. | |
| * | | * | |
| * The framespace size is used in the Wayland engines to denote space where | | * The framespace size is used in the Wayland engines to denote space where | |
| * the output is not drawn. This is mainly used in ecore_evas to draw borde
rs | | * the output is not drawn. This is mainly used in ecore_evas to draw borde
rs | |
| * | | * | |
| * The units used for @p w and @p h depend on the engine used by the | | * The units used for @p w and @p h depend on the engine used by the | |
| * evas. | | * evas. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param x The left coordinate in output units, usually pixels. | | * @param x The left coordinate in output units, usually pixels. | |
| * @param y The top coordinate in output units, usually pixels. | | * @param y The top coordinate in output units, usually pixels. | |
| * @param w The width in output units, usually pixels. | | * @param w The width in output units, usually pixels. | |
| * @param h The height in output units, usually pixels. | | * @param h The height in output units, usually pixels. | |
| * @ingroup Evas_Output_Size | | * @ingroup Evas_Output_Size | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_output_framespace_set (Evas *e, Evas_Coo
rd x, Evas_Coord y, Evas_Coord w, Evas_Coord h); | | EAPI void evas_output_framespace_set(Evas *e, Evas_Coord x, Ev
as_Coord y, Evas_Coord w, Evas_Coord h); | |
| | | | |
| /** | | /** | |
| * Get the render engine's output framespace co-ordinates in canvas units. | | * Get the render engine's output framespace co-ordinates in canvas units. | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param x The pointer to a x variable to be filled in | | * @param x The pointer to a x variable to be filled in | |
| * @param y The pointer to a y variable to be filled in | | * @param y The pointer to a y variable to be filled in | |
| * @param w The pointer to a width variable to be filled in | | * @param w The pointer to a width variable to be filled in | |
| * @param h The pointer to a height variable to be filled in | | * @param h The pointer to a height variable to be filled in | |
| * @ingroup Evas_Output_Size | | * @ingroup Evas_Output_Size | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_output_framespace_get (const Evas *e, Ev
as_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); | | EAPI void evas_output_framespace_get(const Evas *e, Evas_Coord
*x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Coord_Mapping_Group Coordinate Mapping Functions | | * @defgroup Evas_Coord_Mapping_Group Coordinate Mapping Functions | |
| * | | * | |
| * Functions that are used to map coordinates from the canvas to the | | * Functions that are used to map coordinates from the canvas to the | |
| * screen or the screen to the canvas. | | * screen or the screen to the canvas. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| | | | |
| | | | |
| skipping to change at line 1934 | | skipping to change at line 1962 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * extern int screen_x; | | * extern int screen_x; | |
| * Evas_Coord canvas_x; | | * Evas_Coord canvas_x; | |
| * | | * | |
| * canvas_x = evas_coord_screen_x_to_world(evas, screen_x); | | * canvas_x = evas_coord_screen_x_to_world(evas, screen_x); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI Evas_Coord evas_coord_screen_x_to_world (const Evas *e, in
t x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Coord evas_coord_screen_x_to_world(const Evas *e, int x) E
INA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Convert/scale an ouput screen co-ordinate into canvas co-ordinates | | * Convert/scale an ouput screen co-ordinate into canvas co-ordinates | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param y The screen/output y co-ordinate | | * @param y The screen/output y co-ordinate | |
| * @return The screen co-ordinate translated to canvas unit co-ordinates | | * @return The screen co-ordinate translated to canvas unit co-ordinates | |
| * @ingroup Evas_Coord_Mapping_Group | | * @ingroup Evas_Coord_Mapping_Group | |
| * | | * | |
| * This function takes in a vertical co-ordinate as the @p y parameter | | * This function takes in a vertical co-ordinate as the @p y parameter | |
| | | | |
| skipping to change at line 1958 | | skipping to change at line 1986 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * extern int screen_y; | | * extern int screen_y; | |
| * Evas_Coord canvas_y; | | * Evas_Coord canvas_y; | |
| * | | * | |
| * canvas_y = evas_coord_screen_y_to_world(evas, screen_y); | | * canvas_y = evas_coord_screen_y_to_world(evas, screen_y); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI Evas_Coord evas_coord_screen_y_to_world (const Evas *e, in
t y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Coord evas_coord_screen_y_to_world(const Evas *e, int y) E
INA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Convert/scale a canvas co-ordinate into output screen co-ordinates | | * Convert/scale a canvas co-ordinate into output screen co-ordinates | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param x The canvas x co-ordinate | | * @param x The canvas x co-ordinate | |
| * @return The output/screen co-ordinate translated to output co-ordinates | | * @return The output/screen co-ordinate translated to output co-ordinates | |
| * @ingroup Evas_Coord_Mapping_Group | | * @ingroup Evas_Coord_Mapping_Group | |
| * | | * | |
| * This function takes in a horizontal co-ordinate as the @p x | | * This function takes in a horizontal co-ordinate as the @p x | |
| | | | |
| skipping to change at line 1982 | | skipping to change at line 2010 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * int screen_x; | | * int screen_x; | |
| * extern Evas_Coord canvas_x; | | * extern Evas_Coord canvas_x; | |
| * | | * | |
| * screen_x = evas_coord_world_x_to_screen(evas, canvas_x); | | * screen_x = evas_coord_world_x_to_screen(evas, canvas_x); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI int evas_coord_world_x_to_screen (const Evas *e, Ev
as_Coord x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_coord_world_x_to_screen(const Evas *e, Evas_Coo
rd x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Convert/scale a canvas co-ordinate into output screen co-ordinates | | * Convert/scale a canvas co-ordinate into output screen co-ordinates | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param y The canvas y co-ordinate | | * @param y The canvas y co-ordinate | |
| * @return The output/screen co-ordinate translated to output co-ordinates | | * @return The output/screen co-ordinate translated to output co-ordinates | |
| * @ingroup Evas_Coord_Mapping_Group | | * @ingroup Evas_Coord_Mapping_Group | |
| * | | * | |
| * This function takes in a vertical co-ordinate as the @p x parameter | | * This function takes in a vertical co-ordinate as the @p x parameter | |
| | | | |
| skipping to change at line 2006 | | skipping to change at line 2034 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * int screen_y; | | * int screen_y; | |
| * extern Evas_Coord canvas_y; | | * extern Evas_Coord canvas_y; | |
| * | | * | |
| * screen_y = evas_coord_world_y_to_screen(evas, canvas_y); | | * screen_y = evas_coord_world_y_to_screen(evas, canvas_y); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI int evas_coord_world_y_to_screen (const Evas *e, Ev
as_Coord y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_coord_world_y_to_screen(const Evas *e, Evas_Coo
rd y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Pointer_Group Pointer (Mouse) Functions | | * @defgroup Evas_Pointer_Group Pointer (Mouse) Functions | |
| * | | * | |
| * Functions that deal with the status of the pointer (mouse cursor). | | * Functions that deal with the status of the pointer (mouse cursor). | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 2038 | | skipping to change at line 2066 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * int mouse_x, mouse_y; | | * int mouse_x, mouse_y; | |
| * | | * | |
| * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); | | * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); | |
| * printf("Mouse is at screen position %i, %i\n", mouse_x, mouse_y); | | * printf("Mouse is at screen position %i, %i\n", mouse_x, mouse_y); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void evas_pointer_output_xy_get (const Evas *e, in
t *x, int *y) EINA_ARG_NONNULL(1); | | EAPI void evas_pointer_output_xy_get(const Evas *e, int *x, in
t *y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * This function returns the current known pointer co-ordinates | | * This function returns the current known pointer co-ordinates | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param x The pointer to a Evas_Coord to be filled in | | * @param x The pointer to a Evas_Coord to be filled in | |
| * @param y The pointer to a Evas_Coord to be filled in | | * @param y The pointer to a Evas_Coord to be filled in | |
| * @ingroup Evas_Pointer_Group | | * @ingroup Evas_Pointer_Group | |
| * | | * | |
| * This function returns the current known canvas unit co-ordinates of | | * This function returns the current known canvas unit co-ordinates of | |
| | | | |
| skipping to change at line 2062 | | skipping to change at line 2090 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * Evas_Coord mouse_x, mouse_y; | | * Evas_Coord mouse_x, mouse_y; | |
| * | | * | |
| * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); | | * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); | |
| * printf("Mouse is at canvas position %f, %f\n", mouse_x, mouse_y); | | * printf("Mouse is at canvas position %f, %f\n", mouse_x, mouse_y); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void evas_pointer_canvas_xy_get (const Evas *e, Ev
as_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1); | | EAPI void evas_pointer_canvas_xy_get(const Evas *e, Evas_Coord
*x, Evas_Coord *y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns a bitmask with the mouse buttons currently pressed, set to 1 | | * Returns a bitmask with the mouse buttons currently pressed, set to 1 | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @return A bitmask of the currently depressed buttons on the canvas | | * @return A bitmask of the currently depressed buttons on the canvas | |
| * @ingroup Evas_Pointer_Group | | * @ingroup Evas_Pointer_Group | |
| * | | * | |
| * Calling this function will return a 32-bit integer with the | | * Calling this function will return a 32-bit integer with the | |
| * appropriate bits set to 1 that correspond to a mouse button being | | * appropriate bits set to 1 that correspond to a mouse button being | |
| | | | |
| skipping to change at line 2101 | | skipping to change at line 2129 | |
| * int button_mask, i; | | * int button_mask, i; | |
| * | | * | |
| * button_mask = evas_pointer_button_down_mask_get(evas); | | * button_mask = evas_pointer_button_down_mask_get(evas); | |
| * printf("Buttons currently pressed:\n"); | | * printf("Buttons currently pressed:\n"); | |
| * for (i = 0; i < 32; i++) | | * for (i = 0; i < 32; i++) | |
| * { | | * { | |
| * if ((button_mask & (1 << i)) != 0) printf("Button %i\n", i + 1); | | * if ((button_mask & (1 << i)) != 0) printf("Button %i\n", i + 1); | |
| * } | | * } | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI int evas_pointer_button_down_mask_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_pointer_button_down_mask_get(const Evas *e) EIN
A_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns whether the mouse pointer is logically inside the canvas | | * Returns whether the mouse pointer is logically inside the canvas | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @return An integer that is 1 if the mouse is inside the canvas, 0 otherw
ise | | * @return An integer that is 1 if the mouse is inside the canvas, 0 otherw
ise | |
| * @ingroup Evas_Pointer_Group | | * @ingroup Evas_Pointer_Group | |
| * | | * | |
| * When this function is called it will return a value of either 0 or | | * When this function is called it will return a value of either 0 or | |
| * 1, depending on if evas_event_feed_mouse_in(), | | * 1, depending on if evas_event_feed_mouse_in(), | |
| | | | |
| skipping to change at line 2131 | | skipping to change at line 2159 | |
| * If @p e is not a valid canvas, the return value is undefined. | | * If @p e is not a valid canvas, the return value is undefined. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * | | * | |
| * if (evas_pointer_inside_get(evas)) printf("Mouse is in!\n"); | | * if (evas_pointer_inside_get(evas)) printf("Mouse is in!\n"); | |
| * else printf("Mouse is out!\n"); | | * else printf("Mouse is out!\n"); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_pointer_inside_get (const Evas *e) EI | | EAPI Eina_Bool evas_pointer_inside_get(const Evas *e) EINA_WARN_UNU | |
| NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | SED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI void evas_sync(Evas *e) EINA_ARG_NONNULL(1); | | EAPI void evas_sync(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Canvas_Events Canvas Events | | * @defgroup Evas_Canvas_Events Canvas Events | |
| * | | * | |
| * Functions relating to canvas events, which are mainly reports on | | * Functions relating to canvas events, which are mainly reports on | |
| * its internal states changing (an object got focused, the rendering | | * its internal states changing (an object got focused, the rendering | |
| * is updated, etc). | | * is updated, etc). | |
| * | | * | |
| * Some of the functions in this group are exemplified @ref | | * Some of the functions in this group are exemplified @ref | |
| * Example_Evas_Events "here". | | * Example_Evas_Events "here". | |
| | | | |
| skipping to change at line 2214 | | skipping to change at line 2242 | |
| * after we focus it explicitly, on code. | | * after we focus it explicitly, on code. | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| * | | * | |
| * @note Be careful not to add the same callback multiple times, if | | * @note Be careful not to add the same callback multiple times, if | |
| * that's not what you want, because Evas won't check if a callback | | * that's not what you want, because Evas won't check if a callback | |
| * existed before exactly as the one being registered (and thus, call | | * existed before exactly as the one being registered (and thus, call | |
| * it more than once on the event, in this case). This would make | | * it more than once on the event, in this case). This would make | |
| * sense if you passed different functions and/or callback data, only. | | * sense if you passed different functions and/or callback data, only. | |
| */ | | */ | |
|
| EAPI void evas_event_callback_add (Evas *e, Evas_
Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(
1, 3); | | EAPI void evas_event_callback_add(Evas *e, Evas_Callback_Type type, Evas_E
vent_Cb func, const void *data) EINA_ARG_NONNULL(1, 3); | |
| | | | |
| /** | | /** | |
| * Add (register) a callback function to a given canvas event with a | | * Add (register) a callback function to a given canvas event with a | |
| * non-default priority set. Except for the priority field, it's exactly th
e | | * non-default priority set. Except for the priority field, it's exactly th
e | |
| * same as @ref evas_event_callback_add | | * same as @ref evas_event_callback_add | |
| * | | * | |
| * @param e Canvas to attach a callback to | | * @param e Canvas to attach a callback to | |
| * @param type The type of event that will trigger the callback | | * @param type The type of event that will trigger the callback | |
| * @param priority The priority of the callback, lower values called first. | | * @param priority The priority of the callback, lower values called first. | |
| * @param func The (callback) function to be called when the event is | | * @param func The (callback) function to be called when the event is | |
| * triggered | | * triggered | |
| * @param data The data pointer to be passed to @p func | | * @param data The data pointer to be passed to @p func | |
| * | | * | |
| * @see evas_event_callback_add | | * @see evas_event_callback_add | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_event_callback_priority_add(Evas *e, Evas_Callb
ack_Type type, Evas_Callback_Priority priority, Evas_Event_Cb func, const v
oid *data) EINA_ARG_NONNULL(1, 4); | | EAPI void evas_event_callback_priority_add(Evas *e, Evas_Callback_Type typ
e, Evas_Callback_Priority priority, Evas_Event_Cb func, const void *data) E
INA_ARG_NONNULL(1, 4); | |
| | | | |
| /** | | /** | |
| * Delete a callback function from the canvas. | | * Delete a callback function from the canvas. | |
| * | | * | |
| * @param e Canvas to remove a callback from | | * @param e Canvas to remove a callback from | |
| * @param type The type of event that was triggering the callback | | * @param type The type of event that was triggering the callback | |
| * @param func The function that was to be called when the event was trigge
red | | * @param func The function that was to be called when the event was trigge
red | |
| * @return The data pointer that was to be passed to the callback | | * @return The data pointer that was to be passed to the callback | |
| * | | * | |
| * This function removes the most recently added callback from the | | * This function removes the most recently added callback from the | |
| | | | |
| skipping to change at line 2257 | | skipping to change at line 2285 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *e; | | * extern Evas *e; | |
| * void *my_data; | | * void *my_data; | |
| * void focus_in_callback(void *data, Evas *e, void *event_info); | | * void focus_in_callback(void *data, Evas *e, void *event_info); | |
| * | | * | |
| * my_data = evas_event_callback_del(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN,
focus_in_callback); | | * my_data = evas_event_callback_del(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN,
focus_in_callback); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void *evas_event_callback_del (Evas *e, Evas_
Callback_Type type, Evas_Event_Cb func) EINA_ARG_NONNULL(1, 3); | | EAPI void *evas_event_callback_del(Evas *e, Evas_Callback_Type type, Evas_E
vent_Cb func) EINA_ARG_NONNULL(1, 3); | |
| | | | |
| /** | | /** | |
| * Delete (unregister) a callback function registered to a given | | * Delete (unregister) a callback function registered to a given | |
| * canvas event. | | * canvas event. | |
| * | | * | |
| * @param e Canvas to remove an event callback from | | * @param e Canvas to remove an event callback from | |
| * @param type The type of event that was triggering the callback | | * @param type The type of event that was triggering the callback | |
| * @param func The function that was to be called when the event was | | * @param func The function that was to be called when the event was | |
| * triggered | | * triggered | |
| * @param data The data pointer that was to be passed to the callback | | * @param data The data pointer that was to be passed to the callback | |
| | | | |
| skipping to change at line 2289 | | skipping to change at line 2317 | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip evas_event_callback_del_full(evas, EVAS_CALLBACK_RENDER_FLUSH_PRE, | | * @skip evas_event_callback_del_full(evas, EVAS_CALLBACK_RENDER_FLUSH_PRE, | |
| * @until _object_focus_in_cb, NULL); | | * @until _object_focus_in_cb, NULL); | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| * | | * | |
| * @note For deletion of canvas events callbacks filtering by just | | * @note For deletion of canvas events callbacks filtering by just | |
| * type and function pointer, user evas_event_callback_del(). | | * type and function pointer, user evas_event_callback_del(). | |
| */ | | */ | |
|
| EAPI void *evas_event_callback_del_full (Evas *e, Evas_
Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(
1, 3); | | EAPI void *evas_event_callback_del_full(Evas *e, Evas_Callback_Type type, E
vas_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3); | |
| | | | |
| /** | | /** | |
| * Push a callback on the post-event callback stack | | * Push a callback on the post-event callback stack | |
| * | | * | |
| * @param e Canvas to push the callback on | | * @param e Canvas to push the callback on | |
| * @param func The function that to be called when the stack is unwound | | * @param func The function that to be called when the stack is unwound | |
| * @param data The data pointer to be passed to the callback | | * @param data The data pointer to be passed to the callback | |
| * | | * | |
| * Evas has a stack of callbacks that get called after all the callbacks fo
r | | * Evas has a stack of callbacks that get called after all the callbacks fo
r | |
| * an event have triggered (all the objects it triggers on and all the call
backs | | * an event have triggered (all the objects it triggers on and all the call
backs | |
| | | | |
| skipping to change at line 2314 | | skipping to change at line 2342 | |
| * This is intended for doing reverse logic-like processing, example - when
a | | * This is intended for doing reverse logic-like processing, example - when
a | |
| * child object that happens to get the event later is meant to be able to | | * child object that happens to get the event later is meant to be able to | |
| * "steal" functions from a parent and thus on unwind of this stack have it
s | | * "steal" functions from a parent and thus on unwind of this stack have it
s | |
| * function called first, thus being able to set flags, or return 0 from th
e | | * function called first, thus being able to set flags, or return 0 from th
e | |
| * post-callback that stops all other post-callbacks in the current stack f
rom | | * post-callback that stops all other post-callbacks in the current stack f
rom | |
| * being called (thus basically allowing a child to take control, if the ev
ent | | * being called (thus basically allowing a child to take control, if the ev
ent | |
| * callback prepares information ready for taking action, but the post call
back | | * callback prepares information ready for taking action, but the post call
back | |
| * actually does the action). | | * actually does the action). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_post_event_callback_push (Evas *e, Evas_
Object_Event_Post_Cb func, const void *data); | | EAPI void evas_post_event_callback_push(Evas *e, Evas_Object_Event_Post_Cb
func, const void *data); | |
| | | | |
| /** | | /** | |
| * Remove a callback from the post-event callback stack | | * Remove a callback from the post-event callback stack | |
| * | | * | |
| * @param e Canvas to push the callback on | | * @param e Canvas to push the callback on | |
| * @param func The function that to be called when the stack is unwound | | * @param func The function that to be called when the stack is unwound | |
| * | | * | |
| * This removes a callback from the stack added with | | * This removes a callback from the stack added with | |
| * evas_post_event_callback_push(). The first instance of the function in | | * evas_post_event_callback_push(). The first instance of the function in | |
| * the callback stack is removed from being executed when the stack is | | * the callback stack is removed from being executed when the stack is | |
| * unwound. Further instances may still be run on unwind. | | * unwound. Further instances may still be run on unwind. | |
| */ | | */ | |
|
| EAPI void evas_post_event_callback_remove (Evas *e, Evas_
Object_Event_Post_Cb func); | | EAPI void evas_post_event_callback_remove(Evas *e, Evas_Object_Event_Post_
Cb func); | |
| | | | |
| /** | | /** | |
| * Remove a callback from the post-event callback stack | | * Remove a callback from the post-event callback stack | |
| * | | * | |
| * @param e Canvas to push the callback on | | * @param e Canvas to push the callback on | |
| * @param func The function that to be called when the stack is unwound | | * @param func The function that to be called when the stack is unwound | |
| * @param data The data pointer to be passed to the callback | | * @param data The data pointer to be passed to the callback | |
| * | | * | |
| * This removes a callback from the stack added with | | * This removes a callback from the stack added with | |
| * evas_post_event_callback_push(). The first instance of the function and
data | | * evas_post_event_callback_push(). The first instance of the function and
data | |
| * in the callback stack is removed from being executed when the stack is | | * in the callback stack is removed from being executed when the stack is | |
| * unwound. Further instances may still be run on unwind. | | * unwound. Further instances may still be run on unwind. | |
| */ | | */ | |
|
| EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_
Object_Event_Post_Cb func, const void *data); | | EAPI void evas_post_event_callback_remove_full(Evas *e, Evas_Object_Event_
Post_Cb func, const void *data); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Event_Freezing_Group Input Events Freezing Functions | | * @defgroup Evas_Event_Freezing_Group Input Events Freezing Functions | |
| * | | * | |
| * Functions that deal with the freezing of input event processing of | | * Functions that deal with the freezing of input event processing of | |
| * an Evas canvas. | | * an Evas canvas. | |
| * | | * | |
| * There might be scenarios during a graphical user interface | | * There might be scenarios during a graphical user interface | |
| * program's use when the developer wishes the users wouldn't be able | | * program's use when the developer wishes the users wouldn't be able | |
| * to deliver input events to this application. It may, for example, | | * to deliver input events to this application. It may, for example, | |
| | | | |
| skipping to change at line 2388 | | skipping to change at line 2416 | |
| * | | * | |
| * @param e The canvas to set the default event flags of | | * @param e The canvas to set the default event flags of | |
| * @param flags The default flags to use | | * @param flags The default flags to use | |
| * | | * | |
| * Events in evas can have an event_flags member. This starts out with | | * Events in evas can have an event_flags member. This starts out with | |
| * and initial value (no flags). this lets you set the default flags that | | * and initial value (no flags). this lets you set the default flags that | |
| * an event begins with to be @p flags | | * an event begins with to be @p flags | |
| * | | * | |
| * @since 1.2 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI void evas_event_default_flags_set (Evas *e, Evas_Eve
nt_Flags flags) EINA_ARG_NONNULL(1); | | EAPI void evas_event_default_flags_set(Evas *e, Evas_Event_Flag
s flags) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the defaulty set of flags an event begins with | | * Get the defaulty set of flags an event begins with | |
| * | | * | |
| * @param e The canvas to get the default event flags from | | * @param e The canvas to get the default event flags from | |
| * @return The default event flags for that canvas | | * @return The default event flags for that canvas | |
| * | | * | |
| * This gets the default event flags events are produced with when fed in. | | * This gets the default event flags events are produced with when fed in. | |
| * | | * | |
| * @see evas_event_default_flags_set() | | * @see evas_event_default_flags_set() | |
| * @since 1.2 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI Evas_Event_Flags evas_event_default_flags_get (const Evas *e) EI
NA_ARG_NONNULL(1); | | EAPI Evas_Event_Flags evas_event_default_flags_get(const Evas *e) EINA_ARG_
NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Freeze all input events processing. | | * Freeze all input events processing. | |
| * | | * | |
| * @param e The canvas to freeze input events processing on. | | * @param e The canvas to freeze input events processing on. | |
| * | | * | |
| * This function will indicate to Evas that the canvas @p e is to have | | * This function will indicate to Evas that the canvas @p e is to have | |
| * all input event processing frozen until a matching | | * all input event processing frozen until a matching | |
| * evas_event_thaw() function is called on the same canvas. All events | | * evas_event_thaw() function is called on the same canvas. All events | |
| * of this kind during the freeze will get @b discarded. Every freeze | | * of this kind during the freeze will get @b discarded. Every freeze | |
| | | | |
| skipping to change at line 2432 | | skipping to change at line 2460 | |
| * @skip let's have our events back | | * @skip let's have our events back | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| * | | * | |
| * If you run that example, you'll see the canvas ignoring all input | | * If you run that example, you'll see the canvas ignoring all input | |
| * events for 3 seconds, when the "f" key is pressed. In a more | | * events for 3 seconds, when the "f" key is pressed. In a more | |
| * realistic code we would be freezing while a toolkit or Edje was | | * realistic code we would be freezing while a toolkit or Edje was | |
| * doing some UI changes, thawing it back afterwards. | | * doing some UI changes, thawing it back afterwards. | |
| */ | | */ | |
|
| EAPI void evas_event_freeze (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_event_freeze(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Thaw a canvas out after freezing (for input events). | | * Thaw a canvas out after freezing (for input events). | |
| * | | * | |
| * @param e The canvas to thaw out. | | * @param e The canvas to thaw out. | |
| * | | * | |
| * This will thaw out a canvas after a matching evas_event_freeze() | | * This will thaw out a canvas after a matching evas_event_freeze() | |
| * call. If this call completely thaws out a canvas, i.e., there's no | | * call. If this call completely thaws out a canvas, i.e., there's no | |
| * other unbalanced call to evas_event_freeze(), events will start to | | * other unbalanced call to evas_event_freeze(), events will start to | |
| * be processed again, but any "missed" events will @b not be | | * be processed again, but any "missed" events will @b not be | |
| * evaluated. | | * evaluated. | |
| * | | * | |
| * See evas_event_freeze() for an example. | | * See evas_event_freeze() for an example. | |
| */ | | */ | |
|
| EAPI void evas_event_thaw (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_event_thaw(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the freeze count on input events of a given canvas. | | * Return the freeze count on input events of a given canvas. | |
| * | | * | |
| * @param e The canvas to fetch the freeze count from. | | * @param e The canvas to fetch the freeze count from. | |
| * | | * | |
| * This returns the number of times the canvas has been told to freeze | | * This returns the number of times the canvas has been told to freeze | |
| * input events. It is possible to call evas_event_freeze() multiple | | * input events. It is possible to call evas_event_freeze() multiple | |
| * times, and these must be matched by evas_event_thaw() calls. This | | * times, and these must be matched by evas_event_thaw() calls. This | |
| * call allows the program to discover just how many times things have | | * call allows the program to discover just how many times things have | |
| | | | |
| skipping to change at line 2469 | | skipping to change at line 2497 | |
| * where the count is high. | | * where the count is high. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * | | * | |
| * while (evas_event_freeze_get(evas) > 0) evas_event_thaw(evas); | | * while (evas_event_freeze_get(evas) > 0) evas_event_thaw(evas); | |
| * @endcode | | * @endcode | |
| * | | * | |
| */ | | */ | |
|
| EAPI int evas_event_freeze_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_event_freeze_get(const Evas *e) EINA_WARN_UNUSED
_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * After thaw of a canvas, re-evaluate the state of objects and call callba
cks | | * After thaw of a canvas, re-evaluate the state of objects and call callba
cks | |
| * | | * | |
| * @param e The canvas to evaluate after a thaw | | * @param e The canvas to evaluate after a thaw | |
| * | | * | |
| * This is normally called after evas_event_thaw() to re-evaluate mouse | | * This is normally called after evas_event_thaw() to re-evaluate mouse | |
| * containment and other states and thus also call callbacks for mouse in a
nd | | * containment and other states and thus also call callbacks for mouse in a
nd | |
| * out on new objects if the state change demands it. | | * out on new objects if the state change demands it. | |
| */ | | */ | |
|
| EAPI void evas_event_thaw_eval (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_event_thaw_eval(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Event_Feeding_Group Input Events Feeding Functions | | * @defgroup Evas_Event_Feeding_Group Input Events Feeding Functions | |
| * | | * | |
| * Functions to tell Evas that input events happened and should be | | * Functions to tell Evas that input events happened and should be | |
| * processed. | | * processed. | |
| | | | |
| skipping to change at line 2522 | | skipping to change at line 2550 | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Get the number of mouse or multi presses currently active | | * Get the number of mouse or multi presses currently active | |
| * | | * | |
| * @p e The given canvas pointer. | | * @p e The given canvas pointer. | |
| * @return The numer of presses (0 if none active). | | * @return The numer of presses (0 if none active). | |
| * | | * | |
| * @since 1.2 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI int evas_event_down_count_get (const Evas *e) EI
NA_ARG_NONNULL(1); | | EAPI int evas_event_down_count_get(const Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Mouse down event feed. | | * Mouse down event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param b The button number. | | * @param b The button number. | |
| * @param flags The evas button flags. | | * @param flags The evas button flags. | |
| * @param timestamp The timestamp of the mouse down event. | | * @param timestamp The timestamp of the mouse down event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * the mouse button is pressed. It prepares information to be treated | | * the mouse button is pressed. It prepares information to be treated | |
| * by the callback function. | | * by the callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_mouse_down (Evas *e, int b, E
vas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_
NONNULL(1); | | EAPI void evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flag
s, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Mouse up event feed. | | * Mouse up event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param b The button number. | | * @param b The button number. | |
| * @param flags evas button flags. | | * @param flags evas button flags. | |
| * @param timestamp The timestamp of the mouse up event. | | * @param timestamp The timestamp of the mouse up event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * the mouse button is released. It prepares information to be treated | | * the mouse button is released. It prepares information to be treated | |
| * by the callback function. | | * by the callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_mouse_up (Evas *e, int b, E
vas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_
NONNULL(1); | | EAPI void evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags,
unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Mouse move event feed. | | * Mouse move event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param x The horizontal position of the mouse pointer. | | * @param x The horizontal position of the mouse pointer. | |
| * @param y The vertical position of the mouse pointer. | | * @param y The vertical position of the mouse pointer. | |
| * @param timestamp The timestamp of the mouse up event. | | * @param timestamp The timestamp of the mouse up event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * the mouse is moved from its last position. It prepares information | | * the mouse is moved from its last position. It prepares information | |
| * to be treated by the callback function. | | * to be treated by the callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_mouse_move (Evas *e, int x, i
nt y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int ti
mestamp, const void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Mouse in event feed. | | * Mouse in event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param timestamp The timestamp of the mouse up event. | | * @param timestamp The timestamp of the mouse up event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * the mouse in event happens. It prepares information to be treated | | * the mouse in event happens. It prepares information to be treated | |
| * by the callback function. | | * by the callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_mouse_in (Evas *e, unsigned
int timestamp, const void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const v
oid *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Mouse out event feed. | | * Mouse out event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param timestamp Timestamp of the mouse up event. | | * @param timestamp Timestamp of the mouse up event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * the mouse out event happens. It prepares information to be treated | | * the mouse out event happens. It prepares information to be treated | |
| * by the callback function. | | * by the callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_mouse_out (Evas *e, unsigned | | EAPI void evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const | |
| int timestamp, const void *data) EINA_ARG_NONNULL(1); | | void *data) EINA_ARG_NONNULL(1); | |
| EAPI void evas_event_feed_multi_down (Evas *e, int d | | EAPI void evas_event_feed_multi_down(Evas *e, int d, int x, int y, double r | |
| , int x, int y, double rad, double radx, double rady, double pres, double a | | ad, double radx, double rady, double pres, double ang, double fx, double fy | |
| ng, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, | | , Evas_Button_Flags flags, unsigned int timestamp, const void *data); | |
| const void *data); | | EAPI void evas_event_feed_multi_up(Evas *e, int d, int x, int y, double rad | |
| EAPI void evas_event_feed_multi_up (Evas *e, int d | | , double radx, double rady, double pres, double ang, double fx, double fy, | |
| , int x, int y, double rad, double radx, double rady, double pres, double a | | Evas_Button_Flags flags, unsigned int timestamp, const void *data); | |
| ng, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, | | EAPI void evas_event_feed_multi_move(Evas *e, int d, int x, int y, double r | |
| const void *data); | | ad, double radx, double rady, double pres, double ang, double fx, double fy | |
| EAPI void evas_event_feed_multi_move (Evas *e, int d | | , unsigned int timestamp, const void *data); | |
| , int x, int y, double rad, double radx, double rady, double pres, double a | | | |
| ng, double fx, double fy, unsigned int timestamp, const void *data); | | | |
| | | | |
| /** | | /** | |
| * Mouse cancel event feed. | | * Mouse cancel event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param timestamp The timestamp of the mouse up event. | | * @param timestamp The timestamp of the mouse up event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will call evas_event_feed_mouse_up() when a | | * This function will call evas_event_feed_mouse_up() when a | |
| * mouse cancel event happens. | | * mouse cancel event happens. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_mouse_cancel (Evas *e, unsigned
int timestamp, const void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_event_feed_mouse_cancel(Evas *e, unsigned int timestamp, con
st void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Mouse wheel event feed. | | * Mouse wheel event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param direction The wheel mouse direction. | | * @param direction The wheel mouse direction. | |
| * @param z How much mouse wheel was scrolled up or down. | | * @param z How much mouse wheel was scrolled up or down. | |
| * @param timestamp The timestamp of the mouse up event. | | * @param timestamp The timestamp of the mouse up event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * the mouse wheel is scrolled up or down. It prepares information to | | * the mouse wheel is scrolled up or down. It prepares information to | |
| * be treated by the callback function. | | * be treated by the callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_mouse_wheel (Evas *e, int dire
ction, int z, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)
; | | EAPI void evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsign
ed int timestamp, const void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Key down event feed | | * Key down event feed | |
| * | | * | |
| * @param e The canvas to thaw out | | * @param e The canvas to thaw out | |
| * @param keyname Name of the key | | * @param keyname Name of the key | |
| * @param key The key pressed. | | * @param key The key pressed. | |
| * @param string A String | | * @param string A String | |
| * @param compose The compose string | | * @param compose The compose string | |
| * @param timestamp Timestamp of the mouse up event | | * @param timestamp Timestamp of the mouse up event | |
| * @param data Data for canvas. | | * @param data Data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * a key is pressed. It prepares information to be treated by the | | * a key is pressed. It prepares information to be treated by the | |
| * callback function. | | * callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_key_down (Evas *e, const ch
ar *keyname, const char *key, const char *string, const char *compose, unsi
gned int timestamp, const void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_event_feed_key_down(Evas *e, const char *keyname, const char
*key, const char *string, const char *compose, unsigned int timestamp, con
st void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Key up event feed | | * Key up event feed | |
| * | | * | |
| * @param e The canvas to thaw out | | * @param e The canvas to thaw out | |
| * @param keyname Name of the key | | * @param keyname Name of the key | |
| * @param key The key released. | | * @param key The key released. | |
| * @param string string | | * @param string string | |
| * @param compose compose | | * @param compose compose | |
| * @param timestamp Timestamp of the mouse up event | | * @param timestamp Timestamp of the mouse up event | |
| * @param data Data for canvas. | | * @param data Data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * a key is released. It prepares information to be treated by the | | * a key is released. It prepares information to be treated by the | |
| * callback function. | | * callback function. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_key_up (Evas *e, const ch
ar *keyname, const char *key, const char *string, const char *compose, unsi
gned int timestamp, const void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_event_feed_key_up(Evas *e, const char *keyname, const char *
key, const char *string, const char *compose, unsigned int timestamp, const
void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Hold event feed | | * Hold event feed | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param hold The hold. | | * @param hold The hold. | |
| * @param timestamp The timestamp of the mouse up event. | | * @param timestamp The timestamp of the mouse up event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function makes the object to stop sending events. | | * This function makes the object to stop sending events. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_event_feed_hold (Evas *e, int hold
, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, c
onst void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Re feed event. | | * Re feed event. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param event_copy the event to refeed | | * @param event_copy the event to refeed | |
| * @param event_type Event type | | * @param event_type Event type | |
| * | | * | |
| * This function re-feeds the event pointed by event_copy | | * This function re-feeds the event pointed by event_copy | |
| * | | * | |
| * This function call evas_event_feed_* functions, so it can | | * This function call evas_event_feed_* functions, so it can | |
| * cause havoc if not used wisely. Please use it responsibly. | | * cause havoc if not used wisely. Please use it responsibly. | |
| */ | | */ | |
|
| EAPI void evas_event_refeed_event (Evas *e, void *ev
ent_copy, Evas_Callback_Type event_type) EINA_ARG_NONNULL(1); | | EAPI void evas_event_refeed_event(Evas *e, void *event_copy, Evas_Callback_
Type event_type) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 2724 | | skipping to change at line 2752 | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Flush the image cache of the canvas. | | * Flush the image cache of the canvas. | |
| * | | * | |
| * @param e The given evas pointer. | | * @param e The given evas pointer. | |
| * | | * | |
| * This function flushes image cache of canvas. | | * This function flushes image cache of canvas. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_image_cache_flush (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_image_cache_flush(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Reload the image cache | | * Reload the image cache | |
| * | | * | |
| * @param e The given evas pointer. | | * @param e The given evas pointer. | |
| * | | * | |
| * This function reloads the image cache of canvas. | | * This function reloads the image cache of canvas. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_image_cache_reload (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_image_cache_reload(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the image cache. | | * Set the image cache. | |
| * | | * | |
| * @param e The given evas pointer. | | * @param e The given evas pointer. | |
| * @param size The cache size. | | * @param size The cache size. | |
| * | | * | |
| * This function sets the image cache of canvas in bytes. | | * This function sets the image cache of canvas in bytes. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_image_cache_set (Evas *e, int size
) EINA_ARG_NONNULL(1); | | EAPI void evas_image_cache_set(Evas *e, int size) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the image cache | | * Get the image cache | |
| * | | * | |
| * @param e The given evas pointer. | | * @param e The given evas pointer. | |
| * | | * | |
| * This function returns the image cache size of canvas in bytes. | | * This function returns the image cache size of canvas in bytes. | |
| * | | * | |
| */ | | */ | |
|
| EAPI int evas_image_cache_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_image_cache_get(const Evas *e) EINA_WARN_UNUSED_RESULT
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the maximum image size evas can possibly handle | | * Get the maximum image size evas can possibly handle | |
| * | | * | |
| * @param e The given evas pointer. | | * @param e The given evas pointer. | |
| * @param maxw Pointer to hold the return value in pixels of the maxumum wi
dth | | * @param maxw Pointer to hold the return value in pixels of the maxumum wi
dth | |
| * @param maxh Pointer to hold the return value in pixels of the maximum he
ight | | * @param maxh Pointer to hold the return value in pixels of the maximum he
ight | |
| * | | * | |
| * This function returns the larges image or surface size that evas can han
dle | | * This function returns the larges image or surface size that evas can han
dle | |
| * in pixels, and if there is one, returns @c EINA_TRUE. It returns | | * in pixels, and if there is one, returns @c EINA_TRUE. It returns | |
| * @c EINA_FALSE if no extra constraint on maximum image size exists. You s
till | | * @c EINA_FALSE if no extra constraint on maximum image size exists. You s
till | |
| * should check the return values of @p maxw and @p maxh as there may still
be | | * should check the return values of @p maxw and @p maxh as there may still
be | |
| * a limit, just a much higher one. | | * a limit, just a much higher one. | |
| * | | * | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_image_max_size_get (const Evas *e, in
t *maxw, int *maxh) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_image_max_size_get(const Evas *e, int *maxw, int *maxh)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Font_Group Font Functions | | * @defgroup Evas_Font_Group Font Functions | |
| * | | * | |
| * Functions that deals with fonts. | | * Functions that deals with fonts. | |
| * | | * | |
| | | | |
| skipping to change at line 2794 | | skipping to change at line 2822 | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Changes the font hinting for the given evas. | | * Changes the font hinting for the given evas. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE, | | * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE, | |
| * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | | * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI void evas_font_hinting_set (Evas *e, Evas_F
ont_Hinting_Flags hinting) EINA_ARG_NONNULL(1); | | EAPI void evas_font_hinting_set(Evas *e, Evas_Font_Hinti
ng_Flags hinting) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the font hinting used by the given evas. | | * Retrieves the font hinting used by the given evas. | |
| * | | * | |
| * @param e The given evas to query. | | * @param e The given evas to query. | |
| * @return The hinting in use, one of #EVAS_FONT_HINTING_NONE, | | * @return The hinting in use, one of #EVAS_FONT_HINTING_NONE, | |
| * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | | * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI Evas_Font_Hinting_Flags evas_font_hinting_get (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Font_Hinting_Flags evas_font_hinting_get(const Evas *e) EINA_WARN
_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks if the font hinting is supported by the given evas. | | * Checks if the font hinting is supported by the given evas. | |
| * | | * | |
| * @param e The given evas to query. | | * @param e The given evas to query. | |
| * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE, | | * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE, | |
| * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | | * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | |
| * @return @c EINA_TRUE if it is supported, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it is supported, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_font_hinting_can_hint (const Evas *e,
Evas_Font_Hinting_Flags hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1
); | | EAPI Eina_Bool evas_font_hinting_can_hint(const Evas *e, Evas
_Font_Hinting_Flags hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Force the given evas and associated engine to flush its font cache. | | * Force the given evas and associated engine to flush its font cache. | |
| * | | * | |
| * @param e The given evas to flush font cache. | | * @param e The given evas to flush font cache. | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI void evas_font_cache_flush (Evas *e) EINA_A
RG_NONNULL(1); | | EAPI void evas_font_cache_flush(Evas *e) EINA_ARG_NONNUL
L(1); | |
| | | | |
| /** | | /** | |
| * Changes the size of font cache of the given evas. | | * Changes the size of font cache of the given evas. | |
| * | | * | |
| * @param e The given evas to flush font cache. | | * @param e The given evas to flush font cache. | |
| * @param size The size, in bytes. | | * @param size The size, in bytes. | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI void evas_font_cache_set (Evas *e, int si
ze) EINA_ARG_NONNULL(1); | | EAPI void evas_font_cache_set(Evas *e, int size) EINA_AR
G_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Changes the size of font cache of the given evas. | | * Changes the size of font cache of the given evas. | |
| * | | * | |
| * @param e The given evas to flush font cache. | | * @param e The given evas to flush font cache. | |
| * @return The size, in bytes. | | * @return The size, in bytes. | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI int evas_font_cache_get (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_font_cache_get(const Evas *e) EINA_WARN_U
NUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * List of available font descriptions known or found by this evas. | | * List of available font descriptions known or found by this evas. | |
| * | | * | |
| * The list depends on Evas compile time configuration, such as | | * The list depends on Evas compile time configuration, such as | |
| * fontconfig support, and the paths provided at runtime as explained | | * fontconfig support, and the paths provided at runtime as explained | |
| * in @ref Evas_Font_Path_Group. | | * in @ref Evas_Font_Path_Group. | |
| * | | * | |
| * @param e The evas instance to query. | | * @param e The evas instance to query. | |
| * @return a newly allocated list of strings. Do not change the | | * @return a newly allocated list of strings. Do not change the | |
| * strings. Be sure to call evas_font_available_list_free() | | * strings. Be sure to call evas_font_available_list_free() | |
| * after you're done. | | * after you're done. | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI Eina_List *evas_font_available_list (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_List *evas_font_available_list(const Evas *e) EINA_W
ARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Free list of font descriptions returned by evas_font_dir_available_list(
). | | * Free list of font descriptions returned by evas_font_dir_available_list(
). | |
| * | | * | |
| * @param e The evas instance that returned such list. | | * @param e The evas instance that returned such list. | |
| * @param available the list returned by evas_font_dir_available_list(). | | * @param available the list returned by evas_font_dir_available_list(). | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI void evas_font_available_list_free(Evas *e, Eina_L
ist *available) EINA_ARG_NONNULL(1); | | EAPI void evas_font_available_list_free(Evas *e, Eina_Li
st *available) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Font_Path_Group Font Path Functions | | * @defgroup Evas_Font_Path_Group Font Path Functions | |
| * | | * | |
| * Functions that edit the paths being used to load fonts. | | * Functions that edit the paths being used to load fonts. | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Removes all font paths loaded into memory for the given evas. | | * Removes all font paths loaded into memory for the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @ingroup Evas_Font_Path_Group | | * @ingroup Evas_Font_Path_Group | |
| */ | | */ | |
|
| EAPI void evas_font_path_clear (Evas *e) EINA_ARG
_NONNULL(1); | | EAPI void evas_font_path_clear(Evas *e) EINA_ARG_NONNULL
(1); | |
| | | | |
| /** | | /** | |
| * Appends a font path to the list of font paths used by the given evas. | | * Appends a font path to the list of font paths used by the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param path The new font path. | | * @param path The new font path. | |
| * @ingroup Evas_Font_Path_Group | | * @ingroup Evas_Font_Path_Group | |
| */ | | */ | |
|
| EAPI void evas_font_path_append (Evas *e, const ch
ar *path) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_font_path_append(Evas *e, const char *pat
h) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Prepends a font path to the list of font paths used by the given evas. | | * Prepends a font path to the list of font paths used by the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param path The new font path. | | * @param path The new font path. | |
| * @ingroup Evas_Font_Path_Group | | * @ingroup Evas_Font_Path_Group | |
| */ | | */ | |
|
| EAPI void evas_font_path_prepend (Evas *e, const ch
ar *path) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_font_path_prepend(Evas *e, const char *pa
th) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Retrieves the list of font paths used by the given evas. | | * Retrieves the list of font paths used by the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The list of font paths used. | | * @return The list of font paths used. | |
| * @ingroup Evas_Font_Path_Group | | * @ingroup Evas_Font_Path_Group | |
| */ | | */ | |
|
| EAPI const Eina_List *evas_font_path_list (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Eina_List *evas_font_path_list(const Evas *e) EINA_WARN_U
NUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group Generic Object Functions | | * @defgroup Evas_Object_Group Generic Object Functions | |
| * | | * | |
| * Functions that manipulate generic Evas objects. | | * Functions that manipulate generic Evas objects. | |
| * | | * | |
| * All Evas displaying units are Evas objects. One handles them all by | | * All Evas displaying units are Evas objects. One handles them all by | |
| * means of the handle ::Evas_Object. Besides Evas treats their | | * means of the handle ::Evas_Object. Besides Evas treats their | |
| * objects equally, they have @b types, which define their specific | | * objects equally, they have @b types, which define their specific | |
| * behavior (and individual API). | | * behavior (and individual API). | |
| | | | |
| skipping to change at line 3018 | | skipping to change at line 3046 | |
| * NULL, in which case the effect of this function is the same as | | * NULL, in which case the effect of this function is the same as | |
| * calling evas_object_clip_unset() on the @p obj object. | | * calling evas_object_clip_unset() on the @p obj object. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip solid white clipper (note that it's the default color for a | | * @skip solid white clipper (note that it's the default color for a | |
| * @until evas_object_show(d.clipper); | | * @until evas_object_show(d.clipper); | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| */ | | */ | |
|
| EAPI void evas_object_clip_set (Evas_Object *obj,
Evas_Object *clip) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_clip_set(Evas_Object *obj, Evas_Object *c
lip) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get the object clipping @p obj (if any). | | * Get the object clipping @p obj (if any). | |
| * | | * | |
| * @param obj The object to get the clipper from | | * @param obj The object to get the clipper from | |
| * | | * | |
| * This function returns the object clipping @p obj. If @p obj is | | * This function returns the object clipping @p obj. If @p obj is | |
| * not being clipped at all, @c NULL is returned. The object @p obj | | * not being clipped at all, @c NULL is returned. The object @p obj | |
| * must be a valid ::Evas_Object. | | * must be a valid ::Evas_Object. | |
| * | | * | |
| * See also evas_object_clip_set(), evas_object_clip_unset() and | | * See also evas_object_clip_set(), evas_object_clip_unset() and | |
| * evas_object_clipees_get(). | | * evas_object_clipees_get(). | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip if (evas_object_clip_get(d.img) == d.clipper) | | * @skip if (evas_object_clip_get(d.img) == d.clipper) | |
| * @until return | | * @until return | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_clip_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_clip_get(const Evas_Object *obj) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Disable/cease clipping on a clipped @p obj object. | | * Disable/cease clipping on a clipped @p obj object. | |
| * | | * | |
| * @param obj The object to cease clipping on | | * @param obj The object to cease clipping on | |
| * | | * | |
| * This function disables clipping for the object @p obj, if it was | | * This function disables clipping for the object @p obj, if it was | |
| * already clipped, i.e., its visibility and color get detached from | | * already clipped, i.e., its visibility and color get detached from | |
| * the previous clipper. If it wasn't, this has no effect. The object | | * the previous clipper. If it wasn't, this has no effect. The object | |
| * @p obj must be a valid ::Evas_Object. | | * @p obj must be a valid ::Evas_Object. | |
| * | | * | |
| * See also evas_object_clip_set() (for an example), | | * See also evas_object_clip_set() (for an example), | |
| * evas_object_clipees_get() and evas_object_clip_get(). | | * evas_object_clipees_get() and evas_object_clip_get(). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_clip_unset (Evas_Object *obj)
; | | EAPI void evas_object_clip_unset(Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Return a list of objects currently clipped by @p obj. | | * Return a list of objects currently clipped by @p obj. | |
| * | | * | |
| * @param obj The object to get a list of clippees from | | * @param obj The object to get a list of clippees from | |
| * @return a list of objects being clipped by @p obj | | * @return a list of objects being clipped by @p obj | |
| * | | * | |
| * This returns the internal list handle that contains all objects | | * This returns the internal list handle that contains all objects | |
| * clipped by the object @p obj. If none are clipped by it, the call | | * clipped by the object @p obj. If none are clipped by it, the call | |
| * returns @c NULL. This list is only valid until the clip list is | | * returns @c NULL. This list is only valid until the clip list is | |
| | | | |
| skipping to change at line 3096 | | skipping to change at line 3124 | |
| * Eina_List *clippees, *l; | | * Eina_List *clippees, *l; | |
| * Evas_Object *obj_tmp; | | * Evas_Object *obj_tmp; | |
| * | | * | |
| * clippees = evas_object_clipees_get(clipper); | | * clippees = evas_object_clipees_get(clipper); | |
| * printf("Clipper clips %i objects\n", eina_list_count(clippees)); | | * printf("Clipper clips %i objects\n", eina_list_count(clippees)); | |
| * EINA_LIST_FOREACH(clippees, l, obj_tmp) | | * EINA_LIST_FOREACH(clippees, l, obj_tmp) | |
| * evas_object_show(obj_tmp); | | * evas_object_show(obj_tmp); | |
| * } | | * } | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI const Eina_List *evas_object_clipees_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Eina_List *evas_object_clipees_get(const Evas_Object *obj) EINA_
WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets or unsets a given object as the currently focused one on its | | * Sets or unsets a given object as the currently focused one on its | |
| * canvas. | | * canvas. | |
| * | | * | |
| * @param obj The object to be focused or unfocused. | | * @param obj The object to be focused or unfocused. | |
| * @param focus @c EINA_TRUE, to set it as focused or @c EINA_FALSE, | | * @param focus @c EINA_TRUE, to set it as focused or @c EINA_FALSE, | |
| * to take away the focus from it. | | * to take away the focus from it. | |
| * | | * | |
| * Changing focus only affects where (key) input events go. There can | | * Changing focus only affects where (key) input events go. There can | |
| | | | |
| skipping to change at line 3124 | | skipping to change at line 3152 | |
| * @skip evas_object_focus_set | | * @skip evas_object_focus_set | |
| * @until evas_object_focus_set | | * @until evas_object_focus_set | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
| * @see evas_object_focus_get | | * @see evas_object_focus_get | |
| * @see evas_focus_get | | * @see evas_focus_get | |
| * @see evas_object_key_grab | | * @see evas_object_key_grab | |
| * @see evas_object_key_ungrab | | * @see evas_object_key_ungrab | |
| */ | | */ | |
|
| EAPI void evas_object_focus_set (Evas_Object *obj,
Eina_Bool focus) EINA_ARG_NONNULL(1); | | EAPI void evas_object_focus_set(Evas_Object *obj, Eina_Bool foc
us) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve whether an object has the focus. | | * Retrieve whether an object has the focus. | |
| * | | * | |
| * @param obj The object to retrieve focus information from. | | * @param obj The object to retrieve focus information from. | |
| * @return @c EINA_TRUE if the object has the focus, @c EINA_FALSE otherwis
e. | | * @return @c EINA_TRUE if the object has the focus, @c EINA_FALSE otherwis
e. | |
| * | | * | |
| * If the passed object is the currently focused one, @c EINA_TRUE is | | * If the passed object is the currently focused one, @c EINA_TRUE is | |
| * returned. @c EINA_FALSE is returned, otherwise. | | * returned. @c EINA_FALSE is returned, otherwise. | |
| * | | * | |
| | | | |
| skipping to change at line 3147 | | skipping to change at line 3175 | |
| * @skip And again | | * @skip And again | |
| * @until something is bad | | * @until something is bad | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
| * @see evas_object_focus_set | | * @see evas_object_focus_set | |
| * @see evas_focus_get | | * @see evas_focus_get | |
| * @see evas_object_key_grab | | * @see evas_object_key_grab | |
| * @see evas_object_key_ungrab | | * @see evas_object_key_ungrab | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_focus_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_focus_get(const Evas_Object *obj) EINA_WA
RN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
|
| * Sets the layer of the its canvas that the given object will be part | | * Sets the layer of its canvas that the given object will be part of. | |
| * of. | | | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param l The number of the layer to place the object on. | | * @param l The number of the layer to place the object on. | |
| * Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX. | | * Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX. | |
| * | | * | |
| * If you don't use this function, you'll be dealing with an @b unique | | * If you don't use this function, you'll be dealing with an @b unique | |
| * layer of objects, the default one. Additional layers are handy when | | * layer of objects, the default one. Additional layers are handy when | |
| * you don't want a set of objects to interfere with another set with | | * you don't want a set of objects to interfere with another set with | |
| * regard to @b stacking. Two layers are completely disjoint in that | | * regard to @b stacking. Two layers are completely disjoint in that | |
| * matter. | | * matter. | |
| * | | * | |
| * This is a low-level function, which you'd be using when something | | * This is a low-level function, which you'd be using when something | |
| * should be always on top, for example. | | * should be always on top, for example. | |
| * | | * | |
| * @warning Be careful, it doesn't make sense to change the layer of | | * @warning Be careful, it doesn't make sense to change the layer of | |
| * smart objects' children. Smart objects have a layer of their own, | | * smart objects' children. Smart objects have a layer of their own, | |
| * which should contain all their children objects. | | * which should contain all their children objects. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| */ | | */ | |
|
| EAPI void evas_object_layer_set (Evas_Object *obj,
short l) EINA_ARG_NONNULL(1); | | EAPI void evas_object_layer_set(Evas_Object *obj, short l) EINA
_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the layer of its canvas that the given object is part of. | | * Retrieves the layer of its canvas that the given object is part of. | |
| * | | * | |
| * @param obj The given Evas object to query layer from | | * @param obj The given Evas object to query layer from | |
|
| * @return Number of the its layer | | * @return Number of its layer | |
| * | | * | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| */ | | */ | |
|
| EAPI short evas_object_layer_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI short evas_object_layer_get(const Evas_Object *obj) EINA_WA
RN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the name of the given Evas object to the given name. | | * Sets the name of the given Evas object to the given name. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @param name The given name. | | * @param name The given name. | |
| * | | * | |
| * There might be occasions where one would like to name his/her | | * There might be occasions where one would like to name his/her | |
| * objects. | | * objects. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip d.bg = evas_object_rectangle_add(d.canvas); | | * @skip d.bg = evas_object_rectangle_add(d.canvas); | |
| * @until evas_object_name_set(d.bg, "our dear rectangle"); | | * @until evas_object_name_set(d.bg, "our dear rectangle"); | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| */ | | */ | |
|
| EAPI void evas_object_name_set (Evas_Object *obj,
const char *name) EINA_ARG_NONNULL(1); | | EAPI void evas_object_name_set(Evas_Object *obj, const char *na
me) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the name of the given Evas object. | | * Retrieves the name of the given Evas object. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @return The name of the object or @c NULL, if no name has been given | | * @return The name of the object or @c NULL, if no name has been given | |
| * to it. | | * to it. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip fprintf(stdout, "An object got focused: %s\n", | | * @skip fprintf(stdout, "An object got focused: %s\n", | |
| * @until evas_focus_get | | * @until evas_focus_get | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| */ | | */ | |
|
| EAPI const char *evas_object_name_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_object_name_get(const Evas_Object *obj) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Increments object reference count to defer its deletion. | | * Increments object reference count to defer its deletion. | |
| * | | * | |
| * @param obj The given Evas object to reference | | * @param obj The given Evas object to reference | |
| * | | * | |
| * This increments the reference count of an object, which if greater | | * This increments the reference count of an object, which if greater | |
| * than 0 will defer deletion by evas_object_del() until all | | * than 0 will defer deletion by evas_object_del() until all | |
| * references are released back (counter back to 0). References cannot | | * references are released back (counter back to 0). References cannot | |
| * go below 0 and unreferencing past that will result in the reference | | * go below 0 and unreferencing past that will result in the reference | |
| | | | |
| skipping to change at line 3254 | | skipping to change at line 3281 | |
| * @code | | * @code | |
| * evas_object_ref(obj); | | * evas_object_ref(obj); | |
| * | | * | |
| * // action here... | | * // action here... | |
| * evas_object_smart_callback_call(obj, SIG_SELECTED, NULL); | | * evas_object_smart_callback_call(obj, SIG_SELECTED, NULL); | |
| * // more action here... | | * // more action here... | |
| * evas_object_unref(obj); | | * evas_object_unref(obj); | |
| * @endcode | | * @endcode | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_ref (Evas_Object *obj)
; | | EAPI void evas_object_ref(Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Decrements object reference count. | | * Decrements object reference count. | |
| * | | * | |
| * @param obj The given Evas object to unreference | | * @param obj The given Evas object to unreference | |
| * | | * | |
| * This decrements the reference count of an object. If the object has | | * This decrements the reference count of an object. If the object has | |
| * had evas_object_del() called on it while references were more than | | * had evas_object_del() called on it while references were more than | |
| * 0, it will be deleted at the time this function is called and puts | | * 0, it will be deleted at the time this function is called and puts | |
| * the counter back to 0. See evas_object_ref() for more information. | | * the counter back to 0. See evas_object_ref() for more information. | |
| * | | * | |
| * @see evas_object_ref() (for an example) | | * @see evas_object_ref() (for an example) | |
| * @see evas_object_del() | | * @see evas_object_del() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_unref (Evas_Object *obj)
; | | EAPI void evas_object_unref(Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Get the object reference count. | | * Get the object reference count. | |
| * | | * | |
| * @param obj The given Evas object to query | | * @param obj The given Evas object to query | |
| * | | * | |
| * This gets the reference count for an object (normally 0 until it is | | * This gets the reference count for an object (normally 0 until it is | |
| * referenced). Values of 1 or greater mean that someone is holding a | | * referenced). Values of 1 or greater mean that someone is holding a | |
| * reference to this object that needs to be unreffed before it can be | | * reference to this object that needs to be unreffed before it can be | |
| * deleted. | | * deleted. | |
| * | | * | |
| * @see evas_object_ref() | | * @see evas_object_ref() | |
| * @see evas_object_unref() | | * @see evas_object_unref() | |
| * @see evas_object_del() | | * @see evas_object_del() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI int evas_object_ref_get (const Evas_Object
*obj); | | EAPI int evas_object_ref_get(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Marks the given Evas object for deletion (when Evas will free its | | * Marks the given Evas object for deletion (when Evas will free its | |
| * memory). | | * memory). | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * | | * | |
| * This call will mark @p obj for deletion, which will take place | | * This call will mark @p obj for deletion, which will take place | |
| * whenever it has no more references to it (see evas_object_ref() and | | * whenever it has no more references to it (see evas_object_ref() and | |
| * evas_object_unref()). | | * evas_object_unref()). | |
| | | | |
| skipping to change at line 3315 | | skipping to change at line 3342 | |
| * At actual deletion time, which may or may not be just after this | | * At actual deletion time, which may or may not be just after this | |
| * call, ::EVAS_CALLBACK_DEL and ::EVAS_CALLBACK_FREE callbacks will | | * call, ::EVAS_CALLBACK_DEL and ::EVAS_CALLBACK_FREE callbacks will | |
| * be called. If the object currently had the focus, its | | * be called. If the object currently had the focus, its | |
| * ::EVAS_CALLBACK_FOCUS_OUT callback will also be called. | | * ::EVAS_CALLBACK_FOCUS_OUT callback will also be called. | |
| * | | * | |
| * @see evas_object_ref() | | * @see evas_object_ref() | |
| * @see evas_object_unref() | | * @see evas_object_unref() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_del (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_del(Evas_Object *obj) EINA_ARG_NONNULL(1)
; | |
| | | | |
| /** | | /** | |
| * Move the given Evas object to the given location inside its | | * Move the given Evas object to the given location inside its | |
| * canvas' viewport. | | * canvas' viewport. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param x X position to move the object to, in canvas units. | | * @param x X position to move the object to, in canvas units. | |
| * @param y Y position to move the object to, in canvas units. | | * @param y Y position to move the object to, in canvas units. | |
| * | | * | |
| * Besides being moved, the object's ::EVAS_CALLBACK_MOVE callback | | * Besides being moved, the object's ::EVAS_CALLBACK_MOVE callback | |
| | | | |
| skipping to change at line 3340 | | skipping to change at line 3367 | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip evas_object_image_border_set(d.clipper_border, 3, 3, 3, 3); | | * @skip evas_object_image_border_set(d.clipper_border, 3, 3, 3, 3); | |
| * @until evas_object_show | | * @until evas_object_show | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_move (Evas_Object *obj,
Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_move(Evas_Object *obj, Evas_Coord x, Evas
_Coord y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Changes the size of the given Evas object. | | * Changes the size of the given Evas object. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param w The new width of the Evas object. | | * @param w The new width of the Evas object. | |
| * @param h The new height of the Evas object. | | * @param h The new height of the Evas object. | |
| * | | * | |
| * Besides being resized, the object's ::EVAS_CALLBACK_RESIZE callback | | * Besides being resized, the object's ::EVAS_CALLBACK_RESIZE callback | |
| * will be called. | | * will be called. | |
| | | | |
| skipping to change at line 3376 | | skipping to change at line 3403 | |
| * example: | | * example: | |
| * | | * | |
| * @code | | * @code | |
| * // rescale image to fill exactly its area without tiling: | | * // rescale image to fill exactly its area without tiling: | |
| * evas_object_resize(img, w, h); | | * evas_object_resize(img, w, h); | |
| * evas_object_image_fill_set(img, 0, 0, w, h); | | * evas_object_image_fill_set(img, 0, 0, w, h); | |
| * @endcode | | * @endcode | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_resize (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_resize(Evas_Object *obj, Evas_Coord w, Ev
as_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the position and (rectangular) size of the given Evas | | * Retrieves the position and (rectangular) size of the given Evas | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param x Pointer to an integer in which to store the X coordinate | | * @param x Pointer to an integer in which to store the X coordinate | |
| * of the object. | | * of the object. | |
| * @param y Pointer to an integer in which to store the Y coordinate | | * @param y Pointer to an integer in which to store the Y coordinate | |
| * of the object. | | * of the object. | |
| | | | |
| skipping to change at line 3407 | | skipping to change at line 3434 | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip int w, h, cw, ch; | | * @skip int w, h, cw, ch; | |
| * @until return | | * @until return | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_geometry_get (const Evas_Object
*obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG
_NONNULL(1); | | EAPI void evas_object_geometry_get(const Evas_Object *obj, Evas
_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)
; | |
| | | | |
| /** | | /** | |
| * Makes the given Evas object visible. | | * Makes the given Evas object visible. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * | | * | |
| * Besides becoming visible, the object's ::EVAS_CALLBACK_SHOW | | * Besides becoming visible, the object's ::EVAS_CALLBACK_SHOW | |
| * callback will be called. | | * callback will be called. | |
| * | | * | |
| * @see evas_object_hide() for more on object visibility. | | * @see evas_object_hide() for more on object visibility. | |
| * @see evas_object_visible_get() | | * @see evas_object_visible_get() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_show (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_show(Evas_Object *obj) EINA_ARG_NONNULL(1
); | |
| | | | |
| /** | | /** | |
| * Makes the given Evas object invisible. | | * Makes the given Evas object invisible. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * | | * | |
| * Hidden objects, besides not being shown at all in your canvas, | | * Hidden objects, besides not being shown at all in your canvas, | |
| * won't be checked for changes on the canvas rendering | | * won't be checked for changes on the canvas rendering | |
| * process. Furthermore, they will not catch input events. Thus, they | | * process. Furthermore, they will not catch input events. Thus, they | |
| * are much ligher (in processing needs) than an object that is | | * are much ligher (in processing needs) than an object that is | |
| | | | |
| skipping to change at line 3454 | | skipping to change at line 3481 | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip if (evas_object_visible_get(d.clipper)) | | * @skip if (evas_object_visible_get(d.clipper)) | |
| * @until return | | * @until return | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_hide (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_hide(Evas_Object *obj) EINA_ARG_NONNULL(1
); | |
| | | | |
| /** | | /** | |
| * Retrieves whether or not the given Evas object is visible. | | * Retrieves whether or not the given Evas object is visible. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE | | * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE | |
| * otherwise. | | * otherwise. | |
| * | | * | |
| * This retrieves an object's visibility as the one enforced by | | * This retrieves an object's visibility as the one enforced by | |
| * evas_object_show() and evas_object_hide(). | | * evas_object_show() and evas_object_hide(). | |
| * | | * | |
| * @note The value returned isn't, by any means, influenced by | | * @note The value returned isn't, by any means, influenced by | |
| * clippers covering @p obj, it being out of its canvas' viewport or | | * clippers covering @p obj, it being out of its canvas' viewport or | |
| * stacked below other object. | | * stacked below other object. | |
| * | | * | |
| * @see evas_object_show() | | * @see evas_object_show() | |
| * @see evas_object_hide() (for an example) | | * @see evas_object_hide() (for an example) | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_visible_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_visible_get(const Evas_Object *obj) EINA_
WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the general/main color of the given Evas object to the given | | * Sets the general/main color of the given Evas object to the given | |
| * one. | | * one. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param r The red component of the given color. | | * @param r The red component of the given color. | |
| * @param g The green component of the given color. | | * @param g The green component of the given color. | |
| * @param b The blue component of the given color. | | * @param b The blue component of the given color. | |
| * @param a The alpha component of the given color. | | * @param a The alpha component of the given color. | |
| * | | * | |
| * @see evas_object_color_get() (for an example) | | * @see evas_object_color_get() (for an example) | |
| * @note These color values are expected to be premultiplied by @p a. | | * @note These color values are expected to be premultiplied by @p a. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_color_set (Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_color_set(Evas_Object *obj, int r, int g,
int b, int a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the general/main color of the given Evas object. | | * Retrieves the general/main color of the given Evas object. | |
| * | | * | |
| * @param obj The given Evas object to retrieve color from. | | * @param obj The given Evas object to retrieve color from. | |
| * @param r Pointer to an integer in which to store the red component | | * @param r Pointer to an integer in which to store the red component | |
| * of the color. | | * of the color. | |
| * @param g Pointer to an integer in which to store the green | | * @param g Pointer to an integer in which to store the green | |
| * component of the color. | | * component of the color. | |
| * @param b Pointer to an integer in which to store the blue component | | * @param b Pointer to an integer in which to store the blue component | |
| | | | |
| skipping to change at line 3533 | | skipping to change at line 3560 | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip int alpha, r, g, b; | | * @skip int alpha, r, g, b; | |
| * @until return | | * @until return | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI void evas_object_color_get (const Evas_Object
*obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_color_get(const Evas_Object *obj, int *r,
int *g, int *b, int *a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the Evas canvas that the given object lives on. | | * Retrieves the Evas canvas that the given object lives on. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return A pointer to the canvas where the object is on. | | * @return A pointer to the canvas where the object is on. | |
| * | | * | |
| * This function is most useful at code contexts where you need to | | * This function is most useful at code contexts where you need to | |
| * operate on the canvas but have only the object pointer. | | * operate on the canvas but have only the object pointer. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI Evas *evas_object_evas_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas *evas_object_evas_get(const Evas_Object *obj) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the type of the given Evas object. | | * Retrieves the type of the given Evas object. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @return The type of the object. | | * @return The type of the object. | |
| * | | * | |
| * For Evas' builtin types, the return strings will be one of: | | * For Evas' builtin types, the return strings will be one of: | |
| * - <c>"rectangle"</c>, | | * - <c>"rectangle"</c>, | |
| * - <c>"line"</c>, | | * - <c>"line"</c>, | |
| | | | |
| skipping to change at line 3576 | | skipping to change at line 3603 | |
| * - <c>"Evas_Object_Box"</c>, for the box object and | | * - <c>"Evas_Object_Box"</c>, for the box object and | |
| * - <c>"Evas_Object_Table"</c>, for the table object. | | * - <c>"Evas_Object_Table"</c>, for the table object. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip d.img = evas_object_image_filled_add(d.canvas); | | * @skip d.img = evas_object_image_filled_add(d.canvas); | |
| * @until border on the | | * @until border on the | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| */ | | */ | |
|
| EAPI const char *evas_object_type_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_object_type_get(const Evas_Object *obj) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Raise @p obj to the top of its layer. | | * Raise @p obj to the top of its layer. | |
| * | | * | |
| * @param obj the object to raise | | * @param obj the object to raise | |
| * | | * | |
| * @p obj will, then, be the highest one in the layer it belongs | | * @p obj will, then, be the highest one in the layer it belongs | |
| * to. Object on other layers won't get touched. | | * to. Object on other layers won't get touched. | |
| * | | * | |
| * @see evas_object_stack_above() | | * @see evas_object_stack_above() | |
| * @see evas_object_stack_below() | | * @see evas_object_stack_below() | |
| * @see evas_object_lower() | | * @see evas_object_lower() | |
| */ | | */ | |
|
| EAPI void evas_object_raise (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_raise(Evas_Object *obj) EINA_ARG_NONNULL(
1); | |
| | | | |
| /** | | /** | |
| * Lower @p obj to the bottom of its layer. | | * Lower @p obj to the bottom of its layer. | |
| * | | * | |
| * @param obj the object to lower | | * @param obj the object to lower | |
| * | | * | |
| * @p obj will, then, be the lowest one in the layer it belongs | | * @p obj will, then, be the lowest one in the layer it belongs | |
| * to. Objects on other layers won't get touched. | | * to. Objects on other layers won't get touched. | |
| * | | * | |
| * @see evas_object_stack_above() | | * @see evas_object_stack_above() | |
| * @see evas_object_stack_below() | | * @see evas_object_stack_below() | |
| * @see evas_object_raise() | | * @see evas_object_raise() | |
| */ | | */ | |
|
| EAPI void evas_object_lower (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_lower(Evas_Object *obj) EINA_ARG_NONNULL(
1); | |
| | | | |
| /** | | /** | |
| * Stack @p obj immediately above @p above | | * Stack @p obj immediately above @p above | |
| * | | * | |
| * @param obj the object to stack | | * @param obj the object to stack | |
| * @param above the object above which to stack | | * @param above the object above which to stack | |
| * | | * | |
| * Objects, in a given canvas, are stacked in the order they get added | | * Objects, in a given canvas, are stacked in the order they get added | |
| * to it. This means that, if they overlap, the highest ones will | | * to it. This means that, if they overlap, the highest ones will | |
| * cover the lowest ones, in that order. This function is a way to | | * cover the lowest ones, in that order. This function is a way to | |
| | | | |
| skipping to change at line 3632 | | skipping to change at line 3659 | |
| * one of them, then @p above must also be a member of the same | | * one of them, then @p above must also be a member of the same | |
| * smart object. | | * smart object. | |
| * | | * | |
| * Similarly, if @p obj is not a member of a smart object, @p above | | * Similarly, if @p obj is not a member of a smart object, @p above | |
| * must not be either. | | * must not be either. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_stack_below() | | * @see evas_object_stack_below() | |
| */ | | */ | |
|
| EAPI void evas_object_stack_above (Evas_Object *obj,
Evas_Object *above) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_stack_above(Evas_Object *obj, Evas_Object
*above) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Stack @p obj immediately below @p below | | * Stack @p obj immediately below @p below | |
| * | | * | |
| * @param obj the object to stack | | * @param obj the object to stack | |
| * @param below the object below which to stack | | * @param below the object below which to stack | |
| * | | * | |
| * Objects, in a given canvas, are stacked in the order they get added | | * Objects, in a given canvas, are stacked in the order they get added | |
| * to it. This means that, if they overlap, the highest ones will | | * to it. This means that, if they overlap, the highest ones will | |
| * cover the lowest ones, in that order. This function is a way to | | * cover the lowest ones, in that order. This function is a way to | |
| | | | |
| skipping to change at line 3660 | | skipping to change at line 3687 | |
| * one of them, then @p below must also be a member of the same | | * one of them, then @p below must also be a member of the same | |
| * smart object. | | * smart object. | |
| * | | * | |
| * Similarly, if @p obj is not a member of a smart object, @p below | | * Similarly, if @p obj is not a member of a smart object, @p below | |
| * must not be either. | | * must not be either. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_stack_below() | | * @see evas_object_stack_below() | |
| */ | | */ | |
|
| EAPI void evas_object_stack_below (Evas_Object *obj,
Evas_Object *below) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_stack_below(Evas_Object *obj, Evas_Object
*below) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get the Evas object stacked right above @p obj | | * Get the Evas object stacked right above @p obj | |
| * | | * | |
| * @param obj an #Evas_Object | | * @param obj an #Evas_Object | |
| * @return the #Evas_Object directly above @p obj, if any, or @c NULL, | | * @return the #Evas_Object directly above @p obj, if any, or @c NULL, | |
| * if none | | * if none | |
| * | | * | |
| * This function will traverse layers in its search, if there are | | * This function will traverse layers in its search, if there are | |
| * objects on layers above the one @p obj is placed at. | | * objects on layers above the one @p obj is placed at. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| * | | * | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_above_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_above_get(const Evas_Object *obj) EINA_WA
RN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the Evas object stacked right below @p obj | | * Get the Evas object stacked right below @p obj | |
| * | | * | |
| * @param obj an #Evas_Object | | * @param obj an #Evas_Object | |
| * @return the #Evas_Object directly below @p obj, if any, or @c NULL, | | * @return the #Evas_Object directly below @p obj, if any, or @c NULL, | |
| * if none | | * if none | |
| * | | * | |
| * This function will traverse layers in its search, if there are | | * This function will traverse layers in its search, if there are | |
| * objects on layers below the one @p obj is placed at. | | * objects on layers below the one @p obj is placed at. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_below_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_below_get(const Evas_Object *obj) EINA_WA
RN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Events Object Events | | * @defgroup Evas_Object_Group_Events Object Events | |
| * | | * | |
| * Objects generate events when they are moved, resized, when their | | * Objects generate events when they are moved, resized, when their | |
| * visibility change, when they are deleted and so on. These methods | | * visibility change, when they are deleted and so on. These methods | |
| | | | |
| skipping to change at line 3918 | | skipping to change at line 3945 | |
| * sense if you passed different functions and/or callback data, only. | | * sense if you passed different functions and/or callback data, only. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip evas_object_event_callback_add( | | * @skip evas_object_event_callback_add( | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_event_callback_add (Evas_Object *
obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
EINA_ARG_NONNULL(1, 3); | | EAPI void evas_object_event_callback_add(Evas_Object *obj, Evas_Callba
ck_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL
(1, 3); | |
| | | | |
| /** | | /** | |
| * Add (register) a callback function to a given Evas object event with a | | * Add (register) a callback function to a given Evas object event with a | |
| * non-default priority set. Except for the priority field, it's exactly th
e | | * non-default priority set. Except for the priority field, it's exactly th
e | |
| * same as @ref evas_object_event_callback_add | | * same as @ref evas_object_event_callback_add | |
| * | | * | |
| * @param obj Object to attach a callback to | | * @param obj Object to attach a callback to | |
| * @param type The type of event that will trigger the callback | | * @param type The type of event that will trigger the callback | |
| * @param priority The priority of the callback, lower values called first. | | * @param priority The priority of the callback, lower values called first. | |
| * @param func The function to be called when the event is triggered | | * @param func The function to be called when the event is triggered | |
| * @param data The data pointer to be passed to @p func | | * @param data The data pointer to be passed to @p func | |
| * | | * | |
| * @see evas_object_event_callback_add | | * @see evas_object_event_callback_add | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_event_callback_priority_add(Evas_Obje
ct *obj, Evas_Callback_Type type, Evas_Callback_Priority priority, Evas_Obj
ect_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 4); | | EAPI void evas_object_event_callback_priority_add(Evas_Object *obj, Ev
as_Callback_Type type, Evas_Callback_Priority priority, Evas_Object_Event_C
b func, const void *data) EINA_ARG_NONNULL(1, 4); | |
| | | | |
| /** | | /** | |
| * Delete a callback function from an object | | * Delete a callback function from an object | |
| * | | * | |
| * @param obj Object to remove a callback from | | * @param obj Object to remove a callback from | |
| * @param type The type of event that was triggering the callback | | * @param type The type of event that was triggering the callback | |
| * @param func The function that was to be called when the event was trigge
red | | * @param func The function that was to be called when the event was trigge
red | |
| * @return The data pointer that was to be passed to the callback | | * @return The data pointer that was to be passed to the callback | |
| * | | * | |
| * This function removes the most recently added callback from the | | * This function removes the most recently added callback from the | |
| | | | |
| skipping to change at line 3960 | | skipping to change at line 3987 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas_Object *object; | | * extern Evas_Object *object; | |
| * void *my_data; | | * void *my_data; | |
| * void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info
); | | * void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info
); | |
| * | | * | |
| * my_data = evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP,
up_callback); | | * my_data = evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP,
up_callback); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void *evas_object_event_callback_del (Evas_Object *obj
, Evas_Callback_Type type, Evas_Object_Event_Cb func) EINA_ARG_NONNULL(1, 3
); | | EAPI void *evas_object_event_callback_del(Evas_Object *obj, Evas_Callba
ck_Type type, Evas_Object_Event_Cb func) EINA_ARG_NONNULL(1, 3); | |
| | | | |
| /** | | /** | |
| * Delete (unregister) a callback function registered to a given | | * Delete (unregister) a callback function registered to a given | |
| * Evas object event. | | * Evas object event. | |
| * | | * | |
| * @param obj Object to remove a callback from | | * @param obj Object to remove a callback from | |
| * @param type The type of event that was triggering the callback | | * @param type The type of event that was triggering the callback | |
| * @param func The function that was to be called when the event was | | * @param func The function that was to be called when the event was | |
| * triggered | | * triggered | |
| * @param data The data pointer that was to be passed to the callback | | * @param data The data pointer that was to be passed to the callback | |
| | | | |
| skipping to change at line 3994 | | skipping to change at line 4021 | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas_Object *object; | | * extern Evas_Object *object; | |
| * void *my_data; | | * void *my_data; | |
| * void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info
); | | * void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info
); | |
| * | | * | |
| * my_data = evas_object_event_callback_del_full(object, EVAS_CALLBACK_MOUS
E_UP, up_callback, data); | | * my_data = evas_object_event_callback_del_full(object, EVAS_CALLBACK_MOUS
E_UP, up_callback, data); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void *evas_object_event_callback_del_full(Evas_Object *obj
, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) EIN
A_ARG_NONNULL(1, 3); | | EAPI void *evas_object_event_callback_del_full(Evas_Object *obj, Evas_C
allback_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NO
NNULL(1, 3); | |
| | | | |
| /** | | /** | |
| * Set whether an Evas object is to pass (ignore) events. | | * Set whether an Evas object is to pass (ignore) events. | |
| * | | * | |
| * @param obj the Evas object to operate on | | * @param obj the Evas object to operate on | |
| * @param pass whether @p obj is to pass events (@c EINA_TRUE) or not | | * @param pass whether @p obj is to pass events (@c EINA_TRUE) or not | |
| * (@c EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * If @p pass is @c EINA_TRUE, it will make events on @p obj to be @b | | * If @p pass is @c EINA_TRUE, it will make events on @p obj to be @b | |
| * ignored. They will be triggered on the @b next lower object (that | | * ignored. They will be triggered on the @b next lower object (that | |
| * is not set to pass events), instead (see evas_object_below_get()). | | * is not set to pass events), instead (see evas_object_below_get()). | |
| * | | * | |
| * If @p pass is @c EINA_FALSE, events will be processed on that | | * If @p pass is @c EINA_FALSE, events will be processed on that | |
| * object as normal. | | * object as normal. | |
| * | | * | |
| * @see evas_object_pass_events_get() for an example | | * @see evas_object_pass_events_get() for an example | |
| * @see evas_object_repeat_events_set() | | * @see evas_object_repeat_events_set() | |
| * @see evas_object_propagate_events_set() | | * @see evas_object_propagate_events_set() | |
| * @see evas_object_freeze_events_set() | | * @see evas_object_freeze_events_set() | |
| */ | | */ | |
|
| EAPI void evas_object_pass_events_set (Evas_Object *obj
, Eina_Bool pass) EINA_ARG_NONNULL(1); | | EAPI void evas_object_pass_events_set(Evas_Object *obj, Eina_Bool pass
) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Determine whether an object is set to pass (ignore) events. | | * Determine whether an object is set to pass (ignore) events. | |
| * | | * | |
| * @param obj the Evas object to get information from. | | * @param obj the Evas object to get information from. | |
| * @return pass whether @p obj is set to pass events (@c EINA_TRUE) or not | | * @return pass whether @p obj is set to pass events (@c EINA_TRUE) or not | |
| * (@c EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-stacking.c | | * @dontinclude evas-stacking.c | |
| * @skip if (strcmp(ev->keyname, "p") == 0) | | * @skip if (strcmp(ev->keyname, "p") == 0) | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full @ref Example_Evas_Stacking "example". | | * See the full @ref Example_Evas_Stacking "example". | |
| * | | * | |
| * @see evas_object_pass_events_set() | | * @see evas_object_pass_events_set() | |
| * @see evas_object_repeat_events_get() | | * @see evas_object_repeat_events_get() | |
| * @see evas_object_propagate_events_get() | | * @see evas_object_propagate_events_get() | |
| * @see evas_object_freeze_events_get() | | * @see evas_object_freeze_events_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_pass_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_pass_events_get(const Evas_Object *obj) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether an Evas object is to repeat events. | | * Set whether an Evas object is to repeat events. | |
| * | | * | |
| * @param obj the Evas object to operate on | | * @param obj the Evas object to operate on | |
| * @param repeat whether @p obj is to repeat events (@c EINA_TRUE) or not | | * @param repeat whether @p obj is to repeat events (@c EINA_TRUE) or not | |
| * (@c EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * If @p repeat is @c EINA_TRUE, it will make events on @p obj to also | | * If @p repeat is @c EINA_TRUE, it will make events on @p obj to also | |
| * be repeated for the @b next lower object in the objects' stack (see | | * be repeated for the @b next lower object in the objects' stack (see | |
| | | | |
| skipping to change at line 4064 | | skipping to change at line 4091 | |
| * @skip if (strcmp(ev->keyname, "r") == 0) | | * @skip if (strcmp(ev->keyname, "r") == 0) | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full @ref Example_Evas_Stacking "example". | | * See the full @ref Example_Evas_Stacking "example". | |
| * | | * | |
| * @see evas_object_repeat_events_get() | | * @see evas_object_repeat_events_get() | |
| * @see evas_object_pass_events_set() | | * @see evas_object_pass_events_set() | |
| * @see evas_object_propagate_events_set() | | * @see evas_object_propagate_events_set() | |
| * @see evas_object_freeze_events_set() | | * @see evas_object_freeze_events_set() | |
| */ | | */ | |
|
| EAPI void evas_object_repeat_events_set (Evas_Object *obj
, Eina_Bool repeat) EINA_ARG_NONNULL(1); | | EAPI void evas_object_repeat_events_set(Evas_Object *obj, Eina_Bool re
peat) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Determine whether an object is set to repeat events. | | * Determine whether an object is set to repeat events. | |
| * | | * | |
| * @param obj the given Evas object pointer | | * @param obj the given Evas object pointer | |
| * @return whether @p obj is set to repeat events (@c EINA_TRUE) | | * @return whether @p obj is set to repeat events (@c EINA_TRUE) | |
| * or not (@c EINA_FALSE) | | * or not (@c EINA_FALSE) | |
| * | | * | |
| * @see evas_object_repeat_events_set() for an example | | * @see evas_object_repeat_events_set() for an example | |
| * @see evas_object_pass_events_get() | | * @see evas_object_pass_events_get() | |
| * @see evas_object_propagate_events_get() | | * @see evas_object_propagate_events_get() | |
| * @see evas_object_freeze_events_get() | | * @see evas_object_freeze_events_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_repeat_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_repeat_events_get(const Evas_Object *obj) EINA_W
ARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether events on a smart object's member should get propagated | | * Set whether events on a smart object's member should get propagated | |
| * up to its parent. | | * up to its parent. | |
| * | | * | |
| * @param obj the smart object's child to operate on | | * @param obj the smart object's child to operate on | |
| * @param prop whether to propagate events (@c EINA_TRUE) or not | | * @param prop whether to propagate events (@c EINA_TRUE) or not | |
| * (@c EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * This function has @b no effect if @p obj is not a member of a smart | | * This function has @b no effect if @p obj is not a member of a smart | |
| | | | |
| skipping to change at line 4102 | | skipping to change at line 4129 | |
| * propagated on to the smart object of which @p obj is a member. If | | * propagated on to the smart object of which @p obj is a member. If | |
| * @p prop is @c EINA_FALSE, events occurring on this object will @b | | * @p prop is @c EINA_FALSE, events occurring on this object will @b | |
| * not be propagated on to the smart object of which @p obj is a | | * not be propagated on to the smart object of which @p obj is a | |
| * member. The default value is @c EINA_TRUE. | | * member. The default value is @c EINA_TRUE. | |
| * | | * | |
| * @see evas_object_propagate_events_get() | | * @see evas_object_propagate_events_get() | |
| * @see evas_object_repeat_events_set() | | * @see evas_object_repeat_events_set() | |
| * @see evas_object_pass_events_set() | | * @see evas_object_pass_events_set() | |
| * @see evas_object_freeze_events_set() | | * @see evas_object_freeze_events_set() | |
| */ | | */ | |
|
| EAPI void evas_object_propagate_events_set (Evas_Object *obj
, Eina_Bool prop) EINA_ARG_NONNULL(1); | | EAPI void evas_object_propagate_events_set(Evas_Object *obj, Eina_Bool
prop) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve whether an Evas object is set to propagate events. | | * Retrieve whether an Evas object is set to propagate events. | |
| * | | * | |
| * @param obj the given Evas object pointer | | * @param obj the given Evas object pointer | |
| * @return whether @p obj is set to propagate events (@c EINA_TRUE) | | * @return whether @p obj is set to propagate events (@c EINA_TRUE) | |
| * or not (@c EINA_FALSE) | | * or not (@c EINA_FALSE) | |
| * | | * | |
| * @see evas_object_propagate_events_set() | | * @see evas_object_propagate_events_set() | |
| * @see evas_object_repeat_events_get() | | * @see evas_object_repeat_events_get() | |
| * @see evas_object_pass_events_get() | | * @see evas_object_pass_events_get() | |
| * @see evas_object_freeze_events_get() | | * @see evas_object_freeze_events_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_propagate_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_propagate_events_get(const Evas_Object *obj) EIN
A_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether an Evas object is to freeze (discard) events. | | * Set whether an Evas object is to freeze (discard) events. | |
| * | | * | |
| * @param obj the Evas object to operate on | | * @param obj the Evas object to operate on | |
| * @param freeze pass whether @p obj is to freeze events (@c EINA_TRUE) or
not | | * @param freeze pass whether @p obj is to freeze events (@c EINA_TRUE) or
not | |
| * (@c EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * If @p freeze is @c EINA_TRUE, it will make events on @p obj to be @b | | * If @p freeze is @c EINA_TRUE, it will make events on @p obj to be @b | |
| * discarded. Unlike evas_object_pass_events_set(), events will not be | | * discarded. Unlike evas_object_pass_events_set(), events will not be | |
| * passed to @b next lower object. This API can be used for blocking | | * passed to @b next lower object. This API can be used for blocking | |
| * events while @p obj is on transiting. | | * events while @p obj is on transiting. | |
| * | | * | |
| * If @p freeze is @c EINA_FALSE, events will be processed on that | | * If @p freeze is @c EINA_FALSE, events will be processed on that | |
| * object as normal. | | * object as normal. | |
| * | | * | |
| * @see evas_object_freeze_events_get() | | * @see evas_object_freeze_events_get() | |
| * @see evas_object_pass_events_set() | | * @see evas_object_pass_events_set() | |
| * @see evas_object_repeat_events_set() | | * @see evas_object_repeat_events_set() | |
| * @see evas_object_propagate_events_set() | | * @see evas_object_propagate_events_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_freeze_events_set(Evas_Object *obj, Eina
_Bool freeze) EINA_ARG_NONNULL(1); | | EAPI void evas_object_freeze_events_set(Evas_Object *obj, Eina_Bool fr
eeze) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Determine whether an object is set to freeze (discard) events. | | * Determine whether an object is set to freeze (discard) events. | |
| * | | * | |
| * @param obj the Evas object to get information from. | | * @param obj the Evas object to get information from. | |
| * @return freeze whether @p obj is set to freeze events (@c EINA_TRUE) or | | * @return freeze whether @p obj is set to freeze events (@c EINA_TRUE) or | |
| * not (@c EINA_FALSE) | | * not (@c EINA_FALSE) | |
| * | | * | |
| * @see evas_object_freeze_events_set() | | * @see evas_object_freeze_events_set() | |
| * @see evas_object_pass_events_get() | | * @see evas_object_pass_events_get() | |
| * @see evas_object_repeat_events_get() | | * @see evas_object_repeat_events_get() | |
| * @see evas_object_propagate_events_get() | | * @see evas_object_propagate_events_get() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj
) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj) EINA_W
ARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Map UV Mapping (Rotation, Perspective, 3D...
) | | * @defgroup Evas_Object_Group_Map UV Mapping (Rotation, Perspective, 3D...
) | |
| * | | * | |
| * Evas allows different transformations to be applied to all kinds of | | * Evas allows different transformations to be applied to all kinds of | |
| * objects. These are applied by means of UV mapping. | | * objects. These are applied by means of UV mapping. | |
| | | | |
| skipping to change at line 4328 | | skipping to change at line 4355 | |
| * | | * | |
| * @image html map-rotation-2d-4.png | | * @image html map-rotation-2d-4.png | |
| * @image rtf map-rotation-2d-4.png | | * @image rtf map-rotation-2d-4.png | |
| * @image latex map-rotation-2d-4.eps | | * @image latex map-rotation-2d-4.eps | |
| * | | * | |
| * @subsection subsec-3d 3D Maps | | * @subsection subsec-3d 3D Maps | |
| * | | * | |
| * Maps can also be used to achieve the effect of 3-dimensionality. When do
ing | | * Maps can also be used to achieve the effect of 3-dimensionality. When do
ing | |
| * this, the @c z coordinate of each point counts, with higher values meani
ng | | * this, the @c z coordinate of each point counts, with higher values meani
ng | |
| * the point is further into the screen, and smaller values (negative, usua
lly) | | * the point is further into the screen, and smaller values (negative, usua
lly) | |
|
| * meaning the point is closwer towards the user. | | * meaning the point is closer towards the user. | |
| * | | * | |
| * Thinking in 3D also introduces the concept of back-face of an object. An | | * Thinking in 3D also introduces the concept of back-face of an object. An | |
| * object is said to be facing the user when all its points are placed in a | | * object is said to be facing the user when all its points are placed in a | |
| * clockwise fashion. The next image shows this, with each point showing th
e | | * clockwise fashion. The next image shows this, with each point showing th
e | |
| * with which is identified within the map. | | * with which is identified within the map. | |
| * | | * | |
| * @image html map-point-order-face.png | | * @image html map-point-order-face.png | |
| * @image rtf map-point-order-face.png | | * @image rtf map-point-order-face.png | |
| * @image latex map-point-order-face.eps | | * @image latex map-point-order-face.eps | |
| * | | * | |
| | | | |
| skipping to change at line 4506 | | skipping to change at line 4533 | |
| * On enable, the object geometry will be saved, and the new geometry will | | * On enable, the object geometry will be saved, and the new geometry will | |
| * change (position and size) to reflect the map geometry set. | | * change (position and size) to reflect the map geometry set. | |
| * | | * | |
| * If the object doesn't have a map set (with evas_object_map_set()), the | | * If the object doesn't have a map set (with evas_object_map_set()), the | |
| * initial geometry will be undefined. It is advised to always set a map | | * initial geometry will be undefined. It is advised to always set a map | |
| * to the object first, and then call this function to enable its use. | | * to the object first, and then call this function to enable its use. | |
| * | | * | |
| * @param obj object to enable the map on | | * @param obj object to enable the map on | |
| * @param enabled enabled state | | * @param enabled enabled state | |
| */ | | */ | |
|
| EAPI void evas_object_map_enable_set (Evas_Object *obj,
Eina_Bool enabled); | | EAPI void evas_object_map_enable_set(Evas_Object *obj, Eina_Bool
enabled); | |
| | | | |
| /** | | /** | |
| * Get the map enabled state | | * Get the map enabled state | |
| * | | * | |
| * This returns the currently enabled state of the map on the object indica
ted. | | * This returns the currently enabled state of the map on the object indica
ted. | |
| * The default map enable state is off. You can enable and disable it with | | * The default map enable state is off. You can enable and disable it with | |
| * evas_object_map_enable_set(). | | * evas_object_map_enable_set(). | |
| * | | * | |
| * @param obj object to get the map enabled state from | | * @param obj object to get the map enabled state from | |
| * @return the map enabled state | | * @return the map enabled state | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_map_enable_get (const Evas_Object | | EAPI Eina_Bool evas_object_map_enable_get(const Evas_Object *obj); | |
| *obj); | | | |
| | | | |
| /** | | | |
| * Set the map source object | | | |
| * | | | |
| * This sets the object from which the map is taken - can be any object tha | | | |
| t | | | |
| * has map enabled on it. | | | |
| * | | | |
| * Currently not implemented. for future use. | | | |
| * | | | |
| * @param obj object to set the map source of | | | |
| * @param src the source object from which the map is taken | | | |
| */ | | | |
| EAPI void evas_object_map_source_set (Evas_Object *obj, | | | |
| Evas_Object *src); | | | |
| | | | |
| /** | | | |
| * Get the map source object | | | |
| * | | | |
| * @param obj object to set the map source of | | | |
| * @return the object set as the source | | | |
| * | | | |
| * @see evas_object_map_source_set() | | | |
| */ | | | |
| EAPI Evas_Object *evas_object_map_source_get (const Evas_Object | | | |
| *obj); | | | |
| | | | |
| /** | | /** | |
| * Set current object transformation map. | | * Set current object transformation map. | |
| * | | * | |
| * This sets the map on a given object. It is copied from the @p map pointe
r, | | * This sets the map on a given object. It is copied from the @p map pointe
r, | |
| * so there is no need to keep the @p map object if you don't need it anymo
re. | | * so there is no need to keep the @p map object if you don't need it anymo
re. | |
| * | | * | |
| * A map is a set of 4 points which have canvas x, y coordinates per point, | | * A map is a set of 4 points which have canvas x, y coordinates per point, | |
| * with an optional z point value as a hint for perspective correction, if
it | | * with an optional z point value as a hint for perspective correction, if
it | |
| * is available. As well each point has u and v coordinates. These are like | | * is available. As well each point has u and v coordinates. These are like | |
| | | | |
| skipping to change at line 4582 | | skipping to change at line 4586 | |
| * | | * | |
| * Note that the map points a uv coordinates match the image geometry. If | | * Note that the map points a uv coordinates match the image geometry. If | |
| * the @p map parameter is NULL, the stored map will be freed and geometry | | * the @p map parameter is NULL, the stored map will be freed and geometry | |
| * prior to enabling/setting a map will be restored. | | * prior to enabling/setting a map will be restored. | |
| * | | * | |
| * @param obj object to change transformation map | | * @param obj object to change transformation map | |
| * @param map new map to use | | * @param map new map to use | |
| * | | * | |
| * @see evas_map_new() | | * @see evas_map_new() | |
| */ | | */ | |
|
| EAPI void evas_object_map_set (Evas_Object *obj,
const Evas_Map *map); | | EAPI void evas_object_map_set(Evas_Object *obj, const Evas_Map *
map); | |
| | | | |
| /** | | /** | |
| * Get current object transformation map. | | * Get current object transformation map. | |
| * | | * | |
| * This returns the current internal map set on the indicated object. It is | | * This returns the current internal map set on the indicated object. It is | |
| * intended for read-only access and is only valid as long as the object is | | * intended for read-only access and is only valid as long as the object is | |
| * not deleted or the map on the object is not changed. If you wish to modi
fy | | * not deleted or the map on the object is not changed. If you wish to modi
fy | |
| * the map and set it back do the following: | | * the map and set it back do the following: | |
| * | | * | |
| * @code | | * @code | |
| | | | |
| skipping to change at line 4606 | | skipping to change at line 4610 | |
| * evas_object_map_set(obj); | | * evas_object_map_set(obj); | |
| * evas_map_free(m2); | | * evas_map_free(m2); | |
| * @endcode | | * @endcode | |
| * | | * | |
| * @param obj object to query transformation map. | | * @param obj object to query transformation map. | |
| * @return map reference to map in use. This is an internal data structure,
so | | * @return map reference to map in use. This is an internal data structure,
so | |
| * do not modify it. | | * do not modify it. | |
| * | | * | |
| * @see evas_object_map_set() | | * @see evas_object_map_set() | |
| */ | | */ | |
|
| EAPI const Evas_Map *evas_object_map_get (const Evas_Object
*obj); | | EAPI const Evas_Map *evas_object_map_get(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Populate source and destination map points to match exactly object. | | * Populate source and destination map points to match exactly object. | |
| * | | * | |
| * Usually one initialize map of an object to match it's original | | * Usually one initialize map of an object to match it's original | |
| * position and size, then transform these with evas_map_util_* | | * position and size, then transform these with evas_map_util_* | |
| * functions, such as evas_map_util_rotate() or | | * functions, such as evas_map_util_rotate() or | |
| * evas_map_util_3d_rotate(). The original set is done by this | | * evas_map_util_3d_rotate(). The original set is done by this | |
| * function, avoiding code duplication all around. | | * function, avoiding code duplication all around. | |
| * | | * | |
| * @param m map to change all 4 points (must be of size 4). | | * @param m map to change all 4 points (must be of size 4). | |
| * @param obj object to use unmapped geometry to populate map coordinates. | | * @param obj object to use unmapped geometry to populate map coordinates. | |
| * @param z Point Z Coordinate hint (pre-perspective transform). This value | | * @param z Point Z Coordinate hint (pre-perspective transform). This value | |
| * will be used for all four points. | | * will be used for all four points. | |
| * | | * | |
| * @see evas_map_util_points_populate_from_object() | | * @see evas_map_util_points_populate_from_object() | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_point_image_uv_set() | | * @see evas_map_point_image_uv_set() | |
| */ | | */ | |
|
| EAPI void evas_map_util_points_populate_from_object_full(Evas_
Map *m, const Evas_Object *obj, Evas_Coord z); | | EAPI void evas_map_util_points_populate_from_object_full(Evas_Ma
p *m, const Evas_Object *obj, Evas_Coord z); | |
| | | | |
| /** | | /** | |
| * Populate source and destination map points to match exactly object. | | * Populate source and destination map points to match exactly object. | |
| * | | * | |
| * Usually one initialize map of an object to match it's original | | * Usually one initialize map of an object to match it's original | |
| * position and size, then transform these with evas_map_util_* | | * position and size, then transform these with evas_map_util_* | |
| * functions, such as evas_map_util_rotate() or | | * functions, such as evas_map_util_rotate() or | |
| * evas_map_util_3d_rotate(). The original set is done by this | | * evas_map_util_3d_rotate(). The original set is done by this | |
| * function, avoiding code duplication all around. | | * function, avoiding code duplication all around. | |
| * | | * | |
| * Z Point coordinate is assumed as 0 (zero). | | * Z Point coordinate is assumed as 0 (zero). | |
| * | | * | |
| * @param m map to change all 4 points (must be of size 4). | | * @param m map to change all 4 points (must be of size 4). | |
| * @param obj object to use unmapped geometry to populate map coordinates. | | * @param obj object to use unmapped geometry to populate map coordinates. | |
| * | | * | |
| * @see evas_map_util_points_populate_from_object_full() | | * @see evas_map_util_points_populate_from_object_full() | |
| * @see evas_map_util_points_populate_from_geometry() | | * @see evas_map_util_points_populate_from_geometry() | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_point_image_uv_set() | | * @see evas_map_point_image_uv_set() | |
| */ | | */ | |
|
| EAPI void evas_map_util_points_populate_from_object (Evas_
Map *m, const Evas_Object *obj); | | EAPI void evas_map_util_points_populate_from_object(Evas_Map *m,
const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Populate source and destination map points to match given geometry. | | * Populate source and destination map points to match given geometry. | |
| * | | * | |
| * Similar to evas_map_util_points_populate_from_object_full(), this | | * Similar to evas_map_util_points_populate_from_object_full(), this | |
| * call takes raw values instead of querying object's unmapped | | * call takes raw values instead of querying object's unmapped | |
| * geometry. The given width will be used to calculate destination | | * geometry. The given width will be used to calculate destination | |
| * points (evas_map_point_coord_set()) and set the image uv | | * points (evas_map_point_coord_set()) and set the image uv | |
| * (evas_map_point_image_uv_set()). | | * (evas_map_point_image_uv_set()). | |
| * | | * | |
| | | | |
| skipping to change at line 4670 | | skipping to change at line 4674 | |
| * @param y Point Y Coordinate | | * @param y Point Y Coordinate | |
| * @param w width to use to calculate second and third points. | | * @param w width to use to calculate second and third points. | |
| * @param h height to use to calculate third and fourth points. | | * @param h height to use to calculate third and fourth points. | |
| * @param z Point Z Coordinate hint (pre-perspective transform). This value | | * @param z Point Z Coordinate hint (pre-perspective transform). This value | |
| * will be used for all four points. | | * will be used for all four points. | |
| * | | * | |
| * @see evas_map_util_points_populate_from_object() | | * @see evas_map_util_points_populate_from_object() | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_point_image_uv_set() | | * @see evas_map_point_image_uv_set() | |
| */ | | */ | |
|
| EAPI void evas_map_util_points_populate_from_geometry (Evas_
Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord
z); | | EAPI void evas_map_util_points_populate_from_geometry(Evas_Map *
m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z); | |
| | | | |
| /** | | /** | |
| * Set color of all points to given color. | | * Set color of all points to given color. | |
| * | | * | |
| * This call is useful to reuse maps after they had 3d lightning or | | * This call is useful to reuse maps after they had 3d lightning or | |
| * any other colorization applied before. | | * any other colorization applied before. | |
| * | | * | |
| * @param m map to change the color of. | | * @param m map to change the color of. | |
| * @param r red (0 - 255) | | * @param r red (0 - 255) | |
| * @param g green (0 - 255) | | * @param g green (0 - 255) | |
| * @param b blue (0 - 255) | | * @param b blue (0 - 255) | |
| * @param a alpha (0 - 255) | | * @param a alpha (0 - 255) | |
| * | | * | |
| * @see evas_map_point_color_set() | | * @see evas_map_point_color_set() | |
| */ | | */ | |
|
| EAPI void evas_map_util_points_color_set (Evas_
Map *m, int r, int g, int b, int a); | | EAPI void evas_map_util_points_color_set(Evas_Map *m, int r, int
g, int b, int a); | |
| | | | |
| /** | | /** | |
| * Change the map to apply the given rotation. | | * Change the map to apply the given rotation. | |
| * | | * | |
| * This rotates the indicated map's coordinates around the center coordinat
e | | * This rotates the indicated map's coordinates around the center coordinat
e | |
| * given by @p cx and @p cy as the rotation center. The points will have th
eir | | * given by @p cx and @p cy as the rotation center. The points will have th
eir | |
| * X and Y coordinates rotated clockwise by @p degrees degrees (360.0 is a | | * X and Y coordinates rotated clockwise by @p degrees degrees (360.0 is a | |
| * full rotation). Negative values for degrees will rotate counter-clockwis
e | | * full rotation). Negative values for degrees will rotate counter-clockwis
e | |
| * by that amount. All coordinates are canvas global coordinates. | | * by that amount. All coordinates are canvas global coordinates. | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
| * @param degrees amount of degrees from 0.0 to 360.0 to rotate. | | * @param degrees amount of degrees from 0.0 to 360.0 to rotate. | |
| * @param cx rotation's center horizontal position. | | * @param cx rotation's center horizontal position. | |
| * @param cy rotation's center vertical position. | | * @param cy rotation's center vertical position. | |
| * | | * | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_util_zoom() | | * @see evas_map_util_zoom() | |
| */ | | */ | |
|
| EAPI void evas_map_util_rotate (Evas_
Map *m, double degrees, Evas_Coord cx, Evas_Coord cy); | | EAPI void evas_map_util_rotate(Evas_Map *m, double degrees, Evas
_Coord cx, Evas_Coord cy); | |
| | | | |
| /** | | /** | |
| * Change the map to apply the given zooming. | | * Change the map to apply the given zooming. | |
| * | | * | |
| * Like evas_map_util_rotate(), this zooms the points of the map from a cen
ter | | * Like evas_map_util_rotate(), this zooms the points of the map from a cen
ter | |
| * point. That center is defined by @p cx and @p cy. The @p zoomx and @p zo
omy | | * point. That center is defined by @p cx and @p cy. The @p zoomx and @p zo
omy | |
| * parameters specify how much to zoom in the X and Y direction respectivel
y. | | * parameters specify how much to zoom in the X and Y direction respectivel
y. | |
| * A value of 1.0 means "don't zoom". 2.0 means "double the size". 0.5 is | | * A value of 1.0 means "don't zoom". 2.0 means "double the size". 0.5 is | |
| * "half the size" etc. All coordinates are canvas global coordinates. | | * "half the size" etc. All coordinates are canvas global coordinates. | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
| * @param zoomx horizontal zoom to use. | | * @param zoomx horizontal zoom to use. | |
| * @param zoomy vertical zoom to use. | | * @param zoomy vertical zoom to use. | |
| * @param cx zooming center horizontal position. | | * @param cx zooming center horizontal position. | |
| * @param cy zooming center vertical position. | | * @param cy zooming center vertical position. | |
| * | | * | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_util_rotate() | | * @see evas_map_util_rotate() | |
| */ | | */ | |
|
| EAPI void evas_map_util_zoom (Evas_
Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy); | | EAPI void evas_map_util_zoom(Evas_Map *m, double zoomx, double z
oomy, Evas_Coord cx, Evas_Coord cy); | |
| | | | |
| /** | | /** | |
| * Rotate the map around 3 axes in 3D | | * Rotate the map around 3 axes in 3D | |
| * | | * | |
| * This will rotate not just around the "Z" axis as in evas_map_util_rotate
() | | * This will rotate not just around the "Z" axis as in evas_map_util_rotate
() | |
| * (which is a convenience call for those only wanting 2D). This will rotat
e | | * (which is a convenience call for those only wanting 2D). This will rotat
e | |
| * around the X, Y and Z axes. The Z axis points "into" the screen with low | | * around the X, Y and Z axes. The Z axis points "into" the screen with low | |
| * values at the screen and higher values further away. The X axis runs fro
m | | * values at the screen and higher values further away. The X axis runs fro
m | |
| * left to right on the screen and the Y axis from top to bottom. Like with | | * left to right on the screen and the Y axis from top to bottom. Like with | |
| * evas_map_util_rotate() you provide a center point to rotate around (in 3
D). | | * evas_map_util_rotate() you provide a center point to rotate around (in 3
D). | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
| * @param dx amount of degrees from 0.0 to 360.0 to rotate around X axis. | | * @param dx amount of degrees from 0.0 to 360.0 to rotate around X axis. | |
| * @param dy amount of degrees from 0.0 to 360.0 to rotate around Y axis. | | * @param dy amount of degrees from 0.0 to 360.0 to rotate around Y axis. | |
| * @param dz amount of degrees from 0.0 to 360.0 to rotate around Z axis. | | * @param dz amount of degrees from 0.0 to 360.0 to rotate around Z axis. | |
| * @param cx rotation's center horizontal position. | | * @param cx rotation's center horizontal position. | |
| * @param cy rotation's center vertical position. | | * @param cy rotation's center vertical position. | |
| * @param cz rotation's center vertical position. | | * @param cz rotation's center vertical position. | |
| */ | | */ | |
|
| EAPI void evas_map_util_3d_rotate (Evas_
Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas
_Coord cz); | | EAPI void evas_map_util_3d_rotate(Evas_Map *m, double dx, double
dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz); | |
| | | | |
| /** | | /** | |
| * Perform lighting calculations on the given Map | | * Perform lighting calculations on the given Map | |
| * | | * | |
| * This is used to apply lighting calculations (from a single light source) | | * This is used to apply lighting calculations (from a single light source) | |
| * to a given map. The R, G and B values of each vertex will be modified to | | * to a given map. The R, G and B values of each vertex will be modified to | |
| * reflect the lighting based on the lixth point coordinates, the light | | * reflect the lighting based on the lixth point coordinates, the light | |
| * color and the ambient color, and at what angle the map is facing the | | * color and the ambient color, and at what angle the map is facing the | |
| * light source. A surface should have its points be declared in a | | * light source. A surface should have its points be declared in a | |
| * clockwise fashion if the face is "facing" towards you (as opposed to | | * clockwise fashion if the face is "facing" towards you (as opposed to | |
| | | | |
| skipping to change at line 4801 | | skipping to change at line 4805 | |
| * @param lx X coordinate in space of light point | | * @param lx X coordinate in space of light point | |
| * @param ly Y coordinate in space of light point | | * @param ly Y coordinate in space of light point | |
| * @param lz Z coordinate in space of light point | | * @param lz Z coordinate in space of light point | |
| * @param lr light red value (0 - 255) | | * @param lr light red value (0 - 255) | |
| * @param lg light green value (0 - 255) | | * @param lg light green value (0 - 255) | |
| * @param lb light blue value (0 - 255) | | * @param lb light blue value (0 - 255) | |
| * @param ar ambient color red value (0 - 255) | | * @param ar ambient color red value (0 - 255) | |
| * @param ag ambient color green value (0 - 255) | | * @param ag ambient color green value (0 - 255) | |
| * @param ab ambient color blue value (0 - 255) | | * @param ab ambient color blue value (0 - 255) | |
| */ | | */ | |
|
| EAPI void evas_map_util_3d_lighting (Evas_
Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb
, int ar, int ag, int ab); | | EAPI void evas_map_util_3d_lighting(Evas_Map *m, Evas_Coord lx,
Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int a
b); | |
| | | | |
| /** | | /** | |
| * Apply a perspective transform to the map | | * Apply a perspective transform to the map | |
| * | | * | |
| * This applies a given perspective (3D) to the map coordinates. X, Y and Z | | * This applies a given perspective (3D) to the map coordinates. X, Y and Z | |
| * values are used. The px and py points specify the "infinite distance" po
int | | * values are used. The px and py points specify the "infinite distance" po
int | |
| * in the 3D conversion (where all lines converge to like when artists draw | | * in the 3D conversion (where all lines converge to like when artists draw | |
| * 3D by hand). The @p z0 value specifies the z value at which there is a 1
:1 | | * 3D by hand). The @p z0 value specifies the z value at which there is a 1
:1 | |
| * mapping between spatial coordinates and screen coordinates. Any points | | * mapping between spatial coordinates and screen coordinates. Any points | |
| * on this z value will not have their X and Y values modified in the trans
form. | | * on this z value will not have their X and Y values modified in the trans
form. | |
| | | | |
| skipping to change at line 4825 | | skipping to change at line 4829 | |
| * between the camera lens plane itself (at or closer than this rendering | | * between the camera lens plane itself (at or closer than this rendering | |
| * results are undefined) and the "z0" z value. This allows for some "depth
" | | * results are undefined) and the "z0" z value. This allows for some "depth
" | |
| * control and @p foc must be greater than 0. | | * control and @p foc must be greater than 0. | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
| * @param px The perspective distance X coordinate | | * @param px The perspective distance X coordinate | |
| * @param py The perspective distance Y coordinate | | * @param py The perspective distance Y coordinate | |
| * @param z0 The "0" z plane value | | * @param z0 The "0" z plane value | |
| * @param foc The focal distance | | * @param foc The focal distance | |
| */ | | */ | |
|
| EAPI void evas_map_util_3d_perspective (Evas_
Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc); | | EAPI void evas_map_util_3d_perspective(Evas_Map *m, Evas_Coord p
x, Evas_Coord py, Evas_Coord z0, Evas_Coord foc); | |
| | | | |
| /** | | /** | |
| * Get the clockwise state of a map | | * Get the clockwise state of a map | |
| * | | * | |
| * This determines if the output points (X and Y. Z is not used) are | | * This determines if the output points (X and Y. Z is not used) are | |
| * clockwise or anti-clockwise. This can be used for "back-face culling". T
his | | * clockwise or anti-clockwise. This can be used for "back-face culling". T
his | |
| * is where you hide objects that "face away" from you. In this case object
s | | * is where you hide objects that "face away" from you. In this case object
s | |
| * that are not clockwise. | | * that are not clockwise. | |
| * | | * | |
| * @param m map to query. | | * @param m map to query. | |
| * @return 1 if clockwise, 0 otherwise | | * @return 1 if clockwise, 0 otherwise | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_map_util_clockwise_get (Evas_
Map *m); | | EAPI Eina_Bool evas_map_util_clockwise_get(Evas_Map *m); | |
| | | | |
| /** | | /** | |
| * Create map of transformation points to be later used with an Evas object
. | | * Create map of transformation points to be later used with an Evas object
. | |
| * | | * | |
| * This creates a set of points (currently only 4 is supported. no other | | * This creates a set of points (currently only 4 is supported. no other | |
| * number for @p count will work). That is empty and ready to be modified | | * number for @p count will work). That is empty and ready to be modified | |
| * with evas_map calls. | | * with evas_map calls. | |
| * | | * | |
| * @param count number of points in the map. | | * @param count number of points in the map. | |
| * @return a newly allocated map or @c NULL on errors. | | * @return a newly allocated map or @c NULL on errors. | |
| * | | * | |
| * @see evas_map_free() | | * @see evas_map_free() | |
| * @see evas_map_dup() | | * @see evas_map_dup() | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_point_image_uv_set() | | * @see evas_map_point_image_uv_set() | |
| * @see evas_map_util_points_populate_from_object_full() | | * @see evas_map_util_points_populate_from_object_full() | |
| * @see evas_map_util_points_populate_from_object() | | * @see evas_map_util_points_populate_from_object() | |
| * | | * | |
| * @see evas_object_map_set() | | * @see evas_object_map_set() | |
| */ | | */ | |
|
| EAPI Evas_Map *evas_map_new (int count); | | EAPI Evas_Map *evas_map_new(int count); | |
| | | | |
| /** | | /** | |
| * Set the smoothing for map rendering | | * Set the smoothing for map rendering | |
| * | | * | |
| * This sets smoothing for map rendering. If the object is a type that has | | * This sets smoothing for map rendering. If the object is a type that has | |
| * its own smoothing settings, then both the smooth settings for this objec
t | | * its own smoothing settings, then both the smooth settings for this objec
t | |
| * and the map must be turned off. By default smooth maps are enabled. | | * and the map must be turned off. By default smooth maps are enabled. | |
| * | | * | |
| * @param m map to modify. Must not be NULL. | | * @param m map to modify. Must not be NULL. | |
| * @param enabled enable or disable smooth map rendering | | * @param enabled enable or disable smooth map rendering | |
| */ | | */ | |
|
| EAPI void evas_map_smooth_set (Evas_Map *m, Eina
_Bool enabled); | | EAPI void evas_map_smooth_set(Evas_Map *m, Eina_Bool enabled); | |
| | | | |
| /** | | /** | |
| * get the smoothing for map rendering | | * get the smoothing for map rendering | |
| * | | * | |
| * This gets smoothing for map rendering. | | * This gets smoothing for map rendering. | |
| * | | * | |
| * @param m map to get the smooth from. Must not be NULL. | | * @param m map to get the smooth from. Must not be NULL. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_map_smooth_get (const Evas_Map *m
); | | EAPI Eina_Bool evas_map_smooth_get(const Evas_Map *m); | |
| | | | |
| /** | | /** | |
| * Set the alpha flag for map rendering | | * Set the alpha flag for map rendering | |
| * | | * | |
| * This sets alpha flag for map rendering. If the object is a type that has | | * This sets alpha flag for map rendering. If the object is a type that has | |
| * its own alpha settings, then this will take precedence. Only image objec
ts | | * its own alpha settings, then this will take precedence. Only image objec
ts | |
| * have this currently. | | * have this currently. | |
| * Setting this off stops alpha blending of the map area, and is | | * Setting this off stops alpha blending of the map area, and is | |
| * useful if you know the object and/or all sub-objects is 100% solid. | | * useful if you know the object and/or all sub-objects is 100% solid. | |
| * | | * | |
| * @param m map to modify. Must not be NULL. | | * @param m map to modify. Must not be NULL. | |
| * @param enabled enable or disable alpha map rendering | | * @param enabled enable or disable alpha map rendering | |
| */ | | */ | |
|
| EAPI void evas_map_alpha_set (Evas_Map *m, Eina
_Bool enabled); | | EAPI void evas_map_alpha_set(Evas_Map *m, Eina_Bool enabled); | |
| | | | |
| /** | | /** | |
| * get the alpha flag for map rendering | | * get the alpha flag for map rendering | |
| * | | * | |
| * This gets the alpha flag for map rendering. | | * This gets the alpha flag for map rendering. | |
| * | | * | |
| * @param m map to get the alpha from. Must not be NULL. | | * @param m map to get the alpha from. Must not be NULL. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_map_alpha_get (const Evas_Map *m
); | | EAPI Eina_Bool evas_map_alpha_get(const Evas_Map *m); | |
| | | | |
| /** | | /** | |
| * Copy a previously allocated map. | | * Copy a previously allocated map. | |
| * | | * | |
| * This makes a duplicate of the @p m object and returns it. | | * This makes a duplicate of the @p m object and returns it. | |
| * | | * | |
| * @param m map to copy. Must not be NULL. | | * @param m map to copy. Must not be NULL. | |
| * @return newly allocated map with the same count and contents as @p m. | | * @return newly allocated map with the same count and contents as @p m. | |
| */ | | */ | |
|
| EAPI Evas_Map *evas_map_dup (const Evas_Map *m
); | | EAPI Evas_Map *evas_map_dup(const Evas_Map *m); | |
| | | | |
| /** | | /** | |
| * Free a previously allocated map. | | * Free a previously allocated map. | |
| * | | * | |
| * This frees a givem map @p m and all memory associated with it. You must
NOT | | * This frees a givem map @p m and all memory associated with it. You must
NOT | |
| * free a map returned by evas_object_map_get() as this is internal. | | * free a map returned by evas_object_map_get() as this is internal. | |
| * | | * | |
| * @param m map to free. | | * @param m map to free. | |
| */ | | */ | |
|
| EAPI void evas_map_free (Evas_Map *m); | | EAPI void evas_map_free(Evas_Map *m); | |
| | | | |
| /** | | /** | |
| * Get a maps size. | | * Get a maps size. | |
| * | | * | |
| * Returns the number of points in a map. Should be at least 4. | | * Returns the number of points in a map. Should be at least 4. | |
| * | | * | |
| * @param m map to get size. | | * @param m map to get size. | |
| * @return -1 on error, points otherwise. | | * @return -1 on error, points otherwise. | |
| */ | | */ | |
|
| EAPI int evas_map_count_get (const Evas_Map *m)
EINA_CONST; | | EAPI int evas_map_count_get(const Evas_Map *m) EINA_CONST; | |
| | | | |
| /** | | /** | |
| * Change the map point's coordinate. | | * Change the map point's coordinate. | |
| * | | * | |
| * This sets the fixed point's coordinate in the map. Note that points | | * This sets the fixed point's coordinate in the map. Note that points | |
| * describe the outline of a quadrangle and are ordered either clockwise | | * describe the outline of a quadrangle and are ordered either clockwise | |
| * or anti-clock-wise. It is suggested to keep your quadrangles concave and | | * or anti-clock-wise. It is suggested to keep your quadrangles concave and | |
| * non-complex, though these polygon modes may work, they may not render | | * non-complex, though these polygon modes may work, they may not render | |
| * a desired set of output. The quadrangle will use points 0 and 1 , 1 and
2, | | * a desired set of output. The quadrangle will use points 0 and 1 , 1 and
2, | |
| * 2 and 3, and 3 and 0 to describe the edges of the quadrangle. | | * 2 and 3, and 3 and 0 to describe the edges of the quadrangle. | |
| | | | |
| skipping to change at line 4964 | | skipping to change at line 4968 | |
| * @param idx index of point to change. Must be smaller than map size. | | * @param idx index of point to change. Must be smaller than map size. | |
| * @param x Point X Coordinate | | * @param x Point X Coordinate | |
| * @param y Point Y Coordinate | | * @param y Point Y Coordinate | |
| * @param z Point Z Coordinate hint (pre-perspective transform) | | * @param z Point Z Coordinate hint (pre-perspective transform) | |
| * | | * | |
| * @see evas_map_util_rotate() | | * @see evas_map_util_rotate() | |
| * @see evas_map_util_zoom() | | * @see evas_map_util_zoom() | |
| * @see evas_map_util_points_populate_from_object_full() | | * @see evas_map_util_points_populate_from_object_full() | |
| * @see evas_map_util_points_populate_from_object() | | * @see evas_map_util_points_populate_from_object() | |
| */ | | */ | |
|
| EAPI void evas_map_point_coord_set (Evas_Map *m, int
idx, Evas_Coord x, Evas_Coord y, Evas_Coord z); | | EAPI void evas_map_point_coord_set(Evas_Map *m, int idx, Evas_Co
ord x, Evas_Coord y, Evas_Coord z); | |
| | | | |
| /** | | /** | |
| * Get the map point's coordinate. | | * Get the map point's coordinate. | |
| * | | * | |
| * This returns the coordinates of the given point in the map. | | * This returns the coordinates of the given point in the map. | |
| * | | * | |
| * @param m map to query point. | | * @param m map to query point. | |
| * @param idx index of point to query. Must be smaller than map size. | | * @param idx index of point to query. Must be smaller than map size. | |
| * @param x where to return the X coordinate. | | * @param x where to return the X coordinate. | |
| * @param y where to return the Y coordinate. | | * @param y where to return the Y coordinate. | |
| * @param z where to return the Z coordinate. | | * @param z where to return the Z coordinate. | |
| */ | | */ | |
|
| EAPI void evas_map_point_coord_get (const Evas_Map *m
, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z); | | EAPI void evas_map_point_coord_get(const Evas_Map *m, int idx, E
vas_Coord *x, Evas_Coord *y, Evas_Coord *z); | |
| | | | |
| /** | | /** | |
| * Change the map point's U and V texture source point | | * Change the map point's U and V texture source point | |
| * | | * | |
| * This sets the U and V coordinates for the point. This determines which | | * This sets the U and V coordinates for the point. This determines which | |
| * coordinate in the source image is mapped to the given point, much like | | * coordinate in the source image is mapped to the given point, much like | |
| * OpenGL and textures. Notes that these points do select the pixel, but | | * OpenGL and textures. Notes that these points do select the pixel, but | |
| * are double floating point values to allow for accuracy and sub-pixel | | * are double floating point values to allow for accuracy and sub-pixel | |
| * selection. | | * selection. | |
| * | | * | |
| * @param m map to change the point of. | | * @param m map to change the point of. | |
| * @param idx index of point to change. Must be smaller than map size. | | * @param idx index of point to change. Must be smaller than map size. | |
| * @param u the X coordinate within the image/texture source | | * @param u the X coordinate within the image/texture source | |
| * @param v the Y coordinate within the image/texture source | | * @param v the Y coordinate within the image/texture source | |
| * | | * | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_object_map_set() | | * @see evas_object_map_set() | |
| * @see evas_map_util_points_populate_from_object_full() | | * @see evas_map_util_points_populate_from_object_full() | |
| * @see evas_map_util_points_populate_from_object() | | * @see evas_map_util_points_populate_from_object() | |
| */ | | */ | |
|
| EAPI void evas_map_point_image_uv_set (Evas_Map *m, int
idx, double u, double v); | | EAPI void evas_map_point_image_uv_set(Evas_Map *m, int idx, doub
le u, double v); | |
| | | | |
| /** | | /** | |
| * Get the map point's U and V texture source points | | * Get the map point's U and V texture source points | |
| * | | * | |
| * This returns the texture points set by evas_map_point_image_uv_set(). | | * This returns the texture points set by evas_map_point_image_uv_set(). | |
| * | | * | |
| * @param m map to query point. | | * @param m map to query point. | |
| * @param idx index of point to query. Must be smaller than map size. | | * @param idx index of point to query. Must be smaller than map size. | |
| * @param u where to write the X coordinate within the image/texture source | | * @param u where to write the X coordinate within the image/texture source | |
| * @param v where to write the Y coordinate within the image/texture source | | * @param v where to write the Y coordinate within the image/texture source | |
| */ | | */ | |
|
| EAPI void evas_map_point_image_uv_get (const Evas_Map *m
, int idx, double *u, double *v); | | EAPI void evas_map_point_image_uv_get(const Evas_Map *m, int idx
, double *u, double *v); | |
| | | | |
| /** | | /** | |
| * Set the color of a vertex in the map | | * Set the color of a vertex in the map | |
| * | | * | |
| * This sets the color of the vertex in the map. Colors will be linearly | | * This sets the color of the vertex in the map. Colors will be linearly | |
| * interpolated between vertex points through the map. Color will multiply | | * interpolated between vertex points through the map. Color will multiply | |
| * the "texture" pixels (like GL_MODULATE in OpenGL). The default color of | | * the "texture" pixels (like GL_MODULATE in OpenGL). The default color of | |
| * a vertex in a map is white solid (255, 255, 255, 255) which means it wil
l | | * a vertex in a map is white solid (255, 255, 255, 255) which means it wil
l | |
| * have no affect on modifying the texture pixels. | | * have no affect on modifying the texture pixels. | |
| * | | * | |
| | | | |
| skipping to change at line 5032 | | skipping to change at line 5036 | |
| * @param idx index of point to change. Must be smaller than map size. | | * @param idx index of point to change. Must be smaller than map size. | |
| * @param r red (0 - 255) | | * @param r red (0 - 255) | |
| * @param g green (0 - 255) | | * @param g green (0 - 255) | |
| * @param b blue (0 - 255) | | * @param b blue (0 - 255) | |
| * @param a alpha (0 - 255) | | * @param a alpha (0 - 255) | |
| * | | * | |
| * @see evas_map_util_points_color_set() | | * @see evas_map_util_points_color_set() | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_object_map_set() | | * @see evas_object_map_set() | |
| */ | | */ | |
|
| EAPI void evas_map_point_color_set (Evas_Map *m, int
idx, int r, int g, int b, int a); | | EAPI void evas_map_point_color_set(Evas_Map *m, int idx, int r,
int g, int b, int a); | |
| | | | |
| /** | | /** | |
| * Get the color set on a vertex in the map | | * Get the color set on a vertex in the map | |
| * | | * | |
| * This gets the color set by evas_map_point_color_set() on the given verte
x | | * This gets the color set by evas_map_point_color_set() on the given verte
x | |
| * of the map. | | * of the map. | |
| * | | * | |
| * @param m map to get the color of the vertex from. | | * @param m map to get the color of the vertex from. | |
| * @param idx index of point get. Must be smaller than map size. | | * @param idx index of point get. Must be smaller than map size. | |
| * @param r pointer to red return | | * @param r pointer to red return | |
| * @param g pointer to green return | | * @param g pointer to green return | |
| * @param b pointer to blue return | | * @param b pointer to blue return | |
| * @param a pointer to alpha return (0 - 255) | | * @param a pointer to alpha return (0 - 255) | |
| * | | * | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_object_map_set() | | * @see evas_object_map_set() | |
| */ | | */ | |
|
| EAPI void evas_map_point_color_get (const Evas_Map *m
, int idx, int *r, int *g, int *b, int *a); | | EAPI void evas_map_point_color_get(const Evas_Map *m, int idx, i
nt *r, int *g, int *b, int *a); | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Size_Hints Size Hints | | * @defgroup Evas_Object_Group_Size_Hints Size Hints | |
| * | | * | |
| * Objects may carry hints, so that another object that acts as a | | * Objects may carry hints, so that another object that acts as a | |
| * manager (see @ref Evas_Smart_Object_Group) may know how to properly | | * manager (see @ref Evas_Smart_Object_Group) may know how to properly | |
| * position and resize its subordinate objects. The Size Hints provide | | * position and resize its subordinate objects. The Size Hints provide | |
| | | | |
| skipping to change at line 5096 | | skipping to change at line 5100 | |
| * | | * | |
| * These are hints on the minimim sizes @p obj should have. This is | | * These are hints on the minimim sizes @p obj should have. This is | |
| * not a size enforcement in any way, it's just a hint that should be | | * not a size enforcement in any way, it's just a hint that should be | |
| * used whenever appropriate. | | * used whenever appropriate. | |
| * | | * | |
| * @note Use @c NULL pointers on the hint components you're not | | * @note Use @c NULL pointers on the hint components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_size_hint_min_set() for an example | | * @see evas_object_size_hint_min_set() for an example | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_min_get (const Evas_Object
*obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_min_get(const Evas_Object *obj, Evas_Coord
*w, Evas_Coord *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's minimum size. | | * Sets the hints for an object's minimum size. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param w Integer to use as the minimum width hint. | | * @param w Integer to use as the minimum width hint. | |
| * @param h Integer to use as the minimum height hint. | | * @param h Integer to use as the minimum height hint. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| | | | |
| skipping to change at line 5122 | | skipping to change at line 5126 | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_min_set | | * @skip evas_object_size_hint_min_set | |
| * @until return | | * @until return | |
| * | | * | |
| * In this example the minimum size hints change the behavior of an | | * In this example the minimum size hints change the behavior of an | |
| * Evas box when layouting its children. See the full @ref | | * Evas box when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_min_get() | | * @see evas_object_size_hint_min_get() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_min_set (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_min_set(Evas_Object *obj, Evas_Coord w, Eva
s_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's maximum size. | | * Retrieves the hints for an object's maximum size. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param w Pointer to an integer in which to store the maximum width. | | * @param w Pointer to an integer in which to store the maximum width. | |
| * @param h Pointer to an integer in which to store the maximum height. | | * @param h Pointer to an integer in which to store the maximum height. | |
| * | | * | |
| * These are hints on the maximum sizes @p obj should have. This is | | * These are hints on the maximum sizes @p obj should have. This is | |
| * not a size enforcement in any way, it's just a hint that should be | | * not a size enforcement in any way, it's just a hint that should be | |
| * used whenever appropriate. | | * used whenever appropriate. | |
| * | | * | |
| * @note Use @c NULL pointers on the hint components you're not | | * @note Use @c NULL pointers on the hint components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_size_hint_max_set() | | * @see evas_object_size_hint_max_set() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_max_get (const Evas_Object
*obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_max_get(const Evas_Object *obj, Evas_Coord
*w, Evas_Coord *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's maximum size. | | * Sets the hints for an object's maximum size. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param w Integer to use as the maximum width hint. | | * @param w Integer to use as the maximum width hint. | |
| * @param h Integer to use as the maximum height hint. | | * @param h Integer to use as the maximum height hint. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| | | | |
| skipping to change at line 5166 | | skipping to change at line 5170 | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_max_set | | * @skip evas_object_size_hint_max_set | |
| * @until return | | * @until return | |
| * | | * | |
| * In this example the maximum size hints change the behavior of an | | * In this example the maximum size hints change the behavior of an | |
| * Evas box when layouting its children. See the full @ref | | * Evas box when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_max_get() | | * @see evas_object_size_hint_max_get() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_max_set (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_max_set(Evas_Object *obj, Evas_Coord w, Eva
s_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's optimum size. | | * Retrieves the hints for an object's optimum size. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param w Pointer to an integer in which to store the requested width. | | * @param w Pointer to an integer in which to store the requested width. | |
| * @param h Pointer to an integer in which to store the requested height. | | * @param h Pointer to an integer in which to store the requested height. | |
| * | | * | |
| * These are hints on the optimum sizes @p obj should have. This is | | * These are hints on the optimum sizes @p obj should have. This is | |
| * not a size enforcement in any way, it's just a hint that should be | | * not a size enforcement in any way, it's just a hint that should be | |
| * used whenever appropriate. | | * used whenever appropriate. | |
| * | | * | |
| * @note Use @c NULL pointers on the hint components you're not | | * @note Use @c NULL pointers on the hint components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_size_hint_request_set() | | * @see evas_object_size_hint_request_set() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_request_get (const Evas_Object
*obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_request_get(const Evas_Object *obj, Evas_Co
ord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's optimum size. | | * Sets the hints for an object's optimum size. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param w Integer to use as the preferred width hint. | | * @param w Integer to use as the preferred width hint. | |
| * @param h Integer to use as the preferred height hint. | | * @param h Integer to use as the preferred height hint. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * Values @c 0 will be treated as unset hint components, when queried | | * Values @c 0 will be treated as unset hint components, when queried | |
| * by managers. | | * by managers. | |
| * | | * | |
| * @see evas_object_size_hint_request_get() | | * @see evas_object_size_hint_request_get() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_request_set (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_request_set(Evas_Object *obj, Evas_Coord w,
Evas_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's aspect ratio. | | * Retrieves the hints for an object's aspect ratio. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param aspect Returns the policy/type of aspect ratio applied to @p obj. | | * @param aspect Returns the policy/type of aspect ratio applied to @p obj. | |
| * @param w Pointer to an integer in which to store the aspect's width | | * @param w Pointer to an integer in which to store the aspect's width | |
| * ratio term. | | * ratio term. | |
| * @param h Pointer to an integer in which to store the aspect's | | * @param h Pointer to an integer in which to store the aspect's | |
| * height ratio term. | | * height ratio term. | |
| | | | |
| skipping to change at line 5256 | | skipping to change at line 5260 | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-aspect-hints.c | | * @dontinclude evas-aspect-hints.c | |
| * @skip if (strcmp(ev->keyname, "c") == 0) | | * @skip if (strcmp(ev->keyname, "c") == 0) | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full @ref Example_Evas_Aspect_Hints "example". | | * See the full @ref Example_Evas_Aspect_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_aspect_set() | | * @see evas_object_size_hint_aspect_set() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_aspect_get (const Evas_Object
*obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_
NONNULL(1); | | EAPI void evas_object_size_hint_aspect_get(const Evas_Object *obj, Evas_Asp
ect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's aspect ratio. | | * Sets the hints for an object's aspect ratio. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param aspect The policy/type of aspect ratio to apply to @p obj. | | * @param aspect The policy/type of aspect ratio to apply to @p obj. | |
| * @param w Integer to use as aspect width ratio term. | | * @param w Integer to use as aspect width ratio term. | |
| * @param h Integer to use as aspect height ratio term. | | * @param h Integer to use as aspect height ratio term. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that should | | * This is not a size enforcement in any way, it's just a hint that should | |
| * be used whenever appropriate. | | * be used whenever appropriate. | |
| * | | * | |
| * If any of the given aspect ratio terms are @c 0, | | * If any of the given aspect ratio terms are @c 0, | |
| * the object's container will ignore the aspect and scale @p obj to | | * the object's container will ignore the aspect and scale @p obj to | |
| * occupy the whole available area, for any given policy. | | * occupy the whole available area, for any given policy. | |
| * | | * | |
| * @see evas_object_size_hint_aspect_get() for more information. | | * @see evas_object_size_hint_aspect_get() for more information. | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_aspect_set (Evas_Object *obj,
Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1
); | | EAPI void evas_object_size_hint_aspect_set(Evas_Object *obj, Evas_Aspect_Co
ntrol aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for on object's alignment. | | * Retrieves the hints for on object's alignment. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param x Pointer to a double in which to store the horizontal | | * @param x Pointer to a double in which to store the horizontal | |
| * alignment hint. | | * alignment hint. | |
| * @param y Pointer to a double in which to store the vertical | | * @param y Pointer to a double in which to store the vertical | |
| * alignment hint. | | * alignment hint. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * @note Use @c NULL pointers on the hint components you're not | | * @note Use @c NULL pointers on the hint components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
|
| | | * @note If @c obj is invalid, then the hint components will be set with 0.
5 | |
| * | | * | |
| * @see evas_object_size_hint_align_set() for more information | | * @see evas_object_size_hint_align_set() for more information | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_align_get (const Evas_Object
*obj, double *x, double *y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_align_get(const Evas_Object *obj, double *x
, double *y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's alignment. | | * Sets the hints for an object's alignment. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param x Double, ranging from @c 0.0 to @c 1.0 or with the | | * @param x Double, ranging from @c 0.0 to @c 1.0 or with the | |
| * special value #EVAS_HINT_FILL, to use as horizontal alignment hint. | | * special value #EVAS_HINT_FILL, to use as horizontal alignment hint. | |
| * @param y Double, ranging from @c 0.0 to @c 1.0 or with the | | * @param y Double, ranging from @c 0.0 to @c 1.0 or with the | |
| * special value #EVAS_HINT_FILL, to use as vertical alignment hint. | | * special value #EVAS_HINT_FILL, to use as vertical alignment hint. | |
| * | | * | |
| | | | |
| skipping to change at line 5343 | | skipping to change at line 5348 | |
| * @until return | | * @until return | |
| * | | * | |
| * In this example the alignment hints change the behavior of an Evas | | * In this example the alignment hints change the behavior of an Evas | |
| * box when layouting its children. See the full @ref | | * box when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_align_get() | | * @see evas_object_size_hint_align_get() | |
| * @see evas_object_size_hint_max_set() | | * @see evas_object_size_hint_max_set() | |
| * @see evas_object_size_hint_padding_set() | | * @see evas_object_size_hint_padding_set() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_align_set (Evas_Object *obj,
double x, double y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_align_set(Evas_Object *obj, double x, doubl
e y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's weight. | | * Retrieves the hints for an object's weight. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param x Pointer to a double in which to store the horizontal weight. | | * @param x Pointer to a double in which to store the horizontal weight. | |
| * @param y Pointer to a double in which to store the vertical weight. | | * @param y Pointer to a double in which to store the vertical weight. | |
| * | | * | |
| * Accepted values are zero or positive values. Some users might use | | * Accepted values are zero or positive values. Some users might use | |
| * this hint as a boolean, but some might consider it as a @b | | * this hint as a boolean, but some might consider it as a @b | |
| * proportion, see documentation of possible users, which in Evas are | | * proportion, see documentation of possible users, which in Evas are | |
| * the @ref Evas_Object_Box "box" and @ref Evas_Object_Table "table" | | * the @ref Evas_Object_Box "box" and @ref Evas_Object_Table "table" | |
| * smart objects. | | * smart objects. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * @note Use @c NULL pointers on the hint components you're not | | * @note Use @c NULL pointers on the hint components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
|
| | | * @note If @c obj is invalid, then the hint components will be set with 0.
0 | |
| * | | * | |
| * @see evas_object_size_hint_weight_set() for an example | | * @see evas_object_size_hint_weight_set() for an example | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_weight_get (const Evas_Object
*obj, double *x, double *y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_weight_get(const Evas_Object *obj, double *
x, double *y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's weight. | | * Sets the hints for an object's weight. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param x Nonnegative double value to use as horizontal weight hint. | | * @param x Nonnegative double value to use as horizontal weight hint. | |
| * @param y Nonnegative double value to use as vertical weight hint. | | * @param y Nonnegative double value to use as vertical weight hint. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| | | | |
| skipping to change at line 5400 | | skipping to change at line 5406 | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_weight_set | | * @skip evas_object_size_hint_weight_set | |
| * @until return | | * @until return | |
| * | | * | |
| * In this example the weight hints change the behavior of an Evas box | | * In this example the weight hints change the behavior of an Evas box | |
| * when layouting its children. See the full @ref | | * when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_weight_get() for more information | | * @see evas_object_size_hint_weight_get() for more information | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_weight_set (Evas_Object *obj,
double x, double y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_weight_set(Evas_Object *obj, double x, doub
le y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's padding space. | | * Retrieves the hints for an object's padding space. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param l Pointer to an integer in which to store left padding. | | * @param l Pointer to an integer in which to store left padding. | |
| * @param r Pointer to an integer in which to store right padding. | | * @param r Pointer to an integer in which to store right padding. | |
| * @param t Pointer to an integer in which to store top padding. | | * @param t Pointer to an integer in which to store top padding. | |
| * @param b Pointer to an integer in which to store bottom padding. | | * @param b Pointer to an integer in which to store bottom padding. | |
| * | | * | |
| | | | |
| skipping to change at line 5436 | | skipping to change at line 5442 | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_padding_set | | * @skip evas_object_size_hint_padding_set | |
| * @until return | | * @until return | |
| * | | * | |
| * In this example the padding hints change the behavior of an Evas box | | * In this example the padding hints change the behavior of an Evas box | |
| * when layouting its children. See the full @ref | | * when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_padding_set() | | * @see evas_object_size_hint_padding_set() | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_padding_get (const Evas_Object
*obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG
_NONNULL(1); | | EAPI void evas_object_size_hint_padding_get(const Evas_Object *obj, Evas_Co
ord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's padding space. | | * Sets the hints for an object's padding space. | |
| * | | * | |
| * @param obj The given Evas object to query hints from. | | * @param obj The given Evas object to query hints from. | |
| * @param l Integer to specify left padding. | | * @param l Integer to specify left padding. | |
| * @param r Integer to specify right padding. | | * @param r Integer to specify right padding. | |
| * @param t Integer to specify top padding. | | * @param t Integer to specify top padding. | |
| * @param b Integer to specify bottom padding. | | * @param b Integer to specify bottom padding. | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * @see evas_object_size_hint_padding_get() for more information | | * @see evas_object_size_hint_padding_get() for more information | |
| */ | | */ | |
|
| EAPI void evas_object_size_hint_padding_set (Evas_Object *obj,
Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1
); | | EAPI void evas_object_size_hint_padding_set(Evas_Object *obj, Evas_Coord l,
Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Extras Extra Object Manipulation | | * @defgroup Evas_Object_Group_Extras Extra Object Manipulation | |
| * | | * | |
| * Miscellaneous functions that also apply to any object, but are less | | * Miscellaneous functions that also apply to any object, but are less | |
| * used or not implemented by all objects. | | * used or not implemented by all objects. | |
| | | | |
| skipping to change at line 5513 | | skipping to change at line 5519 | |
| * | | * | |
| * @code | | * @code | |
| * int *my_data; | | * int *my_data; | |
| * extern Evas_Object *obj; | | * extern Evas_Object *obj; | |
| * | | * | |
| * my_data = malloc(500); | | * my_data = malloc(500); | |
| * evas_object_data_set(obj, "name_of_data", my_data); | | * evas_object_data_set(obj, "name_of_data", my_data); | |
| * printf("The data that was attached was %p\n", evas_object_data_get(obj,
"name_of_data")); | | * printf("The data that was attached was %p\n", evas_object_data_get(obj,
"name_of_data")); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void evas_object_data_set (Evas_Objec
t *obj, const char *key, const void *data) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_data_set(Evas_Object *obj, const
char *key, const void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return an attached data pointer on an Evas object by its given | | * Return an attached data pointer on an Evas object by its given | |
| * string key. | | * string key. | |
| * | | * | |
| * @param obj The object to which the data was attached | | * @param obj The object to which the data was attached | |
| * @param key The string key the data was stored under | | * @param key The string key the data was stored under | |
| * @return The data pointer stored, or @c NULL if none was stored | | * @return The data pointer stored, or @c NULL if none was stored | |
| * | | * | |
| * This function will return the data pointer attached to the object | | * This function will return the data pointer attached to the object | |
| | | | |
| skipping to change at line 5544 | | skipping to change at line 5550 | |
| * | | * | |
| * @code | | * @code | |
| * int *my_data; | | * int *my_data; | |
| * extern Evas_Object *obj; | | * extern Evas_Object *obj; | |
| * | | * | |
| * my_data = evas_object_data_get(obj, "name_of_my_data"); | | * my_data = evas_object_data_get(obj, "name_of_my_data"); | |
| * if (my_data) printf("Data stored was %p\n", my_data); | | * if (my_data) printf("Data stored was %p\n", my_data); | |
| * else printf("No data was stored on the object\n"); | | * else printf("No data was stored on the object\n"); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void *evas_object_data_get (const Evas
_Object *obj, const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1,
2); | | EAPI void *evas_object_data_get(const Evas_Object *obj,
const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Delete an attached data pointer from an object. | | * Delete an attached data pointer from an object. | |
| * | | * | |
| * @param obj The object to delete the data pointer from | | * @param obj The object to delete the data pointer from | |
| * @param key The string key the data was stored under | | * @param key The string key the data was stored under | |
| * @return The original data pointer stored at @p key on @p obj | | * @return The original data pointer stored at @p key on @p obj | |
| * | | * | |
| * This will remove the stored data pointer from @p obj stored under | | * This will remove the stored data pointer from @p obj stored under | |
| * @p key and return this same pointer, if actually there was data | | * @p key and return this same pointer, if actually there was data | |
| | | | |
| skipping to change at line 5566 | | skipping to change at line 5572 | |
| * | | * | |
| * Example: | | * Example: | |
| * | | * | |
| * @code | | * @code | |
| * int *my_data; | | * int *my_data; | |
| * extern Evas_Object *obj; | | * extern Evas_Object *obj; | |
| * | | * | |
| * my_data = evas_object_data_del(obj, "name_of_my_data"); | | * my_data = evas_object_data_del(obj, "name_of_my_data"); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void *evas_object_data_del (Evas_Objec
t *obj, const char *key) EINA_ARG_NONNULL(1, 2); | | EAPI void *evas_object_data_del(Evas_Object *obj, const
char *key) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set pointer behavior. | | * Set pointer behavior. | |
| * | | * | |
| * @param obj | | * @param obj | |
| * @param setting desired behavior. | | * @param setting desired behavior. | |
| * | | * | |
| * This function has direct effect on event callbacks related to | | * This function has direct effect on event callbacks related to | |
| * mouse. | | * mouse. | |
| * | | * | |
| | | | |
| skipping to change at line 5589 | | skipping to change at line 5595 | |
| * mouse moves, for example, will be emitted even if outside this | | * mouse moves, for example, will be emitted even if outside this | |
| * object area. | | * object area. | |
| * | | * | |
| * If @p setting is EVAS_OBJECT_POINTER_MODE_NOGRAB, then events will | | * If @p setting is EVAS_OBJECT_POINTER_MODE_NOGRAB, then events will | |
| * be emitted just when inside this object area. | | * be emitted just when inside this object area. | |
| * | | * | |
| * The default value is EVAS_OBJECT_POINTER_MODE_AUTOGRAB. | | * The default value is EVAS_OBJECT_POINTER_MODE_AUTOGRAB. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI void evas_object_pointer_mode_set (Evas_Objec
t *obj, Evas_Object_Pointer_Mode setting) EINA_ARG_NONNULL(1); | | EAPI void evas_object_pointer_mode_set(Evas_Object *obj
, Evas_Object_Pointer_Mode setting) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Determine how pointer will behave. | | * Determine how pointer will behave. | |
| * @param obj | | * @param obj | |
| * @return pointer behavior. | | * @return pointer behavior. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Evas_Object_Pointer_Mode evas_object_pointer_mode_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object_Pointer_Mode evas_object_pointer_mode_get(const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets whether or not the given Evas object is to be drawn anti-aliased. | | * Sets whether or not the given Evas object is to be drawn anti-aliased. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param antialias 1 if the object is to be anti_aliased, 0 otherwise. | | * @param antialias 1 if the object is to be anti_aliased, 0 otherwise. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI void evas_object_anti_alias_set (Evas_Objec
t *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1); | | EAPI void evas_object_anti_alias_set(Evas_Object *obj,
Eina_Bool antialias) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves whether or not the given Evas object is to be drawn anti_alias
ed. | | * Retrieves whether or not the given Evas object is to be drawn anti_alias
ed. | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return @c 1 if the object is to be anti_aliased. @c 0 otherwise. | | * @return @c 1 if the object is to be anti_aliased. @c 0 otherwise. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_anti_alias_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_anti_alias_get(const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the scaling factor for an Evas object. Does not affect all | | * Sets the scaling factor for an Evas object. Does not affect all | |
| * objects. | | * objects. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param scale The scaling factor. <c>1.0</c> means no scaling, | | * @param scale The scaling factor. <c>1.0</c> means no scaling, | |
| * default size. | | * default size. | |
| * | | * | |
| * This will multiply the object's dimension by the given factor, thus | | * This will multiply the object's dimension by the given factor, thus | |
| * altering its geometry (width and height). Useful when you want | | * altering its geometry (width and height). Useful when you want | |
| * scalable UI elements, possibly at run time. | | * scalable UI elements, possibly at run time. | |
| * | | * | |
| * @note Only text and textblock objects have scaling change | | * @note Only text and textblock objects have scaling change | |
| * handlers. Other objects won't change visually on this call. | | * handlers. Other objects won't change visually on this call. | |
| * | | * | |
| * @see evas_object_scale_get() | | * @see evas_object_scale_get() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI void evas_object_scale_set (Evas_Objec
t *obj, double scale) EINA_ARG_NONNULL(1); | | EAPI void evas_object_scale_set(Evas_Object *obj, doubl
e scale) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the scaling factor for the given Evas object. | | * Retrieves the scaling factor for the given Evas object. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return The scaling factor. | | * @return The scaling factor. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| * | | * | |
| * @see evas_object_scale_set() | | * @see evas_object_scale_set() | |
| */ | | */ | |
|
| EAPI double evas_object_scale_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI double evas_object_scale_get(const Evas_Object *obj)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the render_op to be used for rendering the Evas object. | | * Sets the render_op to be used for rendering the Evas object. | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param op one of the Evas_Render_Op values. | | * @param op one of the Evas_Render_Op values. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI void evas_object_render_op_set (Evas_Objec
t *obj, Evas_Render_Op op) EINA_ARG_NONNULL(1); | | EAPI void evas_object_render_op_set(Evas_Object *obj, E
vas_Render_Op op) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the current value of the operation used for rendering the Evas
object. | | * Retrieves the current value of the operation used for rendering the Evas
object. | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return one of the enumerated values in Evas_Render_Op. | | * @return one of the enumerated values in Evas_Render_Op. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Evas_Render_Op evas_object_render_op_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Render_Op evas_object_render_op_get(const Evas_Object *
obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether to use precise (usually expensive) point collision | | * Set whether to use precise (usually expensive) point collision | |
| * detection for a given Evas object. | | * detection for a given Evas object. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @param precise Whether to use precise point collision detection or | | * @param precise Whether to use precise point collision detection or | |
| * not. The default value is false. | | * not. The default value is false. | |
| * | | * | |
| * Use this function to make Evas treat objects' transparent areas as | | * Use this function to make Evas treat objects' transparent areas as | |
| | | | |
| skipping to change at line 5691 | | skipping to change at line 5697 | |
| * Example code follows. | | * Example code follows. | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip if (strcmp(ev->keyname, "p") == 0) | | * @skip if (strcmp(ev->keyname, "p") == 0) | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
| * @see evas_object_precise_is_inside_get() | | * @see evas_object_precise_is_inside_get() | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI void evas_object_precise_is_inside_set(Evas_Ob
ject *obj, Eina_Bool precise) EINA_ARG_NONNULL(1); | | EAPI void evas_object_precise_is_inside_set(Evas_Object
*obj, Eina_Bool precise) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Determine whether an object is set to use precise point collision | | * Determine whether an object is set to use precise point collision | |
| * detection. | | * detection. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @return whether @p obj is set to use precise point collision | | * @return whether @p obj is set to use precise point collision | |
| * detection or not The default value is false. | | * detection or not The default value is false. | |
| * | | * | |
| * @see evas_object_precise_is_inside_set() for an example | | * @see evas_object_precise_is_inside_set() for an example | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_precise_is_inside_get(const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_precise_is_inside_get(const Evas_
Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set a hint flag on the given Evas object that it's used as a "static | | * Set a hint flag on the given Evas object that it's used as a "static | |
| * clipper". | | * clipper". | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @param is_static_clip @c EINA_TRUE if it's to be used as a static | | * @param is_static_clip @c EINA_TRUE if it's to be used as a static | |
| * clipper, @c EINA_FALSE otherwise. | | * clipper, @c EINA_FALSE otherwise. | |
| * | | * | |
| * This is a hint to Evas that this object is used as a big static | | * This is a hint to Evas that this object is used as a big static | |
| * clipper and shouldn't be moved with children and otherwise | | * clipper and shouldn't be moved with children and otherwise | |
| * considered specially. The default value for new objects is | | * considered specially. The default value for new objects is | |
| * @c EINA_FALSE. | | * @c EINA_FALSE. | |
| * | | * | |
| * @see evas_object_static_clip_get() | | * @see evas_object_static_clip_get() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI void evas_object_static_clip_set (Evas_Ob
ject *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1); | | EAPI void evas_object_static_clip_set(Evas_Object *obj,
Eina_Bool is_static_clip) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the "static clipper" hint flag for a given Evas object. | | * Get the "static clipper" hint flag for a given Evas object. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @return @c EINA_TRUE if it's set as a static clipper, | | * @return @c EINA_TRUE if it's set as a static clipper, | |
| * @c EINA_FALSE otherwise. | | * @c EINA_FALSE otherwise. | |
| * | | * | |
| * @see evas_object_static_clip_set() for more details | | * @see evas_object_static_clip_set() for more details | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_static_clip_get (const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_static_clip_get(const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Find Finding Objects | | * @defgroup Evas_Object_Group_Find Finding Objects | |
| * | | * | |
| * Functions that allows finding objects by their position, name or | | * Functions that allows finding objects by their position, name or | |
| * other properties. | | * other properties. | |
| | | | |
| skipping to change at line 5794 | | skipping to change at line 5800 | |
| * @until evas_object_focus_set(d.bg, EINA_TRUE); | | * @until evas_object_focus_set(d.bg, EINA_TRUE); | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip called when our rectangle gets focus | | * @skip called when our rectangle gets focus | |
| * @until } | | * @until } | |
| * | | * | |
| * In this example the @c event_info is exactly a pointer to that | | * In this example the @c event_info is exactly a pointer to that | |
| * focused rectangle. See the full @ref Example_Evas_Events "example". | | * focused rectangle. See the full @ref Example_Evas_Events "example". | |
| * | | * | |
| * @ingroup Evas_Object_Group_Find | | * @ingroup Evas_Object_Group_Find | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_focus_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_focus_get(const Evas *e) EINA_WARN_UNUSED_RESULT EIN
A_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the object on the given evas with the given name. | | * Retrieves the object on the given evas with the given name. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param name The given name. | | * @param name The given name. | |
| * @return If successful, the Evas object with the given name. Otherwise, | | * @return If successful, the Evas object with the given name. Otherwise, | |
| * @c NULL. | | * @c NULL. | |
| * | | * | |
| * This looks for the evas object given a name by evas_object_name_set(). I
f | | * This looks for the evas object given a name by evas_object_name_set(). I
f | |
| * the name is not unique canvas-wide, then which one of the many objects | | * the name is not unique canvas-wide, then which one of the many objects | |
| * with that name is returned is undefined, so only use this if you can ens
ure | | * with that name is returned is undefined, so only use this if you can ens
ure | |
| * the object name is unique. | | * the object name is unique. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Find | | * @ingroup Evas_Object_Group_Find | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_name_find (const Evas *e, co
nst char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_name_find(const Evas *e, const char *name) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the object from children of the given object with the given na
me. | | * Retrieves the object from children of the given object with the given na
me. | |
| * @param obj The parent (smart) object whose children to search. | | * @param obj The parent (smart) object whose children to search. | |
| * @param name The given name. | | * @param name The given name. | |
| * @param recurse Set to the number of child levels to recurse (0 == don'
t recurse, 1 == only look at the children of @p obj or their immediate chil
dren, but no further etc.). | | * @param recurse Set to the number of child levels to recurse (0 == don'
t recurse, 1 == only look at the children of @p obj or their immediate chil
dren, but no further etc.). | |
| * @return If successful, the Evas object with the given name. Otherwise, | | * @return If successful, the Evas object with the given name. Otherwise, | |
| * @c NULL. | | * @c NULL. | |
| * | | * | |
| * This looks for the evas object given a name by evas_object_name_set(), b
ut | | * This looks for the evas object given a name by evas_object_name_set(), b
ut | |
| * it ONLY looks at the children of the object *p obj, and will only recurs
e | | * it ONLY looks at the children of the object *p obj, and will only recurs
e | |
| * into those children if @p recurse is greater than 0. If the name is not | | * into those children if @p recurse is greater than 0. If the name is not | |
| * unique within immediate children (or the whole child tree) then it is no
t | | * unique within immediate children (or the whole child tree) then it is no
t | |
| * defined which child object will be returned. If @p recurse is set to -1
then | | * defined which child object will be returned. If @p recurse is set to -1
then | |
| * it will recurse without limit. | | * it will recurse without limit. | |
| * | | * | |
| * @since 1.2 | | * @since 1.2 | |
| * | | * | |
| * @ingroup Evas_Object_Group_Find | | * @ingroup Evas_Object_Group_Find | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_name_child_find (const Evas_Objec
t *obj, const char *name, int recurse) EINA_WARN_UNUSED_RESULT EINA_ARG_NON
NULL(1); | | EAPI Evas_Object *evas_object_name_child_find(const Evas_Object *obj, const
char *name, int recurse) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the Evas object stacked at the top of a given position in | | * Retrieve the Evas object stacked at the top of a given position in | |
| * a canvas | | * a canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @param x The horizontal coordinate of the position | | * @param x The horizontal coordinate of the position | |
| * @param y The vertical coordinate of the position | | * @param y The vertical coordinate of the position | |
| * @param include_pass_events_objects Boolean flag to include or not | | * @param include_pass_events_objects Boolean flag to include or not | |
| * objects which pass events in this calculation | | * objects which pass events in this calculation | |
| * @param include_hidden_objects Boolean flag to include or not hidden | | * @param include_hidden_objects Boolean flag to include or not hidden | |
| * objects in this calculation | | * objects in this calculation | |
| * @return The Evas object that is over all other objects at the given | | * @return The Evas object that is over all other objects at the given | |
| * position. | | * position. | |
| * | | * | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas covering the | | * from top to bottom, querying for objects with areas covering the | |
|
| * given position. The user can remove from from the query | | * given position. The user can remove from the query | |
| * objects which are hidden and/or which are set to pass events. | | * objects which are hidden and/or which are set to pass events. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_at_xy_get (const Evas *e, Ev
as_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool
include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_top_at_xy_get(const Evas *e, Evas_Coord x, Ev
as_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden
_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the Evas object stacked at the top at the position of the | | * Retrieve the Evas object stacked at the top at the position of the | |
| * mouse cursor, over a given canvas | | * mouse cursor, over a given canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @return The Evas object that is over all other objects at the mouse | | * @return The Evas object that is over all other objects at the mouse | |
| * pointer's position | | * pointer's position | |
| * | | * | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas covering the | | * from top to bottom, querying for objects with areas covering the | |
| * mouse pointer's position, over @p e. | | * mouse pointer's position, over @p e. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_at_pointer_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_top_at_pointer_get(const Evas *e) EINA_WARN_U
NUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the Evas object stacked at the top of a given rectangular | | * Retrieve the Evas object stacked at the top of a given rectangular | |
| * region in a canvas | | * region in a canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @param x The top left corner's horizontal coordinate for the | | * @param x The top left corner's horizontal coordinate for the | |
| * rectangular region | | * rectangular region | |
| * @param y The top left corner's vertical coordinate for the | | * @param y The top left corner's vertical coordinate for the | |
| * rectangular region | | * rectangular region | |
| | | | |
| skipping to change at line 5904 | | skipping to change at line 5910 | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas overlapping | | * from top to bottom, querying for objects with areas overlapping | |
| * with the given rectangular region inside @p e. The user can remove | | * with the given rectangular region inside @p e. The user can remove | |
| * from the query objects which are hidden and/or which are set to | | * from the query objects which are hidden and/or which are set to | |
| * pass events. | | * pass events. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_in_rectangle_get (const Evas *e, Ev
as_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pas
s_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT
EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_top_in_rectangle_get(const Evas *e, Evas_Coor
d x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_event
s_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_A
RG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve a list of Evas objects lying over a given position in | | * Retrieve a list of Evas objects lying over a given position in | |
| * a canvas | | * a canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @param x The horizontal coordinate of the position | | * @param x The horizontal coordinate of the position | |
| * @param y The vertical coordinate of the position | | * @param y The vertical coordinate of the position | |
| * @param include_pass_events_objects Boolean flag to include or not | | * @param include_pass_events_objects Boolean flag to include or not | |
| * objects which pass events in this calculation | | * objects which pass events in this calculation | |
| * @param include_hidden_objects Boolean flag to include or not hidden | | * @param include_hidden_objects Boolean flag to include or not hidden | |
| * objects in this calculation | | * objects in this calculation | |
| * @return The list of Evas objects that are over the given position | | * @return The list of Evas objects that are over the given position | |
| * in @p e | | * in @p e | |
| * | | * | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas covering the | | * from top to bottom, querying for objects with areas covering the | |
|
| * given position. The user can remove from from the query | | * given position. The user can remove from query | |
| * objects which are hidden and/or which are set to pass events. | | * objects which are hidden and/or which are set to pass events. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Eina_List *evas_objects_at_xy_get (const Evas *e, Ev | | EAPI Eina_List *evas_objects_at_xy_get(const Evas *e, Evas_Coord x, Evas_ | |
| as_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool | | Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_ob | |
| include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | jects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Eina_List *evas_objects_in_rectangle_get (const Evas *e, | | EAPI Eina_List *evas_objects_in_rectangle_get(const Evas *e, Evas_Coord x | |
| Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_ | | , Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_o | |
| pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RES | | bjects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_ | |
| ULT EINA_ARG_NONNULL(1); | | NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the lowest (stacked) Evas object on the canvas @p e. | | * Get the lowest (stacked) Evas object on the canvas @p e. | |
| * | | * | |
| * @param e a valid canvas pointer | | * @param e a valid canvas pointer | |
| * @return a pointer to the lowest object on it, if any, or @c NULL, | | * @return a pointer to the lowest object on it, if any, or @c NULL, | |
| * otherwise | | * otherwise | |
| * | | * | |
| * This function will take all populated layers in the canvas into | | * This function will take all populated layers in the canvas into | |
| * account, getting the lowest object for the lowest layer, naturally. | | * account, getting the lowest object for the lowest layer, naturally. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| * @see evas_object_above_get() | | * @see evas_object_above_get() | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_bottom_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_bottom_get(const Evas *e) EINA_WARN_UNUSED_RE
SULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the highest (stacked) Evas object on the canvas @p e. | | * Get the highest (stacked) Evas object on the canvas @p e. | |
| * | | * | |
| * @param e a valid canvas pointer | | * @param e a valid canvas pointer | |
| * @return a pointer to the highest object on it, if any, or @c NULL, | | * @return a pointer to the highest object on it, if any, or @c NULL, | |
| * otherwise | | * otherwise | |
| * | | * | |
| * This function will take all populated layers in the canvas into | | * This function will take all populated layers in the canvas into | |
| * account, getting the highest object for the highest layer, | | * account, getting the highest object for the highest layer, | |
| | | | |
| skipping to change at line 5973 | | skipping to change at line 5979 | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| * @see evas_object_above_get() | | * @see evas_object_above_get() | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_top_get(const Evas *e) EINA_WARN_UNUSED_RESUL
T EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Interceptors Object Method Interceptors | | * @defgroup Evas_Object_Group_Interceptors Object Method Interceptors | |
| * | | * | |
| * Evas provides a way to intercept method calls. The interceptor | | * Evas provides a way to intercept method calls. The interceptor | |
| * callback may opt to completely deny the call, or may check and | | * callback may opt to completely deny the call, or may check and | |
| | | | |
| skipping to change at line 5996 | | skipping to change at line 6002 | |
| * from inside the interceptor callback. | | * from inside the interceptor callback. | |
| * | | * | |
| * @ingroup Evas_Object_Group | | * @ingroup Evas_Object_Group | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Object_Group_Interceptors | | * @addtogroup Evas_Object_Group_Interceptors | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
|
| typedef void (*Evas_Object_Intercept_Show_Cb) (void *data, Evas_Object *obj | | typedef void (*Evas_Object_Intercept_Show_Cb)(void *data, Evas_Object *obj) | |
| ); | | ; | |
| typedef void (*Evas_Object_Intercept_Hide_Cb) (void *data, Evas_Object *obj | | typedef void (*Evas_Object_Intercept_Hide_Cb)(void *data, Evas_Object *obj) | |
| ); | | ; | |
| typedef void (*Evas_Object_Intercept_Move_Cb) (void *data, Evas_Object *obj | | typedef void (*Evas_Object_Intercept_Move_Cb)(void *data, Evas_Object *obj, | |
| , Evas_Coord x, Evas_Coord y); | | Evas_Coord x, Evas_Coord y); | |
| typedef void (*Evas_Object_Intercept_Resize_Cb) (void *data, Evas_Object *o | | typedef void (*Evas_Object_Intercept_Resize_Cb)(void *data, Evas_Object *ob | |
| bj, Evas_Coord w, Evas_Coord h); | | j, Evas_Coord w, Evas_Coord h); | |
| typedef void (*Evas_Object_Intercept_Raise_Cb) (void *data, Evas_Object *ob | | typedef void (*Evas_Object_Intercept_Raise_Cb)(void *data, Evas_Object *obj | |
| j); | | ); | |
| typedef void (*Evas_Object_Intercept_Lower_Cb) (void *data, Evas_Object *ob | | typedef void (*Evas_Object_Intercept_Lower_Cb)(void *data, Evas_Object *obj | |
| j); | | ); | |
| typedef void (*Evas_Object_Intercept_Stack_Above_Cb) (void *data, Evas_Obje | | typedef void (*Evas_Object_Intercept_Stack_Above_Cb)(void *data, Evas_Objec | |
| ct *obj, Evas_Object *above); | | t *obj, Evas_Object *above); | |
| typedef void (*Evas_Object_Intercept_Stack_Below_Cb) (void *data, Evas_Obje | | typedef void (*Evas_Object_Intercept_Stack_Below_Cb)(void *data, Evas_Objec | |
| ct *obj, Evas_Object *above); | | t *obj, Evas_Object *above); | |
| typedef void (*Evas_Object_Intercept_Layer_Set_Cb) (void *data, Evas_Object | | typedef void (*Evas_Object_Intercept_Layer_Set_Cb)(void *data, Evas_Object | |
| *obj, int l); | | *obj, int l); | |
| typedef void (*Evas_Object_Intercept_Color_Set_Cb) (void *data, Evas_Object | | typedef void (*Evas_Object_Intercept_Color_Set_Cb)(void *data, Evas_Object | |
| *obj, int r, int g, int b, int a); | | *obj, int r, int g, int b, int a); | |
| typedef void (*Evas_Object_Intercept_Clip_Set_Cb) (void *data, Evas_Object | | typedef void (*Evas_Object_Intercept_Clip_Set_Cb)(void *data, Evas_Object * | |
| *obj, Evas_Object *clip); | | obj, Evas_Object *clip); | |
| typedef void (*Evas_Object_Intercept_Clip_Unset_Cb) (void *data, Evas_Objec | | typedef void (*Evas_Object_Intercept_Clip_Unset_Cb)(void *data, Evas_Object | |
| t *obj); | | *obj); | |
| | | | |
| /** | | /** | |
| * Set the callback function that intercepts a show event of a object. | | * Set the callback function that intercepts a show event of a object. | |
| * | | * | |
| * @param obj The given canvas object pointer. | | * @param obj The given canvas object pointer. | |
| * @param func The given function to be the callback function. | | * @param func The given function to be the callback function. | |
| * @param data The data passed to the callback function. | | * @param data The data passed to the callback function. | |
| * | | * | |
| * This function sets a callback function to intercepts a show event | | * This function sets a callback function to intercepts a show event | |
| * of a canvas object. | | * of a canvas object. | |
| * | | * | |
| * @see evas_object_intercept_show_callback_del(). | | * @see evas_object_intercept_show_callback_del(). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_intercept_show_callback_add (Evas
_Object *obj, Evas_Object_Intercept_Show_Cb func, const void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_intercept_show_callback_add(Evas_Object *obj, Evas_O
bject_Intercept_Show_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Unset the callback function that intercepts a show event of a | | * Unset the callback function that intercepts a show event of a | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The given canvas object pointer. | | * @param obj The given canvas object pointer. | |
| * @param func The given callback function. | | * @param func The given callback function. | |
| * | | * | |
| * This function sets a callback function to intercepts a show event | | * This function sets a callback function to intercepts a show event | |
| * of a canvas object. | | * of a canvas object. | |
| * | | * | |
| * @see evas_object_intercept_show_callback_add(). | | * @see evas_object_intercept_show_callback_add(). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void *evas_object_intercept_show_callback_del (Evas
_Object *obj, Evas_Object_Intercept_Show_Cb func) EINA_ARG_NONNULL(1, 2); | | EAPI void *evas_object_intercept_show_callback_del(Evas_Object *obj, Evas_O
bject_Intercept_Show_Cb func) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set the callback function that intercepts a hide event of a object. | | * Set the callback function that intercepts a hide event of a object. | |
| * | | * | |
| * @param obj The given canvas object pointer. | | * @param obj The given canvas object pointer. | |
| * @param func The given function to be the callback function. | | * @param func The given function to be the callback function. | |
| * @param data The data passed to the callback function. | | * @param data The data passed to the callback function. | |
| * | | * | |
| * This function sets a callback function to intercepts a hide event | | * This function sets a callback function to intercepts a hide event | |
| * of a canvas object. | | * of a canvas object. | |
| * | | * | |
| * @see evas_object_intercept_hide_callback_del(). | | * @see evas_object_intercept_hide_callback_del(). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_intercept_hide_callback_add (Evas
_Object *obj, Evas_Object_Intercept_Hide_Cb func, const void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_intercept_hide_callback_add(Evas_Object *obj, Evas_O
bject_Intercept_Hide_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Unset the callback function that intercepts a hide event of a | | * Unset the callback function that intercepts a hide event of a | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The given canvas object pointer. | | * @param obj The given canvas object pointer. | |
| * @param func The given callback function. | | * @param func The given callback function. | |
| * | | * | |
| * This function sets a callback function to intercepts a hide event | | * This function sets a callback function to intercepts a hide event | |
| * of a canvas object. | | * of a canvas object. | |
| * | | * | |
| * @see evas_object_intercept_hide_callback_add(). | | * @see evas_object_intercept_hide_callback_add(). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void *evas_object_intercept_hide_callback_del (Evas
_Object *obj, Evas_Object_Intercept_Hide_Cb func) EINA_ARG_NONNULL(1, 2); | | EAPI void *evas_object_intercept_hide_callback_del(Evas_Object *obj, Evas_O
bject_Intercept_Hide_Cb func) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set the callback function that intercepts a move event of a object. | | * Set the callback function that intercepts a move event of a object. | |
| * | | * | |
| * @param obj The given canvas object pointer. | | * @param obj The given canvas object pointer. | |
| * @param func The given function to be the callback function. | | * @param func The given function to be the callback function. | |
| * @param data The data passed to the callback function. | | * @param data The data passed to the callback function. | |
| * | | * | |
| * This function sets a callback function to intercepts a move event | | * This function sets a callback function to intercepts a move event | |
| * of a canvas object. | | * of a canvas object. | |
| * | | * | |
| * @see evas_object_intercept_move_callback_del(). | | * @see evas_object_intercept_move_callback_del(). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_intercept_move_callback_add (Evas
_Object *obj, Evas_Object_Intercept_Move_Cb func, const void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_intercept_move_callback_add(Evas_Object *obj, Evas_O
bject_Intercept_Move_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Unset the callback function that intercepts a move event of a | | * Unset the callback function that intercepts a move event of a | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The given canvas object pointer. | | * @param obj The given canvas object pointer. | |
| * @param func The given callback function. | | * @param func The given callback function. | |
| * | | * | |
| * This function sets a callback function to intercepts a move event | | * This function sets a callback function to intercepts a move event | |
| * of a canvas object. | | * of a canvas object. | |
| * | | * | |
| * @see evas_object_intercept_move_callback_add(). | | * @see evas_object_intercept_move_callback_add(). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void *evas_object_intercept_move_callback_del (Evas
_Object *obj, Evas_Object_Intercept_Move_Cb func) EINA_ARG_NONNULL(1, 2); | | EAPI void *evas_object_intercept_move_callback_del(Evas_Object *obj, Evas_O
bject_Intercept_Move_Cb func) EINA_ARG_NONNULL(1, 2); | |
| | | | |
|
| EAPI void evas_object_intercept_resize_callback_add (E | | EAPI void evas_object_intercept_resize_callback_add(Evas_Object *obj, Evas | |
| vas_Object *obj, Evas_Object_Intercept_Resize_Cb func, const void *data) EI | | _Object_Intercept_Resize_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); | |
| NA_ARG_NONNULL(1, 2); | | EAPI void *evas_object_intercept_resize_callback_del(Evas_Object *obj, Evas | |
| EAPI void *evas_object_intercept_resize_callback_del (E | | _Object_Intercept_Resize_Cb func) EINA_ARG_NONNULL(1, 2); | |
| vas_Object *obj, Evas_Object_Intercept_Resize_Cb func) EINA_ARG_NONNULL(1, | | EAPI void evas_object_intercept_raise_callback_add(Evas_Object *obj, Evas_ | |
| 2); | | Object_Intercept_Raise_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); | |
| EAPI void evas_object_intercept_raise_callback_add (E | | EAPI void *evas_object_intercept_raise_callback_del(Evas_Object *obj, Evas_ | |
| vas_Object *obj, Evas_Object_Intercept_Raise_Cb func, const void *data) EIN | | Object_Intercept_Raise_Cb func) EINA_ARG_NONNULL(1, 2); | |
| A_ARG_NONNULL(1, 2); | | EAPI void evas_object_intercept_lower_callback_add(Evas_Object *obj, Evas_ | |
| EAPI void *evas_object_intercept_raise_callback_del (E | | Object_Intercept_Lower_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); | |
| vas_Object *obj, Evas_Object_Intercept_Raise_Cb func) EINA_ARG_NONNULL(1, 2 | | EAPI void *evas_object_intercept_lower_callback_del(Evas_Object *obj, Evas_ | |
| ); | | Object_Intercept_Lower_Cb func) EINA_ARG_NONNULL(1, 2); | |
| EAPI void evas_object_intercept_lower_callback_add (E | | EAPI void evas_object_intercept_stack_above_callback_add(Evas_Object *obj, | |
| vas_Object *obj, Evas_Object_Intercept_Lower_Cb func, const void *data) EIN | | Evas_Object_Intercept_Stack_Above_Cb func, const void *data) EINA_ARG_NONN | |
| A_ARG_NONNULL(1, 2); | | ULL(1, 2); | |
| EAPI void *evas_object_intercept_lower_callback_del (E | | EAPI void *evas_object_intercept_stack_above_callback_del(Evas_Object *obj, | |
| vas_Object *obj, Evas_Object_Intercept_Lower_Cb func) EINA_ARG_NONNULL(1, 2 | | Evas_Object_Intercept_Stack_Above_Cb func) EINA_ARG_NONNULL(1, 2); | |
| ); | | EAPI void evas_object_intercept_stack_below_callback_add(Evas_Object *obj, | |
| EAPI void evas_object_intercept_stack_above_callback_add (E | | Evas_Object_Intercept_Stack_Below_Cb func, const void *data) EINA_ARG_NONN | |
| vas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *dat | | ULL(1, 2); | |
| a) EINA_ARG_NONNULL(1, 2); | | EAPI void *evas_object_intercept_stack_below_callback_del(Evas_Object *obj, | |
| EAPI void *evas_object_intercept_stack_above_callback_del (E | | Evas_Object_Intercept_Stack_Below_Cb func) EINA_ARG_NONNULL(1, 2); | |
| vas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func) EINA_ARG_NONNUL | | EAPI void evas_object_intercept_layer_set_callback_add(Evas_Object *obj, E | |
| L(1, 2); | | vas_Object_Intercept_Layer_Set_Cb func, const void *data) EINA_ARG_NONNULL( | |
| EAPI void evas_object_intercept_stack_below_callback_add (E | | 1, 2); | |
| vas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *dat | | EAPI void *evas_object_intercept_layer_set_callback_del(Evas_Object *obj, E | |
| a) EINA_ARG_NONNULL(1, 2); | | vas_Object_Intercept_Layer_Set_Cb func) EINA_ARG_NONNULL(1, 2); | |
| EAPI void *evas_object_intercept_stack_below_callback_del (E | | EAPI void evas_object_intercept_color_set_callback_add(Evas_Object *obj, E | |
| vas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func) EINA_ARG_NONNUL | | vas_Object_Intercept_Color_Set_Cb func, const void *data) EINA_ARG_NONNULL( | |
| L(1, 2); | | 1, 2); | |
| EAPI void evas_object_intercept_layer_set_callback_add (E | | EAPI void *evas_object_intercept_color_set_callback_del(Evas_Object *obj, E | |
| vas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data) | | vas_Object_Intercept_Color_Set_Cb func) EINA_ARG_NONNULL(1, 2); | |
| EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_intercept_clip_set_callback_add(Evas_Object *obj, Ev | |
| EAPI void *evas_object_intercept_layer_set_callback_del (E | | as_Object_Intercept_Clip_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, | |
| vas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func) EINA_ARG_NONNULL( | | 2); | |
| 1, 2); | | EAPI void *evas_object_intercept_clip_set_callback_del(Evas_Object *obj, Ev | |
| EAPI void evas_object_intercept_color_set_callback_add (E | | as_Object_Intercept_Clip_Set_Cb func) EINA_ARG_NONNULL(1, 2); | |
| vas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data) | | EAPI void evas_object_intercept_clip_unset_callback_add(Evas_Object *obj, | |
| EINA_ARG_NONNULL(1, 2); | | Evas_Object_Intercept_Clip_Unset_Cb func, const void *data) EINA_ARG_NONNUL | |
| EAPI void *evas_object_intercept_color_set_callback_del (E | | L(1, 2); | |
| vas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func) EINA_ARG_NONNULL( | | EAPI void *evas_object_intercept_clip_unset_callback_del(Evas_Object *obj, | |
| 1, 2); | | Evas_Object_Intercept_Clip_Unset_Cb func) EINA_ARG_NONNULL(1, 2); | |
| EAPI void evas_object_intercept_clip_set_callback_add (E | | | |
| vas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data) | | | |
| EINA_ARG_NONNULL(1, 2); | | | |
| EAPI void *evas_object_intercept_clip_set_callback_del (E | | | |
| vas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func) EINA_ARG_NONNULL(1 | | | |
| , 2); | | | |
| EAPI void evas_object_intercept_clip_unset_callback_add (E | | | |
| vas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data | | | |
| ) EINA_ARG_NONNULL(1, 2); | | | |
| EAPI void *evas_object_intercept_clip_unset_callback_del (E | | | |
| vas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func) EINA_ARG_NONNULL | | | |
| (1, 2); | | | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Specific Specific Object Functions | | * @defgroup Evas_Object_Specific Specific Object Functions | |
| * | | * | |
| * Functions that work on specific objects. | | * Functions that work on specific objects. | |
| * | | * | |
| | | | |
| skipping to change at line 6139 | | skipping to change at line 6145 | |
| /** | | /** | |
| * @defgroup Evas_Object_Rectangle Rectangle Object Functions | | * @defgroup Evas_Object_Rectangle Rectangle Object Functions | |
| * | | * | |
| * @brief Function to create evas rectangle objects. | | * @brief Function to create evas rectangle objects. | |
| * | | * | |
| * There is only one function to deal with rectangle objects, this may make
this | | * There is only one function to deal with rectangle objects, this may make
this | |
| * function seem useless given there are no functions to manipulate the cre
ated | | * function seem useless given there are no functions to manipulate the cre
ated | |
| * rectangle, however the rectangle is actually very useful and should be | | * rectangle, however the rectangle is actually very useful and should be | |
| * manipulated using the generic @ref Evas_Object_Group "evas object functi
ons". | | * manipulated using the generic @ref Evas_Object_Group "evas object functi
ons". | |
| * | | * | |
|
| * The evas rectangle server a number of key functions when working on evas | | * The evas rectangle serves a number of key functions when working on evas | |
| * programs: | | * programs: | |
| * @li Background | | * @li Background | |
| * @li Debugging | | * @li Debugging | |
| * @li Clipper | | * @li Clipper | |
| * | | * | |
| * @section Background | | * @section Background | |
| * | | * | |
| * One extremely common requirement of evas programs is to have a solid col
or | | * One extremely common requirement of evas programs is to have a solid col
or | |
| * background, this can be accomplished with the following very simple code
: | | * background, this can be accomplished with the following very simple code
: | |
| * @code | | * @code | |
| | | | |
| skipping to change at line 6225 | | skipping to change at line 6231 | |
| * following code will show how to remove all the red from an object: | | * following code will show how to remove all the red from an object: | |
| * @code | | * @code | |
| * Evas_Object *clipper = evas_object_rectangle_add(evas); | | * Evas_Object *clipper = evas_object_rectangle_add(evas); | |
| * evas_object_move(clipper, my_evas_object_x, my_evas_object_y); | | * evas_object_move(clipper, my_evas_object_x, my_evas_object_y); | |
| * evas_object_resize(clipper, my_evas_object_width, my_evas_object_height)
; | | * evas_object_resize(clipper, my_evas_object_width, my_evas_object_height)
; | |
| * evas_object_color_set(clipper, 0, 255, 255, 255); | | * evas_object_color_set(clipper, 0, 255, 255, 255); | |
| * evas_object_clip_set(obj, clipper); | | * evas_object_clip_set(obj, clipper); | |
| * evas_object_show(clipper); | | * evas_object_show(clipper); | |
| * @endcode | | * @endcode | |
| * | | * | |
|
| | | * @warning We don't guarantee any proper results if you create a Rectangle | |
| | | * object without setting the evas engine. | |
| | | * | |
| * For an example that more fully exercise the use of an evas object rectan
gle | | * For an example that more fully exercise the use of an evas object rectan
gle | |
| * see @ref Example_Evas_Object_Manipulation. | | * see @ref Example_Evas_Object_Manipulation. | |
| * | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Adds a rectangle to the given evas. | | * Adds a rectangle to the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The new rectangle object. | | * @return The new rectangle object. | |
| * | | * | |
| * @ingroup Evas_Object_Rectangle | | * @ingroup Evas_Object_Rectangle | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_rectangle_add(Evas *e) EINA_WARN_UNUSED_RESUL
T EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Image Image Object Functions | | * @defgroup Evas_Object_Image Image Object Functions | |
| * | | * | |
| * Here are grouped together functions used to create and manipulate | | * Here are grouped together functions used to create and manipulate | |
| * image objects. They are available to whichever occasion one needs | | * image objects. They are available to whichever occasion one needs | |
| * complex imagery on a GUI that could not be achieved by the other | | * complex imagery on a GUI that could not be achieved by the other | |
| * Evas' primitive object types, or to make image manipulations. | | * Evas' primitive object types, or to make image manipulations. | |
| * | | * | |
| * Evas will support whichever image file types it was compiled with | | * Evas will support whichever image file types it was compiled with | |
| | | | |
| skipping to change at line 6469 | | skipping to change at line 6478 | |
| * RGB values can be 0 to 31 for red and blue and 0 to 63 for green, | | * RGB values can be 0 to 31 for red and blue and 0 to 63 for green, | |
| * with 0 being black and 31 or 63 being full red, green or blue | | * with 0 being black and 31 or 63 being full red, green or blue | |
| * respectively. This colorspace is also pre-multiplied like | | * respectively. This colorspace is also pre-multiplied like | |
| * EVAS_COLORSPACE_ARGB8888 so: | | * EVAS_COLORSPACE_ARGB8888 so: | |
| * \n\n | | * \n\n | |
| * R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32; | | * R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32; | |
| * . | | * . | |
| * - #EVAS_COLORSPACE_GRY8: | | * - #EVAS_COLORSPACE_GRY8: | |
| * The image is just a alpha mask (8 bit's per pixel). This is used | | * The image is just a alpha mask (8 bit's per pixel). This is used | |
| * for alpha masking. | | * for alpha masking. | |
|
| * . | | * | |
| | | * @warning We don't guarantee any proper results if you create a Image obj | |
| | | ect | |
| | | * without setting the evas engine. | |
| | | * | |
| * Some examples on this group of functions can be found @ref | | * Some examples on this group of functions can be found @ref | |
| * Example_Evas_Images "here". | | * Example_Evas_Images "here". | |
| * | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Object_Image | | * @addtogroup Evas_Object_Image | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
|
| typedef void (*Evas_Object_Image_Pixels_Get_Cb) (void *data, Evas_Object *o
); | | typedef void (*Evas_Object_Image_Pixels_Get_Cb)(void *data, Evas_Object *o)
; | |
| | | | |
| /** | | /** | |
| * Creates a new image object on the given Evas @p e canvas. | | * Creates a new image object on the given Evas @p e canvas. | |
| * | | * | |
| * @param e The given canvas. | | * @param e The given canvas. | |
| * @return The created image object handle. | | * @return The created image object handle. | |
| * | | * | |
| * @note If you intend to @b display an image somehow in a GUI, | | * @note If you intend to @b display an image somehow in a GUI, | |
| * besides binding it to a real image file/source (with | | * besides binding it to a real image file/source (with | |
| * evas_object_image_file_set(), for example), you'll have to tell | | * evas_object_image_file_set(), for example), you'll have to tell | |
| | | | |
| skipping to change at line 6505 | | skipping to change at line 6517 | |
| * of the image object. | | * of the image object. | |
| * | | * | |
| * @see evas_object_image_fill_set() | | * @see evas_object_image_fill_set() | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * img = evas_object_image_add(canvas); | | * img = evas_object_image_add(canvas); | |
| * evas_object_image_file_set(img, "/path/to/img", NULL); | | * evas_object_image_file_set(img, "/path/to/img", NULL); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_image_add (Eva
s *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_image_add(Evas *e) EINA_WARN
_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Creates a new image object that @b automatically scales its bound | | * Creates a new image object that @b automatically scales its bound | |
| * image to the object's area, on both axis. | | * image to the object's area, on both axis. | |
| * | | * | |
| * @param e The given canvas. | | * @param e The given canvas. | |
| * @return The created image object handle. | | * @return The created image object handle. | |
| * | | * | |
| * This is a helper function around evas_object_image_add() and | | * This is a helper function around evas_object_image_add() and | |
| * evas_object_image_filled_set(). It has the same effect of applying | | * evas_object_image_filled_set(). It has the same effect of applying | |
| * those functions in sequence, which is a very common use case. | | * those functions in sequence, which is a very common use case. | |
| * | | * | |
| * @note Whenever this object gets resized, the bound image will be | | * @note Whenever this object gets resized, the bound image will be | |
| * rescaled, too. | | * rescaled, too. | |
| * | | * | |
| * @see evas_object_image_add() | | * @see evas_object_image_add() | |
| * @see evas_object_image_filled_set() | | * @see evas_object_image_filled_set() | |
| * @see evas_object_image_fill_set() | | * @see evas_object_image_fill_set() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_image_filled_add (Eva
s *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_image_filled_add(Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Sets the data for an image from memory to be loaded | | * Sets the data for an image from memory to be loaded | |
| * | | * | |
| * This is the same as evas_object_image_file_set() but the file to be load
ed | | * This is the same as evas_object_image_file_set() but the file to be load
ed | |
| * may exist at an address in memory (the data for the file, not the filena
me | | * may exist at an address in memory (the data for the file, not the filena
me | |
| * itself). The @p data at the address is copied and stored for future use,
so | | * itself). The @p data at the address is copied and stored for future use,
so | |
| * no @p data needs to be kept after this call is made. It will be managed
and | | * no @p data needs to be kept after this call is made. It will be managed
and | |
| * freed for you when no longer needed. The @p size is limited to 2 gigabyt
es | | * freed for you when no longer needed. The @p size is limited to 2 gigabyt
es | |
| * in size, and must be greater than 0. A @c NULL @p data pointer is also | | * in size, and must be greater than 0. A @c NULL @p data pointer is also | |
| | | | |
| skipping to change at line 6550 | | skipping to change at line 6562 | |
| * used to help Evas guess better which loader to use for the data. It may | | * used to help Evas guess better which loader to use for the data. It may | |
| * simply be the "extension" of the file as it would normally be on disk | | * simply be the "extension" of the file as it would normally be on disk | |
| * such as "jpg" or "png" or "gif" etc. | | * such as "jpg" or "png" or "gif" etc. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param data The image file data address | | * @param data The image file data address | |
| * @param size The size of the image file data in bytes | | * @param size The size of the image file data in bytes | |
| * @param format The format of the file (optional), or @c NULL if not neede
d | | * @param format The format of the file (optional), or @c NULL if not neede
d | |
| * @param key The image key in file, or @c NULL. | | * @param key The image key in file, or @c NULL. | |
| */ | | */ | |
|
| EAPI void evas_object_image_memfile_set (Eva
s_Object *obj, void *data, int size, char *format, char *key) EINA_ARG_NONN
ULL(1, 2); | | EAPI void evas_object_image_memfile_set(Evas_Objec
t *obj, void *data, int size, char *format, char *key) EINA_ARG_NONNULL(1,
2); | |
| | | | |
| /** | | /** | |
| * Set the source file from where an image object must fetch the real | | * Set the source file from where an image object must fetch the real | |
| * image data (it may be an Eet file, besides pure image ones). | | * image data (it may be an Eet file, besides pure image ones). | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param file The image file path. | | * @param file The image file path. | |
| * @param key The image key in @p file (if its an Eet one), or @c | | * @param key The image key in @p file (if its an Eet one), or @c | |
| * NULL, otherwise. | | * NULL, otherwise. | |
| * | | * | |
| | | | |
| skipping to change at line 6583 | | skipping to change at line 6595 | |
| * valid_path, evas_load_error_str(err)); | | * valid_path, evas_load_error_str(err)); | |
| * } | | * } | |
| * else | | * else | |
| * { | | * { | |
| * evas_object_image_fill_set(img, 0, 0, w, h); | | * evas_object_image_fill_set(img, 0, 0, w, h); | |
| * evas_object_resize(img, w, h); | | * evas_object_resize(img, w, h); | |
| * evas_object_show(img); | | * evas_object_show(img); | |
| * } | | * } | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void evas_object_image_file_set (Eva
s_Object *obj, const char *file, const char *key) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_file_set(Evas_Object *
obj, const char *file, const char *key) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the source file from where an image object is to fetch the | | * Retrieve the source file from where an image object is to fetch the | |
| * real image data (it may be an Eet file, besides pure image ones). | | * real image data (it may be an Eet file, besides pure image ones). | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param file Location to store the image file path. | | * @param file Location to store the image file path. | |
| * @param key Location to store the image key (if @p file is an Eet | | * @param key Location to store the image key (if @p file is an Eet | |
| * one). | | * one). | |
| * | | * | |
| * You must @b not modify the strings on the returned pointers. | | * You must @b not modify the strings on the returned pointers. | |
| * | | * | |
| * @note Use @c NULL pointers on the file components you're not | | * @note Use @c NULL pointers on the file components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| */ | | */ | |
|
| EAPI void evas_object_image_file_get (con
st Evas_Object *obj, const char **file, const char **key) EINA_ARG_NONNULL(
1, 2); | | EAPI void evas_object_image_file_get(const Evas_Ob
ject *obj, const char **file, const char **key) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set the dimensions for an image object's border, a region which @b | | * Set the dimensions for an image object's border, a region which @b | |
| * won't ever be scaled together with its center. | | * won't ever be scaled together with its center. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param l The border's left width. | | * @param l The border's left width. | |
| * @param r The border's right width. | | * @param r The border's right width. | |
| * @param t The border's top width. | | * @param t The border's top width. | |
| * @param b The border's bottom width. | | * @param b The border's bottom width. | |
| | | | |
| skipping to change at line 6643 | | skipping to change at line 6655 | |
| * @htmlonly | | * @htmlonly | |
| * <img src="border-effect.png" style="max-width: 100%;" /> | | * <img src="border-effect.png" style="max-width: 100%;" /> | |
| * <a href="border-effect.png">Full-size</a> | | * <a href="border-effect.png">Full-size</a> | |
| * @endhtmlonly | | * @endhtmlonly | |
| * @image rtf border-effect.png | | * @image rtf border-effect.png | |
| * @image latex border-effect.eps width=\textwidth | | * @image latex border-effect.eps width=\textwidth | |
| * | | * | |
| * @see evas_object_image_border_get() | | * @see evas_object_image_border_get() | |
| * @see evas_object_image_border_center_fill_set() | | * @see evas_object_image_border_center_fill_set() | |
| */ | | */ | |
|
| EAPI void evas_object_image_border_set (Eva
s_Object *obj, int l, int r, int t, int b) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_border_set(Evas_Object
*obj, int l, int r, int t, int b) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the dimensions for an image object's border, a region | | * Retrieve the dimensions for an image object's border, a region | |
| * which @b won't ever be scaled together with its center. | | * which @b won't ever be scaled together with its center. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param l Location to store the border's left width in. | | * @param l Location to store the border's left width in. | |
| * @param r Location to store the border's right width in. | | * @param r Location to store the border's right width in. | |
| * @param t Location to store the border's top width in. | | * @param t Location to store the border's top width in. | |
| * @param b Location to store the border's bottom width in. | | * @param b Location to store the border's bottom width in. | |
| * | | * | |
| * @note Use @c NULL pointers on the border components you're not | | * @note Use @c NULL pointers on the border components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * See @ref evas_object_image_border_set() for more details. | | * See @ref evas_object_image_border_set() for more details. | |
| */ | | */ | |
|
| EAPI void evas_object_image_border_get (con
st Evas_Object *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_border_get(const Evas_
Object *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets @b how the center part of the given image object (not the | | * Sets @b how the center part of the given image object (not the | |
| * borders) should be drawn when Evas is rendering it. | | * borders) should be drawn when Evas is rendering it. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param fill Fill mode of the center region of @p obj (a value in | | * @param fill Fill mode of the center region of @p obj (a value in | |
| * #Evas_Border_Fill_Mode). | | * #Evas_Border_Fill_Mode). | |
| * | | * | |
| * This function sets how the center part of the image object's source | | * This function sets how the center part of the image object's source | |
| * image is to be drawn, which must be one of the values in | | * image is to be drawn, which must be one of the values in | |
| * #Evas_Border_Fill_Mode. By center we mean the complementary part of | | * #Evas_Border_Fill_Mode. By center we mean the complementary part of | |
| * that defined by evas_object_image_border_set(). This one is very | | * that defined by evas_object_image_border_set(). This one is very | |
| * useful for making frames and decorations. You would most probably | | * useful for making frames and decorations. You would most probably | |
| * also be using a filled image (as in evas_object_image_filled_set()) | | * also be using a filled image (as in evas_object_image_filled_set()) | |
| * to use as a frame. | | * to use as a frame. | |
| * | | * | |
| * @see evas_object_image_border_center_fill_get() | | * @see evas_object_image_border_center_fill_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_border_center_fill_set (Eva
s_Object *obj, Evas_Border_Fill_Mode fill) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_border_center_fill_set
(Evas_Object *obj, Evas_Border_Fill_Mode fill) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves @b how the center part of the given image object (not the | | * Retrieves @b how the center part of the given image object (not the | |
| * borders) is to be drawn when Evas is rendering it. | | * borders) is to be drawn when Evas is rendering it. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return fill Fill mode of the center region of @p obj (a value in | | * @return fill Fill mode of the center region of @p obj (a value in | |
| * #Evas_Border_Fill_Mode). | | * #Evas_Border_Fill_Mode). | |
| * | | * | |
| * See @ref evas_object_image_fill_set() for more details. | | * See @ref evas_object_image_fill_set() for more details. | |
| */ | | */ | |
|
| EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get
(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether the image object's fill property should track the | | * Set whether the image object's fill property should track the | |
| * object's size. | | * object's size. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param setting @c EINA_TRUE, to make the fill property follow | | * @param setting @c EINA_TRUE, to make the fill property follow | |
| * object size or @c EINA_FALSE, otherwise. | | * object size or @c EINA_FALSE, otherwise. | |
| * | | * | |
| * If @p setting is @c EINA_TRUE, then every evas_object_resize() will | | * If @p setting is @c EINA_TRUE, then every evas_object_resize() will | |
| * @b automatically trigger a call to evas_object_image_fill_set() | | * @b automatically trigger a call to evas_object_image_fill_set() | |
| * with the that new size (and @c 0, @c 0 as source image's origin), | | * with the that new size (and @c 0, @c 0 as source image's origin), | |
| * so the bound image will fill the whole object's area. | | * so the bound image will fill the whole object's area. | |
| * | | * | |
| * @see evas_object_image_filled_add() | | * @see evas_object_image_filled_add() | |
| * @see evas_object_image_fill_get() | | * @see evas_object_image_fill_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_filled_set (Eva
s_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_filled_set(Evas_Object
*obj, Eina_Bool setting) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve whether the image object's fill property should track the | | * Retrieve whether the image object's fill property should track the | |
| * object's size. | | * object's size. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return @c EINA_TRUE if it is tracking, @c EINA_FALSE, if not (and | | * @return @c EINA_TRUE if it is tracking, @c EINA_FALSE, if not (and | |
| * evas_object_fill_set() must be called manually). | | * evas_object_fill_set() must be called manually). | |
| * | | * | |
| * @see evas_object_image_filled_set() for more information | | * @see evas_object_image_filled_set() for more information | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_filled_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_filled_get(const Evas_
Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the scaling factor (multiplier) for the borders of an image | | * Sets the scaling factor (multiplier) for the borders of an image | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param scale The scale factor (default is @c 1.0 - i.e. no scaling) | | * @param scale The scale factor (default is @c 1.0 - i.e. no scaling) | |
| * | | * | |
| * @see evas_object_image_border_set() | | * @see evas_object_image_border_set() | |
| * @see evas_object_image_border_scale_get() | | * @see evas_object_image_border_scale_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_border_scale_set (Eva
s_Object *obj, double scale); | | EAPI void evas_object_image_border_scale_set(Evas_
Object *obj, double scale); | |
| | | | |
| /** | | /** | |
| * Retrieves the scaling factor (multiplier) for the borders of an | | * Retrieves the scaling factor (multiplier) for the borders of an | |
| * image object. | | * image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return The scale factor set for its borders | | * @return The scale factor set for its borders | |
| * | | * | |
| * @see evas_object_image_border_set() | | * @see evas_object_image_border_set() | |
| * @see evas_object_image_border_scale_set() | | * @see evas_object_image_border_scale_set() | |
| */ | | */ | |
|
| EAPI double evas_object_image_border_scale_get (con
st Evas_Object *obj); | | EAPI double evas_object_image_border_scale_get(const
Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Set how to fill an image object's drawing rectangle given the | | * Set how to fill an image object's drawing rectangle given the | |
| * (real) image bound to it. | | * (real) image bound to it. | |
| * | | * | |
| * @param obj The given image object to operate on. | | * @param obj The given image object to operate on. | |
| * @param x The x coordinate (from the top left corner of the bound | | * @param x The x coordinate (from the top left corner of the bound | |
| * image) to start drawing from. | | * image) to start drawing from. | |
| * @param y The y coordinate (from the top left corner of the bound | | * @param y The y coordinate (from the top left corner of the bound | |
| * image) to start drawing from. | | * image) to start drawing from. | |
| | | | |
| skipping to change at line 6785 | | skipping to change at line 6797 | |
| * @warning The default values for the fill parameters are @p x = 0, | | * @warning The default values for the fill parameters are @p x = 0, | |
| * @p y = 0, @p w = 0 and @p h = 0. Thus, if you're not using the | | * @p y = 0, @p w = 0 and @p h = 0. Thus, if you're not using the | |
| * evas_object_image_filled_add() helper and want your image | | * evas_object_image_filled_add() helper and want your image | |
| * displayed, you'll have to set valid values with this function on | | * displayed, you'll have to set valid values with this function on | |
| * your object. | | * your object. | |
| * | | * | |
| * @note evas_object_image_filled_set() is a helper function which | | * @note evas_object_image_filled_set() is a helper function which | |
| * will @b override the values set here automatically, for you, in a | | * will @b override the values set here automatically, for you, in a | |
| * given way. | | * given way. | |
| */ | | */ | |
|
| EAPI void evas_object_image_fill_set (Eva
s_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA
_ARG_NONNULL(1); | | EAPI void evas_object_image_fill_set(Evas_Object *
obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNU
LL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve how an image object is to fill its drawing rectangle, | | * Retrieve how an image object is to fill its drawing rectangle, | |
| * given the (real) image bound to it. | | * given the (real) image bound to it. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param x Location to store the x coordinate (from the top left | | * @param x Location to store the x coordinate (from the top left | |
| * corner of the bound image) to start drawing from. | | * corner of the bound image) to start drawing from. | |
| * @param y Location to store the y coordinate (from the top left | | * @param y Location to store the y coordinate (from the top left | |
| * corner of the bound image) to start drawing from. | | * corner of the bound image) to start drawing from. | |
| * @param w Location to store the width the bound image is to be | | * @param w Location to store the width the bound image is to be | |
| * displayed at. | | * displayed at. | |
| * @param h Location to store the height the bound image is to be | | * @param h Location to store the height the bound image is to be | |
| * displayed at. | | * displayed at. | |
| * | | * | |
| * @note Use @c NULL pointers on the fill components you're not | | * @note Use @c NULL pointers on the fill components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * See @ref evas_object_image_fill_set() for more details. | | * See @ref evas_object_image_fill_set() for more details. | |
| */ | | */ | |
|
| EAPI void evas_object_image_fill_get (con
st Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coor
d *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_fill_get(const Evas_Ob
ject *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA
_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the tiling mode for the given evas image object's fill. | | * Sets the tiling mode for the given evas image object's fill. | |
| * @param obj The given evas image object. | | * @param obj The given evas image object. | |
| * @param spread One of EVAS_TEXTURE_REFLECT, EVAS_TEXTURE_REPEAT, | | * @param spread One of EVAS_TEXTURE_REFLECT, EVAS_TEXTURE_REPEAT, | |
| * EVAS_TEXTURE_RESTRICT, or EVAS_TEXTURE_PAD. | | * EVAS_TEXTURE_RESTRICT, or EVAS_TEXTURE_PAD. | |
| */ | | */ | |
|
| EAPI void evas_object_image_fill_spread_set (Eva
s_Object *obj, Evas_Fill_Spread spread) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_fill_spread_set(Evas_O
bject *obj, Evas_Fill_Spread spread) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the spread (tiling mode) for the given image object's | | * Retrieves the spread (tiling mode) for the given image object's | |
| * fill. | | * fill. | |
| * | | * | |
| * @param obj The given evas image object. | | * @param obj The given evas image object. | |
| * @return The current spread mode of the image object. | | * @return The current spread mode of the image object. | |
| */ | | */ | |
|
| EAPI Evas_Fill_Spread evas_object_image_fill_spread_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Fill_Spread evas_object_image_fill_spread_get(const
Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the size of the given image object. | | * Sets the size of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param w The new width of the image. | | * @param w The new width of the image. | |
| * @param h The new height of the image. | | * @param h The new height of the image. | |
| * | | * | |
| * This function will scale down or crop the image so that it is | | * This function will scale down or crop the image so that it is | |
| * treated as if it were at the given size. If the size given is | | * treated as if it were at the given size. If the size given is | |
| * smaller than the image, it will be cropped. If the size given is | | * smaller than the image, it will be cropped. If the size given is | |
| * larger, then the image will be treated as if it were in the upper | | * larger, then the image will be treated as if it were in the upper | |
| * left hand corner of a larger image that is otherwise transparent. | | * left hand corner of a larger image that is otherwise transparent. | |
| */ | | */ | |
|
| EAPI void evas_object_image_size_set (Eva
s_Object *obj, int w, int h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_size_set(Evas_Object *
obj, int w, int h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the size of the given image object. | | * Retrieves the size of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param w Location to store the width of the image in, or @c NULL. | | * @param w Location to store the width of the image in, or @c NULL. | |
| * @param h Location to store the height of the image in, or @c NULL. | | * @param h Location to store the height of the image in, or @c NULL. | |
| * | | * | |
| * See @ref evas_object_image_size_set() for more details. | | * See @ref evas_object_image_size_set() for more details. | |
| */ | | */ | |
|
| EAPI void evas_object_image_size_get (con
st Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_size_get(const Evas_Ob
ject *obj, int *w, int *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the row stride of the given image object. | | * Retrieves the row stride of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return The stride of the image (<b>in bytes</b>). | | * @return The stride of the image (<b>in bytes</b>). | |
| * | | * | |
| * The row stride is the number of bytes between the start of a row | | * The row stride is the number of bytes between the start of a row | |
| * and the start of the next row for image data. | | * and the start of the next row for image data. | |
| */ | | */ | |
|
| EAPI int evas_object_image_stride_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_object_image_stride_get(const Evas_
Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves a number representing any error that occurred during the | | * Retrieves a number representing any error that occurred during the | |
| * last loading of the given image object's source image. | | * last loading of the given image object's source image. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return A value giving the last error that occurred. It should be | | * @return A value giving the last error that occurred. It should be | |
| * one of the #Evas_Load_Error values. #EVAS_LOAD_ERROR_NONE | | * one of the #Evas_Load_Error values. #EVAS_LOAD_ERROR_NONE | |
| * is returned if there was no error. | | * is returned if there was no error. | |
| */ | | */ | |
|
| EAPI Evas_Load_Error evas_object_image_load_error_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Load_Error evas_object_image_load_error_get(const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the raw image data of the given image object. | | * Sets the raw image data of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param data The raw data, or @c NULL. | | * @param data The raw data, or @c NULL. | |
| * | | * | |
| * Note that the raw data must be of the same size (see | | * Note that the raw data must be of the same size (see | |
| * evas_object_image_size_set(), which has to be called @b before this | | * evas_object_image_size_set(), which has to be called @b before this | |
| * one) and colorspace (see evas_object_image_colorspace_set()) of the | | * one) and colorspace (see evas_object_image_colorspace_set()) of the | |
| * image. If data is @c NULL, the current image data will be | | * image. If data is @c NULL, the current image data will be | |
| * freed. Naturally, if one does not set an image object's data | | * freed. Naturally, if one does not set an image object's data | |
| * manually, it will still have one, allocated by Evas. | | * manually, it will still have one, allocated by Evas. | |
| * | | * | |
| * @see evas_object_image_data_get() | | * @see evas_object_image_data_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_data_set (Eva
s_Object *obj, void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_data_set(Evas_Object *
obj, void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get a pointer to the raw image data of the given image object. | | * Get a pointer to the raw image data of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param for_writing Whether the data being retrieved will be | | * @param for_writing Whether the data being retrieved will be | |
| * modified (@c EINA_TRUE) or not (@c EINA_FALSE). | | * modified (@c EINA_TRUE) or not (@c EINA_FALSE). | |
| * @return The raw image data. | | * @return The raw image data. | |
| * | | * | |
| * This function returns a pointer to an image object's internal pixel | | * This function returns a pointer to an image object's internal pixel | |
| | | | |
| skipping to change at line 6920 | | skipping to change at line 6932 | |
| * without changing its dimensions. | | * without changing its dimensions. | |
| * | | * | |
| * @note The contents' format returned by it depend on the color | | * @note The contents' format returned by it depend on the color | |
| * space of the given image object. | | * space of the given image object. | |
| * | | * | |
| * @note You may want to use evas_object_image_data_update_add() to | | * @note You may want to use evas_object_image_data_update_add() to | |
| * inform data changes, if you did any. | | * inform data changes, if you did any. | |
| * | | * | |
| * @see evas_object_image_data_set() | | * @see evas_object_image_data_set() | |
| */ | | */ | |
|
| EAPI void *evas_object_image_data_get (con
st Evas_Object *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_AR
G_NONNULL(1); | | EAPI void *evas_object_image_data_get(const Evas_Ob
ject *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1); | |
| | | | |
| /** | | /** | |
| * Converts the raw image data of the given image object to the | | * Converts the raw image data of the given image object to the | |
| * specified colorspace. | | * specified colorspace. | |
| * | | * | |
| * Note that this function does not modify the raw image data. If the | | * Note that this function does not modify the raw image data. If the | |
| * requested colorspace is the same as the image colorspace nothing is | | * requested colorspace is the same as the image colorspace nothing is | |
| * done and @c NULL is returned. You should use | | * done and @c NULL is returned. You should use | |
| * evas_object_image_colorspace_get() to check the current image | | * evas_object_image_colorspace_get() to check the current image | |
| * colorspace. | | * colorspace. | |
| * | | * | |
| * See @ref evas_object_image_colorspace_get. | | * See @ref evas_object_image_colorspace_get. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param to_cspace The colorspace to which the image raw data will be conv
erted. | | * @param to_cspace The colorspace to which the image raw data will be conv
erted. | |
| * @return data A newly allocated data in the format specified by to_cspace
. | | * @return data A newly allocated data in the format specified by to_cspace
. | |
| */ | | */ | |
|
| EAPI void *evas_object_image_data_convert (Eva
s_Object *obj, Evas_Colorspace to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_
NONNULL(1); | | EAPI void *evas_object_image_data_convert(Evas_Obje
ct *obj, Evas_Colorspace to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNUL
L(1); | |
| | | | |
| /** | | /** | |
| * Replaces the raw image data of the given image object. | | * Replaces the raw image data of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param data The raw data to replace. | | * @param data The raw data to replace. | |
| * | | * | |
| * This function lets the application replace an image object's | | * This function lets the application replace an image object's | |
| * internal pixel buffer with an user-allocated one. For best results, | | * internal pixel buffer with an user-allocated one. For best results, | |
| * you should generally first call evas_object_image_size_set() with | | * you should generally first call evas_object_image_size_set() with | |
| | | | |
| skipping to change at line 6963 | | skipping to change at line 6975 | |
| * only need to modify the existing image in some fashion, then using | | * only need to modify the existing image in some fashion, then using | |
| * evas_object_image_data_get() is probably what you are after. | | * evas_object_image_data_get() is probably what you are after. | |
| * | | * | |
| * Note that the caller is responsible for freeing the buffer when | | * Note that the caller is responsible for freeing the buffer when | |
| * finished with it, as user-set image data will not be automatically | | * finished with it, as user-set image data will not be automatically | |
| * freed when the image object is deleted. | | * freed when the image object is deleted. | |
| * | | * | |
| * See @ref evas_object_image_data_get() for more details. | | * See @ref evas_object_image_data_get() for more details. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_image_data_copy_set (Eva
s_Object *obj, void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_data_copy_set(Evas_Obj
ect *obj, void *data) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Mark a sub-region of the given image object to be redrawn. | | * Mark a sub-region of the given image object to be redrawn. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param x X-offset of the region to be updated. | | * @param x X-offset of the region to be updated. | |
| * @param y Y-offset of the region to be updated. | | * @param y Y-offset of the region to be updated. | |
| * @param w Width of the region to be updated. | | * @param w Width of the region to be updated. | |
| * @param h Height of the region to be updated. | | * @param h Height of the region to be updated. | |
| * | | * | |
| * This function schedules a particular rectangular region of an image | | * This function schedules a particular rectangular region of an image | |
| * object to be updated (redrawn) at the next rendering cycle. | | * object to be updated (redrawn) at the next rendering cycle. | |
| */ | | */ | |
|
| EAPI void evas_object_image_data_update_add (Eva
s_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_data_update_add(Evas_O
bject *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Enable or disable alpha channel usage on the given image object. | | * Enable or disable alpha channel usage on the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param has_alpha Whether to use alpha channel (@c EINA_TRUE) data | | * @param has_alpha Whether to use alpha channel (@c EINA_TRUE) data | |
| * or not (@c EINA_FALSE). | | * or not (@c EINA_FALSE). | |
| * | | * | |
| * This function sets a flag on an image object indicating whether or | | * This function sets a flag on an image object indicating whether or | |
| * not to use alpha channel data. A value of @c EINA_TRUE makes it use | | * not to use alpha channel data. A value of @c EINA_TRUE makes it use | |
| * alpha channel data, and @c EINA_FALSE makes it ignore that | | * alpha channel data, and @c EINA_FALSE makes it ignore that | |
| * data. Note that this has nothing to do with an object's color as | | * data. Note that this has nothing to do with an object's color as | |
| * manipulated by evas_object_color_set(). | | * manipulated by evas_object_color_set(). | |
| * | | * | |
| * @see evas_object_image_alpha_get() | | * @see evas_object_image_alpha_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_alpha_set (Eva
s_Object *obj, Eina_Bool has_alpha) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_alpha_set(Evas_Object
*obj, Eina_Bool has_alpha) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve whether alpha channel data is being used on the given | | * Retrieve whether alpha channel data is being used on the given | |
| * image object. | | * image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return Whether the alpha channel data is being used (@c EINA_TRUE) | | * @return Whether the alpha channel data is being used (@c EINA_TRUE) | |
| * or not (@c EINA_FALSE). | | * or not (@c EINA_FALSE). | |
| * | | * | |
| * This function returns @c EINA_TRUE if the image object's alpha | | * This function returns @c EINA_TRUE if the image object's alpha | |
| * channel is being used, or @c EINA_FALSE otherwise. | | * channel is being used, or @c EINA_FALSE otherwise. | |
| * | | * | |
| * See @ref evas_object_image_alpha_set() for more details. | | * See @ref evas_object_image_alpha_set() for more details. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_alpha_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_alpha_get(const Evas_O
bject *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets whether to use high-quality image scaling algorithm on the | | * Sets whether to use high-quality image scaling algorithm on the | |
| * given image object. | | * given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param smooth_scale Whether to use smooth scale or not. | | * @param smooth_scale Whether to use smooth scale or not. | |
| * | | * | |
| * When enabled, a higher quality image scaling algorithm is used when | | * When enabled, a higher quality image scaling algorithm is used when | |
| * scaling images to sizes other than the source image's original | | * scaling images to sizes other than the source image's original | |
| * one. This gives better results but is more computationally | | * one. This gives better results but is more computationally | |
| * expensive. | | * expensive. | |
| * | | * | |
| * @note Image objects get created originally with smooth scaling @b | | * @note Image objects get created originally with smooth scaling @b | |
| * on. | | * on. | |
| * | | * | |
| * @see evas_object_image_smooth_scale_get() | | * @see evas_object_image_smooth_scale_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_smooth_scale_set (Eva
s_Object *obj, Eina_Bool smooth_scale) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_smooth_scale_set(Evas_
Object *obj, Eina_Bool smooth_scale) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves whether the given image object is using high-quality | | * Retrieves whether the given image object is using high-quality | |
| * image scaling algorithm. | | * image scaling algorithm. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return Whether smooth scale is being used. | | * @return Whether smooth scale is being used. | |
| * | | * | |
| * See @ref evas_object_image_smooth_scale_set() for more details. | | * See @ref evas_object_image_smooth_scale_set() for more details. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_smooth_scale_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_smooth_scale_get(const
Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Preload an image object's image data in the background | | * Preload an image object's image data in the background | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param cancel @c EINA_FALSE will add it the preloading work queue, | | * @param cancel @c EINA_FALSE will add it the preloading work queue, | |
| * @c EINA_TRUE will remove it (if it was issued before). | | * @c EINA_TRUE will remove it (if it was issued before). | |
| * | | * | |
| * This function requests the preload of the data image in the | | * This function requests the preload of the data image in the | |
| * background. The work is queued before being processed (because | | * background. The work is queued before being processed (because | |
| | | | |
| skipping to change at line 7066 | | skipping to change at line 7078 | |
| * Use @c EINA_TRUE for @p cancel on scenarios where you don't need | | * Use @c EINA_TRUE for @p cancel on scenarios where you don't need | |
| * the image data preloaded anymore. | | * the image data preloaded anymore. | |
| * | | * | |
| * @note Any evas_object_show() call after evas_object_image_preload() | | * @note Any evas_object_show() call after evas_object_image_preload() | |
| * will make the latter to be @b cancelled, with the loading process | | * will make the latter to be @b cancelled, with the loading process | |
| * now taking place @b synchronously (and, thus, blocking the return | | * now taking place @b synchronously (and, thus, blocking the return | |
| * of the former until the image is loaded). It is highly advisable, | | * of the former until the image is loaded). It is highly advisable, | |
| * then, that the user preload an image with it being @b hidden, just | | * then, that the user preload an image with it being @b hidden, just | |
| * to be shown on the #EVAS_CALLBACK_IMAGE_PRELOADED event's callback. | | * to be shown on the #EVAS_CALLBACK_IMAGE_PRELOADED event's callback. | |
| */ | | */ | |
|
| EAPI void evas_object_image_preload (Eva
s_Object *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_preload(Evas_Object *o
bj, Eina_Bool cancel) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Reload an image object's image data. | | * Reload an image object's image data. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * | | * | |
| * This function reloads the image data bound to image object @p obj. | | * This function reloads the image data bound to image object @p obj. | |
| */ | | */ | |
|
| EAPI void evas_object_image_reload (Eva
s_Object *obj) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_reload(Evas_Object *ob
j) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Save the given image object's contents to an (image) file. | | * Save the given image object's contents to an (image) file. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param file The filename to be used to save the image (extension | | * @param file The filename to be used to save the image (extension | |
| * obligatory). | | * obligatory). | |
| * @param key The image key in the file (if an Eet one), or @c NULL, | | * @param key The image key in the file (if an Eet one), or @c NULL, | |
| * otherwise. | | * otherwise. | |
| * @param flags String containing the flags to be used (@c NULL for | | * @param flags String containing the flags to be used (@c NULL for | |
| | | | |
| skipping to change at line 7097 | | skipping to change at line 7109 | |
| * | | * | |
| * The extension suffix on @p file will determine which <b>saver | | * The extension suffix on @p file will determine which <b>saver | |
| * module</b> Evas is to use when saving, thus the final file's | | * module</b> Evas is to use when saving, thus the final file's | |
| * format. If the file supports multiple data stored in it (Eet ones), | | * format. If the file supports multiple data stored in it (Eet ones), | |
| * you can specify the key to be used as the index of the image in it. | | * you can specify the key to be used as the index of the image in it. | |
| * | | * | |
| * You can specify some flags when saving the image. Currently | | * You can specify some flags when saving the image. Currently | |
| * acceptable flags are @c quality and @c compress. Eg.: @c | | * acceptable flags are @c quality and @c compress. Eg.: @c | |
| * "quality=100 compress=9" | | * "quality=100 compress=9" | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_save (con
st Evas_Object *obj, const char *file, const char *key, const char *flags)
EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_image_save(const Evas_Object
*obj, const char *file, const char *key, const char *flags) EINA_ARG_NONN
ULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Import pixels from given source to a given canvas image object. | | * Import pixels from given source to a given canvas image object. | |
| * | | * | |
| * @param obj The given canvas object. | | * @param obj The given canvas object. | |
| * @param pixels The pixel's source to be imported. | | * @param pixels The pixel's source to be imported. | |
| * | | * | |
| * This function imports pixels from a given source to a given canvas image
. | | * This function imports pixels from a given source to a given canvas image
. | |
| * | | * | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_pixels_import (Eva
s_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_image_pixels_import(Evas_Obj
ect *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set the callback function to get pixels from a canvas' image. | | * Set the callback function to get pixels from a canvas' image. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param func The callback function. | | * @param func The callback function. | |
| * @param data The data pointer to be passed to @a func. | | * @param data The data pointer to be passed to @a func. | |
| * | | * | |
| * This functions sets a function to be the callback function that get | | * This functions sets a function to be the callback function that get | |
| * pixes from a image of the canvas. | | * pixes from a image of the canvas. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_image_pixels_get_callback_set(Eva
s_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data) EINA_ARG_N
ONNULL(1, 2); | | EAPI void evas_object_image_pixels_get_callback_se
t(Evas_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data) EINA_
ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
|
| * Mark whether the given image object is dirty (needs to be redrawn). | | * Mark whether the given image object is dirty and needs to request its pi
xels. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param dirty Whether the image is dirty. | | * @param dirty Whether the image is dirty. | |
|
| | | * | |
| | | * This function will only properly work if a pixels get callback has been | |
| | | set. | |
| | | * | |
| | | * @warning use this function if you really know what you are doing. | |
| | | * | |
| | | * @see evas_object_image_pixels_get_callback_set() | |
| */ | | */ | |
|
| EAPI void evas_object_image_pixels_dirty_set (Eva
s_Object *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_pixels_dirty_set(Evas_
Object *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves whether the given image object is dirty (needs to be redrawn). | | * Retrieves whether the given image object is dirty (needs to be redrawn). | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return Whether the image is dirty. | | * @return Whether the image is dirty. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_pixels_dirty_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_pixels_dirty_get(const
Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the DPI resolution of an image object's source image. | | * Set the DPI resolution of an image object's source image. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param dpi The new DPI resolution. | | * @param dpi The new DPI resolution. | |
| * | | * | |
| * This function sets the DPI resolution of a given loaded canvas | | * This function sets the DPI resolution of a given loaded canvas | |
| * image. Most useful for the SVG image loader. | | * image. Most useful for the SVG image loader. | |
| * | | * | |
| * @see evas_object_image_load_dpi_get() | | * @see evas_object_image_load_dpi_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_load_dpi_set (Eva
s_Object *obj, double dpi) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_dpi_set(Evas_Obje
ct *obj, double dpi) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the DPI resolution of a loaded image object in the canvas. | | * Get the DPI resolution of a loaded image object in the canvas. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return The DPI resolution of the given canvas image. | | * @return The DPI resolution of the given canvas image. | |
| * | | * | |
| * This function returns the DPI resolution of the given canvas image. | | * This function returns the DPI resolution of the given canvas image. | |
| * | | * | |
| * @see evas_object_image_load_dpi_set() for more details | | * @see evas_object_image_load_dpi_set() for more details | |
| */ | | */ | |
|
| EAPI double evas_object_image_load_dpi_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI double evas_object_image_load_dpi_get(const Eva
s_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the size of a given image object's source image, when loading | | * Set the size of a given image object's source image, when loading | |
| * it. | | * it. | |
| * | | * | |
| * @param obj The given canvas object. | | * @param obj The given canvas object. | |
| * @param w The new width of the image's load size. | | * @param w The new width of the image's load size. | |
| * @param h The new height of the image's load size. | | * @param h The new height of the image's load size. | |
| * | | * | |
| * This function sets a new (loading) size for the given canvas | | * This function sets a new (loading) size for the given canvas | |
| * image. | | * image. | |
| * | | * | |
| * @see evas_object_image_load_size_get() | | * @see evas_object_image_load_size_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_load_size_set (Eva
s_Object *obj, int w, int h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_size_set(Evas_Obj
ect *obj, int w, int h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the size of a given image object's source image, when loading | | * Get the size of a given image object's source image, when loading | |
| * it. | | * it. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param w Where to store the new width of the image's load size. | | * @param w Where to store the new width of the image's load size. | |
| * @param h Where to store the new height of the image's load size. | | * @param h Where to store the new height of the image's load size. | |
| * | | * | |
| * @note Use @c NULL pointers on the size components you're not | | * @note Use @c NULL pointers on the size components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_image_load_size_set() for more details | | * @see evas_object_image_load_size_set() for more details | |
| */ | | */ | |
|
| EAPI void evas_object_image_load_size_get (con
st Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_size_get(const Ev
as_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the scale down factor of a given image object's source image, | | * Set the scale down factor of a given image object's source image, | |
| * when loading it. | | * when loading it. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param scale_down The scale down factor. | | * @param scale_down The scale down factor. | |
| * | | * | |
| * This function sets the scale down factor of a given canvas | | * This function sets the scale down factor of a given canvas | |
| * image. Most useful for the SVG image loader. | | * image. Most useful for the SVG image loader. | |
| * | | * | |
| * @see evas_object_image_load_scale_down_get() | | * @see evas_object_image_load_scale_down_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_load_scale_down_set (Eva
s_Object *obj, int scale_down) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_scale_down_set(Ev
as_Object *obj, int scale_down) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * get the scale down factor of a given image object's source image, | | * get the scale down factor of a given image object's source image, | |
| * when loading it. | | * when loading it. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * | | * | |
| * @see evas_object_image_load_scale_down_set() for more details | | * @see evas_object_image_load_scale_down_set() for more details | |
| */ | | */ | |
|
| EAPI int evas_object_image_load_scale_down_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_object_image_load_scale_down_get(co
nst Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Inform a given image object to load a selective region of its | | * Inform a given image object to load a selective region of its | |
| * source image. | | * source image. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param x X-offset of the region to be loaded. | | * @param x X-offset of the region to be loaded. | |
| * @param y Y-offset of the region to be loaded. | | * @param y Y-offset of the region to be loaded. | |
| * @param w Width of the region to be loaded. | | * @param w Width of the region to be loaded. | |
| * @param h Height of the region to be loaded. | | * @param h Height of the region to be loaded. | |
| * | | * | |
| * This function is useful when one is not showing all of an image's | | * This function is useful when one is not showing all of an image's | |
| * area on its image object. | | * area on its image object. | |
| * | | * | |
| * @note The image loader for the image format in question has to | | * @note The image loader for the image format in question has to | |
| * support selective region loading in order to this function to take | | * support selective region loading in order to this function to take | |
| * effect. | | * effect. | |
| * | | * | |
| * @see evas_object_image_load_region_get() | | * @see evas_object_image_load_region_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_load_region_set (Eva
s_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_region_set(Evas_O
bject *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the coordinates of a given image object's selective | | * Retrieve the coordinates of a given image object's selective | |
| * (source image) load region. | | * (source image) load region. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param x Where to store the X-offset of the region to be loaded. | | * @param x Where to store the X-offset of the region to be loaded. | |
| * @param y Where to store the Y-offset of the region to be loaded. | | * @param y Where to store the Y-offset of the region to be loaded. | |
| * @param w Where to store the width of the region to be loaded. | | * @param w Where to store the width of the region to be loaded. | |
| * @param h Where to store the height of the region to be loaded. | | * @param h Where to store the height of the region to be loaded. | |
| * | | * | |
| * @note Use @c NULL pointers on the coordinates you're not interested | | * @note Use @c NULL pointers on the coordinates you're not interested | |
| * in: they'll be ignored by the function. | | * in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_image_load_region_get() | | * @see evas_object_image_load_region_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_load_region_get (con
st Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_region_get(const
Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Define if the orientation information in the image file should be honore
d. | | * Define if the orientation information in the image file should be honore
d. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param enable @c EINA_TRUE means that it should honor the orientation in
formation | | * @param enable @c EINA_TRUE means that it should honor the orientation in
formation | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_image_load_orientation_set
(Evas_Object *obj, Eina_Bool enable) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_orientation_set(E
vas_Object *obj, Eina_Bool enable) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get if the orientation information in the image file should be honored. | | * Get if the orientation information in the image file should be honored. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_load_orientation_get
(const Evas_Object *obj) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_load_orientation_get(c
onst Evas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the colorspace of a given image of the canvas. | | * Set the colorspace of a given image of the canvas. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param cspace The new color space. | | * @param cspace The new color space. | |
| * | | * | |
| * This function sets the colorspace of given canvas image. | | * This function sets the colorspace of given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_image_colorspace_set (Eva
s_Object *obj, Evas_Colorspace cspace) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_colorspace_set(Evas_Ob
ject *obj, Evas_Colorspace cspace) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the colorspace of a given image of the canvas. | | * Get the colorspace of a given image of the canvas. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @return The colorspace of the image. | | * @return The colorspace of the image. | |
| * | | * | |
| * This function returns the colorspace of given canvas image. | | * This function returns the colorspace of given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI Evas_Colorspace evas_object_image_colorspace_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Colorspace evas_object_image_colorspace_get(const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the support state of a given image | | * Get the support state of a given image | |
| * | | * | |
| * @param obj The given image object pointer | | * @param obj The given image object pointer | |
| * @return The region support state | | * @return The region support state | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| * | | * | |
| * This function returns the state of the region support of given image | | * This function returns the state of the region support of given image | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_region_support_get (const
Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_region_support_get(con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the native surface of a given image of the canvas | | * Set the native surface of a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param surf The new native surface. | | * @param surf The new native surface. | |
| * | | * | |
| * This function sets a native surface of a given canvas image. | | * This function sets a native surface of a given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_image_native_surface_set (Eva
s_Object *obj, Evas_Native_Surface *surf) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_image_native_surface_set(Eva
s_Object *obj, Evas_Native_Surface *surf) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get the native surface of a given image of the canvas | | * Get the native surface of a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return The native surface of the given canvas image. | | * @return The native surface of the given canvas image. | |
| * | | * | |
| * This function returns the native surface of a given canvas image. | | * This function returns the native surface of a given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI Evas_Native_Surface *evas_object_image_native_surface_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Native_Surface *evas_object_image_native_surface_get(con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the video surface linked to a given image of the canvas | | * Set the video surface linked to a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param surf The new video surface. | | * @param surf The new video surface. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| * | | * | |
| * This function link a video surface to a given canvas image. | | * This function link a video surface to a given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_image_video_surface_set (Eva
s_Object *obj, Evas_Video_Surface *surf) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_video_surface_set(Evas
_Object *obj, Evas_Video_Surface *surf) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the video surface linekd to a given image of the canvas | | * Get the video surface linekd to a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return The video surface of the given canvas image. | | * @return The video surface of the given canvas image. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| * | | * | |
| * This function returns the video surface linked to a given canvas image. | | * This function returns the video surface linked to a given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI const Evas_Video_Surface *evas_object_image_video_surface_get (co
nst Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Evas_Video_Surface *evas_object_image_video_surface_get(cons
t Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the scale hint of a given image of the canvas. | | * Set the scale hint of a given image of the canvas. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param hint The scale hint, a value in | | * @param hint The scale hint, a value in | |
| * #Evas_Image_Scale_Hint. | | * #Evas_Image_Scale_Hint. | |
| * | | * | |
| * This function sets the scale hint value of the given image object | | * This function sets the scale hint value of the given image object | |
| * in the canvas, which will affect how Evas is to cache scaled | | * in the canvas, which will affect how Evas is to cache scaled | |
| * versions of its original source image. | | * versions of its original source image. | |
| * | | * | |
| * @see evas_object_image_scale_hint_get() | | * @see evas_object_image_scale_hint_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_scale_hint_set (Eva
s_Object *obj, Evas_Image_Scale_Hint hint) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_scale_hint_set(Evas_Ob
ject *obj, Evas_Image_Scale_Hint hint) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the scale hint of a given image of the canvas. | | * Get the scale hint of a given image of the canvas. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @return The scale hint value set on @p obj, a value in | | * @return The scale hint value set on @p obj, a value in | |
| * #Evas_Image_Scale_Hint. | | * #Evas_Image_Scale_Hint. | |
| * | | * | |
| * This function returns the scale hint value of the given image | | * This function returns the scale hint value of the given image | |
| * object of the canvas. | | * object of the canvas. | |
| * | | * | |
| * @see evas_object_image_scale_hint_set() for more details. | | * @see evas_object_image_scale_hint_set() for more details. | |
| */ | | */ | |
|
| EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get(const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the content hint setting of a given image object of the canvas. | | * Set the content hint setting of a given image object of the canvas. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param hint The content hint value, one of the | | * @param hint The content hint value, one of the | |
| * #Evas_Image_Content_Hint ones. | | * #Evas_Image_Content_Hint ones. | |
| * | | * | |
| * This function sets the content hint value of the given image of the | | * This function sets the content hint value of the given image of the | |
| * canvas. For example, if you're on the GL engine and your driver | | * canvas. For example, if you're on the GL engine and your driver | |
| * implementation supports it, setting this hint to | | * implementation supports it, setting this hint to | |
| * #EVAS_IMAGE_CONTENT_HINT_DYNAMIC will make it need @b zero copies | | * #EVAS_IMAGE_CONTENT_HINT_DYNAMIC will make it need @b zero copies | |
| * at texture upload time, which is an "expensive" operation. | | * at texture upload time, which is an "expensive" operation. | |
| * | | * | |
| * @see evas_object_image_content_hint_get() | | * @see evas_object_image_content_hint_get() | |
| */ | | */ | |
|
| EAPI void evas_object_image_content_hint_set (Eva
s_Object *obj, Evas_Image_Content_Hint hint) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_content_hint_set(Evas_
Object *obj, Evas_Image_Content_Hint hint) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the content hint setting of a given image object of the canvas. | | * Get the content hint setting of a given image object of the canvas. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return hint The content hint value set on it, one of the | | * @return hint The content hint value set on it, one of the | |
| * #Evas_Image_Content_Hint ones (#EVAS_IMAGE_CONTENT_HINT_NONE means | | * #Evas_Image_Content_Hint ones (#EVAS_IMAGE_CONTENT_HINT_NONE means | |
| * an error). | | * an error). | |
| * | | * | |
| * This function returns the content hint value of the given image of | | * This function returns the content hint value of the given image of | |
| * the canvas. | | * the canvas. | |
| * | | * | |
| * @see evas_object_image_content_hint_set() | | * @see evas_object_image_content_hint_set() | |
| */ | | */ | |
|
| EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get(const
Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Enable an image to be used as an alpha mask. | | * Enable an image to be used as an alpha mask. | |
| * | | * | |
| * This will set any flags, and discard any excess image data not used as a
n | | * This will set any flags, and discard any excess image data not used as a
n | |
| * alpha mask. | | * alpha mask. | |
| * | | * | |
| * Note there is little point in using a image as alpha mask unless it has
an | | * Note there is little point in using a image as alpha mask unless it has
an | |
| * alpha channel. | | * alpha channel. | |
| * | | * | |
| * @param obj Object to use as an alpha mask. | | * @param obj Object to use as an alpha mask. | |
| * @param ismask Use image as alphamask, must be true. | | * @param ismask Use image as alphamask, must be true. | |
| */ | | */ | |
|
| EAPI void evas_object_image_alpha_mask_set (Eva
s_Object *obj, Eina_Bool ismask) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_alpha_mask_set(Evas_Ob
ject *obj, Eina_Bool ismask) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the source object on an image object to used as a @b proxy. | | * Set the source object on an image object to used as a @b proxy. | |
| * | | * | |
| * @param obj Proxy (image) object. | | * @param obj Proxy (image) object. | |
| * @param src Source object to use for the proxy. | | * @param src Source object to use for the proxy. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | |
| * | | * | |
| * If an image object is set to behave as a @b proxy, it will mirror | | * If an image object is set to behave as a @b proxy, it will mirror | |
| * the rendering contents of a given @b source object in its drawing | | * the rendering contents of a given @b source object in its drawing | |
| | | | |
| skipping to change at line 7450 | | skipping to change at line 7468 | |
| * | | * | |
| * Any existing source object on @p obj will be removed after this | | * Any existing source object on @p obj will be removed after this | |
| * call. Setting @p src to @c NULL clears the proxy object (not in | | * call. Setting @p src to @c NULL clears the proxy object (not in | |
| * "proxy state" anymore). | | * "proxy state" anymore). | |
| * | | * | |
| * @warning You cannot set a proxy as another proxy's source. | | * @warning You cannot set a proxy as another proxy's source. | |
| * | | * | |
| * @see evas_object_image_source_get() | | * @see evas_object_image_source_get() | |
| * @see evas_object_image_source_unset() | | * @see evas_object_image_source_unset() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_source_set (Eva
s_Object *obj, Evas_Object *src) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_source_set(Evas_Object
*obj, Evas_Object *src) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the current source object of an image object. | | * Get the current source object of an image object. | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| * @return Source object (if any), or @c NULL, if not in "proxy mode" | | * @return Source object (if any), or @c NULL, if not in "proxy mode" | |
| * (or on errors). | | * (or on errors). | |
| * | | * | |
| * @see evas_object_image_source_set() for more details | | * @see evas_object_image_source_set() for more details | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_image_source_get (con
st Evas_Object *obj) EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_image_source_get(const Evas_
Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Clear the source object on a proxy image object. | | * Clear the source object on a proxy image object. | |
| * | | * | |
| * @param obj Image object to clear source of. | | * @param obj Image object to clear source of. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | |
| * | | * | |
| * This is equivalent to calling evas_object_image_source_set() with a | | * This is equivalent to calling evas_object_image_source_set() with a | |
| * @c NULL source. | | * @c NULL source. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_source_unset (Eva
s_Object *obj) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_source_unset(Evas_Obje
ct *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Check if a file extension may be supported by @ref Evas_Object_Image. | | * Check if a file extension may be supported by @ref Evas_Object_Image. | |
| * | | * | |
| * @param file The file to check | | * @param file The file to check | |
| * @return @c EINA_TRUE if we may be able to open it, @c EINA_FALSE if it's | | * @return @c EINA_TRUE if we may be able to open it, @c EINA_FALSE if it's | |
| * unlikely. | | * unlikely. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| * | | * | |
| * If file is a Eina_Stringshare, use directly @ref evas_object_image_exten
sion_can_load_fast_get. | | * If file is a Eina_Stringshare, use directly @ref evas_object_image_exten
sion_can_load_fast_get. | |
| * | | * | |
| * This functions is threadsafe. | | * This functions is threadsafe. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_extension_can_load_get(const char *file); | | EAPI Eina_Bool evas_object_image_extension_can_load_get
(const char *file); | |
| | | | |
| /** | | /** | |
| * Check if a file extension may be supported by @ref Evas_Object_Image. | | * Check if a file extension may be supported by @ref Evas_Object_Image. | |
| * | | * | |
| * @param file The file to check, it should be an Eina_Stringshare. | | * @param file The file to check, it should be an Eina_Stringshare. | |
| * @return @c EINA_TRUE if we may be able to open it, @c EINA_FALSE if it's | | * @return @c EINA_TRUE if we may be able to open it, @c EINA_FALSE if it's | |
| * unlikely. | | * unlikely. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| * | | * | |
| * This functions is threadsafe. | | * This functions is threadsafe. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_extension_can_load_fast_get(const char *fi
le); | | EAPI Eina_Bool evas_object_image_extension_can_load_fas
t_get(const char *file); | |
| | | | |
| /** | | /** | |
| * Check if an image object can be animated (have multiple frames) | | * Check if an image object can be animated (have multiple frames) | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| * @return whether obj support animation | | * @return whether obj support animation | |
| * | | * | |
| * This returns if the image file of an image object is capable of animatio
n | | * This returns if the image file of an image object is capable of animatio
n | |
| * such as an animated gif file might. This is only useful to be called onc
e | | * such as an animated gif file might. This is only useful to be called onc
e | |
| * the image object file has been set. | | * the image object file has been set. | |
| | | | |
| skipping to change at line 7549 | | skipping to change at line 7567 | |
| * printf("You set image object's frame to 1. You can see frame 1\n"); | | * printf("You set image object's frame to 1. You can see frame 1\n"); | |
| * } | | * } | |
| * @endcode | | * @endcode | |
| * | | * | |
| * @see evas_object_image_animated_get() | | * @see evas_object_image_animated_get() | |
| * @see evas_object_image_animated_frame_count_get() | | * @see evas_object_image_animated_frame_count_get() | |
| * @see evas_object_image_animated_loop_type_get() | | * @see evas_object_image_animated_loop_type_get() | |
| * @see evas_object_image_animated_loop_count_get() | | * @see evas_object_image_animated_loop_count_get() | |
| * @see evas_object_image_animated_frame_duration_get() | | * @see evas_object_image_animated_frame_duration_get() | |
| * @see evas_object_image_animated_frame_set() | | * @see evas_object_image_animated_frame_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_animated_get(const Evas_Object *obj); | | EAPI Eina_Bool evas_object_image_animated_get(const Eva
s_Object *obj); | |
| | | | |
| /** | | /** | |
| * Get the total number of frames of the image object. | | * Get the total number of frames of the image object. | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| * @return The number of frames | | * @return The number of frames | |
| * | | * | |
| * This returns total number of frames the image object supports (if animat
ed) | | * This returns total number of frames the image object supports (if animat
ed) | |
| * | | * | |
| * @see evas_object_image_animated_get() | | * @see evas_object_image_animated_get() | |
| * @see evas_object_image_animated_frame_count_get() | | * @see evas_object_image_animated_frame_count_get() | |
| * @see evas_object_image_animated_loop_type_get() | | * @see evas_object_image_animated_loop_type_get() | |
| * @see evas_object_image_animated_loop_count_get() | | * @see evas_object_image_animated_loop_count_get() | |
| * @see evas_object_image_animated_frame_duration_get() | | * @see evas_object_image_animated_frame_duration_get() | |
| * @see evas_object_image_animated_frame_set() | | * @see evas_object_image_animated_frame_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI int evas_object_image_animated_frame_count_get(const Evas_Object *obj)
; | | EAPI int evas_object_image_animated_frame_count_g
et(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Get the kind of looping the image object does. | | * Get the kind of looping the image object does. | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| * @return Loop type of the image object | | * @return Loop type of the image object | |
| * | | * | |
| * This returns the kind of looping the image object wants to do. | | * This returns the kind of looping the image object wants to do. | |
| * | | * | |
| * If it returns EVAS_IMAGE_ANIMATED_HINT_LOOP, you should display frames i
n a sequence like: | | * If it returns EVAS_IMAGE_ANIMATED_HINT_LOOP, you should display frames i
n a sequence like: | |
| | | | |
| skipping to change at line 7592 | | skipping to change at line 7610 | |
| * display frames in a sequence like: 1->2->3->2->1->2->3->1... | | * display frames in a sequence like: 1->2->3->2->1->2->3->1... | |
| * | | * | |
| * The default type is EVAS_IMAGE_ANIMATED_HINT_LOOP. | | * The default type is EVAS_IMAGE_ANIMATED_HINT_LOOP. | |
| * | | * | |
| * @see evas_object_image_animated_get() | | * @see evas_object_image_animated_get() | |
| * @see evas_object_image_animated_frame_count_get() | | * @see evas_object_image_animated_frame_count_get() | |
| * @see evas_object_image_animated_loop_type_get() | | * @see evas_object_image_animated_loop_type_get() | |
| * @see evas_object_image_animated_loop_count_get() | | * @see evas_object_image_animated_loop_count_get() | |
| * @see evas_object_image_animated_frame_duration_get() | | * @see evas_object_image_animated_frame_duration_get() | |
| * @see evas_object_image_animated_frame_set() | | * @see evas_object_image_animated_frame_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
| EAPI Evas_Image_Animated_Loop_Hint evas_object_image_animated_loop_type_get
(const Evas_Object *obj); | | EAPI Evas_Image_Animated_Loop_Hint evas_object_image_animated_loop_type_get
(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Get the number times the animation of the object loops. | | * Get the number times the animation of the object loops. | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| * @return The number of loop of an animated image object | | * @return The number of loop of an animated image object | |
| * | | * | |
| * This returns loop count of image. The loop count is the number of times | | * This returns loop count of image. The loop count is the number of times | |
| | | | |
| skipping to change at line 7615 | | skipping to change at line 7633 | |
| * | | * | |
| * If 0 is returned, then looping should happen indefinitely (no limit to | | * If 0 is returned, then looping should happen indefinitely (no limit to | |
| * the number of times it loops). | | * the number of times it loops). | |
| * | | * | |
| * @see evas_object_image_animated_get() | | * @see evas_object_image_animated_get() | |
| * @see evas_object_image_animated_frame_count_get() | | * @see evas_object_image_animated_frame_count_get() | |
| * @see evas_object_image_animated_loop_type_get() | | * @see evas_object_image_animated_loop_type_get() | |
| * @see evas_object_image_animated_loop_count_get() | | * @see evas_object_image_animated_loop_count_get() | |
| * @see evas_object_image_animated_frame_duration_get() | | * @see evas_object_image_animated_frame_duration_get() | |
| * @see evas_object_image_animated_frame_set() | | * @see evas_object_image_animated_frame_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI int evas_object_image_animated_loop_count_get(const Evas_Object *obj); | | EAPI int evas_object_image_animated_loop_count_ge
t(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * Get the duration of a sequence of frames. | | * Get the duration of a sequence of frames. | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| * @param start_frame The first frame | | * @param start_frame The first frame | |
| * @param fram_num Number of frames in the sequence | | * @param fram_num Number of frames in the sequence | |
| * | | * | |
| * This returns total duration that the specified sequence of frames should | | * This returns total duration that the specified sequence of frames should | |
| * take in seconds. | | * take in seconds. | |
| | | | |
| skipping to change at line 7639 | | skipping to change at line 7657 | |
| * If you set start_frame to 1 and frame_num 0, you get frame 1's duration | | * If you set start_frame to 1 and frame_num 0, you get frame 1's duration | |
| * If you set start_frame to 1 and frame_num 1, you get frame 1's duration
+ | | * If you set start_frame to 1 and frame_num 1, you get frame 1's duration
+ | |
| * frame2's duration | | * frame2's duration | |
| * | | * | |
| * @see evas_object_image_animated_get() | | * @see evas_object_image_animated_get() | |
| * @see evas_object_image_animated_frame_count_get() | | * @see evas_object_image_animated_frame_count_get() | |
| * @see evas_object_image_animated_loop_type_get() | | * @see evas_object_image_animated_loop_type_get() | |
| * @see evas_object_image_animated_loop_count_get() | | * @see evas_object_image_animated_loop_count_get() | |
| * @see evas_object_image_animated_frame_duration_get() | | * @see evas_object_image_animated_frame_duration_get() | |
| * @see evas_object_image_animated_frame_set() | | * @see evas_object_image_animated_frame_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI double evas_object_image_animated_frame_duration_get(const Evas_Object
*obj, int start_frame, int fram_num); | | EAPI double evas_object_image_animated_frame_duratio
n_get(const Evas_Object *obj, int start_frame, int fram_num); | |
| | | | |
| /** | | /** | |
| * Set the frame to current frame of an image object | | * Set the frame to current frame of an image object | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param frame_num The index of current frame | | * @param frame_num The index of current frame | |
| * | | * | |
| * This set image object's current frame to frame_num with 1 being the firs
t | | * This set image object's current frame to frame_num with 1 being the firs
t | |
| * frame. | | * frame. | |
| * | | * | |
| * @see evas_object_image_animated_get() | | * @see evas_object_image_animated_get() | |
| * @see evas_object_image_animated_frame_count_get() | | * @see evas_object_image_animated_frame_count_get() | |
| * @see evas_object_image_animated_loop_type_get() | | * @see evas_object_image_animated_loop_type_get() | |
| * @see evas_object_image_animated_loop_count_get() | | * @see evas_object_image_animated_loop_count_get() | |
| * @see evas_object_image_animated_frame_duration_get() | | * @see evas_object_image_animated_frame_duration_get() | |
| * @see evas_object_image_animated_frame_set() | | * @see evas_object_image_animated_frame_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_image_animated_frame_set(Evas_Object *obj, int frame_
num); | | EAPI void evas_object_image_animated_frame_set(Eva
s_Object *obj, int frame_num); | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Text Text Object Functions | | * @defgroup Evas_Object_Text Text Object Functions | |
| * | | * | |
| * Functions that operate on single line, single style text objects. | | * Functions that operate on single line, single style text objects. | |
| * | | * | |
| * For multiline and multiple style text, see @ref Evas_Object_Textblock. | | * For multiline and multiple style text, see @ref Evas_Object_Textblock. | |
| * | | * | |
| * See some @ref Example_Evas_Text "examples" on this group of functions. | | * See some @ref Example_Evas_Text "examples" on this group of functions. | |
| * | | * | |
|
| | | * @warning We don't guarantee any proper results if you create a Text obje | |
| | | ct | |
| | | * without setting the evas engine. | |
| | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Object_Text | | * @addtogroup Evas_Object_Text | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /* basic styles (4 bits allocated use 0->10 now, 5 left) */ | | /* basic styles (4 bits allocated use 0->10 now, 5 left) */ | |
| #define EVAS_TEXT_STYLE_MASK_BASIC 0xf | | #define EVAS_TEXT_STYLE_MASK_BASIC 0xf | |
| | | | |
| /** | | /** | |
| * Text style type creation macro. Use style types on the 's' | | * Text style type creation macro. Use style types on the 's' | |
| * arguments, being 'x' your style variable. | | * arguments, being 'x' your style variable. | |
| */ | | */ | |
| #define EVAS_TEXT_STYLE_BASIC_SET(x, s) \ | | #define EVAS_TEXT_STYLE_BASIC_SET(x, s) \ | |
|
| do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_BASIC) | (s); } while (0) | | do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_BASIC) | (s); } while (0) | |
| | | | |
| #define EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION (0x7 << 4) | | #define EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION (0x7 << 4) | |
| | | | |
| /** | | /** | |
| * Text style type creation macro. This one will impose shadow | | * Text style type creation macro. This one will impose shadow | |
| * directions on the style type variable -- use the @c | | * directions on the style type variable -- use the @c | |
| * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incrementally. | | * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incrementally. | |
| */ | | */ | |
| #define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \ | | #define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \ | |
|
| do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (
0) | | do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (0
) | |
| | | | |
|
| typedef enum _Evas_Text_Style_Type | | typedef enum _Evas_Text_Style_Type | |
| { | | { | |
| EVAS_TEXT_STYLE_PLAIN, /**< plain, standard text */ | | EVAS_TEXT_STYLE_PLAIN, /**< plain, standard text */ | |
| EVAS_TEXT_STYLE_SHADOW, /**< text with shadow underneath */ | | EVAS_TEXT_STYLE_SHADOW, /**< text with shadow underneath */ | |
| EVAS_TEXT_STYLE_OUTLINE, /**< text with an outline */ | | EVAS_TEXT_STYLE_OUTLINE, /**< text with an outline */ | |
| EVAS_TEXT_STYLE_SOFT_OUTLINE, /**< text with a soft outline */ | | EVAS_TEXT_STYLE_SOFT_OUTLINE, /**< text with a soft outline */ | |
| EVAS_TEXT_STYLE_GLOW, /**< text with a glow effect */ | | EVAS_TEXT_STYLE_GLOW, /**< text with a glow effect */ | |
| EVAS_TEXT_STYLE_OUTLINE_SHADOW, /**< text with both outline and shad | | EVAS_TEXT_STYLE_OUTLINE_SHADOW, /**< text with both outline and sha | |
| ow effects */ | | dow effects */ | |
| EVAS_TEXT_STYLE_FAR_SHADOW, /**< text with (far) shadow underneath * | | EVAS_TEXT_STYLE_FAR_SHADOW, /**< text with (far) shadow underneath | |
| / | | */ | |
| EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW, /**< text with outline and soft | | EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW, /**< text with outline and sof | |
| shadow effects combined */ | | t shadow effects combined */ | |
| EVAS_TEXT_STYLE_SOFT_SHADOW, /**< text with (soft) shadow underneath | | EVAS_TEXT_STYLE_SOFT_SHADOW, /**< text with (soft) shadow underneat | |
| */ | | h */ | |
| EVAS_TEXT_STYLE_FAR_SOFT_SHADOW, /**< text with (far soft) shadow un | | EVAS_TEXT_STYLE_FAR_SOFT_SHADOW, /**< text with (far soft) shadow u | |
| derneath */ | | nderneath */ | |
| | | | |
| /* OR these to modify shadow direction (3 bits needed) */ | | /* OR these to modify shadow direction (3 bits needed) */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4), /**< sha | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4), /**< sh | |
| dow growing to bottom right */ | | adow growing to bottom right */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM = (0x1 << 4), /**< sha | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM = (0x1 << 4), /**< sh | |
| dow growing to the bottom */ | | adow growing to the bottom */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4), /**< sha | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4), /**< sh | |
| dow growing to bottom left */ | | adow growing to bottom left */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT = (0x3 << 4), /**< sha | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT = (0x3 << 4), /**< sh | |
| dow growing to the left */ | | adow growing to the left */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4), /**< sha | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4), /**< sh | |
| dow growing to top left */ | | adow growing to top left */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP = (0x5 << 4), /**< sha | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP = (0x5 << 4), /**< sh | |
| dow growing to the top */ | | adow growing to the top */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), /**< sha | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), /**< sh | |
| dow growing to top right */ | | adow growing to top right */ | |
| EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT = (0x7 << 4) /**< shad | | EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT = (0x7 << 4) /**< sha | |
| ow growing to the right */ | | dow growing to the right */ | |
| } Evas_Text_Style_Type; /**< Types of styles to be applied on text obj | | } Evas_Text_Style_Type; /**< Types of styles to be applied on text obj | |
| ects. The @c EVAS_TEXT_STYLE_SHADOW_DIRECTION_* ones are to be ORed togethe | | ects. The @c EVAS_TEXT_STYLE_SHADOW_DIRECTION_* ones are to be ORed togethe | |
| r with others imposing shadow, to change shadow's direction */ | | r with others imposing shadow, to change shadow's direction */ | |
| | | | |
| /** | | /** | |
| * Creates a new text object on the provided canvas. | | * Creates a new text object on the provided canvas. | |
| * | | * | |
| * @param e The canvas to create the text object on. | | * @param e The canvas to create the text object on. | |
| * @return @c NULL on error, a pointer to a new text object on | | * @return @c NULL on error, a pointer to a new text object on | |
| * success. | | * success. | |
| * | | * | |
| * Text objects are for simple, single line text elements. If you want | | * Text objects are for simple, single line text elements. If you want | |
| * more elaborated text blocks, see @ref Evas_Object_Textblock. | | * more elaborated text blocks, see @ref Evas_Object_Textblock. | |
| * | | * | |
| * @see evas_object_text_font_source_set() | | * @see evas_object_text_font_source_set() | |
| * @see evas_object_text_font_set() | | * @see evas_object_text_font_set() | |
| * @see evas_object_text_text_set() | | * @see evas_object_text_text_set() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_text_add (Evas *e) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_text_add(Evas *e) EINA_WARN_UNUSED_RE
SULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Set the font (source) file to be used on a given text object. | | * Set the font (source) file to be used on a given text object. | |
| * | | * | |
| * @param obj The text object to set font for. | | * @param obj The text object to set font for. | |
| * @param font The font file's path. | | * @param font The font file's path. | |
| * | | * | |
| * This function allows the font file to be explicitly set for a given | | * This function allows the font file to be explicitly set for a given | |
| * text object, overriding system lookup, which will first occur in | | * text object, overriding system lookup, which will first occur in | |
| * the given file's contents. | | * the given file's contents. | |
| * | | * | |
| * @see evas_object_text_font_get() | | * @see evas_object_text_font_get() | |
| */ | | */ | |
|
| EAPI void evas_object_text_font_source_set (Evas_Object *obj,
const char *font) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_font_source_set(Evas_Object *obj
, const char *font) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the font file's path which is being used on a given text | | * Get the font file's path which is being used on a given text | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The text object to set font for. | | * @param obj The text object to set font for. | |
| * @return The font file's path. | | * @return The font file's path. | |
| * | | * | |
| * @see evas_object_text_font_get() for more details | | * @see evas_object_text_font_get() for more details | |
| */ | | */ | |
|
| EAPI const char *evas_object_text_font_source_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_object_text_font_source_get(const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the font family and size on a given text object. | | * Set the font family and size on a given text object. | |
| * | | * | |
| * @param obj The text object to set font for. | | * @param obj The text object to set font for. | |
| * @param font The font (family) name. | | * @param font The font (family) name. | |
| * @param size The font size, in points. | | * @param size The font size, in points. | |
| * | | * | |
| * This function allows the font name and size of a text object to be | | * This function allows the font name and size of a text object to be | |
| * set. The @p font string has to follow fontconfig's convention on | | * set. The @p font string has to follow fontconfig's convention on | |
| * naming fonts, as it's the underlying library used to query system | | * naming fonts, as it's the underlying library used to query system | |
| * fonts by Evas (see the @c fc-list command's output, on your system, | | * fonts by Evas (see the @c fc-list command's output, on your system, | |
| * to get an idea). | | * to get an idea). | |
| * | | * | |
| * @see evas_object_text_font_get() | | * @see evas_object_text_font_get() | |
| * @see evas_object_text_font_source_set() | | * @see evas_object_text_font_source_set() | |
| */ | | */ | |
|
| EAPI void evas_object_text_font_set (Evas_Object *o
bj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_font_set(Evas_Object *obj, const
char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the font family and size in use on a given text object. | | * Retrieve the font family and size in use on a given text object. | |
| * | | * | |
| * @param obj The evas text object to query for font information. | | * @param obj The evas text object to query for font information. | |
| * @param font A pointer to the location to store the font name in. | | * @param font A pointer to the location to store the font name in. | |
| * @param size A pointer to the location to store the font size in. | | * @param size A pointer to the location to store the font size in. | |
| * | | * | |
| * This function allows the font name and size of a text object to be | | * This function allows the font name and size of a text object to be | |
| * queried. Be aware that the font name string is still owned by Evas | | * queried. Be aware that the font name string is still owned by Evas | |
| * and should @b not have free() called on it by the caller of the | | * and should @b not have free() called on it by the caller of the | |
| * function. | | * function. | |
| * | | * | |
| * @see evas_object_text_font_set() | | * @see evas_object_text_font_set() | |
| */ | | */ | |
|
| EAPI void evas_object_text_font_get (const Evas_Object
*obj, const char **font, Evas_Font_Size *size) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_font_get(const Evas_Object *obj,
const char **font, Evas_Font_Size *size) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the text string to be displayed by the given text object. | | * Sets the text string to be displayed by the given text object. | |
| * | | * | |
| * @param obj The text object to set text string on. | | * @param obj The text object to set text string on. | |
| * @param text Text string to display on it. | | * @param text Text string to display on it. | |
| * | | * | |
| * @see evas_object_text_text_get() | | * @see evas_object_text_text_get() | |
| */ | | */ | |
|
| EAPI void evas_object_text_text_set (Evas_Object *obj,
const char *text) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_text_set(Evas_Object *obj, const
char *text) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the text string currently being displayed by the given | | * Retrieves the text string currently being displayed by the given | |
| * text object. | | * text object. | |
| * | | * | |
| * @param obj The given text object. | | * @param obj The given text object. | |
| * @return The text string currently being displayed on it. | | * @return The text string currently being displayed on it. | |
| * | | * | |
| * @note Do not free() the return value. | | * @note Do not free() the return value. | |
| * | | * | |
| * @see evas_object_text_text_set() | | * @see evas_object_text_text_set() | |
| */ | | */ | |
|
| EAPI const char *evas_object_text_text_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_object_text_text_get(const Evas_Object *obj)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Sets the BiDi delimiters used in the textblock. | | * @brief Sets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
| * oddities can occur when mixing RTL and LTR. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given text object. | | * @param obj The given text object. | |
| * @param delim A null terminated string of delimiters, e.g ",|". | | * @param delim A null terminated string of delimiters, e.g ",|". | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_text_bidi_delimiters_set(Evas_Object *ob
j, const char *delim); | | EAPI void evas_object_text_bidi_delimiters_set(Evas_Object
*obj, const char *delim); | |
| | | | |
| /** | | /** | |
| * @brief Gets the BiDi delimiters used in the textblock. | | * @brief Gets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
| * oddities can occur when mixing RTL and LTR. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given text object. | | * @param obj The given text object. | |
| * @return A null terminated string of delimiters, e.g ",|". If empty, retu
rns NULL. | | * @return A null terminated string of delimiters, e.g ",|". If empty, retu
rns NULL. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI const char *evas_object_text_bidi_delimiters_get(const Evas_Obje
ct *obj); | | EAPI const char *evas_object_text_bidi_delimiters_get(const Evas_O
bject *obj); | |
| | | | |
|
| EAPI Evas_Coord evas_object_text_ascent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_ascent_get(const Evas_Object *ob | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | j) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_descent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_descent_get(const Evas_Object *o | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | bj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_max_ascent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_max_ascent_get(const Evas_Object | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_max_descent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_max_descent_get(const Evas_Objec | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_horiz_advance_get(const Evas_Obj | | EAPI Evas_Coord evas_object_text_horiz_advance_get(const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_vert_advance_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_vert_advance_get(const Evas_Obje | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | ct *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_inset_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_inset_get(const Evas_Object *obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | ) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve position and dimension information of a character within a text
@c Evas_Object. | | * Retrieve position and dimension information of a character within a text
@c Evas_Object. | |
| * | | * | |
| * This function is used to obtain the X, Y, width and height of a the char
acter | | * This function is used to obtain the X, Y, width and height of a the char
acter | |
| * located at @p pos within the @c Evas_Object @p obj. @p obj must be a tex
t object | | * located at @p pos within the @c Evas_Object @p obj. @p obj must be a tex
t object | |
| * as created with evas_object_text_add(). Any of the @c Evas_Coord paramet
ers (@p cx, | | * as created with evas_object_text_add(). Any of the @c Evas_Coord paramet
ers (@p cx, | |
| * @p cy, @p cw, @p ch) may be @c NULL in which case no value will be assig
ned to that | | * @p cy, @p cw, @p ch) may be @c NULL in which case no value will be assig
ned to that | |
| * parameter. | | * parameter. | |
| * | | * | |
| * @param obj The text object to retrieve position information for. | | * @param obj The text object to retrieve position information for. | |
| * @param pos The character position to request co-ordinates for. | | * @param pos The character position to request co-ordinates for. | |
| * @param cx A pointer to an @c Evas_Coord to store the X value in (can b
e NULL). | | * @param cx A pointer to an @c Evas_Coord to store the X value in (can b
e NULL). | |
| * @param cy A pointer to an @c Evas_Coord to store the Y value in (can b
e NULL). | | * @param cy A pointer to an @c Evas_Coord to store the Y value in (can b
e NULL). | |
| * @param cw A pointer to an @c Evas_Coord to store the Width value in (c
an be NULL). | | * @param cw A pointer to an @c Evas_Coord to store the Width value in (c
an be NULL). | |
| * @param ch A pointer to an @c Evas_Coord to store the Height value in (
can be NULL). | | * @param ch A pointer to an @c Evas_Coord to store the Height value in (
can be NULL). | |
| * | | * | |
| * @return @c EINA_FALSE on success, @c EINA_TRUE on error. | | * @return @c EINA_FALSE on success, @c EINA_TRUE on error. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_text_char_pos_get (const Evas_Object | | EAPI Eina_Bool evas_object_text_char_pos_get(const Evas_Object * | |
| *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord | | obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *c | |
| *ch) EINA_ARG_NONNULL(1); | | h) EINA_ARG_NONNULL(1); | |
| EAPI int evas_object_text_char_coords_get (const Evas_Obj | | EAPI int evas_object_text_char_coords_get(const Evas_Objec | |
| ect *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_ | | t *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Co | |
| Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | ord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the logical position of the last char in the text | | * Returns the logical position of the last char in the text | |
| * up to the pos given. this is NOT the position of the last char | | * up to the pos given. this is NOT the position of the last char | |
| * because of the possibility of RTL in the text. | | * because of the possibility of RTL in the text. | |
| */ | | */ | |
|
| EAPI int evas_object_text_last_up_to_pos (const Evas_Object
*obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI int evas_object_text_last_up_to_pos(const Evas_Object
*obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the style on use on the given text object. | | * Retrieves the style on use on the given text object. | |
| * | | * | |
| * @param obj the given text object to set style on. | | * @param obj the given text object to set style on. | |
| * @return the style type in use. | | * @return the style type in use. | |
| * | | * | |
| * @see evas_object_text_style_set() for more details. | | * @see evas_object_text_style_set() for more details. | |
| */ | | */ | |
|
| EAPI Evas_Text_Style_Type evas_object_text_style_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Text_Style_Type evas_object_text_style_get(const Evas_Object *obj
) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the style to apply on the given text object. | | * Sets the style to apply on the given text object. | |
| * | | * | |
| * @param obj the given text object to set style on. | | * @param obj the given text object to set style on. | |
| * @param type a style type. | | * @param type a style type. | |
| * | | * | |
| * Text object styles are one of the values in | | * Text object styles are one of the values in | |
| * #Evas_Text_Style_Type. Some of those values are combinations of | | * #Evas_Text_Style_Type. Some of those values are combinations of | |
| * more than one style, and some account for the direction of the | | * more than one style, and some account for the direction of the | |
| | | | |
| skipping to change at line 7922 | | skipping to change at line 7943 | |
| * @image html text-styles.png | | * @image html text-styles.png | |
| * @image rtf text-styles.png | | * @image rtf text-styles.png | |
| * @image latex text-styles.eps | | * @image latex text-styles.eps | |
| * | | * | |
| * @see evas_object_text_style_get() | | * @see evas_object_text_style_get() | |
| * @see evas_object_text_shadow_color_set() | | * @see evas_object_text_shadow_color_set() | |
| * @see evas_object_text_outline_color_set() | | * @see evas_object_text_outline_color_set() | |
| * @see evas_object_text_glow_color_set() | | * @see evas_object_text_glow_color_set() | |
| * @see evas_object_text_glow2_color_set() | | * @see evas_object_text_glow2_color_set() | |
| */ | | */ | |
|
| EAPI void evas_object_text_style_set (Evas_Object *obj,
Evas_Text_Style_Type type) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_style_set(Evas_Object *obj, Evas
_Text_Style_Type type) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the shadow color for the given text object. | | * Sets the shadow color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r The red component of the given color. | | * @param r The red component of the given color. | |
| * @param g The green component of the given color. | | * @param g The green component of the given color. | |
| * @param b The blue component of the given color. | | * @param b The blue component of the given color. | |
| * @param a The alpha component of the given color. | | * @param a The alpha component of the given color. | |
| * | | * | |
| | | | |
| skipping to change at line 7949 | | skipping to change at line 7970 | |
| * - #EVAS_TEXT_STYLE_FAR_SHADOW | | * - #EVAS_TEXT_STYLE_FAR_SHADOW | |
| * - #EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW | | * - #EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW | |
| * - #EVAS_TEXT_STYLE_SOFT_SHADOW | | * - #EVAS_TEXT_STYLE_SOFT_SHADOW | |
| * - #EVAS_TEXT_STYLE_FAR_SOFT_SHADOW | | * - #EVAS_TEXT_STYLE_FAR_SOFT_SHADOW | |
| * | | * | |
| * One can also change the direction where the shadow grows to, with | | * One can also change the direction where the shadow grows to, with | |
| * evas_object_text_style_set(). | | * evas_object_text_style_set(). | |
| * | | * | |
| * @see evas_object_text_shadow_color_get() | | * @see evas_object_text_shadow_color_get() | |
| */ | | */ | |
|
| EAPI void evas_object_text_shadow_color_set (Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_shadow_color_set(Evas_Object *ob
j, int r, int g, int b, int a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the shadow color for the given text object. | | * Retrieves the shadow color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r Pointer to variable to hold the red component of the given | | * @param r Pointer to variable to hold the red component of the given | |
| * color. | | * color. | |
| * @param g Pointer to variable to hold the green component of the | | * @param g Pointer to variable to hold the green component of the | |
| * given color. | | * given color. | |
| * @param b Pointer to variable to hold the blue component of the | | * @param b Pointer to variable to hold the blue component of the | |
| * given color. | | * given color. | |
| * @param a Pointer to variable to hold the alpha component of the | | * @param a Pointer to variable to hold the alpha component of the | |
| * given color. | | * given color. | |
| * | | * | |
| * @note Use @c NULL pointers on the color components you're not | | * @note Use @c NULL pointers on the color components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_text_shadow_color_set() for more details. | | * @see evas_object_text_shadow_color_set() for more details. | |
| */ | | */ | |
|
| EAPI void evas_object_text_shadow_color_get (const Evas_Object
*obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_shadow_color_get(const Evas_Obje
ct *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the glow color for the given text object. | | * Sets the glow color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r The red component of the given color. | | * @param r The red component of the given color. | |
| * @param g The green component of the given color. | | * @param g The green component of the given color. | |
| * @param b The blue component of the given color. | | * @param b The blue component of the given color. | |
| * @param a The alpha component of the given color. | | * @param a The alpha component of the given color. | |
| * | | * | |
| | | | |
| skipping to change at line 7991 | | skipping to change at line 8012 | |
| * surroundings, will just be shown if the object is set to the | | * surroundings, will just be shown if the object is set to the | |
| * #EVAS_TEXT_STYLE_GLOW style. | | * #EVAS_TEXT_STYLE_GLOW style. | |
| * | | * | |
| * @note Glow effects are placed from a short distance of the text | | * @note Glow effects are placed from a short distance of the text | |
| * itself, but no touching it. For glowing effects right on the | | * itself, but no touching it. For glowing effects right on the | |
| * borders of the glyphs, see 'glow 2' effects | | * borders of the glyphs, see 'glow 2' effects | |
| * (evas_object_text_glow2_color_set()). | | * (evas_object_text_glow2_color_set()). | |
| * | | * | |
| * @see evas_object_text_glow_color_get() | | * @see evas_object_text_glow_color_get() | |
| */ | | */ | |
|
| EAPI void evas_object_text_glow_color_set (Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_glow_color_set(Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the glow color for the given text object. | | * Retrieves the glow color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r Pointer to variable to hold the red component of the given | | * @param r Pointer to variable to hold the red component of the given | |
| * color. | | * color. | |
| * @param g Pointer to variable to hold the green component of the | | * @param g Pointer to variable to hold the green component of the | |
| * given color. | | * given color. | |
| * @param b Pointer to variable to hold the blue component of the | | * @param b Pointer to variable to hold the blue component of the | |
| * given color. | | * given color. | |
| * @param a Pointer to variable to hold the alpha component of the | | * @param a Pointer to variable to hold the alpha component of the | |
| * given color. | | * given color. | |
| * | | * | |
| * @note Use @c NULL pointers on the color components you're not | | * @note Use @c NULL pointers on the color components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_text_glow_color_set() for more details. | | * @see evas_object_text_glow_color_set() for more details. | |
| */ | | */ | |
|
| EAPI void evas_object_text_glow_color_get (const Evas_Object
*obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_glow_color_get(const Evas_Object
*obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the 'glow 2' color for the given text object. | | * Sets the 'glow 2' color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r The red component of the given color. | | * @param r The red component of the given color. | |
| * @param g The green component of the given color. | | * @param g The green component of the given color. | |
| * @param b The blue component of the given color. | | * @param b The blue component of the given color. | |
| * @param a The alpha component of the given color. | | * @param a The alpha component of the given color. | |
| * | | * | |
| * 'Glow 2' effects, which are glowing colors decorating the text's | | * 'Glow 2' effects, which are glowing colors decorating the text's | |
| * (immediate) surroundings, will just be shown if the object is set | | * (immediate) surroundings, will just be shown if the object is set | |
| * to the #EVAS_TEXT_STYLE_GLOW style. See also | | * to the #EVAS_TEXT_STYLE_GLOW style. See also | |
| * evas_object_text_glow_color_set(). | | * evas_object_text_glow_color_set(). | |
| * | | * | |
| * @see evas_object_text_glow2_color_get() | | * @see evas_object_text_glow2_color_get() | |
| */ | | */ | |
|
| EAPI void evas_object_text_glow2_color_set (Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_glow2_color_set(Evas_Object *obj
, int r, int g, int b, int a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the 'glow 2' color for the given text object. | | * Retrieves the 'glow 2' color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r Pointer to variable to hold the red component of the given | | * @param r Pointer to variable to hold the red component of the given | |
| * color. | | * color. | |
| * @param g Pointer to variable to hold the green component of the | | * @param g Pointer to variable to hold the green component of the | |
| * given color. | | * given color. | |
| * @param b Pointer to variable to hold the blue component of the | | * @param b Pointer to variable to hold the blue component of the | |
| * given color. | | * given color. | |
| * @param a Pointer to variable to hold the alpha component of the | | * @param a Pointer to variable to hold the alpha component of the | |
| * given color. | | * given color. | |
| * | | * | |
| * @note Use @c NULL pointers on the color components you're not | | * @note Use @c NULL pointers on the color components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_text_glow2_color_set() for more details. | | * @see evas_object_text_glow2_color_set() for more details. | |
| */ | | */ | |
|
| EAPI void evas_object_text_glow2_color_get (const Evas_Object
*obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_glow2_color_get(const Evas_Objec
t *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the outline color for the given text object. | | * Sets the outline color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r The red component of the given color. | | * @param r The red component of the given color. | |
| * @param g The green component of the given color. | | * @param g The green component of the given color. | |
| * @param b The blue component of the given color. | | * @param b The blue component of the given color. | |
| * @param a The alpha component of the given color. | | * @param a The alpha component of the given color. | |
| * | | * | |
| * Outline effects (colored lines around text glyphs) will just be | | * Outline effects (colored lines around text glyphs) will just be | |
| * shown if the object is set to one of the following styles: | | * shown if the object is set to one of the following styles: | |
| * - #EVAS_TEXT_STYLE_OUTLINE | | * - #EVAS_TEXT_STYLE_OUTLINE | |
| * - #EVAS_TEXT_STYLE_SOFT_OUTLINE | | * - #EVAS_TEXT_STYLE_SOFT_OUTLINE | |
| * - #EVAS_TEXT_STYLE_OUTLINE_SHADOW | | * - #EVAS_TEXT_STYLE_OUTLINE_SHADOW | |
| * - #EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW | | * - #EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW | |
| * | | * | |
| * @see evas_object_text_outline_color_get() | | * @see evas_object_text_outline_color_get() | |
| */ | | */ | |
|
| EAPI void evas_object_text_outline_color_set(Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_outline_color_set(Evas_Object *o
bj, int r, int g, int b, int a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the outline color for the given text object. | | * Retrieves the outline color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| * @param r Pointer to variable to hold the red component of the given | | * @param r Pointer to variable to hold the red component of the given | |
| * color. | | * color. | |
| * @param g Pointer to variable to hold the green component of the | | * @param g Pointer to variable to hold the green component of the | |
| * given color. | | * given color. | |
| * @param b Pointer to variable to hold the blue component of the | | * @param b Pointer to variable to hold the blue component of the | |
| * given color. | | * given color. | |
| * @param a Pointer to variable to hold the alpha component of the | | * @param a Pointer to variable to hold the alpha component of the | |
| * given color. | | * given color. | |
| * | | * | |
| * @note Use @c NULL pointers on the color components you're not | | * @note Use @c NULL pointers on the color components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_text_outline_color_set() for more details. | | * @see evas_object_text_outline_color_set() for more details. | |
| */ | | */ | |
|
| EAPI void evas_object_text_outline_color_get(const Evas_Object
*obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_outline_color_get(const Evas_Obj
ect *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the text style pad of a text object. | | * Gets the text style pad of a text object. | |
| * | | * | |
| * @param obj The given text object. | | * @param obj The given text object. | |
| * @param l The left pad (or @c NULL). | | * @param l The left pad (or @c NULL). | |
| * @param r The right pad (or @c NULL). | | * @param r The right pad (or @c NULL). | |
| * @param t The top pad (or @c NULL). | | * @param t The top pad (or @c NULL). | |
| * @param b The bottom pad (or @c NULL). | | * @param b The bottom pad (or @c NULL). | |
| * | | * | |
| */ | | */ | |
|
| EAPI void evas_object_text_style_pad_get (const Evas_Object
*obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_style_pad_get(const Evas_Object
*obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the direction of the text currently being displayed in the | | * Retrieves the direction of the text currently being displayed in the | |
| * text object. | | * text object. | |
| * @param obj The given evas text object. | | * @param obj The given evas text object. | |
| * @return the direction of the text | | * @return the direction of the text | |
| */ | | */ | |
|
| EAPI Evas_BiDi_Direction evas_object_text_direction_get (const Evas_Object
*obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; | | EAPI Evas_BiDi_Direction evas_object_text_direction_get(const Evas_Object
*obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Textblock Textblock Object Functions | | * @defgroup Evas_Object_Textblock Textblock Object Functions | |
| * | | * | |
| * Functions used to create and manipulate textblock objects. Unlike | | * Functions used to create and manipulate textblock objects. Unlike | |
| * @ref Evas_Object_Text, these handle complex text, doing multiple | | * @ref Evas_Object_Text, these handle complex text, doing multiple | |
| | | | |
| skipping to change at line 8211 | | skipping to change at line 8232 | |
| * @li font_fallbacks - A comma delimited list of fonts to try if finding t
he main font fails. | | * @li font_fallbacks - A comma delimited list of fonts to try if finding t
he main font fails. | |
| * @li font_size - The font size in points. | | * @li font_size - The font size in points. | |
| * @li font_source - The source of the font, e.g an eet file. | | * @li font_source - The source of the font, e.g an eet file. | |
| * @li color - Text color in one of the following formats: "#RRGGBB", "#RRG
GBBAA", "#RGB", and "#RGBA". | | * @li color - Text color in one of the following formats: "#RRGGBB", "#RRG
GBBAA", "#RGB", and "#RGBA". | |
| * @li underline_color - color in one of the following formats: "#RRGGBB",
"#RRGGBBAA", "#RGB", and "#RGBA". | | * @li underline_color - color in one of the following formats: "#RRGGBB",
"#RRGGBBAA", "#RGB", and "#RGBA". | |
| * @li underline2_color - color in one of the following formats: "#RRGGBB",
"#RRGGBBAA", "#RGB", and "#RGBA". | | * @li underline2_color - color in one of the following formats: "#RRGGBB",
"#RRGGBBAA", "#RGB", and "#RGBA". | |
| * @li outline_color - color in one of the following formats: "#RRGGBB", "#
RRGGBBAA", "#RGB", and "#RGBA". | | * @li outline_color - color in one of the following formats: "#RRGGBB", "#
RRGGBBAA", "#RGB", and "#RGBA". | |
| * @li shadow_color - color in one of the following formats: "#RRGGBB", "#R
RGGBBAA", "#RGB", and "#RGBA". | | * @li shadow_color - color in one of the following formats: "#RRGGBB", "#R
RGGBBAA", "#RGB", and "#RGBA". | |
| * @li glow_color - color in one of the following formats: "#RRGGBB", "#RRG
GBBAA", "#RGB", and "#RGBA". | | * @li glow_color - color in one of the following formats: "#RRGGBB", "#RRG
GBBAA", "#RGB", and "#RGBA". | |
| * @li glow2_color - color in one of the following formats: "#RRGGBB", "#RR
GGBBAA", "#RGB", and "#RGBA". | | * @li glow2_color - color in one of the following formats: "#RRGGBB", "#RR
GGBBAA", "#RGB", and "#RGBA". | |
|
| * @li backing_color - color in one of the following formats: "#RRGGBB", "#
RRGGBBAA", "#RGB", and "#RGBA". | | | |
| * @li strikethrough_color - color in one of the following formats: "#RRGGB
B", "#RRGGBBAA", "#RGB", and "#RGBA". | | * @li strikethrough_color - color in one of the following formats: "#RRGGB
B", "#RRGGBBAA", "#RGB", and "#RGBA". | |
| * @li align - Either "auto" (meaning according to text direction), "left",
"right", "center", "middle", a value between 0.0 and 1.0, or a value betwe
en 0% to 100%. | | * @li align - Either "auto" (meaning according to text direction), "left",
"right", "center", "middle", a value between 0.0 and 1.0, or a value betwe
en 0% to 100%. | |
| * @li valign - Either "top", "bottom", "middle", "center", "baseline", "ba
se", a value between 0.0 and 1.0, or a value between 0% to 100%. | | * @li valign - Either "top", "bottom", "middle", "center", "baseline", "ba
se", a value between 0.0 and 1.0, or a value between 0% to 100%. | |
| * @li wrap - "word", "char", "mixed", or "none". | | * @li wrap - "word", "char", "mixed", or "none". | |
| * @li left_margin - Either "reset", or a pixel value indicating the margin
. | | * @li left_margin - Either "reset", or a pixel value indicating the margin
. | |
| * @li right_margin - Either "reset", or a pixel value indicating the margi
n. | | * @li right_margin - Either "reset", or a pixel value indicating the margi
n. | |
| * @li underline - "on", "off", "single", or "double". | | * @li underline - "on", "off", "single", or "double". | |
| * @li strikethrough - "on" or "off" | | * @li strikethrough - "on" or "off" | |
|
| * @li backing - "on" or "off" | | * @li backing_color - Background color in one of the following formats: "# | |
| | | RRGGBB", "#RRGGBBAA", "#RGB", and "#RGBA". | |
| | | * @li backing - Enable/disable background color. ex) "on" or "off" | |
| * @li style - Either "off", "none", "plain", "shadow", "outline", "soft_ou
tline", "outline_shadow", "outline_soft_shadow", "glow", "far_shadow", "sof
t_shadow", or "far_soft_shadow". | | * @li style - Either "off", "none", "plain", "shadow", "outline", "soft_ou
tline", "outline_shadow", "outline_soft_shadow", "glow", "far_shadow", "sof
t_shadow", or "far_soft_shadow". | |
| * @li tabstops - Pixel value for tab width. | | * @li tabstops - Pixel value for tab width. | |
| * @li linesize - Force a line size in pixels. | | * @li linesize - Force a line size in pixels. | |
| * @li linerelsize - Either a floating point value or a percentage indicati
ng the wanted size of the line relative to the calculated size. | | * @li linerelsize - Either a floating point value or a percentage indicati
ng the wanted size of the line relative to the calculated size. | |
| * @li linegap - Force a line gap in pixels. | | * @li linegap - Force a line gap in pixels. | |
| * @li linerelgap - Either a floating point value or a percentage indicatin
g the wanted size of the line relative to the calculated size. | | * @li linerelgap - Either a floating point value or a percentage indicatin
g the wanted size of the line relative to the calculated size. | |
| * @li item - Creates an empty space that should be filled by an upper laye
r. Use "size", "abssize", or "relsize". To define the items size, and an op
tional: vsize=full/ascent to define the item's position in the line. | | * @li item - Creates an empty space that should be filled by an upper laye
r. Use "size", "abssize", or "relsize". To define the items size, and an op
tional: vsize=full/ascent to define the item's position in the line. | |
| * @li linefill - Either a float value or percentage indicating how much to
fill the line. | | * @li linefill - Either a float value or percentage indicating how much to
fill the line. | |
| * @li ellipsis - Value between 0.0-1.0 to indicate the type of ellipsis, o
r -1.0 to indicate ellipsis isn't wanted. | | * @li ellipsis - Value between 0.0-1.0 to indicate the type of ellipsis, o
r -1.0 to indicate ellipsis isn't wanted. | |
| * @li password - "on" or "off". This is used to specifically turn replacin
g chars with the replacement char (i.e password mode) on and off. | | * @li password - "on" or "off". This is used to specifically turn replacin
g chars with the replacement char (i.e password mode) on and off. | |
| * | | * | |
|
| | | * @warning We don't guarantee any proper results if you create a Textblock | |
| | | * object | |
| | | * without setting the evas engine. | |
| * | | * | |
| * @todo put here some usage examples | | * @todo put here some usage examples | |
| * | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| * | | * | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
|
| typedef struct _Evas_Textblock_Style Evas_Textblock_Styl | | typedef struct _Evas_Textblock_Style Evas_Textblock_Style; | |
| e; | | typedef struct _Evas_Textblock_Cursor Evas_Textblock_Cursor; | |
| typedef struct _Evas_Textblock_Cursor Evas_Textblock_Curs | | /** | |
| or; | | * @typedef Evas_Object_Textblock_Node_Format | |
| /** | | * A format node. | |
| * @typedef Evas_Object_Textblock_Node_Format | | */ | |
| * A format node. | | typedef struct _Evas_Object_Textblock_Node_Format Evas_Object_Textblock_Nod | |
| */ | | e_Format; | |
| typedef struct _Evas_Object_Textblock_Node_Format Evas_Object_Textblo | | typedef struct _Evas_Textblock_Rectangle Evas_Textblock_Rectangle; | |
| ck_Node_Format; | | | |
| typedef struct _Evas_Textblock_Rectangle Evas_Textblock_Rect | | struct _Evas_Textblock_Rectangle | |
| angle; | | { | |
| | | Evas_Coord x, y, w, h; | |
| | | }; | |
| | | | |
|
| struct _Evas_Textblock_Rectangle | | typedef enum _Evas_Textblock_Text_Type | |
| { | | { | |
| Evas_Coord x, y, w, h; | | EVAS_TEXTBLOCK_TEXT_RAW, | |
| }; | | EVAS_TEXTBLOCK_TEXT_PLAIN, | |
| | | EVAS_TEXTBLOCK_TEXT_MARKUP | |
| typedef enum _Evas_Textblock_Text_Type | | } Evas_Textblock_Text_Type; | |
| { | | | |
| EVAS_TEXTBLOCK_TEXT_RAW, | | typedef enum _Evas_Textblock_Cursor_Type | |
| EVAS_TEXTBLOCK_TEXT_PLAIN, | | { | |
| EVAS_TEXTBLOCK_TEXT_MARKUP | | EVAS_TEXTBLOCK_CURSOR_UNDER, | |
| } Evas_Textblock_Text_Type; | | EVAS_TEXTBLOCK_CURSOR_BEFORE | |
| | | } Evas_Textblock_Cursor_Type; | |
| typedef enum _Evas_Textblock_Cursor_Type | | | |
| { | | | |
| EVAS_TEXTBLOCK_CURSOR_UNDER, | | | |
| EVAS_TEXTBLOCK_CURSOR_BEFORE | | | |
| } Evas_Textblock_Cursor_Type; | | | |
| | | | |
| /** | | /** | |
| * Adds a textblock to the given evas. | | * Adds a textblock to the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The new textblock object. | | * @return The new textblock object. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_textblock_add(Evas *e) EINA_W
ARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_textblock_add(Eva
s *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Returns the unescaped version of escape. | | * Returns the unescaped version of escape. | |
| * @param escape the string to be escaped | | * @param escape the string to be escaped | |
| * @return the unescaped version of escape | | * @return the unescaped version of escape | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_escape_string_get(const ch
ar *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_textblock_escape_string_
get(const char *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the escaped version of the string. | | * Returns the escaped version of the string. | |
| * @param string to escape | | * @param string to escape | |
| * @param len_ret the len of the part of the string that was used. | | * @param len_ret the len of the part of the string that was used. | |
| * @return the escaped string. | | * @return the escaped string. | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_string_escape_get(const ch
ar *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_textblock_string_escape_
get(const char *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONN
ULL(1); | |
| | | | |
| /** | | /** | |
| * Return the unescaped version of the string between start and end. | | * Return the unescaped version of the string between start and end. | |
| * | | * | |
| * @param escape_start the start of the string. | | * @param escape_start the start of the string. | |
| * @param escape_end the end of the string. | | * @param escape_end the end of the string. | |
| * @return the unescaped version of the range | | * @return the unescaped version of the range | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_escape_string_range_get(co
nst char *escape_start, const char *escape_end) EINA_WARN_UNUSED_RESULT EIN
A_ARG_NONNULL(1, 2); | | EAPI const char *evas_textblock_escape_string_
range_get(const char *escape_start, const char *escape_end) EINA_WARN_UNUSE
D_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the plain version of the markup. | | * Return the plain version of the markup. | |
| * | | * | |
| * Works as if you set the markup to a textblock and then retrieve the plai
n | | * Works as if you set the markup to a textblock and then retrieve the plai
n | |
| * version of the text. i.e: <br> and <\n> will be replaced with \n, &...;
with | | * version of the text. i.e: <br> and <\n> will be replaced with \n, &...;
with | |
| * the actual char and etc. | | * the actual char and etc. | |
| * | | * | |
| * @param obj The textblock object to work with. (if @c NULL, tries the | | * @param obj The textblock object to work with. (if @c NULL, tries the | |
| * default). | | * default). | |
| * @param text The markup text (if @c NULL, return @c NULL). | | * @param text The markup text (if @c NULL, return @c NULL). | |
| * @return An allocated plain text version of the markup. | | * @return An allocated plain text version of the markup. | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI char *evas_textblock_text_markup_to_utf8(const
Evas_Object *obj, const char *text) EINA_WARN_UNUSED_RESULT EINA_MALLOC; | | EAPI char *evas_textblock_text_markup_to
_utf8(const Evas_Object *obj, const char *text) EINA_WARN_UNUSED_RESULT EIN
A_MALLOC; | |
| | | | |
| /** | | /** | |
| * Return the markup version of the plain text. | | * Return the markup version of the plain text. | |
| * | | * | |
| * Replaces \\n -\> \<br/\> \\t -\> \<tab/\> and etc. Generally needed befo
re you pass | | * Replaces \\n -\> \<br/\> \\t -\> \<tab/\> and etc. Generally needed befo
re you pass | |
| * plain text to be set in a textblock. | | * plain text to be set in a textblock. | |
| * | | * | |
| * @param obj the textblock object to work with (if @c NULL, it just does t
he | | * @param obj the textblock object to work with (if @c NULL, it just does t
he | |
| * default behaviour, i.e with no extra object information). | | * default behaviour, i.e with no extra object information). | |
| * @param text The markup text (if @c NULL, return @c NULL). | | * @param text The markup text (if @c NULL, return @c NULL). | |
| * @return An allocated plain text version of the markup. | | * @return An allocated plain text version of the markup. | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI char *evas_textblock_text_utf8_to_markup(const
Evas_Object *obj, const char *text) EINA_WARN_UNUSED_RESULT EINA_MALLOC; | | EAPI char *evas_textblock_text_utf8_to_m
arkup(const Evas_Object *obj, const char *text) EINA_WARN_UNUSED_RESULT EIN
A_MALLOC; | |
| | | | |
| /** | | /** | |
| * Creates a new textblock style. | | * Creates a new textblock style. | |
| * @return The new textblock style. | | * @return The new textblock style. | |
| */ | | */ | |
|
| EAPI Evas_Textblock_Style *evas_textblock_style_new(void) EINA_WARN_
UNUSED_RESULT EINA_MALLOC; | | EAPI Evas_Textblock_Style *evas_textblock_style_new(void
) EINA_WARN_UNUSED_RESULT EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Destroys a textblock style. | | * Destroys a textblock style. | |
| * @param ts The textblock style to free. | | * @param ts The textblock style to free. | |
| */ | | */ | |
|
| EAPI void evas_textblock_style_free(Evas_Textblock_
Style *ts) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_style_free(Eva
s_Textblock_Style *ts) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the style ts to the style passed as text by text. | | * Sets the style ts to the style passed as text by text. | |
| * Expected a string consisting of many (or none) tag='format' pairs. | | * Expected a string consisting of many (or none) tag='format' pairs. | |
| * | | * | |
| * @param ts the style to set. | | * @param ts the style to set. | |
| * @param text the text to parse - NOT NULL. | | * @param text the text to parse - NOT NULL. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_style_set(Evas_Textblock_S
tyle *ts, const char *text) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_style_set(Evas
_Textblock_Style *ts, const char *text) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the text of the style ts. | | * Return the text of the style ts. | |
| * @param ts the style to get it's text. | | * @param ts the style to get it's text. | |
| * @return the text of the style or null on error. | | * @return the text of the style or null on error. | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_style_get(const Evas_Textb
lock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_textblock_style_get(cons
t Evas_Textblock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the objects style to ts. | | * Set the objects style to ts. | |
| * @param obj the Evas object to set the style to. | | * @param obj the Evas object to set the style to. | |
| * @param ts the style to set. | | * @param ts the style to set. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_style_set(Evas_Obje
ct *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_style_s
et(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the style of an object. | | * Return the style of an object. | |
| * @param obj the object to get the style from. | | * @param obj the object to get the style from. | |
| * @return the style of the object. | | * @return the style of the object. | |
| */ | | */ | |
|
| EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Eva
s_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Evas_Textblock_Style *evas_object_textblock_style_g
et(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Push ts to the top of the user style stack. | | * Push ts to the top of the user style stack. | |
| * | | * | |
| * FIXME: API is solid but currently only supports 1 style in the stack. | | * FIXME: API is solid but currently only supports 1 style in the stack. | |
| * | | * | |
| * The user style overrides the corresponding elements of the regular style
. | | * The user style overrides the corresponding elements of the regular style
. | |
| * This is the proper way to do theme overrides in code. | | * This is the proper way to do theme overrides in code. | |
| * @param obj the Evas object to set the style to. | | * @param obj the Evas object to set the style to. | |
| * @param ts the style to set. | | * @param ts the style to set. | |
| * @return Returns no value. | | * @return Returns no value. | |
| * @see evas_object_textblock_style_set | | * @see evas_object_textblock_style_set | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_style_user_push(Eva
s_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_style_u
ser_push(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Del the from the top of the user style stack. | | * Del the from the top of the user style stack. | |
| * | | * | |
| * @param obj the object to get the style from. | | * @param obj the object to get the style from. | |
| * @see evas_object_textblock_style_get | | * @see evas_object_textblock_style_get | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_style_user_pop(Evas_
Object *obj) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_style_u
ser_pop(Evas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get (don't remove) the style at the top of the user style stack. | | * Get (don't remove) the style at the top of the user style stack. | |
| * | | * | |
| * @param obj the object to get the style from. | | * @param obj the object to get the style from. | |
| * @return the style of the object. | | * @return the style of the object. | |
| * @see evas_object_textblock_style_get | | * @see evas_object_textblock_style_get | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI const Evas_Textblock_Style *evas_object_textblock_style_user_peek(con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Evas_Textblock_Style *evas_object_textblock_style_u
ser_peek(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1
); | |
| | | | |
| /** | | /** | |
| * @brief Set the "replacement character" to use for the given textblock ob
ject. | | * @brief Set the "replacement character" to use for the given textblock ob
ject. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @param ch The charset name. | | * @param ch The charset name. | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_replace_char_set(Ev
as_Object *obj, const char *ch) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_replace
_char_set(Evas_Object *obj, const char *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Get the "replacement character" for given textblock object. Retur
ns | | * @brief Get the "replacement character" for given textblock object. Retur
ns | |
| * @c NULL if no replacement character is in use. | | * @c NULL if no replacement character is in use. | |
| * | | * | |
| * @param obj The given textblock object | | * @param obj The given textblock object | |
| * @return Replacement character or @c NULL. | | * @return Replacement character or @c NULL. | |
| */ | | */ | |
|
| EAPI const char *evas_object_textblock_replace_char_get(Ev
as_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const char *evas_object_textblock_replace
_char_get(Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Sets the vertical alignment of text within the textblock object | | * @brief Sets the vertical alignment of text within the textblock object | |
| * as a whole. | | * as a whole. | |
| * | | * | |
| * Normally alignment is 0.0 (top of object). Values given should be | | * Normally alignment is 0.0 (top of object). Values given should be | |
| * between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered | | * between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered | |
| * etc.). | | * etc.). | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @param align A value between @c 0.0 and @c 1.0. | | * @param align A value between @c 0.0 and @c 1.0. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_valign_set(Evas_Obj
ect *obj, double align); | | EAPI void evas_object_textblock_valign_
set(Evas_Object *obj, double align); | |
| | | | |
| /** | | /** | |
| * @brief Gets the vertical alignment of a textblock | | * @brief Gets the vertical alignment of a textblock | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @return The alignment set for the object. | | * @return The alignment set for the object. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI double evas_object_textblock_valign_get(const Ev
as_Object *obj); | | EAPI double evas_object_textblock_valign_
get(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * @brief Sets the BiDi delimiters used in the textblock. | | * @brief Sets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
| * oddities can occur when mixing RTL and LTR. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @param delim A null terminated string of delimiters, e.g ",|". | | * @param delim A null terminated string of delimiters, e.g ",|". | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_bidi_delimiters_set
(Evas_Object *obj, const char *delim); | | EAPI void evas_object_textblock_bidi_de
limiters_set(Evas_Object *obj, const char *delim); | |
| | | | |
| /** | | /** | |
| * @brief Gets the BiDi delimiters used in the textblock. | | * @brief Gets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
| * oddities can occur when mixing RTL and LTR. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @return A null terminated string of delimiters, e.g ",|". If empty, retu
rns | | * @return A null terminated string of delimiters, e.g ",|". If empty, retu
rns | |
| * @c NULL. | | * @c NULL. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI const char *evas_object_textblock_bidi_delimiters_get
(const Evas_Object *obj); | | EAPI const char *evas_object_textblock_bidi_de
limiters_get(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * @brief Sets newline mode. When true, newline character will behave | | * @brief Sets newline mode. When true, newline character will behave | |
| * as a paragraph separator. | | * as a paragraph separator. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @param mode @c EINA_TRUE for legacy mode, @c EINA_FALSE otherwise. | | * @param mode @c EINA_TRUE for legacy mode, @c EINA_FALSE otherwise. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_legacy_newline_set(
Evas_Object *obj, Eina_Bool mode) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_legacy_
newline_set(Evas_Object *obj, Eina_Bool mode) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Gets newline mode. When true, newline character behaves | | * @brief Gets newline mode. When true, newline character behaves | |
| * as a paragraph separator. | | * as a paragraph separator. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @return @c EINA_TRUE if in legacy mode, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if in legacy mode, @c EINA_FALSE otherwise. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_textblock_legacy_newline_get(
const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_textblock_legacy_
newline_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNUL
L(1); | |
| | | | |
| /** | | /** | |
| * Sets the tetxblock's text to the markup text. | | * Sets the tetxblock's text to the markup text. | |
| * | | * | |
| * @note assumes text does not include the unicode object replacement char
(0xFFFC) | | * @note assumes text does not include the unicode object replacement char
(0xFFFC) | |
| * | | * | |
| * @param obj the textblock object. | | * @param obj the textblock object. | |
| * @param text the markup text to use. | | * @param text the markup text to use. | |
| * @return Return no value. | | * @return Return no value. | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_text_markup_set(Eva
s_Object *obj, const char *text) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_text_ma
rkup_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Prepends markup to the cursor cur. | | * Prepends markup to the cursor cur. | |
| * | | * | |
| * @note assumes text does not include the unicode object replacement char
(0xFFFC) | | * @note assumes text does not include the unicode object replacement char
(0xFFFC) | |
| * | | * | |
| * @param cur the cursor to prepend to. | | * @param cur the cursor to prepend to. | |
| * @param text the markup text to prepend. | | * @param text the markup text to prepend. | |
| * @return Return no value. | | * @return Return no value. | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_text_markup_prepend
(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_textblock_text_ma
rkup_prepend(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL
(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the markup of the object. | | * Return the markup of the object. | |
| * | | * | |
| * @param obj the Evas object. | | * @param obj the Evas object. | |
| * @return the markup text of the object. | | * @return the markup text of the object. | |
| */ | | */ | |
|
| EAPI const char *evas_object_textblock_text_markup_get(con
st Evas_Object *obj) EINA_ARG_NONNULL(1); | | EAPI const char *evas_object_textblock_text_ma
rkup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the object's main cursor. | | * Return the object's main cursor. | |
| * | | * | |
| * @param obj the object. | | * @param obj the object. | |
| * @return The @p obj's main cursor. | | * @return The @p obj's main cursor. | |
| */ | | */ | |
|
| EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const Evas_Obj
ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_
get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Create a new cursor, associate it to the obj and init it to point | | * Create a new cursor, associate it to the obj and init it to point | |
| * to the start of the textblock. Association to the object means the curso
r | | * to the start of the textblock. Association to the object means the curso
r | |
| * will be updated when the object will change. | | * will be updated when the object will change. | |
| * | | * | |
| * @note if you need speed and you know what you are doing, it's slightly f
aster to just allocate the cursor yourself and not associate it. (only peop
le developing the actual object, and not users of the object). | | * @note if you need speed and you know what you are doing, it's slightly f
aster to just allocate the cursor yourself and not associate it. (only peop
le developing the actual object, and not users of the object). | |
| * | | * | |
| * @param obj the object to associate to. | | * @param obj the object to associate to. | |
| * @return the new cursor. | | * @return the new cursor. | |
| */ | | */ | |
|
| EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_new(const Ev
as_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_
new(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EIN
A_MALLOC; | |
| | | | |
| /** | | /** | |
| * Free the cursor and unassociate it from the object. | | * Free the cursor and unassociate it from the object. | |
| * @note do not use it to free unassociated cursors. | | * @note do not use it to free unassociated cursors. | |
| * | | * | |
| * @param cur the cursor to free. | | * @param cur the cursor to free. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_free(Evas_Textblock
_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_free(Ev
as_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the cursor to the start of the first text node. | | * Sets the cursor to the start of the first text node. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_paragraph_first(Eva
s_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_paragra
ph_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * sets the cursor to the end of the last text node. | | * sets the cursor to the end of the last text node. | |
| * | | * | |
| * @param cur the cursor to set. | | * @param cur the cursor to set. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_paragraph_last(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_paragra
ph_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the start of the next text node | | * Advances to the start of the next text node | |
| * | | * | |
| * @param cur the cursor to update | | * @param cur the cursor to update | |
| * @return @c EINA_TRUE if it managed to advance a paragraph, @c EINA_FALSE | | * @return @c EINA_TRUE if it managed to advance a paragraph, @c EINA_FALSE | |
| * otherwise. | | * otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_paragraph_next(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_paragra
ph_next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the end of the previous text node | | * Advances to the end of the previous text node | |
| * | | * | |
| * @param cur the cursor to update | | * @param cur the cursor to update | |
| * @return @c EINA_TRUE if it managed to advance a paragraph, @c EINA_FALSE | | * @return @c EINA_TRUE if it managed to advance a paragraph, @c EINA_FALSE | |
| * otherwise. | | * otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_paragraph_prev(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_paragra
ph_prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the | | * Returns the | |
| * | | * | |
| * @param obj The evas, must not be @c NULL. | | * @param obj The evas, must not be @c NULL. | |
| * @param anchor the anchor name to get | | * @param anchor the anchor name to get | |
| * @return Returns the list format node corresponding to the anchor, may be
null if there are none. | | * @return Returns the list format node corresponding to the anchor, may be
null if there are none. | |
| */ | | */ | |
|
| EAPI const Eina_List *evas_textblock_node_format_list_get(const
Evas_Object *obj, const char *anchor) EINA_ARG_NONNULL(1, 2); | | EAPI const Eina_List *evas_textblock_node_format_li
st_get(const Evas_Object *obj, const char *anchor) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Returns the first format node. | | * Returns the first format node. | |
| * | | * | |
| * @param obj The evas, must not be @c NULL. | | * @param obj The evas, must not be @c NULL. | |
| * @return Returns the first format node, may be null if there are none. | | * @return Returns the first format node, may be null if there are none. | |
| */ | | */ | |
| EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_fi
rst_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); | | EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_fi
rst_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 8634 | | skipping to change at line 8658 | |
| EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_pr
ev_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1); | | EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_pr
ev_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Remove a format node and it's match. i.e, removes a \<tag\> \</tag\> pai
r. | | * Remove a format node and it's match. i.e, removes a \<tag\> \</tag\> pai
r. | |
| * Assumes the node is the first part of \<tag\> i.e, this won't work if | | * Assumes the node is the first part of \<tag\> i.e, this won't work if | |
| * n is a closing tag. | | * n is a closing tag. | |
| * | | * | |
| * @param obj the Evas object of the textblock - not null. | | * @param obj the Evas object of the textblock - not null. | |
| * @param n the current format node - not null. | | * @param n the current format node - not null. | |
| */ | | */ | |
|
| EAPI void evas_textblock_node_format_remove_pair(Ev
as_Object *obj, Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2
); | | EAPI void evas_textblock_node_format_re
move_pair(Evas_Object *obj, Evas_Object_Textblock_Node_Format *n) EINA_ARG_
NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Sets the cursor to point to the place where format points to. | | * Sets the cursor to point to the place where format points to. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @param n the format node to update according. | | * @param n the format node to update according. | |
| * @deprecated duplicate of evas_textblock_cursor_at_format_set | | * @deprecated duplicate of evas_textblock_cursor_at_format_set | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_set_at_format(Evas_
Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG
_NONNULL(1, 2); | | EAPI void evas_textblock_cursor_set_at_
format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format
*n) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the format node at the position pointed by cur. | | * Return the format node at the position pointed by cur. | |
| * | | * | |
| * @param cur the position to look at. | | * @param cur the position to look at. | |
| * @return the format node if found, @c NULL otherwise. | | * @return the format node if found, @c NULL otherwise. | |
| * @see evas_textblock_cursor_format_is_visible_get() | | * @see evas_textblock_cursor_format_is_visible_get() | |
| */ | | */ | |
| EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_cursor_format_
get(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_cursor_format_
get(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the text format representation of the format node. | | * Get the text format representation of the format node. | |
| * | | * | |
| * @param fnode the format node. | | * @param fnode the format node. | |
| * @return the textual format of the format node. | | * @return the textual format of the format node. | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_node_format_text_get(const
Evas_Object_Textblock_Node_Format *fnode) EINA_WARN_UNUSED_RESULT EINA_ARG
_NONNULL(1); | | EAPI const char *evas_textblock_node_format_te
xt_get(const Evas_Object_Textblock_Node_Format *fnode) EINA_WARN_UNUSED_RES
ULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the cursor to point to the position of fmt. | | * Set the cursor to point to the position of fmt. | |
| * | | * | |
| * @param cur the cursor to update | | * @param cur the cursor to update | |
| * @param fmt the format to update according to. | | * @param fmt the format to update according to. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_at_format_set(Evas_
Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt) EINA_A
RG_NONNULL(1, 2); | | EAPI void evas_textblock_cursor_at_form
at_set(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format
*fmt) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Check if the current cursor position is a visible format. This way is mo
re | | * Check if the current cursor position is a visible format. This way is mo
re | |
| * efficient than evas_textblock_cursor_format_get() to check for the exist
ence | | * efficient than evas_textblock_cursor_format_get() to check for the exist
ence | |
| * of a visible format. | | * of a visible format. | |
| * | | * | |
| * @param cur the cursor to look at. | | * @param cur the cursor to look at. | |
| * @return @c EINA_TRUE if the cursor points to a visible format, @c EINA_F
ALSE | | * @return @c EINA_TRUE if the cursor points to a visible format, @c EINA_F
ALSE | |
| * otherwise. | | * otherwise. | |
| * @see evas_textblock_cursor_format_get() | | * @see evas_textblock_cursor_format_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_format_is_visible_g
et(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNU
LL(1); | | EAPI Eina_Bool evas_textblock_cursor_format_
is_visible_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EI
NA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the next format node | | * Advances to the next format node | |
| * | | * | |
| * @param cur the cursor to be updated. | | * @param cur the cursor to be updated. | |
| * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_format_next(Evas_Te
xtblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_format_
next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the previous format node. | | * Advances to the previous format node. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_format_prev(Evas_Te
xtblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_format_
prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns true if the cursor points to a format. | | * Returns true if the cursor points to a format. | |
| * | | * | |
| * @param cur the cursor to check. | | * @param cur the cursor to check. | |
| * @return @c EINA_TRUE if a cursor points to a format @c EINA_FALSE | | * @return @c EINA_TRUE if a cursor points to a format @c EINA_FALSE | |
| * otherwise. | | * otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_is_format(const Eva
s_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_is_form
at(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances 1 char forward. | | * Advances 1 char forward. | |
| * | | * | |
| * @param cur the cursor to advance. | | * @param cur the cursor to advance. | |
| * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_char_next(Evas_Text
block_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_char_ne
xt(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances 1 char backward. | | * Advances 1 char backward. | |
| * | | * | |
| * @param cur the cursor to advance. | | * @param cur the cursor to advance. | |
| * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_char_prev(Evas_Text
block_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_char_pr
ev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Moves the cursor to the start of the word under the cursor. | | * Moves the cursor to the start of the word under the cursor. | |
| * | | * | |
| * @param cur the cursor to move. | | * @param cur the cursor to move. | |
| * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_word_start(Evas_Tex
tblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_word_st
art(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Moves the cursor to the end of the word under the cursor. | | * Moves the cursor to the end of the word under the cursor. | |
| * | | * | |
| * @param cur the cursor to move. | | * @param cur the cursor to move. | |
| * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_word_end(Evas_Textb
lock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_word_en
d(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Go to the first char in the node the cursor is pointing on. | | * Go to the first char in the node the cursor is pointing on. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_paragraph_char_firs
t(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_paragra
ph_char_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Go to the last char in a text node. | | * Go to the last char in a text node. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_paragraph_char_last
(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_paragra
ph_char_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Go to the start of the current line | | * Go to the start of the current line | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_line_char_first(Eva
s_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_line_ch
ar_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Go to the end of the current line. | | * Go to the end of the current line. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_line_char_last(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_line_ch
ar_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the current cursor pos. | | * Return the current cursor pos. | |
| * | | * | |
| * @param cur the cursor to take the position from. | | * @param cur the cursor to take the position from. | |
| * @return the position or -1 on error | | * @return the position or -1 on error | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_pos_get(const Evas_
Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_pos_get
(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL
(1); | |
| | | | |
| /** | | /** | |
| * Set the cursor pos. | | * Set the cursor pos. | |
| * | | * | |
| * @param cur the cursor to be set. | | * @param cur the cursor to be set. | |
| * @param pos the pos to set. | | * @param pos the pos to set. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_pos_set(Evas_Textbl
ock_Cursor *cur, int pos) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_pos_set
(Evas_Textblock_Cursor *cur, int pos) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Go to the start of the line passed | | * Go to the start of the line passed | |
| * | | * | |
| * @param cur cursor to update. | | * @param cur cursor to update. | |
| * @param line numer to set. | | * @param line numer to set. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_line_set(Evas_Textb
lock_Cursor *cur, int line) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_line_se
t(Evas_Textblock_Cursor *cur, int line) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Compare two cursors. | | * Compare two cursors. | |
| * | | * | |
| * @param cur1 the first cursor. | | * @param cur1 the first cursor. | |
| * @param cur2 the second cursor. | | * @param cur2 the second cursor. | |
| * @return -1 if cur1 < cur2, 0 if cur1 == cur2 and 1 otherwise. | | * @return -1 if cur1 < cur2, 0 if cur1 == cur2 and 1 otherwise. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_compare(const Evas_
Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED
_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI int evas_textblock_cursor_compare
(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA
_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Make cur_dest point to the same place as cur. Does not work if they don'
t | | * Make cur_dest point to the same place as cur. Does not work if they don'
t | |
| * point to the same object. | | * point to the same object. | |
| * | | * | |
| * @param cur the source cursor. | | * @param cur the source cursor. | |
| * @param cur_dest destination cursor. | | * @param cur_dest destination cursor. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_copy(const Evas_Tex
tblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest) EINA_ARG_NONNULL(1, 2)
; | | EAPI void evas_textblock_cursor_copy(co
nst Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest) EINA_ARG_N
ONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds text to the current cursor position and set the cursor to *before* | | * Adds text to the current cursor position and set the cursor to *before* | |
| * the start of the text just added. | | * the start of the text just added. | |
| * | | * | |
| * @param cur the cursor to where to add text at. | | * @param cur the cursor to where to add text at. | |
| * @param text the text to add. | | * @param text the text to add. | |
| * @return Returns the len of the text added. | | * @return Returns the len of the text added. | |
| * @see evas_textblock_cursor_text_prepend() | | * @see evas_textblock_cursor_text_prepend() | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_text_append(Evas_Te
xtblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | | EAPI int evas_textblock_cursor_text_ap
pend(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds text to the current cursor position and set the cursor to *after* | | * Adds text to the current cursor position and set the cursor to *after* | |
| * the start of the text just added. | | * the start of the text just added. | |
| * | | * | |
| * @param cur the cursor to where to add text at. | | * @param cur the cursor to where to add text at. | |
| * @param text the text to add. | | * @param text the text to add. | |
| * @return Returns the len of the text added. | | * @return Returns the len of the text added. | |
| * @see evas_textblock_cursor_text_append() | | * @see evas_textblock_cursor_text_append() | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_text_prepend(Evas_T
extblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | | EAPI int evas_textblock_cursor_text_pr
epend(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds format to the current cursor position. If the format being added is
a | | * Adds format to the current cursor position. If the format being added is
a | |
| * visible format, add it *before* the cursor position, otherwise, add it a
fter. | | * visible format, add it *before* the cursor position, otherwise, add it a
fter. | |
| * This behavior is because visible formats are like characters and invisib
le | | * This behavior is because visible formats are like characters and invisib
le | |
| * should be stacked in a way that the last one is added last. | | * should be stacked in a way that the last one is added last. | |
| * | | * | |
| * This function works with native formats, that means that style defined | | * This function works with native formats, that means that style defined | |
| * tags like <br> won't work here. For those kind of things use markup prep
end. | | * tags like <br> won't work here. For those kind of things use markup prep
end. | |
| * | | * | |
| | | | |
| skipping to change at line 8862 | | skipping to change at line 8886 | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Check if the current cursor position points to the terminating null of t
he | | * Check if the current cursor position points to the terminating null of t
he | |
| * last paragraph. (shouldn't be allowed to point to the terminating null o
f | | * last paragraph. (shouldn't be allowed to point to the terminating null o
f | |
| * any previous paragraph anyway. | | * any previous paragraph anyway. | |
| * | | * | |
| * @param cur the cursor to look at. | | * @param cur the cursor to look at. | |
| * @return @c EINA_TRUE if the cursor points to the terminating null, @c EI
NA_FALSE otherwise. | | * @return @c EINA_TRUE if the cursor points to the terminating null, @c EI
NA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_format_append(Evas_
Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_textblock_cursor_format_
append(Evas_Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1,
2); | |
| | | | |
| /** | | /** | |
| * Adds format to the current cursor position. If the format being added is
a | | * Adds format to the current cursor position. If the format being added is
a | |
| * visible format, add it *before* the cursor position, otherwise, add it a
fter. | | * visible format, add it *before* the cursor position, otherwise, add it a
fter. | |
| * This behavior is because visible formats are like characters and invisib
le | | * This behavior is because visible formats are like characters and invisib
le | |
| * should be stacked in a way that the last one is added last. | | * should be stacked in a way that the last one is added last. | |
| * If the format is visible the cursor is advanced after it. | | * If the format is visible the cursor is advanced after it. | |
| * | | * | |
| * This function works with native formats, that means that style defined | | * This function works with native formats, that means that style defined | |
| * tags like <br> won't work here. For those kind of things use markup prep
end. | | * tags like <br> won't work here. For those kind of things use markup prep
end. | |
| * | | * | |
| * @param cur the cursor to where to add format at. | | * @param cur the cursor to where to add format at. | |
| * @param format the format to add. | | * @param format the format to add. | |
| * @return Returns true if a visible format was added, false otherwise. | | * @return Returns true if a visible format was added, false otherwise. | |
| * @see evas_textblock_cursor_format_prepend() | | * @see evas_textblock_cursor_format_prepend() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_format_prepend(Evas
_Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_textblock_cursor_format_
prepend(Evas_Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1,
2); | |
| | | | |
| /** | | /** | |
| * Delete the character at the location of the cursor. If there's a format | | * Delete the character at the location of the cursor. If there's a format | |
| * pointing to this position, delete it as well. | | * pointing to this position, delete it as well. | |
| * | | * | |
| * @param cur the cursor pointing to the current location. | | * @param cur the cursor pointing to the current location. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_char_delete(Evas_Te
xtblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_char_de
lete(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Delete the range between cur1 and cur2. | | * Delete the range between cur1 and cur2. | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 the second side of the range | | * @param cur2 the second side of the range | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_textblock_cursor_range_delete(Evas_T
extblock_Cursor *cur1, Evas_Textblock_Cursor *cur2) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_textblock_cursor_range_d
elete(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2) EINA_ARG_NO
NNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the text of the paragraph cur points to - returns the text in mar
kup. | | * Return the text of the paragraph cur points to - returns the text in mar
kup. | |
| * | | * | |
| * @param cur the cursor pointing to the paragraph. | | * @param cur the cursor pointing to the paragraph. | |
| * @return the text on success, @c NULL otherwise. | | * @return the text on success, @c NULL otherwise. | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_cursor_paragraph_text_get(
const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1); | | EAPI const char *evas_textblock_cursor_paragra
ph_text_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_
ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the length of the paragraph, cheaper the eina_unicode_strlen() | | * Return the length of the paragraph, cheaper the eina_unicode_strlen() | |
| * | | * | |
| * @param cur the position of the paragraph. | | * @param cur the position of the paragraph. | |
| * @return the length of the paragraph on success, -1 otehrwise. | | * @return the length of the paragraph on success, -1 otehrwise. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_paragraph_text_leng
th_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_N
ONNULL(1); | | EAPI int evas_textblock_cursor_paragra
ph_text_length_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESUL
T EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the currently visible range. | | * Return the currently visible range. | |
| * | | * | |
| * @param start the start of the range. | | * @param start the start of the range. | |
| * @param end the end of the range. | | * @param end the end of the range. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_visible_range_
get(Evas_Textblock_Cursor *start, Evas_Textblock_Cursor *end) EINA_ARG_NONN
ULL(1, 2); | | EAPI Eina_Bool evas_textblock_cursor_visible
_range_get(Evas_Textblock_Cursor *start, Evas_Textblock_Cursor *end) EINA_A
RG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the format nodes in the range between cur1 and cur2. | | * Return the format nodes in the range between cur1 and cur2. | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 the other side of the range | | * @param cur2 the other side of the range | |
| * @return the foramt nodes in the range. You have to free it. | | * @return the foramt nodes in the range. You have to free it. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_List * evas_textblock_cursor_range_formats_get(co
nst Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WA
RN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI Eina_List *evas_textblock_cursor_range_f
ormats_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *
cur2) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the text in the range between cur1 and cur2 | | * Return the text in the range between cur1 and cur2 | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 the other side of the range | | * @param cur2 the other side of the range | |
| * @param format The form on which to return the text. Markup - in textbloc
k markup. Plain - UTF8. | | * @param format The form on which to return the text. Markup - in textbloc
k markup. Plain - UTF8. | |
| * @return the text in the range | | * @return the text in the range | |
| * @see elm_entry_markup_to_utf8() | | * @see elm_entry_markup_to_utf8() | |
| */ | | */ | |
|
| EAPI char *evas_textblock_cursor_range_text_get(cons
t Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2, Evas_Text
block_Text_Type format) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI char *evas_textblock_cursor_range_t
ext_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur
2, Evas_Textblock_Text_Type format) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNUL
L(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the content of the cursor. | | * Return the content of the cursor. | |
| * | | * | |
| * Free the returned string pointer when done (if it is not NULL). | | * Free the returned string pointer when done (if it is not NULL). | |
| * | | * | |
| * @param cur the cursor | | * @param cur the cursor | |
| * @return the text in the range, terminated by a nul byte (may be utf8). | | * @return the text in the range, terminated by a nul byte (may be utf8). | |
| */ | | */ | |
|
| EAPI char *evas_textblock_cursor_content_get(const E
vas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA
_MALLOC; | | EAPI char *evas_textblock_cursor_content
_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NON
NULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Returns the geometry of the cursor. Depends on the type of cursor reques
ted. | | * Returns the geometry of the cursor. Depends on the type of cursor reques
ted. | |
| * This should be used instead of char_geometry_get because there are weird | | * This should be used instead of char_geometry_get because there are weird | |
| * special cases with BiDi text. | | * special cases with BiDi text. | |
| * in '_' cursor mode (i.e a line below the char) it's the same as char_geo
metry | | * in '_' cursor mode (i.e a line below the char) it's the same as char_geo
metry | |
| * get, except for the case of the last char of a line which depends on the | | * get, except for the case of the last char of a line which depends on the | |
| * paragraph direction. | | * paragraph direction. | |
| * | | * | |
| * in '|' cursor mode (i.e a line between two chars) it is very variable. | | * in '|' cursor mode (i.e a line between two chars) it is very variable. | |
| | | | |
| skipping to change at line 8978 | | skipping to change at line 9002 | |
| * | | * | |
| * @param cur the cursor. | | * @param cur the cursor. | |
| * @param cx the x of the cursor | | * @param cx the x of the cursor | |
| * @param cy the y of the cursor | | * @param cy the y of the cursor | |
| * @param cw the width of the cursor | | * @param cw the width of the cursor | |
| * @param ch the height of the cursor | | * @param ch the height of the cursor | |
| * @param dir the direction of the cursor, can be NULL. | | * @param dir the direction of the cursor, can be NULL. | |
| * @param ctype the type of the cursor. | | * @param ctype the type of the cursor. | |
| * @return line number of the char on success, -1 on error. | | * @return line number of the char on success, -1 on error. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_geometry_get(const
Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw,
Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype
) EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_geometr
y_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Eva
s_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Curso
r_Type ctype) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the geometry of the char at cur. | | * Returns the geometry of the char at cur. | |
| * | | * | |
| * @param cur the position of the char. | | * @param cur the position of the char. | |
| * @param cx the x of the char. | | * @param cx the x of the char. | |
| * @param cy the y of the char. | | * @param cy the y of the char. | |
| * @param cw the w of the char. | | * @param cw the w of the char. | |
| * @param ch the h of the char. | | * @param ch the h of the char. | |
| * @return line number of the char on success, -1 on error. | | * @return line number of the char on success, -1 on error. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_char_geometry_get(c
onst Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord
*cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_char_ge
ometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy
, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the geometry of the pen at cur. | | * Returns the geometry of the pen at cur. | |
| * | | * | |
| * @param cur the position of the char. | | * @param cur the position of the char. | |
| * @param cpen_x the pen_x of the char. | | * @param cpen_x the pen_x of the char. | |
| * @param cy the y of the char. | | * @param cy the y of the char. | |
| * @param cadv the adv of the char. | | * @param cadv the adv of the char. | |
| * @param ch the h of the char. | | * @param ch the h of the char. | |
| * @return line number of the char on success, -1 on error. | | * @return line number of the char on success, -1 on error. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_pen_geometry_get(co
nst Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord *cy, Evas_Co
ord *cadv, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_pen_geo
metry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord
*cy, Evas_Coord *cadv, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the geometry of the line at cur. | | * Returns the geometry of the line at cur. | |
| * | | * | |
| * @param cur the position of the line. | | * @param cur the position of the line. | |
| * @param cx the x of the line. | | * @param cx the x of the line. | |
| * @param cy the y of the line. | | * @param cy the y of the line. | |
| * @param cw the width of the line. | | * @param cw the width of the line. | |
| * @param ch the height of the line. | | * @param ch the height of the line. | |
| * @return line number of the line on success, -1 on error. | | * @return line number of the line on success, -1 on error. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_line_geometry_get(c
onst Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord
*cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_line_ge
ometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy
, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the position of the cursor according to the X and Y coordinates. | | * Set the position of the cursor according to the X and Y coordinates. | |
| * | | * | |
| * @param cur the cursor to set. | | * @param cur the cursor to set. | |
| * @param x coord to set by. | | * @param x coord to set by. | |
| * @param y coord to set by. | | * @param y coord to set by. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_char_coord_set(Evas
_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_char_co
ord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NO
NNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the cursor position according to the y coord. | | * Set the cursor position according to the y coord. | |
| * | | * | |
| * @param cur the cur to be set. | | * @param cur the cur to be set. | |
| * @param y the coord to set by. | | * @param y the coord to set by. | |
| * @return the line number found, -1 on error. | | * @return the line number found, -1 on error. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_line_coord_set(Evas
_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_line_co
ord_set(Evas_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the geometry of a range. | | * Get the geometry of a range. | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 other side of the range. | | * @param cur2 other side of the range. | |
| * @return a list of Rectangles representing the geometry of the range. | | * @return a list of Rectangles representing the geometry of the range. | |
| */ | | */ | |
|
| EAPI Eina_List *evas_textblock_cursor_range_geometry_get( | | EAPI Eina_List *evas_textblock_cursor_range_g | |
| const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_ | | eometry_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor | |
| WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | *cur2) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| EAPI Eina_Bool evas_textblock_cursor_format_item_geom | | EAPI Eina_Bool evas_textblock_cursor_format_ | |
| etry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, | | item_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Co | |
| Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | ord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks if the cursor points to the end of the line. | | * Checks if the cursor points to the end of the line. | |
| * | | * | |
| * @param cur the cursor to check. | | * @param cur the cursor to check. | |
| * @return @c EINA_TRUE if true, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if true, @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_eol_get(const Evas_
Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_eol_get
(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL
(1); | |
| | | | |
| /** | | /** | |
| * Get the geometry of a line number. | | * Get the geometry of a line number. | |
| * | | * | |
| * @param obj the object. | | * @param obj the object. | |
| * @param line the line number. | | * @param line the line number. | |
| * @param cx x coord of the line. | | * @param cx x coord of the line. | |
| * @param cy y coord of the line. | | * @param cy y coord of the line. | |
| * @param cw w coord of the line. | | * @param cw w coord of the line. | |
| * @param ch h coord of the line. | | * @param ch h coord of the line. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_textblock_line_number_geometr
y_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Eva
s_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_textblock_line_nu
mber_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Co
ord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Clear the textblock object. | | * Clear the textblock object. | |
| * @note Does *NOT* free the Evas object itself. | | * @note Does *NOT* free the Evas object itself. | |
| * | | * | |
| * @param obj the object to clear. | | * @param obj the object to clear. | |
| * @return nothing. | | * @return nothing. | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_clear(Evas_Object *
obj) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_clear(E
vas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the formatted width and height. This calculates the actual size afte
r restricting | | * Get the formatted width and height. This calculates the actual size afte
r restricting | |
| * the textblock to the current size of the object. | | * the textblock to the current size of the object. | |
| * The main difference between this and @ref evas_object_textblock_size_nat
ive_get | | * The main difference between this and @ref evas_object_textblock_size_nat
ive_get | |
| * is that the "native" function does not wrapping into account | | * is that the "native" function does not wrapping into account | |
| * it just calculates the real width of the object if it was placed on an | | * it just calculates the real width of the object if it was placed on an | |
| * infinite canvas, while this function gives the size after wrapping | | * infinite canvas, while this function gives the size after wrapping | |
| * according to the size restrictions of the object. | | * according to the size restrictions of the object. | |
| * | | * | |
| | | | |
| skipping to change at line 9096 | | skipping to change at line 9120 | |
| * 7x10 char widths (for simplicity) has a native size of 19x1 | | * 7x10 char widths (for simplicity) has a native size of 19x1 | |
| * and a formatted size of 5x4. | | * and a formatted size of 5x4. | |
| * | | * | |
| * | | * | |
| * @param obj the Evas object. | | * @param obj the Evas object. | |
| * @param w the width of the object. | | * @param w the width of the object. | |
| * @param h the height of the object | | * @param h the height of the object | |
| * @return Returns no value. | | * @return Returns no value. | |
| * @see evas_object_textblock_size_native_get | | * @see evas_object_textblock_size_native_get | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_size_formatted_get(
const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_size_fo
rmatted_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_
NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the native width and height. This calculates the actual size without
taking account | | * Get the native width and height. This calculates the actual size without
taking account | |
| * the current size of the object. | | * the current size of the object. | |
| * The main difference between this and @ref evas_object_textblock_size_for
matted_get | | * The main difference between this and @ref evas_object_textblock_size_for
matted_get | |
| * is that the "native" function does not take wrapping into account | | * is that the "native" function does not take wrapping into account | |
| * it just calculates the real width of the object if it was placed on an | | * it just calculates the real width of the object if it was placed on an | |
| * infinite canvas, while the "formatted" function gives the size after | | * infinite canvas, while the "formatted" function gives the size after | |
| * wrapping text according to the size restrictions of the object. | | * wrapping text according to the size restrictions of the object. | |
| * | | * | |
| * For example for a textblock containing the text: "You shall not pass!" | | * For example for a textblock containing the text: "You shall not pass!" | |
| * with no margins or padding and assuming a monospace font and a size of | | * with no margins or padding and assuming a monospace font and a size of | |
| * 7x10 char widths (for simplicity) has a native size of 19x1 | | * 7x10 char widths (for simplicity) has a native size of 19x1 | |
| * and a formatted size of 5x4. | | * and a formatted size of 5x4. | |
| * | | * | |
| * @param obj the Evas object of the textblock | | * @param obj the Evas object of the textblock | |
| * @param w the width returned | | * @param w the width returned | |
| * @param h the height returned | | * @param h the height returned | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
|
| EAPI void evas_object_textblock_size_native_get(con | | EAPI void evas_object_textblock_size_na | |
| st Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | | tive_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NON | |
| EAPI void evas_object_textblock_style_insets_get | | NULL(1); | |
| (const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_ | | EAPI void evas_object_textblock_style_i | |
| Coord *b) EINA_ARG_NONNULL(1); | | nsets_get(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord | |
| | | *t, Evas_Coord *b) EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * @} | |
| | | */ | |
| | | | |
| | | /** | |
| | | * @defgroup Evas_Object_Textgrid Textgrid Object Functions | |
| | | * | |
| | | * @todo put here some usage examples | |
| | | * | |
| | | * @since 1.7 | |
| | | * | |
| | | * @ingroup Evas_Object_Specific | |
| | | * | |
| | | * @{ | |
| | | */ | |
| | | | |
| | | /** | |
| | | * @typedef Evas_Textgrid_Palette | |
| | | * | |
| | | * The palette to use for the forgraound and background colors. | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | typedef enum | |
| | | { | |
| | | EVAS_TEXTGRID_PALETTE_NONE, /**< No palette is used */ | |
| | | EVAS_TEXTGRID_PALETTE_STANDARD, /**< standard palette (around 16 colors) | |
| | | */ | |
| | | EVAS_TEXTGRID_PALETTE_EXTENDED, /**< extended palette (at max 256 colors | |
| | | ) */ | |
| | | EVAS_TEXTGRID_PALETTE_LAST /**< ignore it */ | |
| | | } Evas_Textgrid_Palette; | |
| | | | |
| | | /** | |
| | | * @typedef Evas_Textgrid_Font_Style | |
| | | * | |
| | | * The style to give to each character of the grid. | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | typedef enum | |
| | | { | |
| | | EVAS_TEXTGRID_FONT_STYLE_NORMAL = (1 << 0), /**< Normal style */ | |
| | | EVAS_TEXTGRID_FONT_STYLE_BOLD = (1 << 1), /**< Bold style */ | |
| | | EVAS_TEXTGRID_FONT_STYLE_ITALIC = (1 << 2) /**< Oblique style */ | |
| | | } Evas_Textgrid_Font_Style; | |
| | | | |
| | | /** | |
| | | * @typedef Evas_Textgrid_Cell | |
| | | * | |
| | | * The values that describes each cell. | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | typedef struct _Evas_Textgrid_Cell Evas_Textgrid_Cell; | |
| | | | |
| | | /** | |
| | | * @struct _Evas_Textgrid_Cell | |
| | | * | |
| | | * The values that describes each cell. | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | struct _Evas_Textgrid_Cell | |
| | | { | |
| | | Eina_Unicode codepoint; /**< the UNICODE value of the characte | |
| | | r */ | |
| | | unsigned char fg; /**< the index of the palette for the | |
| | | foreground color */ | |
| | | unsigned char bg; /**< the index of the palette for the | |
| | | background color */ | |
| | | unsigned short bold : 1; /**< whether the character is bold */ | |
| | | unsigned short italic : 1; /**< whether the character is oblique | |
| | | */ | |
| | | unsigned short underline : 1; /**< whether the character is underlin | |
| | | ed */ | |
| | | unsigned short strikethrough : 1; /**< whether the character is striketh | |
| | | rough'ed */ | |
| | | unsigned short fg_extended : 1; /**< whether the extended palette is u | |
| | | sed for the foreground color */ | |
| | | unsigned short bg_extended : 1; /**< whether the extended palette is u | |
| | | sed for the background color */ | |
| | | unsigned short double_width : 1; /**< if the codepoint is merged with t | |
| | | he following cell to the right visually (cells must be in pairs with 2nd ce | |
| | | ll being a duplicate in all ways except codepoint is 0) */ | |
| | | }; | |
| | | | |
| | | /** | |
| | | * @brief Add a textgrid to the given Evas. | |
| | | * | |
| | | * @param e The given evas. | |
| | | * @return The new textgrid object. | |
| | | * | |
| | | * This function adds a new textgrid object to the Evas @p e and returns th | |
| | | e object. | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI Evas_Object *evas_object_textgrid_add(Evas *e); | |
| | | | |
| | | /** | |
| | | * @brief Set the size of the textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object. | |
| | | * @param w The number of columns (width in cells) of the grid. | |
| | | * @param h The number of rows (height in cells) of the grid. | |
| | | * | |
| | | * This function sets the number of lines @p h and the number | |
| | | * of columns @p w to the textgrid object @p obj. If | |
| | | * @p w or @p h are less or equal than 0, this | |
| | | * functiond does nothing. | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_size_set(Evas_Object *obj, int w, int h); | |
| | | | |
| | | /** | |
| | | * @brief Get the size of the textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object. | |
| | | * @param w The number of columns of the grid. | |
| | | * @param h The number of rows of the grid. | |
| | | * | |
| | | * This function retrieves the number of lines in the buffer @p | |
| | | * h and the number of columns in the buffer @p w of | |
| | | * the textgrid object @p obj. @p w or @p h can be | |
| | | * @c NULL. On error, their value is 0. | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_size_get(const Evas_Object *obj, int *w, int | |
| | | *h); | |
| | | | |
| | | /** | |
| | | * @brief Set the font (source) file to be used on a given textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object to set font for. | |
| | | * @param font_source The font file's path. | |
| | | * | |
| | | * This function allows the font file @p font_source to be explicitly | |
| | | * set for the textgrid object @p obj, overriding system lookup, which | |
| | | * will first occur in the given file's contents. If @font_source is | |
| | | * @c NULL or is an empty string, or the same font_source has already | |
| | | * been set, or on error, this function does nothing. | |
| | | * | |
| | | * @see evas_object_textgrid_font_get() | |
| | | * @see evas_object_textgrid_font_set() | |
| | | * @see evas_object_textgrid_font_source_get() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_font_source_set(Evas_Object *obj, const char | |
| | | *font_source); | |
| | | | |
| | | /** | |
| | | * @brief Get the font file's path which is being used on a given textgrid | |
| | | object. | |
| | | * | |
| | | * @param obj The textgrid object to set font for. | |
| | | * @return The font file's path. | |
| | | * | |
| | | * This function returns the font source path of the textgrid object | |
| | | * @p obj. If the font source path has not been set, or on error, | |
| | | * @c NULL is returned. | |
| | | * | |
| | | * @see evas_object_textgrid_font_get() | |
| | | * @see evas_object_textgrid_font_set() | |
| | | * @see evas_object_textgrid_font_source_set() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI const char *evas_object_textgrid_font_source_get(const Evas_Object *ob | |
| | | j); | |
| | | | |
| | | /** | |
| | | * @brief Set the font family and size on a given textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object to set font for. | |
| | | * @param font_name The font (family) name. | |
| | | * @param font_size The font size, in points. | |
| | | * | |
| | | * This function allows the font name @p font_name and size | |
| | | * @p font_size of the textgrid object @p obj to be set. The @p font_name | |
| | | * string has to follow fontconfig's convention on naming fonts, as | |
| | | * it's the underlying library used to query system fonts by Evas (see | |
| | | * the @c fc-list command's output, on your system, to get an | |
| | | * idea). It also has to be a monospace font. If @p font_name is | |
| | | * @c NULL, or if it is an empty string, or if @p font_size is less or | |
| | | * equal than 0, or on error, this function does nothing. | |
| | | * | |
| | | * @see evas_object_textgrid_font_get() | |
| | | * @see evas_object_textgrid_font_source_set() | |
| | | * @see evas_object_textgrid_font_source_get() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_font_set(Evas_Object *obj, const char *font_ | |
| | | name, Evas_Font_Size font_size); | |
| | | | |
| | | /** | |
| | | * @brief Retrieve the font family and size in use on a given textgrid obje | |
| | | ct. | |
| | | * | |
| | | * @param obj The textgrid object to query for font information. | |
| | | * @param font_name A pointer to the location to store the font name in. | |
| | | * @param font_size A pointer to the location to store the font size in. | |
| | | * | |
| | | * This function allows the font name and size of a textgrid object | |
| | | * @p obj to be queried and stored respectively in the buffers | |
| | | * @p font_name and @p font_size. Be aware that the font name string is | |
| | | * still owned by Evas and should @b not have free() called on it by | |
| | | * the caller of the function. On error, the font name is the empty | |
| | | * string and the font size is 0. @p font_name and @p font_source can | |
| | | * be @c NULL. | |
| | | * | |
| | | * @see evas_object_textgrid_font_set() | |
| | | * @see evas_object_textgrid_font_source_set() | |
| | | * @see evas_object_textgrid_font_source_get() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_font_get(const Evas_Object *obj, const char | |
| | | **font_name, Evas_Font_Size *font_size); | |
| | | | |
| | | /** | |
| | | * @brief Retrieve the size of a cell of the given textgrid object in pixel | |
| | | s. | |
| | | * | |
| | | * @param obj The textgrid object to query for font information. | |
| | | * @param width A pointer to the location to store the width in pixels of a | |
| | | cell. | |
| | | * @param height A pointer to the location to store the height in | |
| | | * pixels of a cell. | |
| | | * | |
| | | * This functions retrieves the width and height, in pixels, of a cell | |
| | | * of the textgrid object @p obj and store them respectively in the | |
| | | * buffers @p width and @p height. Their value depends on the | |
| | | * monospace font used for the textgrid object, as well as the | |
| | | * style. @p width and @p height can be @c NULL. On error, they are | |
| | | * set to 0. | |
| | | * | |
| | | * @see evas_object_textgrid_font_set() | |
| | | * @see evas_object_textgrid_supported_font_styles_set() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_cell_size_get(const Evas_Object *obj, Evas_C | |
| | | oord *w, Evas_Coord *h); | |
| | | | |
| | | /** | |
| | | * @brief The set color to the given palette at the given index of the give | |
| | | n textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object to query for font information. | |
| | | * @param pal The type of the palette to set the color. | |
| | | * @param idx The index of the paletter to wich the color is stored. | |
| | | * @param r The red component of the color. | |
| | | * @param g The green component of the color. | |
| | | * @param b The blue component of the color. | |
| | | * @param a The alpha component of the color. | |
| | | * | |
| | | * This function sets the color for the palette of type @p pal at the | |
| | | * index @p idx of the textgrid object @p obj. The ARGB components are | |
| | | * given by @p r, @p g, @p b and @p 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 @p idx is not between 0 and 255, | |
| | | * or on error, this function does nothing. The color components are | |
| | | * clamped between 0 and 255. If @p idx is greater than the latest set | |
| | | * color, the colors between this last index and @p idx - 1 are set to | |
| | | * black (0, 0, 0, 0). | |
| | | * | |
| | | * @see evas_object_textgrid_palette_get() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_palette_set(Evas_Object *obj, Evas_Textgrid_ | |
| | | Palette pal, int idx, int r, int g, int b, int a); | |
| | | | |
| | | /** | |
| | | * @brief The retrieve color to the given palette at the given index of the | |
| | | given textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object to query for font information. | |
| | | * @param pal The type of the palette to set the color. | |
| | | * @param idx The index of the paletter to wich the color is stored. | |
| | | * @param r A pointer to the red component of the color. | |
| | | * @param g A pointer to the green component of the color. | |
| | | * @param b A pointer to the blue component of the color. | |
| | | * @param a A pointer to the alpha component of the color. | |
| | | * | |
| | | * This function retrieves the color for the palette of type @p pal at the | |
| | | * index @p idx of the textgrid object @p obj. The ARGB components are | |
| | | * stored in the buffers @p r, @p g, @p b and @p a. If @p idx is not | |
| | | * between 0 and the index of the latest set color, or if @p pal is | |
| | | * #EVAS_TEXTGRID_PALETTE_NONE or #EVAS_TEXTGRID_PALETTE_LAST, the | |
| | | * values of the components are 0. @p r, @p g, @pb and @p a can be | |
| | | * @c NULL. | |
| | | * | |
| | | * @see evas_object_textgrid_palette_set() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_palette_get(const Evas_Object *obj, Evas_Tex | |
| | | tgrid_Palette pal, int idx, int *r, int *g, int *b, int *a); | |
| | | | |
| | | EAPI void evas_object_textgrid_supported_font_styles_set(Evas_Object *obj, | |
| | | Evas_Textgrid_Font_Style styles); | |
| | | EAPI Evas_Textgrid_Font_Style evas_object_textgrid_supported_font_styles_ge | |
| | | t(const Evas_Object *obj); | |
| | | | |
| | | /** | |
| | | * @brief Set the string at the given row of the given textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object to query for font information. | |
| | | * @param y The row index of the grid. | |
| | | * @param The string as a sequence of #Evas_Textgrid_Cell. | |
| | | * | |
| | | * This function returns cells to the textgrid taken by | |
| | | * evas_object_textgrid_cellrow_get(). The row pointer @p row should be the | |
| | | * same row pointer returned by evas_object_textgrid_cellrow_get() for the | |
| | | * same row @p y. | |
| | | * | |
| | | * @see evas_object_textgrid_cellrow_get() | |
| | | * @see evas_object_textgrid_size_set() | |
| | | * @see evas_object_textgrid_update_add() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_cellrow_set(Evas_Object *obj, int y, const E | |
| | | vas_Textgrid_Cell *row); | |
| | | | |
| | | /** | |
| | | * @brief Get the string at the given row of the given textgrid object. | |
| | | * | |
| | | * @param obj The textgrid object to query for font information. | |
| | | * @param y The row index of the grid. | |
| | | * @return A pointer to the first cell of the given row. | |
| | | * | |
| | | * This function returns a pointer to the first cell of the line @p y | |
| | | * of the textgrid object @p obj. If @p y is not between 0 and the | |
| | | * number of lines of the grid - 1, or on error, this function return @c NU | |
| | | LL. | |
| | | * | |
| | | * @see evas_object_textgrid_cellrow_set() | |
| | | * @see evas_object_textgrid_size_set() | |
| | | * @see evas_object_textgrid_update_add() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI Evas_Textgrid_Cell *evas_object_textgrid_cellrow_get(const Evas_Object | |
| | | *obj, int y); | |
| | | | |
| | | /** | |
| | | * @brief Indicate for evas that part of a textgrid region (cells) has been | |
| | | updated. | |
| | | * | |
| | | * @param obj The textgrid object. | |
| | | * @param x The rect region of cells top-left x (column) | |
| | | * @param y The rect region of cells top-left y (row) | |
| | | * @param w The rect region size in number of cells (columns) | |
| | | * @param h The rect region size in number of cells (rows) | |
| | | * | |
| | | * This function declares to evas that a region of cells was updated by | |
| | | * code and needs refreshing. 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 | |
| | | * | |
| | | * @see evas_object_textgrid_cellrow_set() | |
| | | * @see evas_object_textgrid_cellrow_get() | |
| | | * @see evas_object_textgrid_size_set() | |
| | | * | |
| | | * @since 1.7 | |
| | | */ | |
| | | EAPI void evas_object_textgrid_update_add(Evas_Object *obj, int x, int y, i | |
| | | nt w, int h); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Line_Group Line Object Functions | | * @defgroup Evas_Line_Group Line Object Functions | |
| * | | * | |
| * Functions used to deal with evas line objects. | | * Functions used to deal with evas line objects. | |
| * | | * | |
|
| | | * @warning We don't guarantee any proper results if you create a Line obje | |
| | | ct | |
| | | * without setting the evas engine. | |
| | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| * | | * | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Adds a new evas line object to the given evas. | | * Adds a new evas line object to the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The new evas line object. | | * @return The new evas line object. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_line_add (Evas *e) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_line_add(Evas *e) EINA_WARN_UNUSED_RESULT EIN
A_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Sets the coordinates of the end points of the given evas line object. | | * Sets the coordinates of the end points of the given evas line object. | |
| * @param obj The given evas line object. | | * @param obj The given evas line object. | |
| * @param x1 The X coordinate of the first point. | | * @param x1 The X coordinate of the first point. | |
| * @param y1 The Y coordinate of the first point. | | * @param y1 The Y coordinate of the first point. | |
| * @param x2 The X coordinate of the second point. | | * @param x2 The X coordinate of the second point. | |
| * @param y2 The Y coordinate of the second point. | | * @param y2 The Y coordinate of the second point. | |
| */ | | */ | |
|
| EAPI void evas_object_line_xy_set (Evas_Object *obj,
Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2); | | EAPI void evas_object_line_xy_set(Evas_Object *obj, Evas_Coord x1,
Evas_Coord y1, Evas_Coord x2, Evas_Coord y2); | |
| | | | |
| /** | | /** | |
| * Retrieves the coordinates of the end points of the given evas line objec
t. | | * Retrieves the coordinates of the end points of the given evas line objec
t. | |
| * @param obj The given line object. | | * @param obj The given line object. | |
| * @param x1 Pointer to an integer in which to store the X coordinate of t
he | | * @param x1 Pointer to an integer in which to store the X coordinate of t
he | |
| * first end point. | | * first end point. | |
| * @param y1 Pointer to an integer in which to store the Y coordinate of t
he | | * @param y1 Pointer to an integer in which to store the Y coordinate of t
he | |
| * first end point. | | * first end point. | |
| * @param x2 Pointer to an integer in which to store the X coordinate of t
he | | * @param x2 Pointer to an integer in which to store the X coordinate of t
he | |
| * second end point. | | * second end point. | |
| * @param y2 Pointer to an integer in which to store the Y coordinate of t
he | | * @param y2 Pointer to an integer in which to store the Y coordinate of t
he | |
| * second end point. | | * second end point. | |
| */ | | */ | |
|
| EAPI void evas_object_line_xy_get (const Evas_Object
*obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2); | | EAPI void evas_object_line_xy_get(const Evas_Object *obj, Evas_Coor
d *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2); | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Polygon Polygon Object Functions | | * @defgroup Evas_Object_Polygon Polygon Object Functions | |
| * | | * | |
| * Functions that operate on evas polygon objects. | | * Functions that operate on evas polygon objects. | |
| * | | * | |
| * Hint: as evas does not provide ellipse, smooth paths or circle, one | | * Hint: as evas does not provide ellipse, smooth paths or circle, one | |
| * can calculate points and convert these to a polygon. | | * can calculate points and convert these to a polygon. | |
| * | | * | |
|
| | | * @warning We don't guarantee any proper results if you create a Polygon | |
| | | * object without setting the evas engine. | |
| | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| * | | * | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Adds a new evas polygon object to the given evas. | | * Adds a new evas polygon object to the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return A new evas polygon object. | | * @return A new evas polygon object. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_polygon_add (Evas *e) EINA_WAR
N_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_polygon_add(Evas *e) EINA_WARN_UNUSED_RESULT
EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Adds the given point to the given evas polygon object. | | * Adds the given point to the given evas polygon object. | |
| * @param obj The given evas polygon object. | | * @param obj The given evas polygon object. | |
| * @param x The X coordinate of the given point. | | * @param x The X coordinate of the given point. | |
| * @param y The Y coordinate of the given point. | | * @param y The Y coordinate of the given point. | |
| * @ingroup Evas_Polygon_Group | | * @ingroup Evas_Polygon_Group | |
| */ | | */ | |
|
| EAPI void evas_object_polygon_point_add (Evas_Object *obj,
Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_polygon_point_add(Evas_Object *obj, Evas_Coor
d x, Evas_Coord y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Removes all of the points from the given evas polygon object. | | * Removes all of the points from the given evas polygon object. | |
| * @param obj The given polygon object. | | * @param obj The given polygon object. | |
| */ | | */ | |
|
| EAPI void evas_object_polygon_points_clear (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_polygon_points_clear(Evas_Object *obj) EINA_A
RG_NONNULL(1); | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
|
| /* @since 1.2.0 */ | | /* @since 1.2 */ | |
| EAPI void evas_object_is_frame_object_set(Evas_Object *obj, Ei | | EAPI void evas_object_is_frame_object_set(Evas_Object *obj, Eina_Bo | |
| na_Bool is_frame); | | ol is_frame); | |
| | | | |
|
| /* @since 1.2.0 */ | | /* @since 1.2 */ | |
| EAPI Eina_Bool evas_object_is_frame_object_get(Evas_Object *obj); | | EAPI Eina_Bool evas_object_is_frame_object_get(Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Smart_Group Smart Functions | | * @defgroup Evas_Smart_Group Smart Functions | |
| * | | * | |
| * Functions that deal with #Evas_Smart structs, creating definition | | * Functions that deal with #Evas_Smart structs, creating definition | |
| * (classes) of objects that will have customized behavior for methods | | * (classes) of objects that will have customized behavior for methods | |
| * like evas_object_move(), evas_object_resize(), | | * like evas_object_move(), evas_object_resize(), | |
| * evas_object_clip_set() and others. | | * evas_object_clip_set() and others. | |
| * | | * | |
| * These objects will accept the generic methods defined in @ref | | * These objects will accept the generic methods defined in @ref | |
| | | | |
| skipping to change at line 9253 | | skipping to change at line 9636 | |
| #define EVAS_SMART_CLASS_VERSION 4 | | #define EVAS_SMART_CLASS_VERSION 4 | |
| /** | | /** | |
| * @struct _Evas_Smart_Class | | * @struct _Evas_Smart_Class | |
| * | | * | |
| * A smart object's @b base class definition | | * A smart object's @b base class definition | |
| * | | * | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
| struct _Evas_Smart_Class | | struct _Evas_Smart_Class | |
| { | | { | |
|
| const char *name; /**< the name string of the class */ | | const char *name; /**< the name string of the class | |
| int version; | | */ | |
| void (*add) (Evas_Object *o); /**< code to be run when adding o | | int version; | |
| bject to a canvas */ | | void (*add)(Evas_Object *o); /**< code to be | |
| void (*del) (Evas_Object *o); /**< code to be run when removing | | run when adding object to a canvas */ | |
| object to a canvas */ | | void (*del)(Evas_Object *o); /**< code to be | |
| void (*move) (Evas_Object *o, Evas_Coord x, Evas_Coord y); /**< | | run when removing object from a canvas */ | |
| code to be run when moving object on a canvas */ | | void (*move)(Evas_Object *o, Evas_Coord x, E | |
| void (*resize) (Evas_Object *o, Evas_Coord w, Evas_Coord h); /**< | | vas_Coord y); /**< code to be run when moving object on a canvas. @a x and | |
| code to be run when resizing object on a canvas */ | | @a y will be new coordinates one applied to the object. use evas_object_geo | |
| void (*show) (Evas_Object *o); /**< code to be run when showing | | metry_get() if you need the old values, during this call. after that, the o | |
| object on a canvas */ | | ld values will be lost. */ | |
| void (*hide) (Evas_Object *o); /**< code to be run when hiding o | | void (*resize)(Evas_Object *o, Evas_Coord w, | |
| bject on a canvas */ | | Evas_Coord h); /**< code to be run when resizing object on a canvas. @a w | |
| void (*color_set) (Evas_Object *o, int r, int g, int b, int a); /**< | | and @a h will be new dimensions one applied to the object. use evas_object_ | |
| code to be run when setting color of object on a canvas */ | | geometry_get() if you need the old values, during this call. after that, th | |
| void (*clip_set) (Evas_Object *o, Evas_Object *clip); /**< code to b | | e old values will be lost. */ | |
| e run when setting clipper of object on a canvas */ | | void (*show)(Evas_Object *o); /**< code to b | |
| void (*clip_unset) (Evas_Object *o); /**< code to be run when unsettin | | e run when showing object on a canvas */ | |
| g clipper of object on a canvas */ | | void (*hide)(Evas_Object *o); /**< code to b | |
| void (*calculate) (Evas_Object *o); /**< code to be run when object h | | e run when hiding object on a canvas */ | |
| as rendering updates on a canvas */ | | void (*color_set)(Evas_Object *o, int r, int | |
| void (*member_add) (Evas_Object *o, Evas_Object *child); /**< code to | | g, int b, int a); /**< code to be run when setting color of object on a ca | |
| be run when child member is added to object */ | | nvas. @a r, @a g, @a b and @a y will be new color components one applied to | |
| void (*member_del) (Evas_Object *o, Evas_Object *child); /**< code to | | the object. use evas_object_color_get() if you need the old values, during | |
| be run when child member is removed from object */ | | this call. after that, the old values will be lost. */ | |
| | | void (*clip_set)(Evas_Object *o, Evas_Object | |
| | | *clip); /**< code to be run when setting clipper of object on a canvas. @a | |
| | | clip will be new clipper one applied to the object. use evas_object_clip_g | |
| | | et() if you need the old one, during this call. after that, the old (object | |
| | | pointer) value will be lost. */ | |
| | | void (*clip_unset)(Evas_Object *o); /**< cod | |
| | | e to be run when unsetting clipper of object on a canvas. if you need the p | |
| | | ointer to a previous set clipper, during this call, use evas_object_clip_ge | |
| | | t(). after that, the old (object pointer) value will be lost. */ | |
| | | void (*calculate)(Evas_Object *o); /**< code | |
| | | to be run when object has rendering updates on a canvas */ | |
| | | void (*member_add)(Evas_Object *o, Evas_Obje | |
| | | ct *child); /**< code to be run when a child member is added to object */ | |
| | | void (*member_del)(Evas_Object *o, Evas_Obje | |
| | | ct *child); /**< code to be run when a child member is removed from object | |
| | | */ | |
| | | | |
| const Evas_Smart_Class *parent; /**< this class inherits from t
his parent */ | | const Evas_Smart_Class *parent; /**< this class inherits from t
his parent */ | |
| const Evas_Smart_Cb_Description *callbacks; /**< callbacks at this level
, @c NULL terminated */ | | const Evas_Smart_Cb_Description *callbacks; /**< callbacks at this level
, @c NULL terminated */ | |
|
| void *interfaces; /**< to be used in a future
near you */ | | const Evas_Smart_Interface **interfaces; /**< #Evas_Smart_Interface
pointers array, @c NULL terminated. These will be the interfaces supported
at this level for an object (parents may have others) @since 1.7 */ | |
| const void *data; | | const void *data; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
|
| | | * @struct _Evas_Smart_Interface | |
| | | * | |
| | | * A smart object's @b base interface definition | |
| | | * | |
| | | * Every Evas interface must have a name field, pointing to a global, | |
| | | * constant string variable. This string pointer will be the only way | |
| | | * of retrieving back a given interface from a smart object. Two | |
| | | * function pointers must be defined, too, which will be called at | |
| | | * object creation and deletion times. | |
| | | * | |
| | | * See also some @ref Example_Evas_Smart_Interfaces "examples" on | |
| | | * smart interfaces. | |
| | | * | |
| | | * @since 1.7 | |
| | | * | |
| | | * @ingroup Evas_Smart_Group | |
| | | */ | |
| | | struct _Evas_Smart_Interface | |
| | | { | |
| | | const char *name; /**< Name of the given interface */ | |
| | | unsigned private_size; /**< Size, in bytes, of the interface's privat | |
| | | e dada blob. This will be allocated and freed automatically for you. Get it | |
| | | with evas_object_smart_interface_data_get(). */ | |
| | | Eina_Bool (*add)(Evas_Object *obj); /**< Function to be called at obje | |
| | | ct creation time. This will take place @b before the object's smart @c add( | |
| | | ) function. */ | |
| | | void (*del)(Evas_Object *obj); /**< Function to be called at obje | |
| | | ct deletion time. This will take place @b after the object's smart @c del() | |
| | | function. */ | |
| | | }; | |
| | | | |
| | | /** | |
| * @struct _Evas_Smart_Cb_Description | | * @struct _Evas_Smart_Cb_Description | |
| * | | * | |
| * Describes a callback issued by a smart object | | * Describes a callback issued by a smart object | |
| * (evas_object_smart_callback_call()), as defined in its smart object | | * (evas_object_smart_callback_call()), as defined in its smart object | |
| * class. This is particularly useful to explain to end users and | | * class. This is particularly useful to explain to end users and | |
| * their code (i.e., introspection) what the parameter @c event_info | | * their code (i.e., introspection) what the parameter @c event_info | |
| * will point to. | | * will point to. | |
| * | | * | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
| | | | |
| skipping to change at line 9328 | | skipping to change at line 9737 | |
| /** | | /** | |
| * @def EVAS_SMART_CLASS_INIT_NULL | | * @def EVAS_SMART_CLASS_INIT_NULL | |
| * Initializer to zero a whole Evas_Smart_Class structure. | | * Initializer to zero a whole Evas_Smart_Class structure. | |
| * | | * | |
| * @see EVAS_SMART_CLASS_INIT_VERSION | | * @see EVAS_SMART_CLASS_INIT_VERSION | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
|
| #define EVAS_SMART_CLASS_INIT_NULL {NULL, 0, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} | | #define EVAS_SMART_CLASS_INIT_NULL {NULL, 0, NULL, NULL, NULL, NULL, NUL
L, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} | |
| | | | |
| /** | | /** | |
| * @def EVAS_SMART_CLASS_INIT_VERSION | | * @def EVAS_SMART_CLASS_INIT_VERSION | |
| * Initializer to zero a whole Evas_Smart_Class structure and set version. | | * Initializer to zero a whole Evas_Smart_Class structure and set version. | |
| * | | * | |
| * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to | | * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to | |
| * latest EVAS_SMART_CLASS_VERSION. | | * latest EVAS_SMART_CLASS_VERSION. | |
| * | | * | |
| * @see EVAS_SMART_CLASS_INIT_NULL | | * @see EVAS_SMART_CLASS_INIT_NULL | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION | |
| | | | |
| skipping to change at line 9363 | | skipping to change at line 9772 | |
| * It will keep a reference to name field as a "const char *", that is, | | * It will keep a reference to name field as a "const char *", that is, | |
| * name must be available while the structure is used (hint: static or glob
al!) | | * name must be available while the structure is used (hint: static or glob
al!) | |
| * and will not be modified. | | * and will not be modified. | |
| * | | * | |
| * @see EVAS_SMART_CLASS_INIT_NULL | | * @see EVAS_SMART_CLASS_INIT_NULL | |
| * @see EVAS_SMART_CLASS_INIT_VERSION | | * @see EVAS_SMART_CLASS_INIT_VERSION | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
|
| #define EVAS_SMART_CLASS_INIT_NAME_VERSION(name) {name, EVAS_SMART_CLASS_VE
RSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NU
LL, NULL, NULL, NULL, NULL} | | #define EVAS_SMART_CLASS_INIT_NAME_VERSION(name)
{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NU
LL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} | |
| | | | |
| /** | | /** | |
| * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT | | * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT | |
| * Initializer to zero a whole Evas_Smart_Class structure and set name, | | * Initializer to zero a whole Evas_Smart_Class structure and set name, | |
| * version and parent class. | | * version and parent class. | |
| * | | * | |
| * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to | | * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to | |
| * latest EVAS_SMART_CLASS_VERSION, name to the specified value and | | * latest EVAS_SMART_CLASS_VERSION, name to the specified value and | |
| * parent class. | | * parent class. | |
| * | | * | |
| * It will keep a reference to name field as a "const char *", that is, | | * It will keep a reference to name field as a "const char *", that is, | |
| * name must be available while the structure is used (hint: static or glob
al!) | | * name must be available while the structure is used (hint: static or glob
al!) | |
| * and will not be modified. Similarly, parent reference will be kept. | | * and will not be modified. Similarly, parent reference will be kept. | |
| * | | * | |
| * @see EVAS_SMART_CLASS_INIT_NULL | | * @see EVAS_SMART_CLASS_INIT_NULL | |
| * @see EVAS_SMART_CLASS_INIT_VERSION | | * @see EVAS_SMART_CLASS_INIT_VERSION | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION | |
| * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | | * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
|
| #define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT(name, parent) {name, EVAS
_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, parent, NULL, NULL} | | #define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT(name, parent)
{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NU
LL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL} | |
| | | | |
| /** | | /** | |
| * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | | * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS | |
| * Initializer to zero a whole Evas_Smart_Class structure and set name, | | * Initializer to zero a whole Evas_Smart_Class structure and set name, | |
| * version, parent class and callbacks definition. | | * version, parent class and callbacks definition. | |
| * | | * | |
| * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to | | * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to | |
| * latest EVAS_SMART_CLASS_VERSION, name to the specified value, parent | | * latest EVAS_SMART_CLASS_VERSION, name to the specified value, parent | |
| * class and callbacks at this level. | | * class and callbacks at this level. | |
| * | | * | |
| | | | |
| skipping to change at line 9454 | | skipping to change at line 9863 | |
| * which should be passed to evas_object_smart_add(). | | * which should be passed to evas_object_smart_add(). | |
| * | | * | |
| * @warning @p smart_name has to be a pointer to a globally available | | * @warning @p smart_name has to be a pointer to a globally available | |
| * string! The smart class created here will just have a pointer set | | * string! The smart class created here will just have a pointer set | |
| * to that, and all object instances will depend on it for smart class | | * to that, and all object instances will depend on it for smart class | |
| * name lookup. | | * name lookup. | |
| * | | * | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
| #define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type,
parent_func, cb_desc) \ | | #define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type,
parent_func, cb_desc) \ | |
|
| static const parent_type * prefix##_parent_sc = NULL; | | static const parent_type * prefix##_parent_sc = NULL; | |
| \ | | \ | |
| static void prefix##_smart_set_user(api_type *api); \ | | static void prefix##_smart_set_user(api_type * api); | |
| static void prefix##_smart_set(api_type *api) | | \ | |
| \ | | static void prefix##_smart_set(api_type * api) | |
| { \ | | \ | |
| Evas_Smart_Class *sc; \ | | { | |
| if (!(sc = (Evas_Smart_Class *)api)) \ | | \ | |
| return; \ | | Evas_Smart_Class *sc; | |
| if (!prefix##_parent_sc) \ | | \ | |
| prefix##_parent_sc = parent_func(); \ | | if (!(sc = (Evas_Smart_Class *)api)) | |
| evas_smart_class_inherit(sc, prefix##_parent_sc); \ | | \ | |
| prefix##_smart_set_user(api); \ | | return; | |
| } \ | | \ | |
| static Evas_Smart * prefix##_smart_class_new(void) \ | | if (!prefix##_parent_sc) | |
| { \ | | \ | |
| static Evas_Smart *smart = NULL; \ | | prefix##_parent_sc = parent_func(); | |
| static api_type api; \ | | \ | |
| if (!smart) \ | | evas_smart_class_inherit(sc, prefix##_parent_sc); | |
| { \ | | \ | |
| Evas_Smart_Class *sc = (Evas_Smart_Class *)&api; \ | | prefix##_smart_set_user(api); | |
| memset(&api, 0, sizeof(api_type)); \ | | \ | |
| sc->version = EVAS_SMART_CLASS_VERSION; \ | | } | |
| sc->name = smart_name; \ | | \ | |
| sc->callbacks = cb_desc; \ | | static Evas_Smart *prefix##_smart_class_new(void) | |
| prefix##_smart_set(&api); \ | | \ | |
| smart = evas_smart_class_new(sc); \ | | { | |
| } \ | | \ | |
| return smart; \ | | static Evas_Smart *smart = NULL; | |
| | | \ | |
| | | static api_type api; | |
| | | \ | |
| | | if (!smart) | |
| | | \ | |
| | | { | |
| | | \ | |
| | | Evas_Smart_Class *sc = (Evas_Smart_Class *)&api; | |
| | | \ | |
| | | memset(&api, 0, sizeof(api_type)); | |
| | | \ | |
| | | sc->version = EVAS_SMART_CLASS_VERSION; | |
| | | \ | |
| | | sc->name = smart_name; | |
| | | \ | |
| | | sc->callbacks = cb_desc; | |
| | | \ | |
| | | prefix##_smart_set(&api); | |
| | | \ | |
| | | smart = evas_smart_class_new(sc); | |
| | | \ | |
| | | } | |
| | | \ | |
| | | return smart; | |
| | | \ | |
| | | } | |
| | | | |
| | | /** | |
| | | * @def EVAS_SMART_SUBCLASS_IFACE_NEW | |
| | | * | |
| | | * @since 1.7 | |
| | | * | |
| | | * Convenience macro to subclass a given Evas smart class. This is the | |
| | | * same as #EVAS_SMART_SUBCLASS_NEW, but now <b>declaring smart | |
| | | * interfaces</b> besides the smart callbacks. | |
| | | * | |
| | | * @param smart_name The name used for the smart class. e.g: | |
| | | * @c "Evas_Object_Box". | |
| | | * @param prefix Prefix used for all variables and functions defined | |
| | | * and referenced by this macro. | |
| | | * @param api_type Type of the structure used as API for the smart | |
| | | * class. Either #Evas_Smart_Class or something | |
| | | * derived from it. | |
| | | * @param parent_type Type of the parent class API. | |
| | | * @param parent_func Function that gets the parent class. e.g: | |
| | | * evas_object_box_smart_class_get(). | |
| | | * @param cb_desc Array of smart callback descriptions for this smart | |
| | | * class. | |
| | | * @param ifaces Array of Evas smart interafaces for this smart | |
| | | * class. | |
| | | * | |
| | | * This macro saves some typing when writing a smart class derived | |
| | | * from another one. In order to work, the user @b must provide some | |
| | | * functions adhering to the following guidelines: | |
| | | * - @<prefix@>_smart_set_user(): the @b internal @c _smart_set | |
| | | * function (defined by this macro) will call this one, provided by | |
| | | * the user, after inheriting everything from the parent, which | |
| | | * should <b>take care of setting the right member functions for | |
| | | * the class</b>, both overrides and extensions, if any. | |
| | | * - If this new class should be subclassable as well, a @b public | |
| | | * @c _smart_set() function is desirable to fill in the class used as | |
| | | * parent by the children. It's up to the user to provide this | |
| | | * interface, which will most likely call @<prefix@>_smart_set() to | |
| | | * get the job done. | |
| | | * | |
| | | * After the macro's usage, the following will be defined for use: | |
| | | * - @<prefix@>_parent_sc: A pointer to the @b parent smart | |
| | | * class. When calling parent functions from overloaded ones, use | |
| | | * this global variable. | |
| | | * - @<prefix@>_smart_class_new(): this function returns the | |
| | | * #Evas_Smart needed to create smart objects with this class, | |
| | | * which should be passed to evas_object_smart_add(). | |
| | | * | |
| | | * @warning @p smart_name has to be a pointer to a globally available | |
| | | * string! The smart class created here will just have a pointer set | |
| | | * to that, and all object instances will depend on it for smart class | |
| | | * name lookup. | |
| | | * | |
| | | * @ingroup Evas_Smart_Group | |
| | | */ | |
| | | #define EVAS_SMART_SUBCLASS_IFACE_NEW(smart_name, \ | |
| | | prefix, \ | |
| | | api_type, \ | |
| | | parent_type, \ | |
| | | parent_func, \ | |
| | | cb_desc, \ | |
| | | ifaces) \ | |
| | | static const parent_type * prefix##_parent_sc = NULL; \ | |
| | | static void prefix##_smart_set_user(api_type * api); \ | |
| | | static void prefix##_smart_set(api_type * api) \ | |
| | | { \ | |
| | | Evas_Smart_Class *sc; \ | |
| | | if (!(sc = (Evas_Smart_Class *)api)) \ | |
| | | return; \ | |
| | | if (!prefix##_parent_sc) \ | |
| | | prefix##_parent_sc = parent_func(); \ | |
| | | evas_smart_class_inherit(sc, prefix##_parent_sc); \ | |
| | | prefix##_smart_set_user(api); \ | |
| | | } \ | |
| | | static Evas_Smart *prefix##_smart_class_new(void) \ | |
| | | { \ | |
| | | static Evas_Smart *smart = NULL; \ | |
| | | static api_type api; \ | |
| | | if (!smart) \ | |
| | | { \ | |
| | | Evas_Smart_Class *sc = (Evas_Smart_Class *)&api; \ | |
| | | memset(&api, 0, sizeof(api_type)); \ | |
| | | sc->version = EVAS_SMART_CLASS_VERSION; \ | |
| | | sc->name = smart_name; \ | |
| | | sc->callbacks = cb_desc; \ | |
| | | sc->interfaces = ifaces; \ | |
| | | prefix##_smart_set(&api); \ | |
| | | smart = evas_smart_class_new(sc); \ | |
| | | } \ | |
| | | return smart; \ | |
| } | | } | |
| | | | |
| /** | | /** | |
| * @def EVAS_SMART_DATA_ALLOC | | * @def EVAS_SMART_DATA_ALLOC | |
| * | | * | |
| * Convenience macro to allocate smart data only if needed. | | * Convenience macro to allocate smart data only if needed. | |
| * | | * | |
| * When writing a subclassable smart object, the @c .add() function | | * When writing a subclassable smart object, the @c .add() function | |
| * will need to check if the smart private data was already allocated | | * will need to check if the smart private data was already allocated | |
| * by some child object or not. This macro makes it easier to do it. | | * by some child object or not. This macro makes it easier to do it. | |
| | | | |
| skipping to change at line 9502 | | skipping to change at line 10001 | |
| * @note This is an idiom used when one calls the parent's @c .add() | | * @note This is an idiom used when one calls the parent's @c .add() | |
| * after the specialized code. Naturally, the parent's base smart data | | * after the specialized code. Naturally, the parent's base smart data | |
| * has to be contemplated as the specialized one's first member, for | | * has to be contemplated as the specialized one's first member, for | |
| * things to work. | | * things to work. | |
| * | | * | |
| * @param o Evas object passed to the @c .add() function | | * @param o Evas object passed to the @c .add() function | |
| * @param priv_type The type of the data to allocate | | * @param priv_type The type of the data to allocate | |
| * | | * | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
|
| #define EVAS_SMART_DATA_ALLOC(o, priv_type) \ | | #define EVAS_SMART_DATA_ALLOC(o, priv_type) \ | |
| priv_type *priv; \ | | priv_type * priv; \ | |
| priv = evas_object_smart_data_get(o); \ | | priv = evas_object_smart_data_get(o); \ | |
| if (!priv) { \ | | if (!priv) { \ | |
| priv = (priv_type *)calloc(1, sizeof(priv_type)); \ | | priv = (priv_type *)calloc(1, sizeof(priv_type)); \ | |
| if (!priv) return; \ | | if (!priv) return; \ | |
| evas_object_smart_data_set(o, priv); \ | | evas_object_smart_data_set(o, priv); \ | |
| } | | } | |
| | | | |
| /** | | /** | |
| * Free an #Evas_Smart struct | | * Free an #Evas_Smart struct | |
| * | | * | |
| * @param s the #Evas_Smart struct to free | | * @param s the #Evas_Smart struct to free | |
| * | | * | |
| * @warning If this smart handle was created using | | * @warning If this smart handle was created using | |
| * evas_smart_class_new(), the associated #Evas_Smart_Class will not | | * evas_smart_class_new(), the associated #Evas_Smart_Class will not | |
| * be freed. | | * be freed. | |
| * | | * | |
| * @note If you're using the #EVAS_SMART_SUBCLASS_NEW schema to create your | | * @note If you're using the #EVAS_SMART_SUBCLASS_NEW schema to create your | |
| * smart object, note that an #Evas_Smart handle will be shared amongst all | | * smart object, note that an #Evas_Smart handle will be shared amongst all | |
| * instances of the given smart class, through a static variable. | | * instances of the given smart class, through a static variable. | |
| * Evas will internally count references on #Evas_Smart handles and free th
em | | * Evas will internally count references on #Evas_Smart handles and free th
em | |
| * when they are not referenced anymore. Thus, this function is of no use | | * when they are not referenced anymore. Thus, this function is of no use | |
| * for Evas users, most probably. | | * for Evas users, most probably. | |
| */ | | */ | |
|
| EAPI void evas_smart_free (
Evas_Smart *s) EINA_ARG_NONNULL(1); | | EAPI void evas_smart_free(Evas_Smart *s) EINA_
ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Creates a new #Evas_Smart from a given #Evas_Smart_Class struct | | * Creates a new #Evas_Smart from a given #Evas_Smart_Class struct | |
| * | | * | |
| * @param sc the smart class definition | | * @param sc the smart class definition | |
| * @return a new #Evas_Smart pointer | | * @return a new #Evas_Smart pointer | |
| * | | * | |
| * #Evas_Smart handles are necessary to create new @b instances of | | * #Evas_Smart handles are necessary to create new @b instances of | |
| * smart objects belonging to the class described by @p sc. That | | * smart objects belonging to the class described by @p sc. That | |
| * handle will contain, besides the smart class interface definition, | | * handle will contain, besides the smart class interface definition, | |
| * all its smart callbacks infrastructure set, too. | | * all its smart callbacks infrastructure set, too. | |
| * | | * | |
| * @note If you are willing to subclass a given smart class to | | * @note If you are willing to subclass a given smart class to | |
| * construct yours, consider using the #EVAS_SMART_SUBCLASS_NEW macro, | | * construct yours, consider using the #EVAS_SMART_SUBCLASS_NEW macro, | |
| * which will make use of this function automatically for you. | | * which will make use of this function automatically for you. | |
| */ | | */ | |
|
| EAPI Evas_Smart *evas_smart_class_new (
const Evas_Smart_Class *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EIN
A_MALLOC; | | EAPI Evas_Smart *evas_smart_class_new(const Evas_Smar
t_Class *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the #Evas_Smart_Class handle of an #Evas_Smart struct | | * Get the #Evas_Smart_Class handle of an #Evas_Smart struct | |
| * | | * | |
| * @param s a valid #Evas_Smart pointer | | * @param s a valid #Evas_Smart pointer | |
| * @return the #Evas_Smart_Class in it | | * @return the #Evas_Smart_Class in it | |
| */ | | */ | |
|
| EAPI const Evas_Smart_Class *evas_smart_class_get (
const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Evas_Smart_Class *evas_smart_class_get(const Evas_Smar
t *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Get the data pointer set on an #Evas_Smart struct | | * @brief Get the data pointer set on an #Evas_Smart struct | |
| * | | * | |
| * @param s a valid #Evas_Smart handle | | * @param s a valid #Evas_Smart handle | |
| * | | * | |
| * This data pointer is set as the data field in the #Evas_Smart_Class | | * This data pointer is set as the data field in the #Evas_Smart_Class | |
| * passed in to evas_smart_class_new(). | | * passed in to evas_smart_class_new(). | |
| */ | | */ | |
|
| EAPI void *evas_smart_data_get (
const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI void *evas_smart_data_get(const Evas_Smart
*s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the smart callbacks known by this #Evas_Smart handle's smart | | * Get the smart callbacks known by this #Evas_Smart handle's smart | |
| * class hierarchy. | | * class hierarchy. | |
| * | | * | |
| * @param s A valid #Evas_Smart handle. | | * @param s A valid #Evas_Smart handle. | |
| * @param[out] count Returns the number of elements in the returned | | * @param[out] count Returns the number of elements in the returned | |
| * array. | | * array. | |
| * @return The array with callback descriptions known by this smart | | * @return The array with callback descriptions known by this smart | |
| * class, with its size returned in @a count parameter. It | | * class, with its size returned in @a count parameter. It | |
| | | | |
| skipping to change at line 9615 | | skipping to change at line 10114 | |
| * @param s The #Evas_Smart where to search for class registered smart | | * @param s The #Evas_Smart where to search for class registered smart | |
| * event callbacks. | | * event callbacks. | |
| * @param name Name of the desired callback, which must @b not be @c | | * @param name Name of the desired callback, which must @b not be @c | |
| * NULL. The search has a special case for @a name being the | | * NULL. The search has a special case for @a name being the | |
| * same pointer as registered with #Evas_Smart_Cb_Description. | | * same pointer as registered with #Evas_Smart_Cb_Description. | |
| * One can use it to avoid excessive use of strcmp(). | | * One can use it to avoid excessive use of strcmp(). | |
| * @return A reference to the description if found, or @c NULL, otherwise | | * @return A reference to the description if found, or @c NULL, otherwise | |
| * | | * | |
| * @see evas_smart_callbacks_descriptions_get() | | * @see evas_smart_callbacks_descriptions_get() | |
| */ | | */ | |
|
| EAPI const Evas_Smart_Cb_Description *evas_smart_callback_description_find(
const Evas_Smart *s, const char *name) EINA_ARG_NONNULL(1, 2); | | EAPI const Evas_Smart_Cb_Description *evas_smart_callback_description_find
(const Evas_Smart *s, const char *name) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Sets one class to inherit from the other. | | * Sets one class to inherit from the other. | |
| * | | * | |
| * Copy all function pointers, set @c parent to @a parent_sc and copy | | * Copy all function pointers, set @c parent to @a parent_sc and copy | |
| * everything after sizeof(Evas_Smart_Class) present in @a parent_sc, | | * everything after sizeof(Evas_Smart_Class) present in @a parent_sc, | |
| * using @a parent_sc_size as reference. | | * using @a parent_sc_size as reference. | |
| * | | * | |
| * This is recommended instead of a single memcpy() since it will take | | * This is recommended instead of a single memcpy() since it will take | |
| * care to not modify @a sc name, version, callbacks and possible | | * care to not modify @a sc name, version, callbacks and possible | |
| * other members. | | * other members. | |
| * | | * | |
| * @param sc child class. | | * @param sc child class. | |
| * @param parent_sc parent class, will provide attributes. | | * @param parent_sc parent class, will provide attributes. | |
| * @param parent_sc_size size of parent_sc structure, child should be at le
ast | | * @param parent_sc_size size of parent_sc structure, child should be at le
ast | |
| * this size. Everything after @c Evas_Smart_Class size is copied | | * this size. Everything after @c Evas_Smart_Class size is copied | |
| * using regular memcpy(). | | * using regular memcpy(). | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_smart_class_inherit_full (
Evas_Smart_Class *sc, const Evas_Smart_Class *parent_sc, unsigned int paren
t_sc_size) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_smart_class_inherit_full(Evas_S
mart_Class *sc, const Evas_Smart_Class *parent_sc, unsigned int parent_sc_s
ize) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get the number of users of the smart instance | | * Get the number of users of the smart instance | |
| * | | * | |
| * @param s The Evas_Smart to get the usage count of | | * @param s The Evas_Smart to get the usage count of | |
| * @return The number of uses of the smart instance | | * @return The number of uses of the smart instance | |
| * | | * | |
| * This function tells you how many more uses of the smart instance are in | | * This function tells you how many more uses of the smart instance are in | |
| * existence. This should be used before freeing/clearing any of the | | * existence. This should be used before freeing/clearing any of the | |
| * Evas_Smart_Class that was used to create the smart instance. The smart | | * Evas_Smart_Class that was used to create the smart instance. The smart | |
| * instance will refer to data in the Evas_Smart_Class used to create it an
d | | * instance will refer to data in the Evas_Smart_Class used to create it an
d | |
| * thus you cannot remove the original data until all users of it are gone. | | * thus you cannot remove the original data until all users of it are gone. | |
| * When the usage count goes to 0, you can evas_smart_free() the smart | | * When the usage count goes to 0, you can evas_smart_free() the smart | |
| * instance @p s and remove from memory any of the Evas_Smart_Class that | | * instance @p s and remove from memory any of the Evas_Smart_Class that | |
| * was used to create the smart instance, if you desire. Removing it from | | * was used to create the smart instance, if you desire. Removing it from | |
| * memory without doing this will cause problems (crashes, undefined | | * memory without doing this will cause problems (crashes, undefined | |
| * behavior etc. etc.), so either never remove the original | | * behavior etc. etc.), so either never remove the original | |
| * Evas_Smart_Class data from memory (have it be a constant structure and | | * Evas_Smart_Class data from memory (have it be a constant structure and | |
| * data), or use this API call and be very careful. | | * data), or use this API call and be very careful. | |
| */ | | */ | |
|
| EAPI int evas_smart_usage_get(const Evas_Smart
*s); | | EAPI int evas_smart_usage_get(const Evas_Smar
t *s); | |
| | | | |
|
| /** | | /** | |
| * @def evas_smart_class_inherit | | * @def evas_smart_class_inherit | |
| * Easy to use version of evas_smart_class_inherit_full(). | | * Easy to use version of evas_smart_class_inherit_full(). | |
| * | | * | |
| * This version will use sizeof(parent_sc), copying everything. | | * This version will use sizeof(parent_sc), copying everything. | |
| * | | * | |
| * @param sc child class, will have methods copied from @a parent_sc | | * @param sc child class, will have methods copied from @a parent_sc | |
| * @param parent_sc parent class, will provide contents to be copied. | | * @param parent_sc parent class, will provide contents to be copied. | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
| #define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_fu
ll(sc, (Evas_Smart_Class *)parent_sc, sizeof(*parent_sc)) | | #define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_fu
ll(sc, (Evas_Smart_Class *)parent_sc, sizeof(*parent_sc)) | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Smart_Object_Group Smart Object Functions | | * @defgroup Evas_Smart_Object_Group Smart Object Functions | |
| * | | * | |
| * Functions dealing with Evas smart objects (instances). | | * Functions dealing with Evas smart objects (instances). | |
| | | | |
| skipping to change at line 9731 | | skipping to change at line 10230 | |
| * @return a new #Evas_Object handle | | * @return a new #Evas_Object handle | |
| * | | * | |
| * This is the function one should use when defining the public | | * This is the function one should use when defining the public | |
| * function @b adding an instance of the new smart object to a given | | * function @b adding an instance of the new smart object to a given | |
| * canvas. It will take care of setting all of its internals to work | | * canvas. It will take care of setting all of its internals to work | |
| * as they should, if the user set things properly, as seem on the | | * as they should, if the user set things properly, as seem on the | |
| * #EVAS_SMART_SUBCLASS_NEW, for example. | | * #EVAS_SMART_SUBCLASS_NEW, for example. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_smart_add (Evas *e, Evas_Sma
rt *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_MALLOC; | | EAPI Evas_Object *evas_object_smart_add(Evas *e, Evas_Smart *s) EINA_WARN_U
NUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Set an Evas object as a member of a given smart object. | | * Set an Evas object as a member of a given smart object. | |
| * | | * | |
| * @param obj The member object | | * @param obj The member object | |
| * @param smart_obj The smart object | | * @param smart_obj The smart object | |
| * | | * | |
| * Members will automatically be stacked and layered together with the | | * Members will automatically be stacked and layered together with the | |
| * smart object. The various stacking functions will operate on | | * smart object. The various stacking functions will operate on | |
| * members relative to the other members instead of the entire canvas, | | * members relative to the other members instead of the entire canvas, | |
| | | | |
| skipping to change at line 9753 | | skipping to change at line 10252 | |
| * evas_object_stack_above(), for more details). | | * evas_object_stack_above(), for more details). | |
| * | | * | |
| * Any @p smart_obj object's specific implementation of the @c | | * Any @p smart_obj object's specific implementation of the @c | |
| * member_add() smart function will take place too, naturally. | | * member_add() smart function will take place too, naturally. | |
| * | | * | |
| * @see evas_object_smart_member_del() | | * @see evas_object_smart_member_del() | |
| * @see evas_object_smart_members_get() | | * @see evas_object_smart_members_get() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_member_add (Evas_Object *obj,
Evas_Object *smart_obj) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_smart_member_add(Evas_Object *obj, Evas_Objec
t *smart_obj) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Removes a member object from a given smart object. | | * Removes a member object from a given smart object. | |
| * | | * | |
| * @param obj the member object | | * @param obj the member object | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| * | | * | |
| * This removes a member object from a smart object, if it was added | | * This removes a member object from a smart object, if it was added | |
| * to any. The object will still be on the canvas, but no longer | | * to any. The object will still be on the canvas, but no longer | |
| * associated with whichever smart object it was associated with. | | * associated with whichever smart object it was associated with. | |
| * | | * | |
| * @see evas_object_smart_member_add() for more details | | * @see evas_object_smart_member_add() for more details | |
| * @see evas_object_smart_members_get() | | * @see evas_object_smart_members_get() | |
| */ | | */ | |
|
| EAPI void evas_object_smart_member_del (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_member_del(Evas_Object *obj) EINA_ARG_N
ONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the list of the member objects of a given Evas smart | | * Retrieves the list of the member objects of a given Evas smart | |
| * object | | * object | |
| * | | * | |
| * @param obj the smart object to get members from | | * @param obj the smart object to get members from | |
| * @return Returns the list of the member objects of @p obj. | | * @return Returns the list of the member objects of @p obj. | |
| * | | * | |
| * The returned list should be freed with @c eina_list_free() when you | | * The returned list should be freed with @c eina_list_free() when you | |
| * no longer need it. | | * no longer need it. | |
| * | | * | |
|
| | | * @since 1.7 This function will return @c NULL when a non-smart object is | |
| | | passed. | |
| | | * | |
| * @see evas_object_smart_member_add() | | * @see evas_object_smart_member_add() | |
| * @see evas_object_smart_member_del() | | * @see evas_object_smart_member_del() | |
|
| */ | | */ | |
| EAPI Eina_List *evas_object_smart_members_get (const Evas_Object | | EAPI Eina_List *evas_object_smart_members_get(const Evas_Object *obj) EIN | |
| *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | A_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the parent smart object of a given Evas object, if it has one. | | * Gets the parent smart object of a given Evas object, if it has one. | |
| * | | * | |
| * @param obj the Evas object you want to get the parent smart object | | * @param obj the Evas object you want to get the parent smart object | |
| * from | | * from | |
| * @return Returns the parent smart object of @a obj or @c NULL, if @a | | * @return Returns the parent smart object of @a obj or @c NULL, if @a | |
| * obj is not a smart member of any | | * obj is not a smart member of any | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_smart_parent_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_smart_parent_get(const Evas_Object *obj) EINA
_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks whether a given smart object or any of its smart object | | * Checks whether a given smart object or any of its smart object | |
| * parents is of a given smart class. | | * parents is of a given smart class. | |
| * | | * | |
| * @param obj An Evas smart object to check the type of | | * @param obj An Evas smart object to check the type of | |
| * @param type The @b name (type) of the smart class to check for | | * @param type The @b name (type) of the smart class to check for | |
| * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | | * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | |
| * type, @c EINA_FALSE otherwise | | * type, @c EINA_FALSE otherwise | |
| * | | * | |
| | | | |
| skipping to change at line 9822 | | skipping to change at line 10323 | |
| * The checks use smart classes names and <b>string | | * The checks use smart classes names and <b>string | |
| * comparison</b>. There is a version of this same check using | | * comparison</b>. There is a version of this same check using | |
| * <b>pointer comparison</b>, since a smart class' name is a single | | * <b>pointer comparison</b>, since a smart class' name is a single | |
| * string in Evas. | | * string in Evas. | |
| * | | * | |
| * @see evas_object_smart_type_check_ptr() | | * @see evas_object_smart_type_check_ptr() | |
| * @see #EVAS_SMART_SUBCLASS_NEW | | * @see #EVAS_SMART_SUBCLASS_NEW | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_smart_type_check (const Evas_Object
*obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_smart_type_check(const Evas_Object *obj, cons
t char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Checks whether a given smart object or any of its smart object | | * Checks whether a given smart object or any of its smart object | |
| * parents is of a given smart class, <b>using pointer comparison</b>. | | * parents is of a given smart class, <b>using pointer comparison</b>. | |
| * | | * | |
| * @param obj An Evas smart object to check the type of | | * @param obj An Evas smart object to check the type of | |
| * @param type The type (name string) to check for. Must be the name | | * @param type The type (name string) to check for. Must be the name | |
| * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | | * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | |
| * type, @c EINA_FALSE otherwise | | * type, @c EINA_FALSE otherwise | |
| * | | * | |
| * @see evas_object_smart_type_check() for more details | | * @see evas_object_smart_type_check() for more details | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_smart_type_check_ptr (const Evas_Object
*obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_smart_type_check_ptr(const Evas_Object *obj,
const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get the #Evas_Smart from which @p obj smart object was created. | | * Get the #Evas_Smart from which @p obj smart object was created. | |
| * | | * | |
| * @param obj a smart object | | * @param obj a smart object | |
| * @return the #Evas_Smart handle or @c NULL, on errors | | * @return the #Evas_Smart handle or @c NULL, on errors | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Evas_Smart *evas_object_smart_smart_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Smart *evas_object_smart_smart_get(const Evas_Object *obj) EINA_
WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve user data stored on a given smart object. | | * Retrieve user data stored on a given smart object. | |
| * | | * | |
| * @param obj The smart object's handle | | * @param obj The smart object's handle | |
| * @return A pointer to data stored using | | * @return A pointer to data stored using | |
| * evas_object_smart_data_set(), or @c NULL, if none has been | | * evas_object_smart_data_set(), or @c NULL, if none has been | |
| * set. | | * set. | |
| * | | * | |
| * @see evas_object_smart_data_set() | | * @see evas_object_smart_data_set() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void *evas_object_smart_data_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI void *evas_object_smart_data_get(const Evas_Object *obj) EINA_W
ARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Store a pointer to user data for a given smart object. | | * Store a pointer to user data for a given smart object. | |
| * | | * | |
| * @param obj The smart object's handle | | * @param obj The smart object's handle | |
| * @param data A pointer to user data | | * @param data A pointer to user data | |
| * | | * | |
| * This data is stored @b independently of the one set by | | * This data is stored @b independently of the one set by | |
| * evas_object_data_set(), naturally. | | * evas_object_data_set(), naturally. | |
| * | | * | |
| * @see evas_object_smart_data_get() | | * @see evas_object_smart_data_get() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_data_set (Evas_Object *obj,
void *data) EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_data_set(Evas_Object *obj, void *data)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Add (register) a callback function to the smart event specified by | | * Add (register) a callback function to the smart event specified by | |
| * @p event on the smart object @p obj. | | * @p event on the smart object @p obj. | |
| * | | * | |
| * @param obj a smart object | | * @param obj a smart object | |
| * @param event the event's name string | | * @param event the event's name string | |
| * @param func the callback function | | * @param func the callback function | |
| * @param data user data to be passed to the callback function | | * @param data user data to be passed to the callback function | |
| * | | * | |
| | | | |
| skipping to change at line 9916 | | skipping to change at line 10417 | |
| * | | * | |
| * There is an infrastructure for introspection on smart objects' | | * There is an infrastructure for introspection on smart objects' | |
| * events (see evas_smart_callbacks_descriptions_get()), but no | | * events (see evas_smart_callbacks_descriptions_get()), but no | |
| * internal smart objects on Evas implement them yet. | | * internal smart objects on Evas implement them yet. | |
| * | | * | |
| * @see @ref Evas_Smart_Object_Group_Callbacks for more details. | | * @see @ref Evas_Smart_Object_Group_Callbacks for more details. | |
| * | | * | |
| * @see evas_object_smart_callback_del() | | * @see evas_object_smart_callback_del() | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_callback_add (Evas_Object *obj,
const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(
1, 2, 3); | | EAPI void evas_object_smart_callback_add(Evas_Object *obj, const ch
ar *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2, 3); | |
| | | | |
| /** | | /** | |
| * Add (register) a callback function to the smart event specified by | | * Add (register) a callback function to the smart event specified by | |
| * @p event on the smart object @p obj. Except for the priority field, | | * @p event on the smart object @p obj. Except for the priority field, | |
| * it's exactly the same as @ref evas_object_smart_callback_add | | * it's exactly the same as @ref evas_object_smart_callback_add | |
| * | | * | |
| * @param obj a smart object | | * @param obj a smart object | |
| * @param event the event's name string | | * @param event the event's name string | |
| * @param priority The priority of the callback, lower values called first. | | * @param priority The priority of the callback, lower values called first. | |
| * @param func the callback function | | * @param func the callback function | |
| * @param data user data to be passed to the callback function | | * @param data user data to be passed to the callback function | |
| * | | * | |
| * @see evas_object_smart_callback_add | | * @see evas_object_smart_callback_add | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_callback_priority_add(Evas_Object
*obj, const char *event, Evas_Callback_Priority priority, Evas_Smart_Cb fun
c, const void *data); | | EAPI void evas_object_smart_callback_priority_add(Evas_Object *obj,
const char *event, Evas_Callback_Priority priority, Evas_Smart_Cb func, co
nst void *data); | |
| | | | |
| /** | | /** | |
| * Delete (unregister) a callback function from the smart event | | * Delete (unregister) a callback function from the smart event | |
| * specified by @p event on the smart object @p obj. | | * specified by @p event on the smart object @p obj. | |
| * | | * | |
| * @param obj a smart object | | * @param obj a smart object | |
| * @param event the event's name string | | * @param event the event's name string | |
| * @param func the callback function | | * @param func the callback function | |
| * @return the data pointer | | * @return the data pointer | |
| * | | * | |
| | | | |
| skipping to change at line 9956 | | skipping to change at line 10457 | |
| * function pointer @p func. If the removal is successful it will also | | * function pointer @p func. If the removal is successful it will also | |
| * return the data pointer that was passed to | | * return the data pointer that was passed to | |
| * evas_object_smart_callback_add() (that will be the same as the | | * evas_object_smart_callback_add() (that will be the same as the | |
| * parameter) when the callback(s) was(were) added to the canvas. If | | * parameter) when the callback(s) was(were) added to the canvas. If | |
| * not successful @c NULL will be returned. | | * not successful @c NULL will be returned. | |
| * | | * | |
| * @see evas_object_smart_callback_add() for more details. | | * @see evas_object_smart_callback_add() for more details. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void *evas_object_smart_callback_del (Evas_Object *obj,
const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3); | | EAPI void *evas_object_smart_callback_del(Evas_Object *obj, const ch
ar *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3); | |
| | | | |
| /** | | /** | |
| * Delete (unregister) a callback function from the smart event | | * Delete (unregister) a callback function from the smart event | |
| * specified by @p event on the smart object @p obj. | | * specified by @p event on the smart object @p obj. | |
| * | | * | |
| * @param obj a smart object | | * @param obj a smart object | |
| * @param event the event's name string | | * @param event the event's name string | |
| * @param func the callback function | | * @param func the callback function | |
| * @param data the data pointer that was passed to the callback | | * @param data the data pointer that was passed to the callback | |
| * @return the data pointer | | * @return the data pointer | |
| | | | |
| skipping to change at line 9978 | | skipping to change at line 10479 | |
| * This function removes <b>the first</b> added smart callback on the | | * This function removes <b>the first</b> added smart callback on the | |
| * object @p obj matching the event name @p event, the registered | | * object @p obj matching the event name @p event, the registered | |
| * function pointer @p func and the callback data pointer @p data. If | | * function pointer @p func and the callback data pointer @p data. If | |
| * the removal is successful it will also return the data pointer that | | * the removal is successful it will also return the data pointer that | |
| * was passed to evas_object_smart_callback_add() (that will be the same | | * was passed to evas_object_smart_callback_add() (that will be the same | |
| * as the parameter) when the callback(s) was(were) added to the canvas. | | * as the parameter) when the callback(s) was(were) added to the canvas. | |
| * If not successful @c NULL will be returned. A common use would be to | | * If not successful @c NULL will be returned. A common use would be to | |
| * remove an exact match of a callback | | * remove an exact match of a callback | |
| * | | * | |
| * @see evas_object_smart_callback_add() for more details. | | * @see evas_object_smart_callback_add() for more details. | |
|
| * @since 1.2.0 | | * @since 1.2 | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| * | | * | |
| * @note To delete all smart event callbacks which match @p type and @p fun
c, | | * @note To delete all smart event callbacks which match @p type and @p fun
c, | |
| * use evas_object_smart_callback_del(). | | * use evas_object_smart_callback_del(). | |
| */ | | */ | |
|
| EAPI void *evas_object_smart_callback_del_full(Evas_Object *obj
, const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL
(1, 2, 3); | | EAPI void *evas_object_smart_callback_del_full(Evas_Object *obj, con
st char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2
, 3); | |
| | | | |
| /** | | /** | |
| * Call a given smart callback on the smart object @p obj. | | * Call a given smart callback on the smart object @p obj. | |
| * | | * | |
| * @param obj the smart object | | * @param obj the smart object | |
| * @param event the event's name string | | * @param event the event's name string | |
| * @param event_info pointer to an event specific struct or information to | | * @param event_info pointer to an event specific struct or information to | |
| * pass to the callback functions registered on this smart event | | * pass to the callback functions registered on this smart event | |
| * | | * | |
| * This should be called @b internally, from the smart object's own | | * This should be called @b internally, from the smart object's own | |
| | | | |
| skipping to change at line 10007 | | skipping to change at line 10508 | |
| * Evas_Smart_Object_Group_Callbacks). The documentation for the smart | | * Evas_Smart_Object_Group_Callbacks). The documentation for the smart | |
| * object should include a list of possible events and what type of @p | | * object should include a list of possible events and what type of @p | |
| * event_info to expect for each of them. Also, when defining an | | * event_info to expect for each of them. Also, when defining an | |
| * #Evas_Smart_Class, smart object implementors are strongly | | * #Evas_Smart_Class, smart object implementors are strongly | |
| * encouraged to properly set the Evas_Smart_Class::callbacks | | * encouraged to properly set the Evas_Smart_Class::callbacks | |
| * callbacks description array, so that the users of the smart object | | * callbacks description array, so that the users of the smart object | |
| * can have introspection on its events API <b>at run time</b>. | | * can have introspection on its events API <b>at run time</b>. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_callback_call (Evas_Object *obj,
const char *event, void *event_info) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_smart_callback_call(Evas_Object *obj, const c
har *event, void *event_info) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set an smart object @b instance's smart callbacks descriptions. | | * Set an smart object @b instance's smart callbacks descriptions. | |
| * | | * | |
| * @param obj A smart object | | * @param obj A smart object | |
| * @param descriptions @c NULL terminated array with | | * @param descriptions @c NULL terminated array with | |
| * #Evas_Smart_Cb_Description descriptions. Array elements won't be | | * #Evas_Smart_Cb_Description descriptions. Array elements won't be | |
| * modified at run time, but references to them and their contents | | * modified at run time, but references to them and their contents | |
| * will be made, so this array should be kept alive during the whole | | * will be made, so this array should be kept alive during the whole | |
| * object's lifetime. | | * object's lifetime. | |
| | | | |
| skipping to change at line 10041 | | skipping to change at line 10542 | |
| * Evas_Smart_Cb_Description::name must @b not be @c NULL. | | * Evas_Smart_Cb_Description::name must @b not be @c NULL. | |
| * | | * | |
| * @note While instance callbacks descriptions are possible, they are | | * @note While instance callbacks descriptions are possible, they are | |
| * @b not recommended. Use @b class callbacks descriptions | | * @b not recommended. Use @b class callbacks descriptions | |
| * instead as they make you smart object user's life simpler and | | * instead as they make you smart object user's life simpler and | |
| * will use less memory, as descriptions and arrays will be | | * will use less memory, as descriptions and arrays will be | |
| * shared among all instances. | | * shared among all instances. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Ob
ject *obj, const Evas_Smart_Cb_Description *descriptions) EINA_ARG_NONNULL(
1); | | EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Object
*obj, const Evas_Smart_Cb_Description *descriptions) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve an smart object's know smart callback descriptions (both | | * Retrieve an smart object's know smart callback descriptions (both | |
| * instance and class ones). | | * instance and class ones). | |
| * | | * | |
| * @param obj The smart object to get callback descriptions from. | | * @param obj The smart object to get callback descriptions from. | |
| * @param class_descriptions Where to store class callbacks | | * @param class_descriptions Where to store class callbacks | |
| * descriptions array, if any is known. If no descriptions are | | * descriptions array, if any is known. If no descriptions are | |
| * known, @c NULL is returned | | * known, @c NULL is returned | |
| * @param class_count Returns how many class callbacks descriptions | | * @param class_count Returns how many class callbacks descriptions | |
| | | | |
| skipping to change at line 10076 | | skipping to change at line 10577 | |
| * @note If just class descriptions are of interest, try | | * @note If just class descriptions are of interest, try | |
| * evas_smart_callbacks_descriptions_get() instead. | | * evas_smart_callbacks_descriptions_get() instead. | |
| * | | * | |
| * @note Use @c NULL pointers on the descriptions/counters you're not | | * @note Use @c NULL pointers on the descriptions/counters you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_smart_callbacks_descriptions_get() | | * @see evas_smart_callbacks_descriptions_get() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_callbacks_descriptions_get(const E
vas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, uns
igned int *class_count, const Evas_Smart_Cb_Description ***instance_descrip
tions, unsigned int *instance_count) EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_callbacks_descriptions_get(const Evas_O
bject *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned
int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions
, unsigned int *instance_count) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Find callback description for callback called @a name. | | * Find callback description for callback called @a name. | |
| * | | * | |
| * @param obj the smart object. | | * @param obj the smart object. | |
| * @param name name of desired callback, must @b not be @c NULL. The | | * @param name name of desired callback, must @b not be @c NULL. The | |
| * search have a special case for @a name being the same | | * search have a special case for @a name being the same | |
| * pointer as registered with Evas_Smart_Cb_Description, one | | * pointer as registered with Evas_Smart_Cb_Description, one | |
| * can use it to avoid excessive use of strcmp(). | | * can use it to avoid excessive use of strcmp(). | |
| * @param class_description pointer to return class description or | | * @param class_description pointer to return class description or | |
| * @c NULL if not found. If parameter is @c NULL, no search will | | * @c NULL if not found. If parameter is @c NULL, no search will | |
| * be done on class descriptions. | | * be done on class descriptions. | |
| * @param instance_description pointer to return instance description | | * @param instance_description pointer to return instance description | |
| * or @c NULL if not found. If parameter is @c NULL, no search | | * or @c NULL if not found. If parameter is @c NULL, no search | |
| * will be done on instance descriptions. | | * will be done on instance descriptions. | |
| * @return reference to description if found, @c NULL if not found. | | * @return reference to description if found, @c NULL if not found. | |
| */ | | */ | |
|
| EAPI void evas_object_smart_callback_description_find(const Ev | | EAPI void evas_object_smart_callback_description_find(const Evas_Ob | |
| as_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_d | | ject *obj, const char *name, const Evas_Smart_Cb_Description **class_descri | |
| escription, const Evas_Smart_Cb_Description **instance_description) EINA_AR | | ption, const Evas_Smart_Cb_Description **instance_description) EINA_ARG_NON | |
| G_NONNULL(1, 2); | | NULL(1, 2); | |
| | | | |
| | | /** | |
| | | * Retrieve an Evas smart object's interface, by name string pointer. | |
| | | * | |
| | | * @param obj An Evas smart object. | |
| | | * @param name Name string of the desired interface, which must be the | |
| | | * same pointer used at the interface's declarion, when | |
| | | * creating the smart object @a obj. | |
| | | * | |
| | | * @since 1.7 | |
| | | * | |
| | | * @return The interface's handle pointer, if found, @c NULL | |
| | | * otherwise. | |
| | | */ | |
| | | const void *evas_object_smart_interface_get(const Evas_Object *obj, c | |
| | | onst char *name); | |
| | | | |
| | | /** | |
| | | * Retrieve an Evas smart object interface's <b>private data</b>. | |
| | | * | |
| | | * @param obj An Evas smart object. | |
| | | * @param iface The given object's interface handle. | |
| | | * | |
| | | * @since 1.7 | |
| | | * | |
| | | * @return The object interface's private data blob pointer, if found, | |
| | | * @c NULL otherwise. | |
| | | */ | |
| | | void *evas_object_smart_interface_data_get(const Evas_Object *o | |
| | | bj, const Evas_Smart_Interface *iface); | |
| | | | |
| /** | | /** | |
| * Mark smart object as changed, dirty. | | * Mark smart object as changed, dirty. | |
| * | | * | |
| * @param obj The given Evas smart object | | * @param obj The given Evas smart object | |
| * | | * | |
| * This will flag the given object as needing recalculation, | | * This will flag the given object as needing recalculation, | |
| * forcefully. As an effect, on the next rendering cycle it's @b | | * forcefully. As an effect, on the next rendering cycle it's @b | |
| * calculate() (see #Evas_Smart_Class) smart function will be called. | | * calculate() (see #Evas_Smart_Class) smart function will be called. | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_set(). | | * @see evas_object_smart_need_recalculate_set(). | |
| * @see evas_object_smart_calculate(). | | * @see evas_object_smart_calculate(). | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_changed (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_changed(Evas_Object *obj) EINA_ARG_NONN
ULL(1); | |
| | | | |
| /** | | /** | |
| * Set or unset the flag signalling that a given smart object needs to | | * Set or unset the flag signalling that a given smart object needs to | |
| * get recalculated. | | * get recalculated. | |
| * | | * | |
| * @param obj the smart object | | * @param obj the smart object | |
| * @param value whether one wants to set (@c EINA_TRUE) or to unset | | * @param value whether one wants to set (@c EINA_TRUE) or to unset | |
| * (@c EINA_FALSE) the flag. | | * (@c EINA_FALSE) the flag. | |
| * | | * | |
| * If this flag is set, then the @c calculate() smart function of @p | | * If this flag is set, then the @c calculate() smart function of @p | |
| | | | |
| skipping to change at line 10140 | | skipping to change at line 10669 | |
| * force that, use evas_object_smart_changed(), that will also | | * force that, use evas_object_smart_changed(), that will also | |
| * automatically call this function automatically, with | | * automatically call this function automatically, with | |
| * @c EINA_TRUE as parameter. | | * @c EINA_TRUE as parameter. | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_get() | | * @see evas_object_smart_need_recalculate_get() | |
| * @see evas_object_smart_calculate() | | * @see evas_object_smart_calculate() | |
| * @see evas_smart_objects_calculate() | | * @see evas_smart_objects_calculate() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_need_recalculate_set(Evas_Object *
obj, Eina_Bool value) EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_need_recalculate_set(Evas_Object *obj,
Eina_Bool value) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the value of the flag signalling that a given smart object needs to | | * Get the value of the flag signalling that a given smart object needs to | |
| * get recalculated. | | * get recalculated. | |
| * | | * | |
| * @param obj the smart object | | * @param obj the smart object | |
| * @return if flag is set or not. | | * @return if flag is set or not. | |
| * | | * | |
| * @note this flag will be unset during the rendering phase, when the | | * @note this flag will be unset during the rendering phase, when the | |
| * @c calculate() smart function is called, if one is provided. | | * @c calculate() smart function is called, if one is provided. | |
| * If it's not provided, then the flag will be left unchanged | | * If it's not provided, then the flag will be left unchanged | |
| * after the rendering phase. | | * after the rendering phase. | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_set(), for more details | | * @see evas_object_smart_need_recalculate_set(), for more details | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Ob
ject *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Call the @b calculate() smart function immediately on a given smart | | * Call the @b calculate() smart function immediately on a given smart | |
| * object. | | * object. | |
| * | | * | |
| * @param obj the smart object's handle | | * @param obj the smart object's handle | |
| * | | * | |
| * This will force immediate calculations (see #Evas_Smart_Class) | | * This will force immediate calculations (see #Evas_Smart_Class) | |
| * needed for renderization of this object and, besides, unset the | | * needed for renderization of this object and, besides, unset the | |
| * flag on it telling it needs recalculation for the next rendering | | * flag on it telling it needs recalculation for the next rendering | |
| * phase. | | * phase. | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_set() | | * @see evas_object_smart_need_recalculate_set() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_object_smart_calculate (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_calculate(Evas_Object *obj) EINA_ARG_NO
NNULL(1); | |
| | | | |
| /** | | /** | |
| * Call user-provided @c calculate() smart functions and unset the | | * Call user-provided @c calculate() smart functions and unset the | |
| * flag signalling that the object needs to get recalculated to @b all | | * flag signalling that the object needs to get recalculated to @b all | |
| * smart objects in the canvas. | | * smart objects in the canvas. | |
| * | | * | |
| * @param e The canvas to calculate all smart objects in | | * @param e The canvas to calculate all smart objects in | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_set() | | * @see evas_object_smart_need_recalculate_set() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void evas_smart_objects_calculate (Evas *e); | | EAPI void evas_smart_objects_calculate(Evas *e); | |
| | | | |
| /** | | /** | |
| * This gets the internal counter that counts the number of smart calculati
ons | | * This gets the internal counter that counts the number of smart calculati
ons | |
| * | | * | |
| * @param e The canvas to get the calculate counter from | | * @param e The canvas to get the calculate counter from | |
| * | | * | |
| * Whenever evas performs smart object calculations on the whole canvas | | * Whenever evas performs smart object calculations on the whole canvas | |
| * it increments a counter by 1. This is the smart object calculate counter | | * it increments a counter by 1. This is the smart object calculate counter | |
| * that this function returns the value of. It starts at the value of 0 and | | * that this function returns the value of. It starts at the value of 0 and | |
| * will increase (and eventually wrap around to negative values and so on)
by | | * will increase (and eventually wrap around to negative values and so on)
by | |
| * 1 every time objects are calculated. You can use this counter to ensure | | * 1 every time objects are calculated. You can use this counter to ensure | |
| * you don't re-do calculations withint the same calculation generation/run | | * you don't re-do calculations withint the same calculation generation/run | |
| * if the calculations maybe cause self-feeding effects. | | * if the calculations maybe cause self-feeding effects. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI int evas_smart_objects_calculate_count_get (const Evas *
e); | | EAPI int evas_smart_objects_calculate_count_get(const Evas *e); | |
| | | | |
| /** | | /** | |
| * Moves all children objects of a given smart object relative to a | | * Moves all children objects of a given smart object relative to a | |
| * given offset. | | * given offset. | |
| * | | * | |
| * @param obj the smart object. | | * @param obj the smart object. | |
| * @param dx horizontal offset (delta). | | * @param dx horizontal offset (delta). | |
| * @param dy vertical offset (delta). | | * @param dy vertical offset (delta). | |
| * | | * | |
| * This will make each of @p obj object's children to move, from where | | * This will make each of @p obj object's children to move, from where | |
| * they before, with those delta values (offsets) on both directions. | | * they before, with those delta values (offsets) on both directions. | |
| * | | * | |
| * @note This is most useful on custom smart @c move() functions. | | * @note This is most useful on custom smart @c move() functions. | |
| * | | * | |
| * @note Clipped smart objects already make use of this function on | | * @note Clipped smart objects already make use of this function on | |
| * their @c move() smart function definition. | | * their @c move() smart function definition. | |
| */ | | */ | |
|
| EAPI void evas_object_smart_move_children_relative(Evas_
Object *obj, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_move_children_relative(Evas_Object *obj
, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Smart_Object_Clipped Clipped Smart Object | | * @defgroup Evas_Smart_Object_Clipped Clipped Smart Object | |
| * | | * | |
| * Clipped smart object is a base to construct other smart objects | | * Clipped smart object is a base to construct other smart objects | |
| * based on the concept of having an internal clipper that is applied | | * based on the concept of having an internal clipper that is applied | |
| | | | |
| skipping to change at line 10259 | | skipping to change at line 10788 | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Smart_Object_Clipped | | * @addtogroup Evas_Smart_Object_Clipped | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Every subclass should provide this at the beginning of their own | | * Every subclass should provide this at the beginning of their own | |
| * data set with evas_object_smart_data_set(). | | * data set with evas_object_smart_data_set(). | |
| */ | | */ | |
|
| typedef struct _Evas_Object_Smart_Clipped_Data Evas_Object_Smart_Clipped_ | | typedef struct _Evas_Object_Smart_Clipped_Data Evas_Object_Smart_Clipped_Da | |
| Data; | | ta; | |
| struct _Evas_Object_Smart_Clipped_Data | | struct _Evas_Object_Smart_Clipped_Data | |
| { | | { | |
| Evas_Object *clipper; | | Evas_Object *clipper; | |
| Evas *evas; | | Evas *evas; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Get the clipper object for the given clipped smart object. | | * Get the clipper object for the given clipped smart object. | |
| * | | * | |
| * @param obj the clipped smart object to retrieve associated clipper | | * @param obj the clipped smart object to retrieve associated clipper | |
| * from. | | * from. | |
| * @return the clipper object. | | * @return the clipper object. | |
| * | | * | |
| * Use this function if you want to change any of this clipper's | | * Use this function if you want to change any of this clipper's | |
| * properties, like colors. | | * properties, like colors. | |
| * | | * | |
| * @see evas_object_smart_clipped_smart_add() | | * @see evas_object_smart_clipped_smart_add() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_smart_clipped_clipper_get (Evas_
Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_smart_clipped_clipper_get(Evas_Obj
ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set a given smart class' callbacks so it implements the <b>clipped smart | | * Set a given smart class' callbacks so it implements the <b>clipped smart | |
| * object"</b>'s interface. | | * object"</b>'s interface. | |
| * | | * | |
| * @param sc The smart class handle to operate on | | * @param sc The smart class handle to operate on | |
| * | | * | |
| * This call will assign all the required methods of the @p sc | | * This call will assign all the required methods of the @p sc | |
| * #Evas_Smart_Class instance to the implementations set for clipped | | * #Evas_Smart_Class instance to the implementations set for clipped | |
| * smart objects. If one wants to "subclass" it, call this function | | * smart objects. If one wants to "subclass" it, call this function | |
| | | | |
| skipping to change at line 10319 | | skipping to change at line 10848 | |
| * sc.add = my_class_smart_add; | | * sc.add = my_class_smart_add; | |
| * } | | * } | |
| * return ≻ | | * return ≻ | |
| * } | | * } | |
| * @endcode | | * @endcode | |
| * | | * | |
| * Default behavior for each of #Evas_Smart_Class functions on a | | * Default behavior for each of #Evas_Smart_Class functions on a | |
| * clipped smart object are: | | * clipped smart object are: | |
| * - @c add: creates a hidden clipper with "infinite" size, to clip | | * - @c add: creates a hidden clipper with "infinite" size, to clip | |
| * any incoming members; | | * any incoming members; | |
|
| * - @c del: delete all children objects; | | * - @c del: delete all children objects; | |
| * - @c move: move all objects relative relatively; | | * - @c move: move all objects relative relatively; | |
| * - @c resize: <b>not defined</b>; | | * - @c resize: <b>not defined</b>; | |
| * - @c show: if there are children objects, show clipper; | | * - @c show: if there are children objects, show clipper; | |
| * - @c hide: hides clipper; | | * - @c hide: hides clipper; | |
| * - @c color_set: set the color of clipper; | | * - @c color_set: set the color of clipper; | |
| * - @c clip_set: set clipper of clipper; | | * - @c clip_set: set clipper of clipper; | |
| * - @c clip_unset: unset the clipper of clipper; | | * - @c clip_unset: unset the clipper of clipper; | |
| * | | * | |
| * @note There are other means of assigning parent smart classes to | | * @note There are other means of assigning parent smart classes to | |
| * child ones, like the #EVAS_SMART_SUBCLASS_NEW macro or the | | * child ones, like the #EVAS_SMART_SUBCLASS_NEW macro or the | |
| * evas_smart_class_inherit_full() function. | | * evas_smart_class_inherit_full() function. | |
| */ | | */ | |
|
| EAPI void evas_object_smart_clipped_smart_set (Evas_
Smart_Class *sc) EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_clipped_smart_set(Evas_Smart
_Class *sc) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get a pointer to the <b>clipped smart object's</b> class, to use | | * Get a pointer to the <b>clipped smart object's</b> class, to use | |
| * for proper inheritance | | * for proper inheritance | |
| * | | * | |
| * @see #Evas_Smart_Object_Clipped for more information on this smart | | * @see #Evas_Smart_Object_Clipped for more information on this smart | |
| * class | | * class | |
| */ | | */ | |
|
| EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get (void)
EINA_CONST; | | EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get(void) EINA
_CONST; | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Box Box Smart Object | | * @defgroup Evas_Object_Box Box Smart Object | |
| * | | * | |
| * A box is a convenience smart object that packs children inside it | | * A box is a convenience smart object that packs children inside it | |
| * in @b sequence, using a layouting function specified by the | | * in @b sequence, using a layouting function specified by the | |
| | | | |
| skipping to change at line 10377 | | skipping to change at line 10906 | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Object_Box_Api | | * @typedef Evas_Object_Box_Api | |
| * | | * | |
| * Smart class extension, providing extra box object requirements. | | * Smart class extension, providing extra box object requirements. | |
| * | | * | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
|
| typedef struct _Evas_Object_Box_Api Evas_Object_Box_Api; | | typedef struct _Evas_Object_Box_Api Evas_Object_Box_Api; | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Object_Box_Data | | * @typedef Evas_Object_Box_Data | |
| * | | * | |
| * Smart object instance data, providing box object requirements. | | * Smart object instance data, providing box object requirements. | |
| * | | * | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
|
| typedef struct _Evas_Object_Box_Data Evas_Object_Box_Data; | | typedef struct _Evas_Object_Box_Data Evas_Object_Box_Data; | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Object_Box_Option | | * @typedef Evas_Object_Box_Option | |
| * | | * | |
| * The base structure for a box option. Box options are a way of | | * The base structure for a box option. Box options are a way of | |
| * extending box items properties, which will be taken into account | | * extending box items properties, which will be taken into account | |
| * for layouting decisions. The box layouting functions provided by | | * for layouting decisions. The box layouting functions provided by | |
| * Evas will only rely on objects' canonical size hints to layout | | * Evas will only rely on objects' canonical size hints to layout | |
| * them, so the basic box option has @b no (custom) property set. | | * them, so the basic box option has @b no (custom) property set. | |
| * | | * | |
| | | | |
| skipping to change at line 10412 | | skipping to change at line 10941 | |
| * evas_object_box_smart_set(), the @c option_new() and @c | | * evas_object_box_smart_set(), the @c option_new() and @c | |
| * option_free() smart class functions should be properly | | * option_free() smart class functions should be properly | |
| * redefined/extended. | | * redefined/extended. | |
| * | | * | |
| * Object properties are bound to an integer identifier and must have | | * Object properties are bound to an integer identifier and must have | |
| * a name string. Their values are open to any data. See the API on | | * a name string. Their values are open to any data. See the API on | |
| * option properties for more details. | | * option properties for more details. | |
| * | | * | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
|
| typedef struct _Evas_Object_Box_Option Evas_Object_Box_Option; | | typedef struct _Evas_Object_Box_Option Evas_Object_Box_Option; | |
| | | | |
| /** | | /** | |
| * @typedef Evas_Object_Box_Layout | | * @typedef Evas_Object_Box_Layout | |
| * | | * | |
| * Function signature for an Evas box object layouting routine. By | | * Function signature for an Evas box object layouting routine. By | |
| * @a o it will be passed the box object in question, by @a priv it will | | * @a o it will be passed the box object in question, by @a priv it will | |
| * be passed the box's internal data and, by @a user_data, it will be | | * be passed the box's internal data and, by @a user_data, it will be | |
| * passed any custom data one could have set to a given box layouting | | * passed any custom data one could have set to a given box layouting | |
| * function, with evas_object_box_layout_set(). | | * function, with evas_object_box_layout_set(). | |
| * | | * | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
|
| typedef void (*Evas_Object_Box_Layout) (Evas_Object *o, Evas_Object_Box_
Data *priv, void *user_data); | | typedef void (*Evas_Object_Box_Layout)(Evas_Object *o, Evas_Object_Box_Data
*priv, void *user_data); | |
| | | | |
| /** | | /** | |
| * @def EVAS_OBJECT_BOX_API_VERSION | | * @def EVAS_OBJECT_BOX_API_VERSION | |
| * | | * | |
| * Current version for Evas box object smart class, a value which goes | | * Current version for Evas box object smart class, a value which goes | |
| * to _Evas_Object_Box_Api::version. | | * to _Evas_Object_Box_Api::version. | |
| * | | * | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
| #define EVAS_OBJECT_BOX_API_VERSION 1 | | #define EVAS_OBJECT_BOX_API_VERSION 1 | |
| | | | |
| skipping to change at line 10448 | | skipping to change at line 10977 | |
| * @struct _Evas_Object_Box_Api | | * @struct _Evas_Object_Box_Api | |
| * | | * | |
| * This structure should be used by any smart class inheriting from | | * This structure should be used by any smart class inheriting from | |
| * the box's one, to provide custom box behavior which could not be | | * the box's one, to provide custom box behavior which could not be | |
| * achieved only by providing a layout function, with | | * achieved only by providing a layout function, with | |
| * evas_object_box_layout_set(). | | * evas_object_box_layout_set(). | |
| * | | * | |
| * @extends Evas_Smart_Class | | * @extends Evas_Smart_Class | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
|
| struct _Evas_Object_Box_Api | | struct _Evas_Object_Box_Api | |
| { | | { | |
| Evas_Smart_Class base; /**< Base smart class struct, need fo | | Evas_Smart_Class base; /**< Base smart class struct, need fo | |
| r all smart objects */ | | r all smart objects */ | |
| int version; /**< Version of this smart class d | | int version; /**< Version of this smart class d | |
| efinition */ | | efinition */ | |
| Evas_Object_Box_Option *(*append) (Evas_Object *o, Evas_Obj | | Evas_Object_Box_Option *(*append)(Evas_Object * o, Evas_Object_Box_Data | |
| ect_Box_Data *priv, Evas_Object *child); /**< Smart function to append chil | | * priv, Evas_Object * child); /**< Smart function to append chil | |
| d elements in boxes */ | | d elements in boxes */ | |
| Evas_Object_Box_Option *(*prepend) (Evas_Object *o, Evas_Obj | | Evas_Object_Box_Option *(*prepend)(Evas_Object * o, Evas_Object_Box_Data | |
| ect_Box_Data *priv, Evas_Object *child); /**< Smart function to prepend chi | | * priv, Evas_Object * child); /**< Smart function to prepend chi | |
| ld elements in boxes */ | | ld elements in boxes */ | |
| Evas_Object_Box_Option *(*insert_before) (Evas_Object *o, Evas_Obj | | Evas_Object_Box_Option *(*insert_before)(Evas_Object * o, Evas_Object_Bo | |
| ect_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< | | x_Data * priv, Evas_Object * child, const Evas_Object * reference); /**< | |
| Smart function to insert a child element before another in boxes */ | | Smart function to insert a child element before another in boxes */ | |
| Evas_Object_Box_Option *(*insert_after) (Evas_Object *o, Evas_Obj | | Evas_Object_Box_Option *(*insert_after)(Evas_Object * o, Evas_Object_Box | |
| ect_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< | | _Data * priv, Evas_Object * child, const Evas_Object * reference); /**< | |
| Smart function to insert a child element after another in boxes */ | | Smart function to insert a child element after another in boxes */ | |
| Evas_Object_Box_Option *(*insert_at) (Evas_Object *o, Evas_Obj | | Evas_Object_Box_Option *(*insert_at)(Evas_Object * o, Evas_Object_Box_Da | |
| ect_Box_Data *priv, Evas_Object *child, unsigned int pos); /**< Smart funct | | ta * priv, Evas_Object * child, unsigned int pos); /**< Smart funct | |
| ion to insert a child element at a given position on boxes */ | | ion to insert a child element at a given position on boxes */ | |
| Evas_Object *(*remove) (Evas_Object *o, Evas_Obj | | Evas_Object *(*remove)(Evas_Object * o, Evas_Object_Box_Data | |
| ect_Box_Data *priv, Evas_Object *child); /**< Smart function to remove a ch | | * priv, Evas_Object * child); /**< Smart function to remove a ch | |
| ild element from boxes */ | | ild element from boxes */ | |
| Evas_Object *(*remove_at) (Evas_Object *o, Evas_Obj | | Evas_Object *(*remove_at)(Evas_Object * o, Evas_Object_Box_Da | |
| ect_Box_Data *priv, unsigned int pos); /**< Smart function to remove a chil | | ta * priv, unsigned int pos); /**< Smart function to remove a chil | |
| d element from boxes, by its position */ | | d element from boxes, by its position */ | |
| Eina_Bool (*property_set) (Evas_Object *o, Evas_Obj | | Eina_Bool (*property_set)(Evas_Object *o, Evas_Object_Box_ | |
| ect_Box_Option *opt, int property, va_list args); /**< Smart function to se | | Option *opt, int property, va_list args); /**< Smart function to se | |
| t a custom property on a box child */ | | t a custom property on a box child */ | |
| Eina_Bool (*property_get) (Evas_Object *o, Evas_Obj | | Eina_Bool (*property_get)(const Evas_Object *o, Evas_Objec | |
| ect_Box_Option *opt, int property, va_list args); /**< Smart function to re | | t_Box_Option *opt, int property, va_list args); /**< Smart function | |
| trieve a custom property from a box child */ | | to retrieve a custom property from a box child */ | |
| const char *(*property_name_get)(Evas_Object *o, int prop | | const char *(*property_name_get)(const Evas_Object * o, int | |
| erty); /**< Smart function to get the name of a custom property of box chil | | property); /**< Smart function to get the name of a custom property of bo | |
| dren */ | | x children */ | |
| int (*property_id_get) (Evas_Object *o, const ch | | int (*property_id_get)(const Evas_Object *o, const c | |
| ar *name); /**< Smart function to get the numerical ID of a custom property | | har *name); /**< Smart function to get the numerical ID of a custom pr | |
| of box children */ | | operty of box children */ | |
| Evas_Object_Box_Option *(*option_new) (Evas_Object *o, Evas_Obj | | Evas_Object_Box_Option *(*option_new)(Evas_Object * o, Evas_Object_Box_D | |
| ect_Box_Data *priv, Evas_Object *child); /**< Smart function to create a ne | | ata * priv, Evas_Object * child); /**< Smart function to create a ne | |
| w box option struct */ | | w box option struct */ | |
| void (*option_free) (Evas_Object *o, Evas_Obj | | void (*option_free)(Evas_Object *o, Evas_Object_Box_D | |
| ect_Box_Data *priv, Evas_Object_Box_Option *opt); /**< Smart function to de | | ata *priv, Evas_Object_Box_Option *opt); /**< Smart function to de | |
| lete a box option struct */ | | lete a box option struct */ | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * @def EVAS_OBJECT_BOX_API_INIT | | * @def EVAS_OBJECT_BOX_API_INIT | |
| * | | * | |
| * Initializer for a whole #Evas_Object_Box_Api structure, with | | * Initializer for a whole #Evas_Object_Box_Api structure, with | |
| * @c NULL values on its specific fields. | | * @c NULL values on its specific fields. | |
| * | | * | |
| * @param smart_class_init initializer to use for the "base" field | | * @param smart_class_init initializer to use for the "base" field | |
| * (#Evas_Smart_Class). | | * (#Evas_Smart_Class). | |
| * | | * | |
| | | | |
| skipping to change at line 10496 | | skipping to change at line 11025 | |
| /** | | /** | |
| * @def EVAS_OBJECT_BOX_API_INIT_NULL | | * @def EVAS_OBJECT_BOX_API_INIT_NULL | |
| * | | * | |
| * Initializer to zero out a whole #Evas_Object_Box_Api structure. | | * Initializer to zero out a whole #Evas_Object_Box_Api structure. | |
| * | | * | |
| * @see EVAS_OBJECT_BOX_API_INIT_VERSION | | * @see EVAS_OBJECT_BOX_API_INIT_VERSION | |
| * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION | | * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION | |
| * @see EVAS_OBJECT_BOX_API_INIT | | * @see EVAS_OBJECT_BOX_API_INIT | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
|
| #define EVAS_OBJECT_BOX_API_INIT_NULL EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_C
LASS_INIT_NULL) | | #define EVAS_OBJECT_BOX_API_INIT_NULL EVAS_OBJECT_BOX_API_INIT(EVAS_SMAR
T_CLASS_INIT_NULL) | |
| | | | |
| /** | | /** | |
| * @def EVAS_OBJECT_BOX_API_INIT_VERSION | | * @def EVAS_OBJECT_BOX_API_INIT_VERSION | |
| * | | * | |
| * Initializer to zero out a whole #Evas_Object_Box_Api structure and | | * Initializer to zero out a whole #Evas_Object_Box_Api structure and | |
| * set a specific version on it. | | * set a specific version on it. | |
| * | | * | |
| * This is similar to #EVAS_OBJECT_BOX_API_INIT_NULL, but it will set | | * This is similar to #EVAS_OBJECT_BOX_API_INIT_NULL, but it will set | |
| * the version field of #Evas_Smart_Class (base field) to the latest | | * the version field of #Evas_Smart_Class (base field) to the latest | |
| * #EVAS_SMART_CLASS_VERSION. | | * #EVAS_SMART_CLASS_VERSION. | |
| | | | |
| skipping to change at line 10547 | | skipping to change at line 11076 | |
| * @struct _Evas_Object_Box_Data | | * @struct _Evas_Object_Box_Data | |
| * | | * | |
| * This structure augments clipped smart object's instance data, | | * This structure augments clipped smart object's instance data, | |
| * providing extra members required by generic box implementation. If | | * providing extra members required by generic box implementation. If | |
| * a subclass inherits from #Evas_Object_Box_Api, then it may augment | | * a subclass inherits from #Evas_Object_Box_Api, then it may augment | |
| * #Evas_Object_Box_Data to fit its own needs. | | * #Evas_Object_Box_Data to fit its own needs. | |
| * | | * | |
| * @extends Evas_Object_Smart_Clipped_Data | | * @extends Evas_Object_Smart_Clipped_Data | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
|
| struct _Evas_Object_Box_Data | | struct _Evas_Object_Box_Data | |
| | | { | |
| | | Evas_Object_Smart_Clipped_Data base; | |
| | | const Evas_Object_Box_Api *api; | |
| | | struct | |
| { | | { | |
|
| Evas_Object_Smart_Clipped_Data base; | | double h, v; | |
| const Evas_Object_Box_Api *api; | | } align; | |
| struct { | | struct | |
| double h, v; | | | |
| } align; | | | |
| struct { | | | |
| Evas_Coord h, v; | | | |
| } pad; | | | |
| Eina_List *children; | | | |
| struct { | | | |
| Evas_Object_Box_Layout cb; | | | |
| void *data; | | | |
| void (*free_data)(void *data); | | | |
| } layout; | | | |
| Eina_Bool layouting : 1; | | | |
| Eina_Bool children_changed : 1; | | | |
| }; | | | |
| | | | |
| struct _Evas_Object_Box_Option | | | |
| { | | { | |
|
| Evas_Object *obj; /**< Pointer to the box child object, itself */ | | Evas_Coord h, v; | |
| Eina_Bool max_reached:1; | | } pad; | |
| Eina_Bool min_reached:1; | | Eina_List *children; | |
| Evas_Coord alloc_size; | | struct | |
| }; /**< #Evas_Object_Box_Option struct fields */ | | { | |
| | | Evas_Object_Box_Layout cb; | |
| | | void *data; | |
| | | void (*free_data)(void *data); | |
| | | } layout; | |
| | | Eina_Bool layouting : 1; | |
| | | Eina_Bool children_changed : 1; | |
| | | }; | |
| | | | |
| | | struct _Evas_Object_Box_Option | |
| | | { | |
| | | Evas_Object *obj; /**< Pointer to the box child object, itself */ | |
| | | Eina_Bool max_reached : 1; | |
| | | Eina_Bool min_reached : 1; | |
| | | Evas_Coord alloc_size; | |
| | | }; /**< #Evas_Object_Box_Option struct fields */ | |
| | | | |
| /** | | /** | |
| * Set the default box @a api struct (Evas_Object_Box_Api) | | * Set the default box @a api struct (Evas_Object_Box_Api) | |
| * with the default values. May be used to extend that API. | | * with the default values. May be used to extend that API. | |
| * | | * | |
| * @param api The box API struct to set back, most probably with | | * @param api The box API struct to set back, most probably with | |
| * overridden fields (on class extensions scenarios) | | * overridden fields (on class extensions scenarios) | |
| */ | | */ | |
|
| EAPI void evas_object_box_smart_set
(Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1); | | EAPI void evas_object_box_smart_set(Evas_Object_Box_A
pi *api) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the Evas box smart class, for inheritance purposes. | | * Get the Evas box smart class, for inheritance purposes. | |
| * | | * | |
| * @return the (canonical) Evas box smart class. | | * @return the (canonical) Evas box smart class. | |
| * | | * | |
| * The returned value is @b not to be modified, just use it as your | | * The returned value is @b not to be modified, just use it as your | |
| * parent class. | | * parent class. | |
| */ | | */ | |
|
| EAPI const Evas_Object_Box_Api *evas_object_box_smart_class_get
(void) EINA_CONST; | | EAPI const Evas_Object_Box_Api *evas_object_box_smart_class_get(void) EINA_
CONST; | |
| | | | |
| /** | | /** | |
| * Set a new layouting function to a given box object | | * Set a new layouting function to a given box object | |
| * | | * | |
| * @param o The box object to operate on. | | * @param o The box object to operate on. | |
| * @param cb The new layout function to set on @p o. | | * @param cb The new layout function to set on @p o. | |
| * @param data Data pointer to be passed to @p cb. | | * @param data Data pointer to be passed to @p cb. | |
| * @param free_data Function to free @p data, if need be. | | * @param free_data Function to free @p data, if need be. | |
| * | | * | |
| * A box layout function affects how a box object displays child | | * A box layout function affects how a box object displays child | |
| | | | |
| skipping to change at line 10620 | | skipping to change at line 11152 | |
| * - evas_object_box_layout_homogeneous_max_size_vertical() | | * - evas_object_box_layout_homogeneous_max_size_vertical() | |
| * - evas_object_box_layout_flow_horizontal() | | * - evas_object_box_layout_flow_horizontal() | |
| * - evas_object_box_layout_flow_vertical() | | * - evas_object_box_layout_flow_vertical() | |
| * - evas_object_box_layout_stack() | | * - evas_object_box_layout_stack() | |
| * | | * | |
| * Refer to each of their documentation texts for details on them. | | * Refer to each of their documentation texts for details on them. | |
| * | | * | |
| * @note A box layouting function will be triggered by the @c | | * @note A box layouting function will be triggered by the @c | |
| * 'calculate' smart callback of the box's smart class. | | * 'calculate' smart callback of the box's smart class. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_set
(Evas_Object *o, Evas_Object_Box_Layout cb, const void *data, vo
id (*free_data)(void *data)) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_box_layout_set(Evas_Object *o,
Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data))
EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Add a new box object on the provided canvas. | | * Add a new box object on the provided canvas. | |
| * | | * | |
| * @param evas The canvas to create the box object on. | | * @param evas The canvas to create the box object on. | |
| * @return @c NULL on error, a pointer to a new box object on | | * @return @c NULL on error, a pointer to a new box object on | |
| * success. | | * success. | |
| * | | * | |
| * After instantiation, if a box object hasn't its layout function | | * After instantiation, if a box object hasn't its layout function | |
| * set, via evas_object_box_layout_set(), it will have it by default | | * set, via evas_object_box_layout_set(), it will have it by default | |
| * set to evas_object_box_layout_horizontal(). The remaining | | * set to evas_object_box_layout_horizontal(). The remaining | |
| * properties of the box must be set/retrieved via | | * properties of the box must be set/retrieved via | |
| * <c>evas_object_box_{h,v}_{align,padding}_{get,set)()</c>. | | * <c>evas_object_box_{h,v}_{align,padding}_{get,set)()</c>. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_box_add
(Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MA
LLOC; | | EAPI Evas_Object *evas_object_box_add(Evas *evas) EINA_WARN_U
NUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Add a new box as a @b child of a given smart object. | | * Add a new box as a @b child of a given smart object. | |
| * | | * | |
| * @param parent The parent smart object to put the new box in. | | * @param parent The parent smart object to put the new box in. | |
| * @return @c NULL on error, a pointer to a new box object on | | * @return @c NULL on error, a pointer to a new box object on | |
| * success. | | * success. | |
| * | | * | |
| * This is a helper function that has the same effect of putting a new | | * This is a helper function that has the same effect of putting a new | |
| * box object into @p parent by use of evas_object_smart_member_add(). | | * box object into @p parent by use of evas_object_smart_member_add(). | |
| * | | * | |
| * @see evas_object_box_add() | | * @see evas_object_box_add() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_box_add_to
(Evas_Object *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1
) EINA_MALLOC; | | EAPI Evas_Object *evas_object_box_add_to(Evas_Object *parent)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a (basic) horizontal box | | * Layout function which sets the box @a o to a (basic) horizontal box | |
| * | | * | |
| * @param o The box object in question | | * @param o The box object in question | |
| * @param priv The smart data of the @p o | | * @param priv The smart data of the @p o | |
| * @param data The data pointer passed on | | * @param data The data pointer passed on | |
| * evas_object_box_layout_set(), if any | | * evas_object_box_layout_set(), if any | |
| * | | * | |
| * In this layout, the box object's overall behavior is controlled by | | * In this layout, the box object's overall behavior is controlled by | |
| | | | |
| skipping to change at line 10705 | | skipping to change at line 11237 | |
| * resizing process. The parent box will try to distribute (or take | | * resizing process. The parent box will try to distribute (or take | |
| * off) widths accordingly to the @b normalized list of weigths: most | | * off) widths accordingly to the @b normalized list of weigths: most | |
| * weighted children remain/get larger in this process than the least | | * weighted children remain/get larger in this process than the least | |
| * ones. @c weight_y does not influence the layout. | | * ones. @c weight_y does not influence the layout. | |
| * | | * | |
| * If one desires that, besides having weights, child elements must be | | * If one desires that, besides having weights, child elements must be | |
| * resized bounded to a minimum or maximum size, those size hints must | | * resized bounded to a minimum or maximum size, those size hints must | |
| * be set, by the <c>evas_object_size_hint_{min,max}_set()</c> | | * be set, by the <c>evas_object_size_hint_{min,max}_set()</c> | |
| * functions. | | * functions. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_horizontal
(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_horizontal(Evas_Obje
ct *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a (basic) vertical box | | * Layout function which sets the box @a o to a (basic) vertical box | |
| * | | * | |
| * This function behaves analogously to | | * This function behaves analogously to | |
| * evas_object_box_layout_horizontal(). The description of its | | * evas_object_box_layout_horizontal(). The description of its | |
| * behaviour can be derived from that function's documentation. | | * behaviour can be derived from that function's documentation. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_vertical
(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_vertical(Evas_Object
*o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a @b homogeneous | | * Layout function which sets the box @a o to a @b homogeneous | |
| * vertical box | | * vertical box | |
| * | | * | |
| * This function behaves analogously to | | * This function behaves analogously to | |
| * evas_object_box_layout_homogeneous_horizontal(). The description | | * evas_object_box_layout_homogeneous_horizontal(). The description | |
| * of its behaviour can be derived from that function's documentation. | | * of its behaviour can be derived from that function's documentation. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_homogeneous_vertical
(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_homogeneous_vertical
(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1
, 2); | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a @b homogeneous | | * Layout function which sets the box @a o to a @b homogeneous | |
| * horizontal box | | * horizontal box | |
| * | | * | |
| * @param o The box object in question | | * @param o The box object in question | |
| * @param priv The smart data of the @p o | | * @param priv The smart data of the @p o | |
| * @param data The data pointer passed on | | * @param data The data pointer passed on | |
| * evas_object_box_layout_set(), if any | | * evas_object_box_layout_set(), if any | |
| * | | * | |
| | | | |
| skipping to change at line 10764 | | skipping to change at line 11296 | |
| * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to | | * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to | |
| * @c align_x makes the box try to resize this child element to the exact | | * @c align_x makes the box try to resize this child element to the exact | |
| * width of its cell (respecting the minimum and maximum size hints on | | * width of its cell (respecting the minimum and maximum size hints on | |
| * the child's width and accounting for its horizontal padding | | * the child's width and accounting for its horizontal padding | |
| * hints). The child's @c padding_t, @c padding_b and @c align_y | | * hints). The child's @c padding_t, @c padding_b and @c align_y | |
| * properties apply for padding/alignment relative to the overall | | * properties apply for padding/alignment relative to the overall | |
| * height of the box. A value of @c -1.0 to @c align_y makes the box | | * height of the box. A value of @c -1.0 to @c align_y makes the box | |
| * try to resize this child element to the exact height of its parent | | * try to resize this child element to the exact height of its parent | |
| * (respecting the maximum size hint on the child's height). | | * (respecting the maximum size hint on the child's height). | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_homogeneous_horizont
al (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_homogeneous_horizont
al(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL
(1, 2); | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a <b>maximum size, | | * Layout function which sets the box @a o to a <b>maximum size, | |
| * homogeneous</b> horizontal box | | * homogeneous</b> horizontal box | |
| * | | * | |
| * @param o The box object in question | | * @param o The box object in question | |
| * @param priv The smart data of the @p o | | * @param priv The smart data of the @p o | |
| * @param data The data pointer passed on | | * @param data The data pointer passed on | |
| * evas_object_box_layout_set(), if any | | * evas_object_box_layout_set(), if any | |
| * | | * | |
| | | | |
| skipping to change at line 10824 | | skipping to change at line 11356 | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a <b>maximum size, | | * Layout function which sets the box @a o to a <b>maximum size, | |
| * homogeneous</b> vertical box | | * homogeneous</b> vertical box | |
| * | | * | |
| * This function behaves analogously to | | * This function behaves analogously to | |
| * evas_object_box_layout_homogeneous_max_size_horizontal(). The | | * evas_object_box_layout_homogeneous_max_size_horizontal(). The | |
| * description of its behaviour can be derived from that function's | | * description of its behaviour can be derived from that function's | |
| * documentation. | | * documentation. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_homogeneous_max_size
_vertical (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_homogeneous_max_size
_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_
NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a @b flow horizontal | | * Layout function which sets the box @a o to a @b flow horizontal | |
| * box. | | * box. | |
| * | | * | |
| * @param o The box object in question | | * @param o The box object in question | |
| * @param priv The smart data of the @p o | | * @param priv The smart data of the @p o | |
| * @param data The data pointer passed on | | * @param data The data pointer passed on | |
| * evas_object_box_layout_set(), if any | | * evas_object_box_layout_set(), if any | |
| * | | * | |
| | | | |
| skipping to change at line 10866 | | skipping to change at line 11398 | |
| * | | * | |
| * \par Child element's properties: | | * \par Child element's properties: | |
| * @c padding_l and @c padding_r sum up to the required width of the | | * @c padding_l and @c padding_r sum up to the required width of the | |
| * child element. The @c align_x property has no influence on the | | * child element. The @c align_x property has no influence on the | |
| * layout. The child's @c padding_t and @c padding_b sum up to the | | * layout. The child's @c padding_t and @c padding_b sum up to the | |
| * required height of the child element and is the only means (besides | | * required height of the child element and is the only means (besides | |
| * row justifying) of setting space between rows. Note, however, that | | * row justifying) of setting space between rows. Note, however, that | |
| * @c align_y dictates positioning relative to the <b>largest | | * @c align_y dictates positioning relative to the <b>largest | |
| * height</b> required by a child object in the actual row. | | * height</b> required by a child object in the actual row. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_flow_horizontal
(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_flow_horizontal(Evas
_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a @b flow vertical box. | | * Layout function which sets the box @a o to a @b flow vertical box. | |
| * | | * | |
| * This function behaves analogously to | | * This function behaves analogously to | |
| * evas_object_box_layout_flow_horizontal(). The description of its | | * evas_object_box_layout_flow_horizontal(). The description of its | |
| * behaviour can be derived from that function's documentation. | | * behaviour can be derived from that function's documentation. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_flow_vertical
(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_flow_vertical(Evas_O
bject *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Layout function which sets the box @a o to a @b stacking box | | * Layout function which sets the box @a o to a @b stacking box | |
| * | | * | |
| * @param o The box object in question | | * @param o The box object in question | |
| * @param priv The smart data of the @p o | | * @param priv The smart data of the @p o | |
| * @param data The data pointer passed on | | * @param data The data pointer passed on | |
| * evas_object_box_layout_set(), if any | | * evas_object_box_layout_set(), if any | |
| * | | * | |
| * In a stacking box, all children will be given the same size -- the | | * In a stacking box, all children will be given the same size -- the | |
| | | | |
| skipping to change at line 10903 | | skipping to change at line 11435 | |
| * \par Child element's properties: | | * \par Child element's properties: | |
| * @c padding_l and @c padding_r sum up to the required width of the | | * @c padding_l and @c padding_r sum up to the required width of the | |
| * child element. The @c align_x property tells the relative position | | * child element. The @c align_x property tells the relative position | |
| * of this overall child width in its allocated cell (@c 0.0 to | | * of this overall child width in its allocated cell (@c 0.0 to | |
| * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to @c | | * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to @c | |
| * align_x makes the box try to resize this child element to the exact | | * align_x makes the box try to resize this child element to the exact | |
| * width of its cell (respecting the min and max hints on the child's | | * width of its cell (respecting the min and max hints on the child's | |
| * width and accounting for its horizontal padding properties). The | | * width and accounting for its horizontal padding properties). The | |
| * same applies to the vertical axis. | | * same applies to the vertical axis. | |
| */ | | */ | |
|
| EAPI void evas_object_box_layout_stack
(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_stack(Evas_Object *o
, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set the alignment of the whole bounding box of contents, for a | | * Set the alignment of the whole bounding box of contents, for a | |
| * given box object. | | * given box object. | |
| * | | * | |
| * @param o The given box object to set alignment from | | * @param o The given box object to set alignment from | |
| * @param horizontal The horizontal alignment, in pixels | | * @param horizontal The horizontal alignment, in pixels | |
| * @param vertical the vertical alignment, in pixels | | * @param vertical the vertical alignment, in pixels | |
| * | | * | |
| * This will influence how a box object is to align its bounding box | | * This will influence how a box object is to align its bounding box | |
| * of contents within its own area. The values @b must be in the range | | * of contents within its own area. The values @b must be in the range | |
| * @c 0.0 - @c 1.0, or undefined behavior is expected. For horizontal | | * @c 0.0 - @c 1.0, or undefined behavior is expected. For horizontal | |
| * alignment, @c 0.0 means to the left, with @c 1.0 meaning to the | | * alignment, @c 0.0 means to the left, with @c 1.0 meaning to the | |
| * right. For vertical alignment, @c 0.0 means to the top, with @c 1.0 | | * right. For vertical alignment, @c 0.0 means to the top, with @c 1.0 | |
| * meaning to the bottom. | | * meaning to the bottom. | |
| * | | * | |
| * @note The default values for both alignments is @c 0.5. | | * @note The default values for both alignments is @c 0.5. | |
| * | | * | |
| * @see evas_object_box_align_get() | | * @see evas_object_box_align_get() | |
| */ | | */ | |
|
| EAPI void evas_object_box_align_set
(Evas_Object *o, double horizontal, double vertical) EINA_ARG_NO
NNULL(1); | | EAPI void evas_object_box_align_set(Evas_Object *o, d
ouble horizontal, double vertical) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the alignment of the whole bounding box of contents, for a | | * Get the alignment of the whole bounding box of contents, for a | |
| * given box object. | | * given box object. | |
| * | | * | |
| * @param o The given box object to get alignment from | | * @param o The given box object to get alignment from | |
| * @param horizontal Pointer to a variable where to store the | | * @param horizontal Pointer to a variable where to store the | |
| * horizontal alignment | | * horizontal alignment | |
| * @param vertical Pointer to a variable where to store the vertical | | * @param vertical Pointer to a variable where to store the vertical | |
| * alignment | | * alignment | |
| * | | * | |
| * @see evas_object_box_align_set() for more information | | * @see evas_object_box_align_set() for more information | |
| */ | | */ | |
|
| EAPI void evas_object_box_align_get
(const Evas_Object *o, double *horizontal, double *vertical) EIN
A_ARG_NONNULL(1); | | EAPI void evas_object_box_align_get(const Evas_Object
*o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the (space) padding between cells set for a given box object. | | * Set the (space) padding between cells set for a given box object. | |
| * | | * | |
| * @param o The given box object to set padding from | | * @param o The given box object to set padding from | |
| * @param horizontal The horizontal padding, in pixels | | * @param horizontal The horizontal padding, in pixels | |
| * @param vertical the vertical padding, in pixels | | * @param vertical the vertical padding, in pixels | |
| * | | * | |
| * @note The default values for both padding components is @c 0. | | * @note The default values for both padding components is @c 0. | |
| * | | * | |
| * @see evas_object_box_padding_get() | | * @see evas_object_box_padding_get() | |
| */ | | */ | |
|
| EAPI void evas_object_box_padding_set
(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EIN
A_ARG_NONNULL(1); | | EAPI void evas_object_box_padding_set(Evas_Object *o,
Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the (space) padding between cells set for a given box object. | | * Get the (space) padding between cells set for a given box object. | |
| * | | * | |
| * @param o The given box object to get padding from | | * @param o The given box object to get padding from | |
| * @param horizontal Pointer to a variable where to store the | | * @param horizontal Pointer to a variable where to store the | |
| * horizontal padding | | * horizontal padding | |
| * @param vertical Pointer to a variable where to store the vertical | | * @param vertical Pointer to a variable where to store the vertical | |
| * padding | | * padding | |
| * | | * | |
| * @see evas_object_box_padding_set() | | * @see evas_object_box_padding_set() | |
| */ | | */ | |
|
| EAPI void evas_object_box_padding_get
(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *verti
cal) EINA_ARG_NONNULL(1); | | EAPI void evas_object_box_padding_get(const Evas_Obje
ct *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Append a new @a child object to the given box object @a o. | | * Append a new @a child object to the given box object @a o. | |
| * | | * | |
| * @param o The given box object | | * @param o The given box object | |
| * @param child A child Evas object to be made a member of @p o | | * @param child A child Evas object to be made a member of @p o | |
| * @return A box option bound to the recently added box item or @c | | * @return A box option bound to the recently added box item or @c | |
| * NULL, on errors | | * NULL, on errors | |
| * | | * | |
| * On success, the @c "child,added" smart event will take place. | | * On success, the @c "child,added" smart event will take place. | |
| * | | * | |
| * @note The actual placing of the item relative to @p o's area will | | * @note The actual placing of the item relative to @p o's area will | |
| * depend on the layout set to it. For example, on horizontal layouts | | * depend on the layout set to it. For example, on horizontal layouts | |
| * an item in the end of the box's list of children will appear on its | | * an item in the end of the box's list of children will appear on its | |
| * right. | | * right. | |
| * | | * | |
| * @note This call will trigger the box's _Evas_Object_Box_Api::append | | * @note This call will trigger the box's _Evas_Object_Box_Api::append | |
| * smart function. | | * smart function. | |
| */ | | */ | |
|
| EAPI Evas_Object_Box_Option *evas_object_box_append
(Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | | EAPI Evas_Object_Box_Option *evas_object_box_append(Evas_Object *o, Evas
_Object *child) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Prepend a new @a child object to the given box object @a o. | | * Prepend a new @a child object to the given box object @a o. | |
| * | | * | |
| * @param o The given box object | | * @param o The given box object | |
| * @param child A child Evas object to be made a member of @p o | | * @param child A child Evas object to be made a member of @p o | |
| * @return A box option bound to the recently added box item or @c | | * @return A box option bound to the recently added box item or @c | |
| * NULL, on errors | | * NULL, on errors | |
| * | | * | |
| * On success, the @c "child,added" smart event will take place. | | * On success, the @c "child,added" smart event will take place. | |
| * | | * | |
| * @note The actual placing of the item relative to @p o's area will | | * @note The actual placing of the item relative to @p o's area will | |
| * depend on the layout set to it. For example, on horizontal layouts | | * depend on the layout set to it. For example, on horizontal layouts | |
| * an item in the beginning of the box's list of children will appear | | * an item in the beginning of the box's list of children will appear | |
| * on its left. | | * on its left. | |
| * | | * | |
| * @note This call will trigger the box's | | * @note This call will trigger the box's | |
| * _Evas_Object_Box_Api::prepend smart function. | | * _Evas_Object_Box_Api::prepend smart function. | |
| */ | | */ | |
|
| EAPI Evas_Object_Box_Option *evas_object_box_prepend
(Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | | EAPI Evas_Object_Box_Option *evas_object_box_prepend(Evas_Object *o, Eva
s_Object *child) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Insert a new @a child object <b>before another existing one</b>, in | | * Insert a new @a child object <b>before another existing one</b>, in | |
| * a given box object @a o. | | * a given box object @a o. | |
| * | | * | |
| * @param o The given box object | | * @param o The given box object | |
| * @param child A child Evas object to be made a member of @p o | | * @param child A child Evas object to be made a member of @p o | |
| * @param reference The child object to place this new one before | | * @param reference The child object to place this new one before | |
| * @return A box option bound to the recently added box item or @c | | * @return A box option bound to the recently added box item or @c | |
| * NULL, on errors | | * NULL, on errors | |
| | | | |
| skipping to change at line 11027 | | skipping to change at line 11559 | |
| * | | * | |
| * @note This function will fail if @p reference is not a member of @p | | * @note This function will fail if @p reference is not a member of @p | |
| * o. | | * o. | |
| * | | * | |
| * @note The actual placing of the item relative to @p o's area will | | * @note The actual placing of the item relative to @p o's area will | |
| * depend on the layout set to it. | | * depend on the layout set to it. | |
| * | | * | |
| * @note This call will trigger the box's | | * @note This call will trigger the box's | |
| * _Evas_Object_Box_Api::insert_before smart function. | | * _Evas_Object_Box_Api::insert_before smart function. | |
| */ | | */ | |
|
| EAPI Evas_Object_Box_Option *evas_object_box_insert_before
(Evas_Object *o, Evas_Object *child, const Evas_Object *referenc
e) EINA_ARG_NONNULL(1, 2, 3); | | EAPI Evas_Object_Box_Option *evas_object_box_insert_before(Evas_Object *
o, Evas_Object *child, const Evas_Object *reference) EINA_ARG_NONNULL(1, 2,
3); | |
| | | | |
| /** | | /** | |
| * Insert a new @a child object <b>after another existing one</b>, in | | * Insert a new @a child object <b>after another existing one</b>, in | |
| * a given box object @a o. | | * a given box object @a o. | |
| * | | * | |
| * @param o The given box object | | * @param o The given box object | |
| * @param child A child Evas object to be made a member of @p o | | * @param child A child Evas object to be made a member of @p o | |
| * @param reference The child object to place this new one after | | * @param reference The child object to place this new one after | |
| * @return A box option bound to the recently added box item or @c | | * @return A box option bound to the recently added box item or @c | |
| * NULL, on errors | | * NULL, on errors | |
| | | | |
| skipping to change at line 11050 | | skipping to change at line 11582 | |
| * | | * | |
| * @note This function will fail if @p reference is not a member of @p | | * @note This function will fail if @p reference is not a member of @p | |
| * o. | | * o. | |
| * | | * | |
| * @note The actual placing of the item relative to @p o's area will | | * @note The actual placing of the item relative to @p o's area will | |
| * depend on the layout set to it. | | * depend on the layout set to it. | |
| * | | * | |
| * @note This call will trigger the box's | | * @note This call will trigger the box's | |
| * _Evas_Object_Box_Api::insert_after smart function. | | * _Evas_Object_Box_Api::insert_after smart function. | |
| */ | | */ | |
|
| EAPI Evas_Object_Box_Option *evas_object_box_insert_after
(Evas_Object *o, Evas_Object *child, const Evas_Object *referenc
e) EINA_ARG_NONNULL(1, 2, 3); | | EAPI Evas_Object_Box_Option *evas_object_box_insert_after(Evas_Object *o
, Evas_Object *child, const Evas_Object *reference) EINA_ARG_NONNULL(1, 2,
3); | |
| | | | |
| /** | | /** | |
| * Insert a new @a child object <b>at a given position</b>, in a given | | * Insert a new @a child object <b>at a given position</b>, in a given | |
| * box object @a o. | | * box object @a o. | |
| * | | * | |
| * @param o The given box object | | * @param o The given box object | |
| * @param child A child Evas object to be made a member of @p o | | * @param child A child Evas object to be made a member of @p o | |
| * @param pos The numeric position (starting from @c 0) to place the | | * @param pos The numeric position (starting from @c 0) to place the | |
| * new child object at | | * new child object at | |
| * @return A box option bound to the recently added box item or @c | | * @return A box option bound to the recently added box item or @c | |
| | | | |
| skipping to change at line 11074 | | skipping to change at line 11606 | |
| * | | * | |
| * @note This function will fail if the given position is invalid, | | * @note This function will fail if the given position is invalid, | |
| * given @p o's internal list of elements. | | * given @p o's internal list of elements. | |
| * | | * | |
| * @note The actual placing of the item relative to @p o's area will | | * @note The actual placing of the item relative to @p o's area will | |
| * depend on the layout set to it. | | * depend on the layout set to it. | |
| * | | * | |
| * @note This call will trigger the box's | | * @note This call will trigger the box's | |
| * _Evas_Object_Box_Api::insert_at smart function. | | * _Evas_Object_Box_Api::insert_at smart function. | |
| */ | | */ | |
|
| EAPI Evas_Object_Box_Option *evas_object_box_insert_at
(Evas_Object *o, Evas_Object *child, unsigned int pos) EINA_ARG_
NONNULL(1, 2); | | EAPI Evas_Object_Box_Option *evas_object_box_insert_at(Evas_Object *o, E
vas_Object *child, unsigned int pos) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Remove a given object from a box object, unparenting it again. | | * Remove a given object from a box object, unparenting it again. | |
| * | | * | |
| * @param o The box object to remove a child object from | | * @param o The box object to remove a child object from | |
| * @param child The handle to the child object to be removed | | * @param child The handle to the child object to be removed | |
| * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | | * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | |
| * | | * | |
| * On removal, you'll get an unparented object again, just as it was | | * On removal, you'll get an unparented object again, just as it was | |
| * before you inserted it in the box. The | | * before you inserted it in the box. The | |
| * _Evas_Object_Box_Api::option_free box smart callback will be called | | * _Evas_Object_Box_Api::option_free box smart callback will be called | |
| * automatically for you and, also, the @c "child,removed" smart event | | * automatically for you and, also, the @c "child,removed" smart event | |
| * will take place. | | * will take place. | |
| * | | * | |
| * @note This call will trigger the box's _Evas_Object_Box_Api::remove | | * @note This call will trigger the box's _Evas_Object_Box_Api::remove | |
| * smart function. | | * smart function. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_box_remove
(Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_remove(Evas_Object *o, Evas
_Object *child) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Remove an object, <b>bound to a given position</b> in a box object, | | * Remove an object, <b>bound to a given position</b> in a box object, | |
| * unparenting it again. | | * unparenting it again. | |
| * | | * | |
| * @param o The box object to remove a child object from | | * @param o The box object to remove a child object from | |
| * @param pos The numeric position (starting from @c 0) of the child | | * @param pos The numeric position (starting from @c 0) of the child | |
| * object to be removed | | * object to be removed | |
| * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | | * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | |
| * | | * | |
| | | | |
| skipping to change at line 11114 | | skipping to change at line 11646 | |
| * before you inserted it in the box. The @c option_free() box smart | | * before you inserted it in the box. The @c option_free() box smart | |
| * callback will be called automatically for you and, also, the | | * callback will be called automatically for you and, also, the | |
| * @c "child,removed" smart event will take place. | | * @c "child,removed" smart event will take place. | |
| * | | * | |
| * @note This function will fail if the given position is invalid, | | * @note This function will fail if the given position is invalid, | |
| * given @p o's internal list of elements. | | * given @p o's internal list of elements. | |
| * | | * | |
| * @note This call will trigger the box's | | * @note This call will trigger the box's | |
| * _Evas_Object_Box_Api::remove_at smart function. | | * _Evas_Object_Box_Api::remove_at smart function. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_box_remove_at
(Evas_Object *o, unsigned int pos) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_box_remove_at(Evas_Object *o, u
nsigned int pos) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Remove @b all child objects from a box object, unparenting them | | * Remove @b all child objects from a box object, unparenting them | |
| * again. | | * again. | |
| * | | * | |
| * @param o The box object to remove a child object from | | * @param o The box object to remove a child object from | |
| * @param clear if true, it will delete just removed children. | | * @param clear if true, it will delete just removed children. | |
| * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | | * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | |
| * | | * | |
| * This has the same effect of calling evas_object_box_remove() on | | * This has the same effect of calling evas_object_box_remove() on | |
| * each of @p o's child objects, in sequence. If, and only if, all | | * each of @p o's child objects, in sequence. If, and only if, all | |
| * those calls succeed, so does this one. | | * those calls succeed, so does this one. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_box_remove_all
(Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_box_remove_all(Evas_Object *o,
Eina_Bool clear) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get an iterator to walk the list of children of a given box object. | | * Get an iterator to walk the list of children of a given box object. | |
| * | | * | |
| * @param o The box to retrieve an items iterator from | | * @param o The box to retrieve an items iterator from | |
| * @return An iterator on @p o's child objects, on success, or @c NULL, | | * @return An iterator on @p o's child objects, on success, or @c NULL, | |
| * on errors | | * on errors | |
| * | | * | |
| * @note Do @b not remove or delete objects while walking the list. | | * @note Do @b not remove or delete objects while walking the list. | |
| */ | | */ | |
|
| EAPI Eina_Iterator *evas_object_box_iterator_new
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1) EINA_MALLOC; | | EAPI Eina_Iterator *evas_object_box_iterator_new(const Evas_Obj
ect *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get an accessor (a structure providing random items access) to the | | * Get an accessor (a structure providing random items access) to the | |
| * list of children of a given box object. | | * list of children of a given box object. | |
| * | | * | |
| * @param o The box to retrieve an items iterator from | | * @param o The box to retrieve an items iterator from | |
| * @return An accessor on @p o's child objects, on success, or @c NULL, | | * @return An accessor on @p o's child objects, on success, or @c NULL, | |
| * on errors | | * on errors | |
| * | | * | |
| * @note Do not remove or delete objects while walking the list. | | * @note Do not remove or delete objects while walking the list. | |
| */ | | */ | |
|
| EAPI Eina_Accessor *evas_object_box_accessor_new
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1) EINA_MALLOC; | | EAPI Eina_Accessor *evas_object_box_accessor_new(const Evas_Obj
ect *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the list of children objects in a given box object. | | * Get the list of children objects in a given box object. | |
| * | | * | |
| * @param o The box to retrieve an items list from | | * @param o The box to retrieve an items list from | |
| * @return A list of @p o's child objects, on success, or @c NULL, | | * @return A list of @p o's child objects, on success, or @c NULL, | |
| * on errors (or if it has no child objects) | | * on errors (or if it has no child objects) | |
| * | | * | |
| * The returned list should be freed with @c eina_list_free() when you | | * The returned list should be freed with @c eina_list_free() when you | |
| * no longer need it. | | * no longer need it. | |
| * | | * | |
| * @note This is a duplicate of the list kept by the box internally. | | * @note This is a duplicate of the list kept by the box internally. | |
| * It's up to the user to destroy it when it no longer needs it. | | * It's up to the user to destroy it when it no longer needs it. | |
| * It's possible to remove objects from the box when walking | | * It's possible to remove objects from the box when walking | |
| * this list, but these removals won't be reflected on it. | | * this list, but these removals won't be reflected on it. | |
| */ | | */ | |
|
| EAPI Eina_List *evas_object_box_children_get
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1) EINA_MALLOC; | | EAPI Eina_List *evas_object_box_children_get(const Evas_Obj
ect *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the name of the property of the child elements of the box @a o | | * Get the name of the property of the child elements of the box @a o | |
| * which have @a id as identifier | | * which have @a id as identifier | |
| * | | * | |
| * @param o The box to search child options from | | * @param o The box to search child options from | |
| * @param property The numerical identifier of the option being searched, | | * @param property The numerical identifier of the option being searched, | |
| * for its name | | * for its name | |
| * @return The name of the given property or @c NULL, on errors. | | * @return The name of the given property or @c NULL, on errors. | |
| * | | * | |
| * @note This call won't do anything for a canonical Evas box. Only | | * @note This call won't do anything for a canonical Evas box. Only | |
| * users which have @b subclassed it, setting custom box items options | | * users which have @b subclassed it, setting custom box items options | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and set it to be the | | * function. They'd have to implement it and set it to be the | |
| * _Evas_Object_Box_Api::property_name_get smart class function of the | | * _Evas_Object_Box_Api::property_name_get smart class function of the | |
| * box, which is originally set to @c NULL. | | * box, which is originally set to @c NULL. | |
| */ | | */ | |
|
| EAPI const char *evas_object_box_option_property_name_get
(Evas_Object *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_
NONNULL(1); | | EAPI const char *evas_object_box_option_property_name_get(co
nst Evas_Object *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1); | |
| | | | |
| /** | | /** | |
| * Get the numerical identifier of the property of the child elements | | * Get the numerical identifier of the property of the child elements | |
| * of the box @a o which have @a name as name string | | * of the box @a o which have @a name as name string | |
| * | | * | |
| * @param o The box to search child options from | | * @param o The box to search child options from | |
| * @param name The name string of the option being searched, for | | * @param name The name string of the option being searched, for | |
| * its ID | | * its ID | |
| * @return The numerical ID of the given property or @c -1, on | | * @return The numerical ID of the given property or @c -1, on | |
| * errors. | | * errors. | |
| * | | * | |
| * @note This call won't do anything for a canonical Evas box. Only | | * @note This call won't do anything for a canonical Evas box. Only | |
| * users which have @b subclassed it, setting custom box items options | | * users which have @b subclassed it, setting custom box items options | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and set it to be the | | * function. They'd have to implement it and set it to be the | |
| * _Evas_Object_Box_Api::property_id_get smart class function of the | | * _Evas_Object_Box_Api::property_id_get smart class function of the | |
| * box, which is originally set to @c NULL. | | * box, which is originally set to @c NULL. | |
| */ | | */ | |
|
| EAPI int evas_object_box_option_property_id_get
(Evas_Object *o, const char *name) EINA_WARN_UNUSED_RESULT EINA_
ARG_NONNULL(1, 2); | | EAPI int evas_object_box_option_property_id_get(cons
t Evas_Object *o, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNUL
L(1, 2); | |
| | | | |
| /** | | /** | |
| * Set a property value (by its given numerical identifier), on a | | * Set a property value (by its given numerical identifier), on a | |
| * given box child element | | * given box child element | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to set a property on | | * to set a property on | |
| * @param property The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param ... (List of) actual value(s) to be set for this | | * @param ... (List of) actual value(s) to be set for this | |
| | | | |
| skipping to change at line 11232 | | skipping to change at line 11764 | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and set it to be the | | * function. They'd have to implement it and set it to be the | |
| * _Evas_Object_Box_Api::property_set smart class function of the box, | | * _Evas_Object_Box_Api::property_set smart class function of the box, | |
| * which is originally set to @c NULL. | | * which is originally set to @c NULL. | |
| * | | * | |
| * @note This function will internally create a variable argument | | * @note This function will internally create a variable argument | |
| * list, with the values passed after @p property, and call | | * list, with the values passed after @p property, and call | |
| * evas_object_box_option_property_vset() with this list and the same | | * evas_object_box_option_property_vset() with this list and the same | |
| * previous arguments. | | * previous arguments. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_box_option_property_set
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_set(Evas_Ob
ject *o, Evas_Object_Box_Option *opt, int property, ...) EINA_ARG_NONNULL(1
, 2); | |
| | | | |
| /** | | /** | |
| * Set a property value (by its given numerical identifier), on a | | * Set a property value (by its given numerical identifier), on a | |
| * given box child element -- by a variable argument list | | * given box child element -- by a variable argument list | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to set a property on | | * to set a property on | |
| * @param property The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param args The variable argument list implementing the value to | | * @param args The variable argument list implementing the value to | |
| * be set for this property. It @b must be of the same type the user has | | * be set for this property. It @b must be of the same type the user has | |
| * defined for it. | | * defined for it. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | |
| * | | * | |
| * This is a variable argument list variant of the | | * This is a variable argument list variant of the | |
| * evas_object_box_option_property_set(). See its documentation for | | * evas_object_box_option_property_set(). See its documentation for | |
| * more details. | | * more details. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_box_option_property_vset
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_l
ist args) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_vset(Evas_O
bject *o, Evas_Object_Box_Option *opt, int property, va_list args) EINA_ARG
_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get a property's value (by its given numerical identifier), on a | | * Get a property's value (by its given numerical identifier), on a | |
| * given box child element | | * given box child element | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to get a property from | | * to get a property from | |
| * @param property The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param ... (List of) pointer(s) where to store the value(s) set for | | * @param ... (List of) pointer(s) where to store the value(s) set for | |
| | | | |
| skipping to change at line 11278 | | skipping to change at line 11810 | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and get it to be the | | * function. They'd have to implement it and get it to be the | |
| * _Evas_Object_Box_Api::property_get smart class function of the | | * _Evas_Object_Box_Api::property_get smart class function of the | |
| * box, which is originally get to @c NULL. | | * box, which is originally get to @c NULL. | |
| * | | * | |
| * @note This function will internally create a variable argument | | * @note This function will internally create a variable argument | |
| * list, with the values passed after @p property, and call | | * list, with the values passed after @p property, and call | |
| * evas_object_box_option_property_vget() with this list and the same | | * evas_object_box_option_property_vget() with this list and the same | |
| * previous arguments. | | * previous arguments. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_box_option_property_get
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_get(const E
vas_Object *o, Evas_Object_Box_Option *opt, int property, ...) EINA_ARG_NON
NULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get a property's value (by its given numerical identifier), on a | | * Get a property's value (by its given numerical identifier), on a | |
| * given box child element -- by a variable argument list | | * given box child element -- by a variable argument list | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to get a property from | | * to get a property from | |
| * @param property The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param args The variable argument list with pointers to where to | | * @param args The variable argument list with pointers to where to | |
| * store the values of this property. They @b must point to variables | | * store the values of this property. They @b must point to variables | |
| * of the same type the user has defined for them. | | * of the same type the user has defined for them. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | |
| * | | * | |
| * This is a variable argument list variant of the | | * This is a variable argument list variant of the | |
| * evas_object_box_option_property_get(). See its documentation for | | * evas_object_box_option_property_get(). See its documentation for | |
| * more details. | | * more details. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_box_option_property_vget
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_l
ist args) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_vget(const
Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) EI
NA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Table Table Smart Object. | | * @defgroup Evas_Object_Table Table Smart Object. | |
| * | | * | |
| * Convenience smart object that packs children using a tabular | | * Convenience smart object that packs children using a tabular | |
| * layout using children size hints to define their size and | | * layout using children size hints to define their size and | |
| | | | |
| skipping to change at line 11324 | | skipping to change at line 11856 | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| * | | * | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @brief Create a new table. | | * @brief Create a new table. | |
| * | | * | |
| * @param evas Canvas in which table will be added. | | * @param evas Canvas in which table will be added. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_table_add
(Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_table_add(Evas *evas) E
INA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * @brief Create a table that is child of a given element @a parent. | | * @brief Create a table that is child of a given element @a parent. | |
| * | | * | |
| * @see evas_object_table_add() | | * @see evas_object_table_add() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_table_add_to
(Evas_Object *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALL
OC; | | EAPI Evas_Object *evas_object_table_add_to(Evas_Objec
t *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * @brief Set how this table should layout children. | | * @brief Set how this table should layout children. | |
| * | | * | |
| * @todo consider aspect hint and respect it. | | * @todo consider aspect hint and respect it. | |
| * | | * | |
| * @par EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE | | * @par EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE | |
| * If table does not use homogeneous mode then columns and rows will | | * If table does not use homogeneous mode then columns and rows will | |
| * be calculated based on hints of individual cells. This operation | | * be calculated based on hints of individual cells. This operation | |
| * mode is more flexible, but more complex and heavy to calculate as | | * mode is more flexible, but more complex and heavy to calculate as | |
| | | | |
| skipping to change at line 11375 | | skipping to change at line 11907 | |
| * too small to hold this minimum bounding box, then the objects will | | * too small to hold this minimum bounding box, then the objects will | |
| * keep their size and the bounding box will overflow the box area, | | * keep their size and the bounding box will overflow the box area, | |
| * still respecting the alignment. @b Weight hint is used as a | | * still respecting the alignment. @b Weight hint is used as a | |
| * boolean, if greater than zero it will make that cell expand in that | | * boolean, if greater than zero it will make that cell expand in that | |
| * axis, toggling the <b>expand mode</b>, which makes the table behave | | * axis, toggling the <b>expand mode</b>, which makes the table behave | |
| * much like @b EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE, except that the | | * much like @b EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE, except that the | |
| * bounding box will overflow and items will not overlap siblings. If | | * bounding box will overflow and items will not overlap siblings. If | |
| * no minimum size is provided at all then the table will fallback to | | * no minimum size is provided at all then the table will fallback to | |
| * expand mode as well. | | * expand mode as well. | |
| */ | | */ | |
|
| EAPI void evas_object_table_homogeneous_set
(Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) EINA_ARG_N
ONNULL(1); | | EAPI void evas_object_table_homogeneous_set(E
vas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) EINA_ARG_NON
NULL(1); | |
| | | | |
| /** | | /** | |
| * Get the current layout homogeneous mode. | | * Get the current layout homogeneous mode. | |
| * | | * | |
| * @see evas_object_table_homogeneous_set() | | * @see evas_object_table_homogeneous_set() | |
| */ | | */ | |
|
| EAPI Evas_Object_Table_Homogeneous_Mode evas_object_table_homogeneous_get
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Evas_Object_Table_Homogeneous_Mode evas_object_table_homogeneous_get(c
onst Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set padding between cells. | | * Set padding between cells. | |
| */ | | */ | |
|
| EAPI void evas_object_table_padding_set
(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNU
LL(1); | | EAPI void evas_object_table_padding_set(Evas_
Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get padding between cells. | | * Get padding between cells. | |
| */ | | */ | |
|
| EAPI void evas_object_table_padding_get
(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_A
RG_NONNULL(1); | | EAPI void evas_object_table_padding_get(const
Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NON
NULL(1); | |
| | | | |
| /** | | /** | |
| * Set the alignment of the whole bounding box of contents. | | * Set the alignment of the whole bounding box of contents. | |
| */ | | */ | |
|
| EAPI void evas_object_table_align_set
(Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1); | | EAPI void evas_object_table_align_set(Evas_Ob
ject *o, double horizontal, double vertical) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get alignment of the whole bounding box of contents. | | * Get alignment of the whole bounding box of contents. | |
| */ | | */ | |
|
| EAPI void evas_object_table_align_get
(const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNU
LL(1); | | EAPI void evas_object_table_align_get(const E
vas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the mirrored mode of the table. In mirrored mode the table items go | | * Sets the mirrored mode of the table. In mirrored mode the table items go | |
| * from right to left instead of left to right. That is, 1,1 is top right,
not | | * from right to left instead of left to right. That is, 1,1 is top right,
not | |
| * top left. | | * top left. | |
| * | | * | |
| * @param o The table object. | | * @param o The table object. | |
| * @param mirrored the mirrored mode to set | | * @param mirrored the mirrored mode to set | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_table_mirrored_set
(Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1); | | EAPI void evas_object_table_mirrored_set(Evas
_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the mirrored mode of the table. | | * Gets the mirrored mode of the table. | |
| * | | * | |
| * @param o The table object. | | * @param o The table object. | |
| * @return @c EINA_TRUE if it's a mirrored table, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it's a mirrored table, @c EINA_FALSE otherwise. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| * @see evas_object_table_mirrored_set() | | * @see evas_object_table_mirrored_set() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_table_mirrored_get
(const Evas_Object *o) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_table_mirrored_get(cons
t Evas_Object *o) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get packing location of a child of table | | * Get packing location of a child of table | |
| * | | * | |
| * @param o The given table object. | | * @param o The given table object. | |
| * @param child The child object to add. | | * @param child The child object to add. | |
| * @param col pointer to store relative-horizontal position to place child. | | * @param col pointer to store relative-horizontal position to place child. | |
| * @param row pointer to store relative-vertical position to place child. | | * @param row pointer to store relative-vertical position to place child. | |
| * @param colspan pointer to store how many relative-horizontal position to
use for this child. | | * @param colspan pointer to store how many relative-horizontal position to
use for this child. | |
| * @param rowspan pointer to store how many relative-vertical position to u
se for this child. | | * @param rowspan pointer to store how many relative-vertical position to u
se for this child. | |
| * | | * | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_table_pack_get(Evas_Ob
ject *o, Evas_Object *child, unsigned short *col, unsigned short *row, unsi
gned short *colspan, unsigned short *rowspan); | | EAPI Eina_Bool evas_object_table_pack_get(const Ev
as_Object *o, Evas_Object *child, unsigned short *col, unsigned short *row,
unsigned short *colspan, unsigned short *rowspan); | |
| | | | |
| /** | | /** | |
| * Add a new child to a table object or set its current packing. | | * Add a new child to a table object or set its current packing. | |
| * | | * | |
| * @param o The given table object. | | * @param o The given table object. | |
| * @param child The child object to add. | | * @param child The child object to add. | |
| * @param col relative-horizontal position to place child. | | * @param col relative-horizontal position to place child. | |
| * @param row relative-vertical position to place child. | | * @param row relative-vertical position to place child. | |
| * @param colspan how many relative-horizontal position to use for this chi
ld. | | * @param colspan how many relative-horizontal position to use for this chi
ld. | |
| * @param rowspan how many relative-vertical position to use for this child
. | | * @param rowspan how many relative-vertical position to use for this child
. | |
| * | | * | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_table_pack
(Evas_Object *o, Evas_Object *child, unsigned short col, unsigned short row
, unsigned short colspan, unsigned short rowspan) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_table_pack(Evas_Object
*o, Evas_Object *child, unsigned short col, unsigned short row, unsigned sh
ort colspan, unsigned short rowspan) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Remove child from table. | | * Remove child from table. | |
| * | | * | |
| * @note removing a child will immediately call a walk over children in ord
er | | * @note removing a child will immediately call a walk over children in ord
er | |
| * to recalculate numbers of columns and rows. If you plan to remove | | * to recalculate numbers of columns and rows. If you plan to remove | |
| * all children, use evas_object_table_clear() instead. | | * all children, use evas_object_table_clear() instead. | |
| * | | * | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_table_unpack
(Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_table_unpack(Evas_Objec
t *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Faster way to remove all child objects from a table object. | | * Faster way to remove all child objects from a table object. | |
| * | | * | |
| * @param o The given table object. | | * @param o The given table object. | |
| * @param clear if true, it will delete just removed children. | | * @param clear if true, it will delete just removed children. | |
| */ | | */ | |
|
| EAPI void evas_object_table_clear
(Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1); | | EAPI void evas_object_table_clear(Evas_Object
*o, Eina_Bool clear) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the number of columns and rows this table takes. | | * Get the number of columns and rows this table takes. | |
| * | | * | |
| * @note columns and rows are virtual entities, one can specify a table | | * @note columns and rows are virtual entities, one can specify a table | |
| * with a single object that takes 4 columns and 5 rows. The only | | * with a single object that takes 4 columns and 5 rows. The only | |
| * difference for a single cell table is that paddings will be | | * difference for a single cell table is that paddings will be | |
| * accounted proportionally. | | * accounted proportionally. | |
| */ | | */ | |
|
| EAPI void evas_object_table_col_row_size_get
(const Evas_Object *o, int *cols, int *rows) EINA_ARG_NONNULL(1); | | EAPI void evas_object_table_col_row_size_get(
const Evas_Object *o, int *cols, int *rows) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get an iterator to walk the list of children for the table. | | * Get an iterator to walk the list of children for the table. | |
| * | | * | |
| * @note Do not remove or delete objects while walking the list. | | * @note Do not remove or delete objects while walking the list. | |
| */ | | */ | |
|
| EAPI Eina_Iterator *evas_object_table_iterator_new
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MAL
LOC; | | EAPI Eina_Iterator *evas_object_table_iterator_new(cons
t Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get an accessor to get random access to the list of children for the tab
le. | | * Get an accessor to get random access to the list of children for the tab
le. | |
| * | | * | |
| * @note Do not remove or delete objects while walking the list. | | * @note Do not remove or delete objects while walking the list. | |
| */ | | */ | |
|
| EAPI Eina_Accessor *evas_object_table_accessor_new
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MAL
LOC; | | EAPI Eina_Accessor *evas_object_table_accessor_new(cons
t Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the list of children for the table. | | * Get the list of children for the table. | |
| * | | * | |
| * @note This is a duplicate of the list kept by the table internally. | | * @note This is a duplicate of the list kept by the table internally. | |
| * It's up to the user to destroy it when it no longer needs it. | | * It's up to the user to destroy it when it no longer needs it. | |
| * It's possible to remove objects from the table when walking this | | * It's possible to remove objects from the table when walking this | |
| * list, but these removals won't be reflected on it. | | * list, but these removals won't be reflected on it. | |
| */ | | */ | |
|
| EAPI Eina_List *evas_object_table_children_get
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MAL
LOC; | | EAPI Eina_List *evas_object_table_children_get(cons
t Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the child of the table at the given coordinates | | * Get the child of the table at the given coordinates | |
| * | | * | |
| * @note This does not take into account col/row spanning | | * @note This does not take into account col/row spanning | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_table_child_get
(const Evas_Object *o, unsigned short col, unsigned short row) EINA_ARG_NON
NULL(1); | | EAPI Evas_Object *evas_object_table_child_get(const E
vas_Object *o, unsigned short col, unsigned short row) EINA_ARG_NONNULL(1); | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Grid Grid Smart Object. | | * @defgroup Evas_Object_Grid Grid Smart Object. | |
| * | | * | |
| * Convenience smart object that packs children under a regular grid | | * Convenience smart object that packs children under a regular grid | |
| * layout, using their virtual grid location and size to determine | | * layout, using their virtual grid location and size to determine | |
| * children's positions inside the grid object's area. | | * children's positions inside the grid object's area. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Object_Grid | | * @addtogroup Evas_Object_Grid | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Create a new grid. | | * Create a new grid. | |
| * | | * | |
| * It's set to a virtual size of 1x1 by default and add children with | | * It's set to a virtual size of 1x1 by default and add children with | |
| * evas_object_grid_pack(). | | * evas_object_grid_pack(). | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_grid_add (
Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_grid_add(Evas *evas) EINA_WARN_UNUSED_RESUL
T EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Create a grid that is child of a given element @a parent. | | * Create a grid that is child of a given element @a parent. | |
| * | | * | |
| * @see evas_object_grid_add() | | * @see evas_object_grid_add() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_grid_add_to (
Evas_Object *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLO
C; | | EAPI Evas_Object *evas_object_grid_add_to(Evas_Object *parent) EINA_WARN_
UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Set the virtual resolution for the grid | | * Set the virtual resolution for the grid | |
| * | | * | |
| * @param o The grid object to modify | | * @param o The grid object to modify | |
| * @param w The virtual horizontal size (resolution) in integer units | | * @param w The virtual horizontal size (resolution) in integer units | |
| * @param h The virtual vertical size (resolution) in integer units | | * @param h The virtual vertical size (resolution) in integer units | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_grid_size_set (
Evas_Object *o, int w, int h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_grid_size_set(Evas_Object *o, int w, int h)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the current virtual resolution | | * Get the current virtual resolution | |
| * | | * | |
| * @param o The grid object to query | | * @param o The grid object to query | |
| * @param w A pointer to an integer to store the virtual width | | * @param w A pointer to an integer to store the virtual width | |
| * @param h A pointer to an integer to store the virtual height | | * @param h A pointer to an integer to store the virtual height | |
| * @see evas_object_grid_size_set() | | * @see evas_object_grid_size_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_grid_size_get (
const Evas_Object *o, int *w, int *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_grid_size_get(const Evas_Object *o, int *w,
int *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the mirrored mode of the grid. In mirrored mode the grid items go | | * Sets the mirrored mode of the grid. In mirrored mode the grid items go | |
| * from right to left instead of left to right. That is, 0,0 is top right,
not | | * from right to left instead of left to right. That is, 0,0 is top right,
not | |
| * to left. | | * to left. | |
| * | | * | |
| * @param o The grid object. | | * @param o The grid object. | |
| * @param mirrored the mirrored mode to set | | * @param mirrored the mirrored mode to set | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_grid_mirrored_set (
Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1); | | EAPI void evas_object_grid_mirrored_set(Evas_Object *o, Eina_Bool
mirrored) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the mirrored mode of the grid. | | * Gets the mirrored mode of the grid. | |
| * | | * | |
| * @param o The grid object. | | * @param o The grid object. | |
| * @return @c EINA_TRUE if it's a mirrored grid, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it's a mirrored grid, @c EINA_FALSE otherwise. | |
| * @see evas_object_grid_mirrored_set() | | * @see evas_object_grid_mirrored_set() | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_grid_mirrored_get (
const Evas_Object *o) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_grid_mirrored_get(const Evas_Object *o) EIN
A_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Add a new child to a grid object. | | * Add a new child to a grid object. | |
| * | | * | |
| * @param o The given grid object. | | * @param o The given grid object. | |
| * @param child The child object to add. | | * @param child The child object to add. | |
| * @param x The virtual x coordinate of the child | | * @param x The virtual x coordinate of the child | |
| * @param y The virtual y coordinate of the child | | * @param y The virtual y coordinate of the child | |
| * @param w The virtual width of the child | | * @param w The virtual width of the child | |
| * @param h The virtual height of the child | | * @param h The virtual height of the child | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_grid_pack (
Evas_Object *o, Evas_Object *child, int x, int y, int w, int h) EINA_ARG_NO
NNULL(1, 2); | | EAPI Eina_Bool evas_object_grid_pack(Evas_Object *o, Evas_Object *chil
d, int x, int y, int w, int h) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Remove child from grid. | | * Remove child from grid. | |
| * | | * | |
| * @note removing a child will immediately call a walk over children in ord
er | | * @note removing a child will immediately call a walk over children in ord
er | |
| * to recalculate numbers of columns and rows. If you plan to remove | | * to recalculate numbers of columns and rows. If you plan to remove | |
| * all children, use evas_object_grid_clear() instead. | | * all children, use evas_object_grid_clear() instead. | |
| * | | * | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_grid_unpack (
Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_grid_unpack(Evas_Object *o, Evas_Object *ch
ild) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Faster way to remove all child objects from a grid object. | | * Faster way to remove all child objects from a grid object. | |
| * | | * | |
| * @param o The given grid object. | | * @param o The given grid object. | |
| * @param clear if true, it will delete just removed children. | | * @param clear if true, it will delete just removed children. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI void evas_object_grid_clear (
Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1); | | EAPI void evas_object_grid_clear(Evas_Object *o, Eina_Bool clear)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the pack options for a grid child | | * Get the pack options for a grid child | |
| * | | * | |
| * Get the pack x, y, width and height in virtual coordinates set by | | * Get the pack x, y, width and height in virtual coordinates set by | |
| * evas_object_grid_pack() | | * evas_object_grid_pack() | |
| * @param o The grid object | | * @param o The grid object | |
| * @param child The grid child to query for coordinates | | * @param child The grid child to query for coordinates | |
| * @param x The pointer to where the x coordinate will be returned | | * @param x The pointer to where the x coordinate will be returned | |
| * @param y The pointer to where the y coordinate will be returned | | * @param y The pointer to where the y coordinate will be returned | |
| * @param w The pointer to where the width will be returned | | * @param w The pointer to where the width will be returned | |
| * @param h The pointer to where the height will be returned | | * @param h The pointer to where the height will be returned | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_grid_pack_get (
Evas_Object *o, Evas_Object *child, int *x, int *y, int *w, int *h); | | EAPI Eina_Bool evas_object_grid_pack_get(const Evas_Object *o, Evas_Ob
ject *child, int *x, int *y, int *w, int *h); | |
| | | | |
| /** | | /** | |
| * Get an iterator to walk the list of children for the grid. | | * Get an iterator to walk the list of children for the grid. | |
| * | | * | |
| * @note Do not remove or delete objects while walking the list. | | * @note Do not remove or delete objects while walking the list. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Iterator *evas_object_grid_iterator_new (
const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALL
OC; | | EAPI Eina_Iterator *evas_object_grid_iterator_new(const Evas_Object *o) EIN
A_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get an accessor to get random access to the list of children for the gri
d. | | * Get an accessor to get random access to the list of children for the gri
d. | |
| * | | * | |
| * @note Do not remove or delete objects while walking the list. | | * @note Do not remove or delete objects while walking the list. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_Accessor *evas_object_grid_accessor_new (
const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALL
OC; | | EAPI Eina_Accessor *evas_object_grid_accessor_new(const Evas_Object *o) EIN
A_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the list of children for the grid. | | * Get the list of children for the grid. | |
| * | | * | |
| * @note This is a duplicate of the list kept by the grid internally. | | * @note This is a duplicate of the list kept by the grid internally. | |
| * It's up to the user to destroy it when it no longer needs it. | | * It's up to the user to destroy it when it no longer needs it. | |
| * It's possible to remove objects from the grid when walking this | | * It's possible to remove objects from the grid when walking this | |
| * list, but these removals won't be reflected on it. | | * list, but these removals won't be reflected on it. | |
|
| * @since 1.1.0 | | * @since 1.1 | |
| */ | | */ | |
|
| EAPI Eina_List *evas_object_grid_children_get (
const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALL
OC; | | EAPI Eina_List *evas_object_grid_children_get(const Evas_Object *o) EIN
A_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Cserve Shared Image Cache Server | | * @defgroup Evas_Cserve Shared Image Cache Server | |
| * | | * | |
| * Evas has an (optional) module which provides client-server | | * Evas has an (optional) module which provides client-server | |
| * infrastructure to <b>share bitmaps across multiple processes</b>, | | * infrastructure to <b>share bitmaps across multiple processes</b>, | |
| * saving data and processing power. | | * saving data and processing power. | |
| * | | * | |
| * Be warned that it @b doesn't work when <b>threaded image | | * Be warned that it @b doesn't work when <b>threaded image | |
| * preloading</b> is enabled for Evas, though. | | * preloading</b> is enabled for Evas, though. | |
| */ | | */ | |
|
| typedef struct _Evas_Cserve_Stats Evas_Cserve_Stats; | | typedef struct _Evas_Cserve_Stats Evas_Cserve_Stats; | |
| typedef struct _Evas_Cserve_Image_Cache Evas_Cserve_Image_Cache; | | typedef struct _Evas_Cserve_Image_Cache Evas_Cserve_Image_Cache; | |
| typedef struct _Evas_Cserve_Image Evas_Cserve_Image; | | typedef struct _Evas_Cserve_Image Evas_Cserve_Image; | |
| typedef struct _Evas_Cserve_Config Evas_Cserve_Config; | | typedef struct _Evas_Cserve_Config Evas_Cserve_Config; | |
| | | | |
| /** | | /** | |
| * Statistics about the server that shares cached bitmaps. | | * Statistics about the server that shares cached bitmaps. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| struct _Evas_Cserve_Stats | | struct _Evas_Cserve_Stats | |
| { | | { | |
| int saved_memory; /**< current amount of saved memory, in bytes | | int saved_memory; /**< current amount of saved memory, in bytes | |
| */ | | */ | |
| int wasted_memory; /**< current amount of wasted memory, in byte | | int wasted_memory; /**< current amount of wasted memory, in byte | |
| s */ | | s */ | |
| int saved_memory_peak; /**< peak amount of saved memory, in byte | | int saved_memory_peak; /**< peak amount of saved memory, in byte | |
| s */ | | s */ | |
| int wasted_memory_peak; /**< peak amount of wasted memory, in by | | int wasted_memory_peak; /**< peak amount of wasted memory, in by | |
| tes */ | | tes */ | |
| double saved_time_image_header_load; /**< time, in seconds, saved i | | double saved_time_image_header_load; /**< time, in seconds, saved i | |
| n header loads by sharing cached loads instead */ | | n header loads by sharing cached loads instead */ | |
| double saved_time_image_data_load; /**< time, in seconds, saved in | | double saved_time_image_data_load; /**< time, in seconds, saved in | |
| data loads by sharing cached loads instead */ | | data loads by sharing cached loads instead */ | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * A handle of a cache of images shared by a server. | | * A handle of a cache of images shared by a server. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| struct _Evas_Cserve_Image_Cache | | struct _Evas_Cserve_Image_Cache | |
| { | | { | |
| struct { | | struct | |
| int mem_total; | | { | |
| int count; | | int mem_total; | |
| } active, cached; | | int count; | |
| Eina_List *images; | | } active, cached; | |
| }; | | Eina_List *images; | |
| | | }; | |
| | | | |
| /** | | /** | |
| * A handle to an image shared by a server. | | * A handle to an image shared by a server. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| struct _Evas_Cserve_Image | | struct _Evas_Cserve_Image | |
| { | | { | |
| const char *file, *key; | | const char *file, *key; | |
| int w, h; | | int w, h; | |
| time_t file_mod_time; | | time_t file_mod_time; | |
| time_t file_checked_time; | | time_t file_checked_time; | |
| time_t cached_time; | | time_t cached_time; | |
| int refcount; | | int refcount; | |
| int data_refcount; | | int data_refcount; | |
| int memory_footprint; | | int memory_footprint; | |
| double head_load_time; | | double head_load_time; | |
| double data_load_time; | | double data_load_time; | |
| Eina_Bool alpha : 1; | | Eina_Bool alpha : 1; | |
| Eina_Bool data_loaded : 1; | | Eina_Bool data_loaded : 1; | |
| Eina_Bool active : 1; | | Eina_Bool active : 1; | |
| Eina_Bool dead : 1; | | Eina_Bool dead : 1; | |
| Eina_Bool useless : 1; | | Eina_Bool useless : 1; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Configuration that controls the server that shares cached bitmaps. | | * Configuration that controls the server that shares cached bitmaps. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| struct _Evas_Cserve_Config | | struct _Evas_Cserve_Config | |
| { | | { | |
| int cache_max_usage; | | int cache_max_usage; | |
| int cache_item_timeout; | | int cache_item_timeout; | |
| int cache_item_timeout_check; | | int cache_item_timeout_check; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Retrieves if the system wants to share bitmaps using the server. | | * Retrieves if the system wants to share bitmaps using the server. | |
| * @return @c EINA_TRUE if it wants, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it wants, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_want_get (void) EINA_W
ARN_UNUSED_RESULT; | | EAPI Eina_Bool evas_cserve_want_get(void) EINA_WARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Retrieves if the system is connected to the server used to share | | * Retrieves if the system is connected to the server used to share | |
| * bitmaps. | | * bitmaps. | |
| * | | * | |
| * @return @c EINA_TRUE if it's connected, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it's connected, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_connected_get (void) EINA_W
ARN_UNUSED_RESULT; | | EAPI Eina_Bool evas_cserve_connected_get(void) EINA_WARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Retrieves statistics from a running bitmap sharing server. | | * Retrieves statistics from a running bitmap sharing server. | |
| * @param stats pointer to structure to fill with statistics about the | | * @param stats pointer to structure to fill with statistics about the | |
| * bitmap cache server. | | * bitmap cache server. | |
| * | | * | |
| * @return @c EINA_TRUE if @p stats were filled with data, | | * @return @c EINA_TRUE if @p stats were filled with data, | |
| * @c EINA_FALSE otherwise (when @p stats is untouched) | | * @c EINA_FALSE otherwise (when @p stats is untouched) | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_stats_get (Evas_Cserve_
Stats *stats) EINA_WARN_UNUSED_RESULT; | | EAPI Eina_Bool evas_cserve_stats_get(Evas_Cserve_Stats *stats) EINA_WARN_
UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Completely discard/clean a given images cache, thus re-setting it. | | * Completely discard/clean a given images cache, thus re-setting it. | |
| * | | * | |
| * @param cache A handle to the given images cache. | | * @param cache A handle to the given images cache. | |
| */ | | */ | |
|
| EAPI void evas_cserve_image_cache_contents_clean (Evas_Cserve_
Image_Cache *cache); | | EAPI void evas_cserve_image_cache_contents_clean(Evas_Cserve_Image_C
ache *cache); | |
| | | | |
| /** | | /** | |
| * Retrieves the current configuration of the Evas image caching | | * Retrieves the current configuration of the Evas image caching | |
| * server. | | * server. | |
| * | | * | |
| * @param config where to store current image caching server's | | * @param config where to store current image caching server's | |
| * configuration. | | * configuration. | |
| * | | * | |
| * @return @c EINA_TRUE if @p config was filled with data, | | * @return @c EINA_TRUE if @p config was filled with data, | |
| * @c EINA_FALSE otherwise (when @p config is untouched) | | * @c EINA_FALSE otherwise (when @p config is untouched) | |
| * | | * | |
| * The fields of @p config will be altered to reflect the current | | * The fields of @p config will be altered to reflect the current | |
| * configuration's values. | | * configuration's values. | |
| * | | * | |
| * @see evas_cserve_config_set() | | * @see evas_cserve_config_set() | |
| * | | * | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_config_get (Evas_Cserve_
Config *config) EINA_WARN_UNUSED_RESULT; | | EAPI Eina_Bool evas_cserve_config_get(Evas_Cserve_Config *config) EINA_WA
RN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Changes the configurations of the Evas image caching server. | | * Changes the configurations of the Evas image caching server. | |
| * | | * | |
| * @param config A bitmap cache configuration handle with fields set | | * @param config A bitmap cache configuration handle with fields set | |
| * to desired configuration values. | | * to desired configuration values. | |
| * @return @c EINA_TRUE if @p config was successfully applied, | | * @return @c EINA_TRUE if @p config was successfully applied, | |
| * @c EINA_FALSE otherwise. | | * @c EINA_FALSE otherwise. | |
| * | | * | |
| * @see evas_cserve_config_get() | | * @see evas_cserve_config_get() | |
| * | | * | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_config_set (const Evas_C
serve_Config *config) EINA_WARN_UNUSED_RESULT; | | EAPI Eina_Bool evas_cserve_config_set(const Evas_Cserve_Config *config) E
INA_WARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Force the system to disconnect from the bitmap caching server. | | * Force the system to disconnect from the bitmap caching server. | |
| * | | * | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI void evas_cserve_disconnect (void); | | EAPI void evas_cserve_disconnect(void); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Utils General Utilities | | * @defgroup Evas_Utils General Utilities | |
| * | | * | |
| * Some functions that are handy but are not specific of canvas or | | * Some functions that are handy but are not specific of canvas or | |
| * objects. | | * objects. | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Converts the given Evas image load error code into a string | | * Converts the given Evas image load error code into a string | |
| | | | |
| skipping to change at line 11860 | | skipping to change at line 12393 | |
| * | | * | |
| * Here, being @c valid_path the path to a valid image and @c | | * Here, being @c valid_path the path to a valid image and @c | |
| * bogus_path a path to a file which does not exist, the two outputs | | * bogus_path a path to a file which does not exist, the two outputs | |
| * of evas_load_error_str() would be (if no other errors occur): | | * of evas_load_error_str() would be (if no other errors occur): | |
| * <code>"No error on load"</code> and <code>"File (or file path) does | | * <code>"No error on load"</code> and <code>"File (or file path) does | |
| * not exist"</code>, respectively. See the full @ref | | * not exist"</code>, respectively. See the full @ref | |
| * Example_Evas_Images "example". | | * Example_Evas_Images "example". | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| */ | | */ | |
|
| EAPI const char *evas_load_error_str (Evas_Load_Error e
rror); | | EAPI const char *evas_load_error_str(Evas_Load_Error error); | |
| | | | |
| /* Evas utility routines for color space conversions */ | | /* Evas utility routines for color space conversions */ | |
| /* hsv color space has h in the range 0.0 to 360.0, and s,v in the range 0.
0 to 1.0 */ | | /* hsv color space has h in the range 0.0 to 360.0, and s,v in the range 0.
0 to 1.0 */ | |
| /* rgb color space has r,g,b in the range 0 to 255 */ | | /* rgb color space has r,g,b in the range 0 to 255 */ | |
| | | | |
| /** | | /** | |
| * Convert a given color from HSV to RGB format. | | * Convert a given color from HSV to RGB format. | |
| * | | * | |
| * @param h The Hue component of the color. | | * @param h The Hue component of the color. | |
| * @param s The Saturation component of the color. | | * @param s The Saturation component of the color. | |
| * @param v The Value component of the color. | | * @param v The Value component of the color. | |
| * @param r The Red component of the color. | | * @param r The Red component of the color. | |
| * @param g The Green component of the color. | | * @param g The Green component of the color. | |
| * @param b The Blue component of the color. | | * @param b The Blue component of the color. | |
| * | | * | |
| * This function converts a given color in HSV color format to RGB | | * This function converts a given color in HSV color format to RGB | |
| * color format. | | * color format. | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| **/ | | **/ | |
|
| EAPI void evas_color_hsv_to_rgb (float h, float s,
float v, int *r, int *g, int *b); | | EAPI void evas_color_hsv_to_rgb(float h, float s, float v, int *r, int *g,
int *b); | |
| | | | |
| /** | | /** | |
| * Convert a given color from RGB to HSV format. | | * Convert a given color from RGB to HSV format. | |
| * | | * | |
| * @param r The Red component of the color. | | * @param r The Red component of the color. | |
| * @param g The Green component of the color. | | * @param g The Green component of the color. | |
| * @param b The Blue component of the color. | | * @param b The Blue component of the color. | |
| * @param h The Hue component of the color. | | * @param h The Hue component of the color. | |
| * @param s The Saturation component of the color. | | * @param s The Saturation component of the color. | |
| * @param v The Value component of the color. | | * @param v The Value component of the color. | |
| * | | * | |
| * This function converts a given color in RGB color format to HSV | | * This function converts a given color in RGB color format to HSV | |
| * color format. | | * color format. | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| **/ | | **/ | |
|
| EAPI void evas_color_rgb_to_hsv (int r, int g, int
b, float *h, float *s, float *v); | | EAPI void evas_color_rgb_to_hsv(int r, int g, int b, float *h, float *s, fl
oat *v); | |
| | | | |
| /* argb color space has a,r,g,b in the range 0 to 255 */ | | /* argb color space has a,r,g,b in the range 0 to 255 */ | |
| | | | |
| /** | | /** | |
| * Pre-multiplies a rgb triplet by an alpha factor. | | * Pre-multiplies a rgb triplet by an alpha factor. | |
| * | | * | |
| * @param a The alpha factor. | | * @param a The alpha factor. | |
| * @param r The Red component of the color. | | * @param r The Red component of the color. | |
| * @param g The Green component of the color. | | * @param g The Green component of the color. | |
| * @param b The Blue component of the color. | | * @param b The Blue component of the color. | |
| * | | * | |
| * This function pre-multiplies a given rgb triplet by an alpha | | * This function pre-multiplies a given rgb triplet by an alpha | |
| * factor. Alpha factor is used to define transparency. | | * factor. Alpha factor is used to define transparency. | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| **/ | | **/ | |
|
| EAPI void evas_color_argb_premul (int a, int *r, in
t *g, int *b); | | EAPI void evas_color_argb_premul(int a, int *r, int *g, int *b); | |
| | | | |
| /** | | /** | |
| * Undo pre-multiplication of a rgb triplet by an alpha factor. | | * Undo pre-multiplication of a rgb triplet by an alpha factor. | |
| * | | * | |
| * @param a The alpha factor. | | * @param a The alpha factor. | |
| * @param r The Red component of the color. | | * @param r The Red component of the color. | |
| * @param g The Green component of the color. | | * @param g The Green component of the color. | |
| * @param b The Blue component of the color. | | * @param b The Blue component of the color. | |
| * | | * | |
| * This function undoes pre-multiplication a given rbg triplet by an | | * This function undoes pre-multiplication a given rbg triplet by an | |
| * alpha factor. Alpha factor is used to define transparency. | | * alpha factor. Alpha factor is used to define transparency. | |
| * | | * | |
| * @see evas_color_argb_premul(). | | * @see evas_color_argb_premul(). | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| **/ | | **/ | |
|
| EAPI void evas_color_argb_unpremul (int a, int *r, in
t *g, int *b); | | EAPI void evas_color_argb_unpremul(int a, int *r, int *g, int *b); | |
| | | | |
| /** | | /** | |
| * Pre-multiplies data by an alpha factor. | | * Pre-multiplies data by an alpha factor. | |
| * | | * | |
| * @param data The data value. | | * @param data The data value. | |
| * @param len The length value. | | * @param len The length value. | |
| * | | * | |
| * This function pre-multiplies a given data by an alpha | | * This function pre-multiplies a given data by an alpha | |
| * factor. Alpha factor is used to define transparency. | | * factor. Alpha factor is used to define transparency. | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| **/ | | **/ | |
|
| EAPI void evas_data_argb_premul (unsigned int *dat
a, unsigned int len); | | EAPI void evas_data_argb_premul(unsigned int *data, unsigned int len); | |
| | | | |
| /** | | /** | |
| * Undo pre-multiplication data by an alpha factor. | | * Undo pre-multiplication data by an alpha factor. | |
| * | | * | |
| * @param data The data value. | | * @param data The data value. | |
| * @param len The length value. | | * @param len The length value. | |
| * | | * | |
| * This function undoes pre-multiplication of a given data by an alpha | | * This function undoes pre-multiplication of a given data by an alpha | |
| * factor. Alpha factor is used to define transparency. | | * factor. Alpha factor is used to define transparency. | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| **/ | | **/ | |
|
| EAPI void evas_data_argb_unpremul (unsigned int *dat
a, unsigned int len); | | EAPI void evas_data_argb_unpremul(unsigned int *data, unsigned int len); | |
| | | | |
| /* string and font handling */ | | /* string and font handling */ | |
| | | | |
| /** | | /** | |
| * Gets the next character in the string | | * Gets the next character in the string | |
| * | | * | |
| * Given the UTF-8 string in @p str, and starting byte position in @p pos, | | * Given the UTF-8 string in @p str, and starting byte position in @p pos, | |
| * this function will place in @p decoded the decoded code point at @p pos | | * this function will place in @p decoded the decoded code point at @p pos | |
| * and return the byte index for the next character in the string. | | * and return the byte index for the next character in the string. | |
| * | | * | |
| | | | |
| skipping to change at line 11981 | | skipping to change at line 12514 | |
| * length of the string will result in undefined behavior. | | * length of the string will result in undefined behavior. | |
| * | | * | |
| * @param str The UTF-8 string | | * @param str The UTF-8 string | |
| * @param pos The byte index where to start | | * @param pos The byte index where to start | |
| * @param decoded Address where to store the decoded code point. Optional. | | * @param decoded Address where to store the decoded code point. Optional. | |
| * | | * | |
| * @return The byte index of the next character | | * @return The byte index of the next character | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| */ | | */ | |
|
| EAPI int evas_string_char_next_get (const char *str,
int pos, int *decoded) EINA_ARG_NONNULL(1); | | EAPI int evas_string_char_next_get(const char *str, int pos, int *decoded)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the previous character in the string | | * Gets the previous character in the string | |
| * | | * | |
| * Given the UTF-8 string in @p str, and starting byte position in @p pos, | | * Given the UTF-8 string in @p str, and starting byte position in @p pos, | |
| * this function will place in @p decoded the decoded code point at @p pos | | * this function will place in @p decoded the decoded code point at @p pos | |
| * and return the byte index for the previous character in the string. | | * and return the byte index for the previous character in the string. | |
| * | | * | |
| * The only boundary check done is that @p pos must be >= 1. Other than tha
t, | | * The only boundary check done is that @p pos must be >= 1. Other than tha
t, | |
| * no checks are performed, so passing an index value that's not within the | | * no checks are performed, so passing an index value that's not within the | |
| * length of the string will result in undefined behavior. | | * length of the string will result in undefined behavior. | |
| * | | * | |
| * @param str The UTF-8 string | | * @param str The UTF-8 string | |
| * @param pos The byte index where to start | | * @param pos The byte index where to start | |
| * @param decoded Address where to store the decoded code point. Optional. | | * @param decoded Address where to store the decoded code point. Optional. | |
| * | | * | |
| * @return The byte index of the previous character | | * @return The byte index of the previous character | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| */ | | */ | |
|
| EAPI int evas_string_char_prev_get (const char *str,
int pos, int *decoded) EINA_ARG_NONNULL(1); | | EAPI int evas_string_char_prev_get(const char *str, int pos, int *decoded)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the length in characters of the string. | | * Get the length in characters of the string. | |
| * @param str The string to get the length of. | | * @param str The string to get the length of. | |
| * @return The length in characters (not bytes) | | * @return The length in characters (not bytes) | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| */ | | */ | |
|
| EAPI int evas_string_char_len_get (const char *str)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI int evas_string_char_len_get(const char *str) EINA_WARN_UNUSED_RESULT
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Keys Key Input Functions | | * @defgroup Evas_Keys Key Input Functions | |
| * | | * | |
| * Functions which feed key events to the canvas. | | * Functions which feed key events to the canvas. | |
| * | | * | |
| * As explained in @ref intro_not_evas, Evas is @b not aware of input | | * As explained in @ref intro_not_evas, Evas is @b not aware of input | |
| * systems at all. Then, the user, if using it crudely (evas_new()), | | * systems at all. Then, the user, if using it crudely (evas_new()), | |
| * will have to feed it with input events, so that it can react | | * will have to feed it with input events, so that it can react | |
| * somehow. If, however, the user creates a canvas by means of the | | * somehow. If, however, the user creates a canvas by means of the | |
| | | | |
| skipping to change at line 12068 | | skipping to change at line 12601 | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_del | | * @see evas_key_modifier_del | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| * | | * | |
| * @return An ::Evas_Modifier handle to query Evas' keys subsystem | | * @return An ::Evas_Modifier handle to query Evas' keys subsystem | |
| * with evas_key_modifier_is_set(), or @c NULL on error. | | * with evas_key_modifier_is_set(), or @c NULL on error. | |
| */ | | */ | |
|
| EAPI const Evas_Modifier *evas_key_modifier_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Evas_Modifier *evas_key_modifier_get(const Evas *e) EINA_WARN_UN
USED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns a handle to the list of lock keys registered in the canvas | | * Returns a handle to the list of lock keys registered in the canvas | |
| * @p e. This is required to check for which locks are set at a given | | * @p e. This is required to check for which locks are set at a given | |
| * time with the evas_key_lock_is_set() function. | | * time with the evas_key_lock_is_set() function. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * | | * | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_del | | * @see evas_key_lock_del | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| * @see evas_key_lock_is_set | | * @see evas_key_lock_is_set | |
| * | | * | |
| * @return An ::Evas_Lock handle to query Evas' keys subsystem with | | * @return An ::Evas_Lock handle to query Evas' keys subsystem with | |
| * evas_key_lock_is_set(), or @c NULL on error. | | * evas_key_lock_is_set(), or @c NULL on error. | |
| */ | | */ | |
|
| EAPI const Evas_Lock *evas_key_lock_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI const Evas_Lock *evas_key_lock_get(const Evas *e) EINA_WARN_UNUSED
_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks the state of a given modifier key, at the time of the | | * Checks the state of a given modifier key, at the time of the | |
| * call. If the modifier is set, such as shift being pressed, this | | * call. If the modifier is set, such as shift being pressed, this | |
| * function returns @c Eina_True. | | * function returns @c Eina_True. | |
| * | | * | |
| * @param m The current modifiers set, as returned by | | * @param m The current modifiers set, as returned by | |
| * evas_key_modifier_get(). | | * evas_key_modifier_get(). | |
| * @param keyname The name of the modifier key to check status for. | | * @param keyname The name of the modifier key to check status for. | |
| * | | * | |
| * @return @c Eina_True if the modifier key named @p keyname is on, @c | | * @return @c Eina_True if the modifier key named @p keyname is on, @c | |
| * Eina_False otherwise. | | * Eina_False otherwise. | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_del | | * @see evas_key_modifier_del | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_key_modifier_is_set (const Evas_Modifi
er *m, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_key_modifier_is_set(const Evas_Modifier *m,
const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Checks the state of a given lock key, at the time of the call. If | | * Checks the state of a given lock key, at the time of the call. If | |
| * the lock is set, such as caps lock, this function returns @c | | * the lock is set, such as caps lock, this function returns @c | |
| * Eina_True. | | * Eina_True. | |
| * | | * | |
| * @param l The current locks set, as returned by evas_key_lock_get(). | | * @param l The current locks set, as returned by evas_key_lock_get(). | |
| * @param keyname The name of the lock key to check status for. | | * @param keyname The name of the lock key to check status for. | |
| * | | * | |
| * @return @c Eina_True if the @p keyname lock key is set, @c | | * @return @c Eina_True if the @p keyname lock key is set, @c | |
| * Eina_False otherwise. | | * Eina_False otherwise. | |
| * | | * | |
| * @see evas_key_lock_get | | * @see evas_key_lock_get | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_del | | * @see evas_key_lock_del | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_key_lock_is_set (const Evas_Lock *
l, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_key_lock_is_set(const Evas_Lock *l, const ch
ar *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds the @p keyname key to the current list of modifier keys. | | * Adds the @p keyname key to the current list of modifier keys. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the modifier key to add to the list of | | * @param keyname The name of the modifier key to add to the list of | |
| * Evas modifiers. | | * Evas modifiers. | |
| * | | * | |
| * Modifiers are keys like shift, alt and ctrl, i.e., keys which are | | * Modifiers are keys like shift, alt and ctrl, i.e., keys which are | |
| * meant to be pressed together with others, altering the behavior of | | * meant to be pressed together with others, altering the behavior of | |
| | | | |
| skipping to change at line 12156 | | skipping to change at line 12689 | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| * | | * | |
| * @note If the programmer instantiates the canvas by means of the | | * @note If the programmer instantiates the canvas by means of the | |
| * ecore_evas_new() family of helper functions, Ecore will take | | * ecore_evas_new() family of helper functions, Ecore will take | |
| * care of registering on it all standard modifiers: "Shift", | | * care of registering on it all standard modifiers: "Shift", | |
| * "Control", "Alt", "Meta", "Hyper", "Super". | | * "Control", "Alt", "Meta", "Hyper", "Super". | |
| */ | | */ | |
|
| EAPI void evas_key_modifier_add (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_modifier_add(Evas *e, const char *keynam
e) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Removes the @p keyname key from the current list of modifier keys | | * Removes the @p keyname key from the current list of modifier keys | |
| * on canvas @p e. | | * on canvas @p e. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the key to remove from the modifiers list. | | * @param keyname The name of the key to remove from the modifiers list. | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| */ | | */ | |
|
| EAPI void evas_key_modifier_del (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_modifier_del(Evas *e, const char *keynam
e) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds the @p keyname key to the current list of lock keys. | | * Adds the @p keyname key to the current list of lock keys. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the key to add to the locks list. | | * @param keyname The name of the key to add to the locks list. | |
| * | | * | |
| * Locks are keys like caps lock, num lock or scroll lock, i.e., keys | | * Locks are keys like caps lock, num lock or scroll lock, i.e., keys | |
| * which are meant to be pressed once -- toggling a binary state which | | * which are meant to be pressed once -- toggling a binary state which | |
| * is bound to it -- and thus altering the behavior of all | | * is bound to it -- and thus altering the behavior of all | |
| | | | |
| skipping to change at line 12202 | | skipping to change at line 12735 | |
| * @see evas_key_lock_del | | * @see evas_key_lock_del | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| * @see evas_key_lock_is_set | | * @see evas_key_lock_is_set | |
| * | | * | |
| * @note If the programmer instantiates the canvas by means of the | | * @note If the programmer instantiates the canvas by means of the | |
| * ecore_evas_new() family of helper functions, Ecore will take | | * ecore_evas_new() family of helper functions, Ecore will take | |
| * care of registering on it all standard lock keys: "Caps_Lock", | | * care of registering on it all standard lock keys: "Caps_Lock", | |
| * "Num_Lock", "Scroll_Lock". | | * "Num_Lock", "Scroll_Lock". | |
| */ | | */ | |
|
| EAPI void evas_key_lock_add (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_lock_add(Evas *e, const char *keyname) E
INA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Removes the @p keyname key from the current list of lock keys on | | * Removes the @p keyname key from the current list of lock keys on | |
| * canvas @p e. | | * canvas @p e. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the key to remove from the locks list. | | * @param keyname The name of the key to remove from the locks list. | |
| * | | * | |
| * @see evas_key_lock_get | | * @see evas_key_lock_get | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| */ | | */ | |
|
| EAPI void evas_key_lock_del (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_lock_del(Evas *e, const char *keyname) E
INA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Enables or turns on programmatically the modifier key with name @p | | * Enables or turns on programmatically the modifier key with name @p | |
| * keyname. | | * keyname. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the modifier to enable. | | * @param keyname The name of the modifier to enable. | |
| * | | * | |
| * The effect will be as if the key was pressed for the whole time | | * The effect will be as if the key was pressed for the whole time | |
| * between this call and a matching evas_key_modifier_off(). | | * between this call and a matching evas_key_modifier_off(). | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| */ | | */ | |
|
| EAPI void evas_key_modifier_on (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_modifier_on(Evas *e, const char *keyname
) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Disables or turns off programmatically the modifier key with name | | * Disables or turns off programmatically the modifier key with name | |
| * @p keyname. | | * @p keyname. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the modifier to disable. | | * @param keyname The name of the modifier to disable. | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| */ | | */ | |
|
| EAPI void evas_key_modifier_off (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_modifier_off(Evas *e, const char *keynam
e) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Enables or turns on programmatically the lock key with name @p | | * Enables or turns on programmatically the lock key with name @p | |
| * keyname. | | * keyname. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the lock to enable. | | * @param keyname The name of the lock to enable. | |
| * | | * | |
| * The effect will be as if the key was put on its active state after | | * The effect will be as if the key was put on its active state after | |
| * this call. | | * this call. | |
| * | | * | |
| * @see evas_key_lock_get | | * @see evas_key_lock_get | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_del | | * @see evas_key_lock_del | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| */ | | */ | |
|
| EAPI void evas_key_lock_on (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_lock_on(Evas *e, const char *keyname) EI
NA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Disables or turns off programmatically the lock key with name @p | | * Disables or turns off programmatically the lock key with name @p | |
| * keyname. | | * keyname. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the lock to disable. | | * @param keyname The name of the lock to disable. | |
| * | | * | |
| * The effect will be as if the key was put on its inactive state | | * The effect will be as if the key was put on its inactive state | |
| * after this call. | | * after this call. | |
| * | | * | |
| * @see evas_key_lock_get | | * @see evas_key_lock_get | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_del | | * @see evas_key_lock_del | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| */ | | */ | |
|
| EAPI void evas_key_lock_off (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_lock_off(Evas *e, const char *keyname) E
INA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Creates a bit mask from the @p keyname @b modifier key. Values | | * Creates a bit mask from the @p keyname @b modifier key. Values | |
| * returned from different calls to it may be ORed together, | | * returned from different calls to it may be ORed together, | |
| * naturally. | | * naturally. | |
| * | | * | |
| * @param e The canvas whom to query the bit mask from. | | * @param e The canvas whom to query the bit mask from. | |
| * @param keyname The name of the modifier key to create the mask for. | | * @param keyname The name of the modifier key to create the mask for. | |
| * | | * | |
| * @returns the bit mask or 0 if the @p keyname key wasn't registered as a | | * @returns the bit mask or 0 if the @p keyname key wasn't registered as a | |
| | | | |
| skipping to change at line 12306 | | skipping to change at line 12839 | |
| * documentation for more information. | | * documentation for more information. | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| * @see evas_object_key_grab | | * @see evas_object_key_grab | |
| * @see evas_object_key_ungrab | | * @see evas_object_key_ungrab | |
| */ | | */ | |
|
| EAPI Evas_Modifier_Mask evas_key_modifier_mask_get (const Evas *e, co
nst char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | | EAPI Evas_Modifier_Mask evas_key_modifier_mask_get(const Evas *e, const c
har *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Requests @p keyname key events be directed to @p obj. | | * Requests @p keyname key events be directed to @p obj. | |
| * | | * | |
| * @param obj the object to direct @p keyname events to. | | * @param obj the object to direct @p keyname events to. | |
| * @param keyname the key to request events for. | | * @param keyname the key to request events for. | |
| * @param modifiers a mask of modifiers that must be present to | | * @param modifiers a mask of modifiers that must be present to | |
| * trigger the event. | | * trigger the event. | |
| * @param not_modifiers a mask of modifiers that must @b not be present | | * @param not_modifiers a mask of modifiers that must @b not be present | |
| * to trigger the event. | | * to trigger the event. | |
| | | | |
| skipping to change at line 12348 | | skipping to change at line 12881 | |
| * function with different @p obj arguments will fail, unless the key | | * function with different @p obj arguments will fail, unless the key | |
| * is ungrabbed again. | | * is ungrabbed again. | |
| * | | * | |
| * Example code follows. | | * Example code follows. | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip if (d.focus) | | * @skip if (d.focus) | |
| * @until else | | * @until else | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
|
| | | * @warning Providing impossible modifier sets creates undefined behavior | |
| | | * | |
| * @see evas_object_key_ungrab | | * @see evas_object_key_ungrab | |
| * @see evas_object_focus_set | | * @see evas_object_focus_set | |
| * @see evas_object_focus_get | | * @see evas_object_focus_get | |
| * @see evas_focus_get | | * @see evas_focus_get | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_key_grab (Evas_Object *obj,
const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_
modifiers, Eina_Bool exclusive) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1,
2); | | EAPI Eina_Bool evas_object_key_grab(Evas_Object *obj, const char
*keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers,
Eina_Bool exclusive) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Removes the grab on @p keyname key events by @p obj. | | * Removes the grab on @p keyname key events by @p obj. | |
| * | | * | |
| * @param obj the object that has an existing key grab. | | * @param obj the object that has an existing key grab. | |
| * @param keyname the key the grab is set for. | | * @param keyname the key the grab is set for. | |
| * @param modifiers a mask of modifiers that must be present to | | * @param modifiers a mask of modifiers that must be present to | |
| * trigger the event. | | * trigger the event. | |
| * @param not_modifiers a mask of modifiers that must not not be | | * @param not_modifiers a mask of modifiers that must not not be | |
| * present to trigger the event. | | * present to trigger the event. | |
| | | | |
| skipping to change at line 12381 | | skipping to change at line 12916 | |
| * @skip got here by key grabs | | * @skip got here by key grabs | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
| * @see evas_object_key_grab | | * @see evas_object_key_grab | |
| * @see evas_object_focus_set | | * @see evas_object_focus_set | |
| * @see evas_object_focus_get | | * @see evas_object_focus_get | |
| * @see evas_focus_get | | * @see evas_focus_get | |
| */ | | */ | |
|
| EAPI void evas_object_key_ungrab (Evas_Object *obj,
const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_
modifiers) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_key_ungrab(Evas_Object *obj, const ch
ar *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers
) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Touch_Point_List Touch Point List Functions | | * @defgroup Evas_Touch_Point_List Touch Point List Functions | |
| * | | * | |
| * Functions to get information of touched points in the Evas. | | * Functions to get information of touched points in the Evas. | |
| * | | * | |
| | | | |
End of changes. 716 change blocks. |
| 1556 lines changed or deleted | | 2177 lines changed or added | |
|