#ifdef HAVE_CONFIG_H
 
#include "config.h"
#else
#define EINA_UNUSED
#endif
 
#include <Ecore.h>
 
#define WIDTH  (300)
#define HEIGHT (300)
 
static Ecore_Evas *ee;
 
static const char commands[] = \
  "commands are:\n"
  "\tm - impose a minumum size to the window\n"
  "\tx - impose a maximum size to the window\n"
  "\tb - impose a base size to the window\n"
  "\ts - impose a step size (different than 1 px) to the window\n"
  "\tg - get the screen geometry\n"
  "\th - print help\n";
 
static void
_canvas_resize_cb(Ecore_Evas *ee_)
{
   int w, h;
   char buf[1024];
 
   snprintf(buf, sizeof(buf), "%d x %d", w, h);
 
}
 
static void
{
}
 
static void
            void *einfo)
{
 
   if (strcmp(ev->
key, 
"h") == 0) 
 
     {
        printf(commands);
        return;
     }
 
   if (strcmp(ev->
key, 
"m") == 0) 
 
     {
        min_set = !min_set;
 
        if (min_set)
          {
             printf("Imposing a minimum size of %d x %d\n",
                     WIDTH / 2, HEIGHT / 2);
          }
        else
          {
             printf("Taking off minimum size restriction from the"
                             " window\n");
          }
        return;
     }
 
   if (strcmp(ev->
key, 
"x") == 0) 
 
     {
        max_set = !max_set;
 
        if (max_set)
          {
             printf("Imposing a maximum size of %d x %d\n",
                     WIDTH * 2, HEIGHT * 2);
          }
        else
          {
             printf("Taking off maximum size restriction from the"
                             " window\n");
          }
        return;
     }
 
   if (strcmp(ev->
key, 
"b") == 0) 
 
     {
        base_set = !base_set;
 
        if (base_set)
          {
             printf("Imposing a base size of %d x %d\n",
                     WIDTH * 2, HEIGHT * 2);
          }
        else
          {
             printf("Taking off base size restriction from the"
                             " window\n");
          }
        return;
     }
 
   if (strcmp(ev->
key, 
"s") == 0) 
 
     {
        step_set = !step_set;
 
        if (step_set)
          {
             printf("Imposing a step size of %d x %d\n", 40, 40);
          }
        else
          {
             printf("Taking off step size restriction from the"
                             " window\n");
          }
        return;
     }
 
   if (strcmp(ev->
key, 
"g") == 0) 
 
     {
        int x, y, w, h;
        printf("screen geometry: %d,%d, %dx%d\n", x, y, w, h);
        return;
     }
}
 
int
main(void)
{
 
     return EXIT_FAILURE;
 
   
   if (!ee) goto error;
 
 
 
 
 
 
   _canvas_resize_cb(ee);
   printf(commands);
 
 
   return 0;
 
error:
   fprintf(stderr, "error: Requires at least one Evas engine built"
                   " and linked to ecore-evas for this example to run"
                   " properly.\n");
   return -1;
}
 
@ EVAS_CALLBACK_KEY_DOWN
Key Press Event.
Definition: Evas_Common.h:430
EAPI int ecore_evas_init(void)
Inits the Ecore_Evas system.
Definition: ecore_evas.c:606
EAPI void ecore_evas_title_set(Ecore_Evas *ee, const char *t)
Sets the title of an Ecore_Evas' window.
Definition: ecore_evas.c:1553
EAPI void ecore_evas_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
Sets a callback for Ecore_Evas delete request events.
Definition: ecore_evas.c:1202
EAPI void ecore_evas_show(Ecore_Evas *ee)
Shows an Ecore_Evas' window.
Definition: ecore_evas.c:1506
EAPI void ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h)
Sets the base size for a given Ecore_Evas window.
Definition: ecore_evas.c:1658
EAPI void ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h)
Sets the minimum size of a given Ecore_Evas window.
Definition: ecore_evas.c:1586
EAPI Evas * ecore_evas_get(const Ecore_Evas *ee)
Gets an Ecore_Evas's Evas.
Definition: ecore_evas.c:1326
EAPI void ecore_evas_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
Gets the geometry of an Ecore_Evas.
Definition: ecore_evas.c:1388
EAPI void ecore_evas_callback_resize_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
Sets a callback for Ecore_Evas resize events.
Definition: ecore_evas.c:1166
EAPI void ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h)
Sets the "size step" for a given Ecore_Evas window.
Definition: ecore_evas.c:1692
EAPI int ecore_evas_shutdown(void)
Shuts down the Ecore_Evas system.
Definition: ecore_evas.c:674
EAPI Ecore_Evas * ecore_evas_new(const char *engine_name, int x, int y, int w, int h, const char *extra_options)
Creates a new Ecore_Evas based on engine name and common parameters.
Definition: ecore_evas.c:1065
EAPI void ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h)
Sets the maximum size of a given Ecore_Evas window.
Definition: ecore_evas.c:1622
EAPI void ecore_evas_free(Ecore_Evas *ee)
Frees an Ecore_Evas.
Definition: ecore_evas.c:1109
EAPI void ecore_evas_screen_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
Gets geometry of screen associated with this Ecore_Evas.
Definition: ecore_evas.c:2764
void ecore_main_loop_quit(void)
Quits the main loop once all the events currently on the queue have been processed.
Definition: ecore_main.c:1308
void ecore_main_loop_begin(void)
Runs the application main loop.
Definition: ecore_main.c:1298
#define EINA_TRUE
boolean value TRUE (numerical value 1)
Definition: eina_types.h:539
#define EINA_FALSE
boolean value FALSE (numerical value 0)
Definition: eina_types.h:533
unsigned char Eina_Bool
Type to mimic a boolean.
Definition: eina_types.h:527
#define EINA_UNUSED
Used to indicate that a function parameter is purposely unused.
Definition: eina_types.h:339
Eo Evas
An opaque handle to an Evas canvas.
Definition: Evas_Common.h:163
void evas_object_show(Evas_Object *eo_obj)
Makes the given Evas object visible.
Definition: evas_object_main.c:1814
void evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a)
Sets the general/main color of the given Evas object to the given one.
Definition: evas_object_main.c:2024
void evas_object_event_callback_add(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
Add (register) a callback function to a given Evas object event.
Definition: evas_callbacks.c:478
void evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
Move the given Evas object to the given location inside its canvas' viewport.
Definition: evas_object_main.c:1171
void evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
Changes the size of the given Evas object.
Definition: evas_object_main.c:1236
void evas_object_focus_set(Efl_Canvas_Object *obj, Eina_Bool focus)
Indicates that this object is the keyboard event receiver on its canvas.
Definition: efl_canvas_object_eo.legacy.c:39
Efl_Canvas_Object Evas_Object
An Evas Object handle.
Definition: Evas_Common.h:185
Evas_Object * evas_object_rectangle_add(Evas *e)
Adds a rectangle to the given evas.
Definition: evas_object_rectangle.c:78
void evas_object_text_font_set(Eo *obj, const char *font, Evas_Font_Size size)
Set the font family or filename, and size on a given text object.
Definition: evas_object_text.c:2340
Evas_Object * evas_object_text_add(Evas *e)
Creates a new text object on the provided canvas.
Definition: evas_object_text.c:366
void evas_object_text_text_set(Eo *obj, const char *text)
Sets the text string to be displayed by the given text object.
Definition: evas_object_text.c:2356
Key press event.
Definition: Evas_Legacy.h:314
const char * key
The logical key : (eg shift+1 == exclamation)
Definition: Evas_Legacy.h:320