Functions which feed key events to the canvas. More...

Modules

 Touch Point List Functions
 Functions to get information of touched points in the Evas.
 

Typedefs

typedef Eo Evas_Out
 

Functions

Eina_Bool evas_key_modifier_is_set (const Evas_Modifier *m, const char *keyname)
 Checks the state of a given modifier key, at the time of the call. More...
 
Eina_Bool evas_key_lock_is_set (const Evas_Lock *l, const char *keyname)
 Checks the state of a given lock key, at the time of the call. More...
 

Variables

int _Evas_Version::major
 
int _Evas_Version::minor
 
int _Evas_Version::micro
 
int _Evas_Version::revision
 
Evas_Coord _Evas_Coord_Rectangle::x
 top-left x co-ordinate of rectangle
 
Evas_Coord _Evas_Coord_Rectangle::y
 top-left y co-ordinate of rectangle
 
Evas_Coord _Evas_Coord_Rectangle::w
 width of rectangle
 
Evas_Coord _Evas_Coord_Rectangle::h
 height of rectangle
 
Evas_Coord _Evas_Coord_Point::x
 x co-ordinate
 
Evas_Coord _Evas_Coord_Point::y
 y co-ordinate
 
Evas_Coord _Evas_Coord_Size::w
 width
 
Evas_Coord _Evas_Coord_Size::h
 height
 
Evas_Coord _Evas_Coord_Precision_Size::w
 
Evas_Coord _Evas_Coord_Precision_Size::h
 < width
 
double _Evas_Coord_Precision_Size::wsub
 < height
 
double _Evas_Coord_Precision_Size::ysub
 < subpixel precision for width
 
Evas_Coord _Evas_Coord_Precision_Point::x
 
Evas_Coord _Evas_Coord_Precision_Point::y
 
double _Evas_Coord_Precision_Point::xsub
 
double _Evas_Coord_Precision_Point::ysub
 
int _Evas_Point::x
 
int _Evas_Point::y
 
Evas_Point _Evas_Position::output
 
Evas_Coord_Point _Evas_Position::canvas
 position on the canvas
 
Evas_Point _Evas_Precision_Position::output
 
Evas_Coord_Precision_Point _Evas_Precision_Position::canvas
 
Evas_Pixel_Import_Pixel_Format _Evas_Pixel_Import_Source::format
 pixel format type ie ARGB32, YUV420P_601 etc. More...
 
int _Evas_Pixel_Import_Source::w
 
int _Evas_Pixel_Import_Source::h
 width and height of source in pixels
 
void ** _Evas_Pixel_Import_Source::rows
 an array of pointers (size depends on format) pointing to left edge of each scanline
 
int _Evas_Native_Surface::version
 
Evas_Native_Surface_Type _Evas_Native_Surface::type
 
void *   _Evas_Native_Surface::visual
 visual of the pixmap to use (Visual)
 
unsigned long   _Evas_Native_Surface::pixmap
 pixmap id to use (Pixmap)
 
struct {
   void *   _Evas_Native_Surface::visual
 visual of the pixmap to use (Visual)
 
   unsigned long   _Evas_Native_Surface::pixmap
 pixmap id to use (Pixmap)
 
}   _Evas_Native_Surface::x11
 
unsigned int   _Evas_Native_Surface::texture_id
 opengl texture id to use from glGenTextures()
 
unsigned int   _Evas_Native_Surface::framebuffer_id
 0 if not a FBO, FBO id otherwise from glGenFramebuffers()
 
unsigned int   _Evas_Native_Surface::internal_format
 same as 'internalFormat' for glTexImage2D()
 
unsigned int   _Evas_Native_Surface::format
 same as 'format' for glTexImage2D()
 
unsigned int   _Evas_Native_Surface::::x
 
unsigned int   _Evas_Native_Surface::::y
 
unsigned int   _Evas_Native_Surface::::w
 
unsigned int   _Evas_Native_Surface::h
 region inside the texture to use (image size is assumed as texture size, with 0, 0 being the top-left and co-ordinates working down to the right and bottom being positive)
 
struct {
   unsigned int   _Evas_Native_Surface::texture_id
 opengl texture id to use from glGenTextures()
 
   unsigned int   _Evas_Native_Surface::framebuffer_id
 0 if not a FBO, FBO id otherwise from glGenFramebuffers()
 
   unsigned int   _Evas_Native_Surface::internal_format
 same as 'internalFormat' for glTexImage2D()
 
   unsigned int   _Evas_Native_Surface::format
 same as 'format' for glTexImage2D()
 
   unsigned int   x
 
   unsigned int   y
 
   unsigned int   w
 
   unsigned int   _Evas_Native_Surface::h
 region inside the texture to use (image size is assumed as texture size, with 0, 0 being the top-left and co-ordinates working down to the right and bottom being positive)
 
}   _Evas_Native_Surface::opengl
 
union {
   struct {
      void *   _Evas_Native_Surface::visual
 visual of the pixmap to use (Visual)
 
      unsigned long   _Evas_Native_Surface::pixmap
 pixmap id to use (Pixmap)
 
   }   x11
 
   struct {
      unsigned int   _Evas_Native_Surface::texture_id
 opengl texture id to use from glGenTextures()
 
      unsigned int   _Evas_Native_Surface::framebuffer_id
 0 if not a FBO, FBO id otherwise from glGenFramebuffers()
 
      unsigned int   _Evas_Native_Surface::internal_format
 same as 'internalFormat' for glTexImage2D()
 
      unsigned int   _Evas_Native_Surface::format
 same as 'format' for glTexImage2D()
 
      unsigned int   x
 
      unsigned int   y
 
      unsigned int   w
 
      unsigned int   _Evas_Native_Surface::h
 region inside the texture to use (image size is assumed as texture size, with 0, 0 being the top-left and co-ordinates working down to the right and bottom being positive)
 
   }   opengl
 
_Evas_Native_Surface::data
 
int _Evas_Video_Surface::version
 
Evas_Video_Coord_Cb _Evas_Video_Surface::move
 Move the video surface to this position.
 
Evas_Video_Coord_Cb _Evas_Video_Surface::resize
 Resize the video surface to that size.
 
Evas_Video_Cb _Evas_Video_Surface::show
 Show the video overlay surface.
 
Evas_Video_Cb _Evas_Video_Surface::hide
 Hide the video overlay surface.
 
Evas_Video_Cb _Evas_Video_Surface::update_pixels
 Please update the Evas_Object_Image pixels when called.
 
Evas_Object_Evas_Video_Surface::parent
 
void * _Evas_Video_Surface::data
 
int _Evas_Engine_Info::magic
 Magic number.
 
int _Evas_Event_Mouse_Down::button
 Mouse button number that went down (1 - 32)
 
Evas_Point _Evas_Event_Mouse_Down::output
 The X/Y location of the cursor.
 
Evas_Coord_Point _Evas_Event_Mouse_Down::canvas
 The X/Y location of the cursor.
 
void * _Evas_Event_Mouse_Down::data
 
Evas_Modifier_Evas_Event_Mouse_Down::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Mouse_Down::locks
 
Evas_Button_Flags _Evas_Event_Mouse_Down::flags
 button flags set during the event
 
unsigned int _Evas_Event_Mouse_Down::timestamp
 
Evas_Event_Flags _Evas_Event_Mouse_Down::event_flags
 
Evas_Device_Evas_Event_Mouse_Down::dev
 
Evas_Object_Evas_Event_Mouse_Down::event_src
 The Evas Object which actually triggered the event, used in cases of proxy event propagation.
 
int _Evas_Event_Mouse_Up::button
 Mouse button number that was raised (1 - 32)
 
Evas_Point _Evas_Event_Mouse_Up::output
 The X/Y location of the cursor.
 
Evas_Coord_Point _Evas_Event_Mouse_Up::canvas
 The X/Y location of the cursor.
 
void * _Evas_Event_Mouse_Up::data
 
Evas_Modifier_Evas_Event_Mouse_Up::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Mouse_Up::locks
 
Evas_Button_Flags _Evas_Event_Mouse_Up::flags
 button flags set during the event
 
unsigned int _Evas_Event_Mouse_Up::timestamp
 
Evas_Event_Flags _Evas_Event_Mouse_Up::event_flags
 
Evas_Device_Evas_Event_Mouse_Up::dev
 
Evas_Object_Evas_Event_Mouse_Up::event_src
 The Evas Object which actually triggered the event, used in cases of proxy event propagation.
 
int _Evas_Event_Mouse_In::buttons
 Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.)
 
Evas_Point _Evas_Event_Mouse_In::output
 The X/Y location of the cursor.
 
Evas_Coord_Point _Evas_Event_Mouse_In::canvas
 The X/Y location of the cursor.
 
void * _Evas_Event_Mouse_In::data
 
Evas_Modifier_Evas_Event_Mouse_In::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Mouse_In::locks
 
unsigned int _Evas_Event_Mouse_In::timestamp
 
Evas_Event_Flags _Evas_Event_Mouse_In::event_flags
 
Evas_Device_Evas_Event_Mouse_In::dev
 
Evas_Object_Evas_Event_Mouse_In::event_src
 The Evas Object which actually triggered the event, used in cases of proxy event propagation.
 
int _Evas_Event_Mouse_Out::buttons
 Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.)
 
Evas_Point _Evas_Event_Mouse_Out::output
 The X/Y location of the cursor.
 
Evas_Coord_Point _Evas_Event_Mouse_Out::canvas
 The X/Y location of the cursor.
 
void * _Evas_Event_Mouse_Out::data
 
Evas_Modifier_Evas_Event_Mouse_Out::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Mouse_Out::locks
 
unsigned int _Evas_Event_Mouse_Out::timestamp
 
Evas_Event_Flags _Evas_Event_Mouse_Out::event_flags
 
Evas_Device_Evas_Event_Mouse_Out::dev
 
Evas_Object_Evas_Event_Mouse_Out::event_src
 The Evas Object which actually triggered the event, used in cases of proxy event propagation.
 
int _Evas_Event_Mouse_Move::buttons
 Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.)
 
Evas_Position _Evas_Event_Mouse_Move::cur
 Current mouse position.
 
Evas_Position _Evas_Event_Mouse_Move::prev
 Previous mouse position.
 
void * _Evas_Event_Mouse_Move::data
 
Evas_Modifier_Evas_Event_Mouse_Move::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Mouse_Move::locks
 
unsigned int _Evas_Event_Mouse_Move::timestamp
 
Evas_Event_Flags _Evas_Event_Mouse_Move::event_flags
 
Evas_Device_Evas_Event_Mouse_Move::dev
 
Evas_Object_Evas_Event_Mouse_Move::event_src
 The Evas Object which actually triggered the event, used in cases of proxy event propagation.
 
int _Evas_Event_Mouse_Wheel::direction
 
int _Evas_Event_Mouse_Wheel::z
 
Evas_Point _Evas_Event_Mouse_Wheel::output
 The X/Y location of the cursor.
 
Evas_Coord_Point _Evas_Event_Mouse_Wheel::canvas
 The X/Y location of the cursor.
 
void * _Evas_Event_Mouse_Wheel::data
 
Evas_Modifier_Evas_Event_Mouse_Wheel::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Mouse_Wheel::locks
 
unsigned int _Evas_Event_Mouse_Wheel::timestamp
 
Evas_Event_Flags _Evas_Event_Mouse_Wheel::event_flags
 
Evas_Device_Evas_Event_Mouse_Wheel::dev
 
int _Evas_Event_Multi_Down::device
 Multi device number that went down (1 or more for extra touches)
 
double _Evas_Event_Multi_Down::radius
 
double _Evas_Event_Multi_Down::radius_x
 
double _Evas_Event_Multi_Down::radius_y
 
double _Evas_Event_Multi_Down::pressure
 
double _Evas_Event_Multi_Down::angle
 
Evas_Point _Evas_Event_Multi_Down::output
 
Evas_Coord_Precision_Point _Evas_Event_Multi_Down::canvas
 
void * _Evas_Event_Multi_Down::data
 
Evas_Modifier_Evas_Event_Multi_Down::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Multi_Down::locks
 
Evas_Button_Flags _Evas_Event_Multi_Down::flags
 button flags set during the event
 
unsigned int _Evas_Event_Multi_Down::timestamp
 
Evas_Event_Flags _Evas_Event_Multi_Down::event_flags
 
Evas_Device_Evas_Event_Multi_Down::dev
 
int _Evas_Event_Multi_Up::device
 Multi device number that went up (1 or more for extra touches)
 
double _Evas_Event_Multi_Up::radius
 
double _Evas_Event_Multi_Up::radius_x
 
double _Evas_Event_Multi_Up::radius_y
 
double _Evas_Event_Multi_Up::pressure
 
double _Evas_Event_Multi_Up::angle
 
Evas_Point _Evas_Event_Multi_Up::output
 
Evas_Coord_Precision_Point _Evas_Event_Multi_Up::canvas
 
void * _Evas_Event_Multi_Up::data
 
Evas_Modifier_Evas_Event_Multi_Up::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Multi_Up::locks
 
Evas_Button_Flags _Evas_Event_Multi_Up::flags
 button flags set during the event
 
unsigned int _Evas_Event_Multi_Up::timestamp
 
Evas_Event_Flags _Evas_Event_Multi_Up::event_flags
 
Evas_Device_Evas_Event_Multi_Up::dev
 
int _Evas_Event_Multi_Move::device
 Multi device number that moved (1 or more for extra touches)
 
double _Evas_Event_Multi_Move::radius
 
double _Evas_Event_Multi_Move::radius_x
 
double _Evas_Event_Multi_Move::radius_y
 
double _Evas_Event_Multi_Move::pressure
 
double _Evas_Event_Multi_Move::angle
 
Evas_Precision_Position _Evas_Event_Multi_Move::cur
 
void * _Evas_Event_Multi_Move::data
 
Evas_Modifier_Evas_Event_Multi_Move::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Multi_Move::locks
 
unsigned int _Evas_Event_Multi_Move::timestamp
 
Evas_Event_Flags _Evas_Event_Multi_Move::event_flags
 
Evas_Device_Evas_Event_Multi_Move::dev
 
char * _Evas_Event_Key_Down::keyname
 the name string of the key pressed
 
void * _Evas_Event_Key_Down::data
 
Evas_Modifier_Evas_Event_Key_Down::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Key_Down::locks
 
const char * _Evas_Event_Key_Down::key
 The logical key : (eg shift+1 == exclamation)
 
const char * _Evas_Event_Key_Down::string
 A UTF8 string if this keystroke has produced a visible string to be ADDED.
 
const char * _Evas_Event_Key_Down::compose
 A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one.
 
unsigned int _Evas_Event_Key_Down::timestamp
 
Evas_Event_Flags _Evas_Event_Key_Down::event_flags
 
Evas_Device_Evas_Event_Key_Down::dev
 
char * _Evas_Event_Key_Up::keyname
 the name string of the key released
 
void * _Evas_Event_Key_Up::data
 
Evas_Modifier_Evas_Event_Key_Up::modifiers
 modifier keys pressed during the event
 
Evas_Lock_Evas_Event_Key_Up::locks
 
const char * _Evas_Event_Key_Up::key
 The logical key : (eg shift+1 == exclamation)
 
const char * _Evas_Event_Key_Up::string
 A UTF8 string if this keystroke has produced a visible string to be ADDED.
 
const char * _Evas_Event_Key_Up::compose
 A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one.
 
unsigned int _Evas_Event_Key_Up::timestamp
 
Evas_Event_Flags _Evas_Event_Key_Up::event_flags
 
Evas_Device_Evas_Event_Key_Up::dev
 
Eina_List_Evas_Event_Render_Post::updated_area
 A list of rectangle that were updated in the canvas.
 
int _Evas_Event_Hold::hold
 The hold flag.
 
void * _Evas_Event_Hold::data
 
unsigned int _Evas_Event_Hold::timestamp
 
Evas_Event_Flags _Evas_Event_Hold::event_flags
 
Evas_Device_Evas_Event_Hold::dev
 
Evas_Coord _Evas_Textblock_Rectangle::x
 
Evas_Coord _Evas_Textblock_Rectangle::y
 
Evas_Coord _Evas_Textblock_Rectangle::w
 
Evas_Coord _Evas_Textblock_Rectangle::h
 
Eina_Unicode _Evas_Textgrid_Cell::codepoint
 the UNICODE value of the character
 
unsigned char _Evas_Textgrid_Cell::fg
 the index of the palette for the foreground color
 
unsigned char _Evas_Textgrid_Cell::bg
 the index of the palette for the background color
 
unsigned short _Evas_Textgrid_Cell::bold: 1
 whether the character is bold
 
unsigned short _Evas_Textgrid_Cell::italic: 1
 whether the character is oblique
 
unsigned short _Evas_Textgrid_Cell::underline: 1
 whether the character is underlined
 
unsigned short _Evas_Textgrid_Cell::strikethrough: 1
 whether the character is strikethrough'ed
 
unsigned short _Evas_Textgrid_Cell::fg_extended: 1
 whether the extended palette is used for the foreground color
 
unsigned short _Evas_Textgrid_Cell::bg_extended: 1
 whether the extended palette is used for the background color
 
unsigned short _Evas_Textgrid_Cell::double_width: 1
 if the codepoint is merged with the following cell to the right visually (cells must be in pairs with 2nd cell being a duplicate in all ways except codepoint is 0)
 
const char * _Evas_Smart_Class::name
 the name string of the class
 
int _Evas_Smart_Class::version
 
void(* _Evas_Smart_Class::add )(Evas_Object *o)
 code to be run when adding object to a canvas
 
void(* _Evas_Smart_Class::del )(Evas_Object *o)
 code to be run when removing object from a canvas
 
void(* _Evas_Smart_Class::move )(Evas_Object *o, Evas_Coord x, Evas_Coord y)
 code to be run when moving object on a canvas. More...
 
void(* _Evas_Smart_Class::resize )(Evas_Object *o, Evas_Coord w, Evas_Coord h)
 code to be run when resizing object on a canvas. More...
 
void(* _Evas_Smart_Class::show )(Evas_Object *o)
 code to be run when showing object on a canvas
 
void(* _Evas_Smart_Class::hide )(Evas_Object *o)
 code to be run when hiding object on a canvas
 
void(* _Evas_Smart_Class::color_set )(Evas_Object *o, int r, int g, int b, int a)
 code to be run when setting color of object on a canvas. More...
 
void(* _Evas_Smart_Class::clip_set )(Evas_Object *o, Evas_Object *clip)
 code to be run when setting clipper of object on a canvas. More...
 
void(* _Evas_Smart_Class::clip_unset )(Evas_Object *o)
 code to be run when unsetting clipper of object on a canvas. More...
 
void(* _Evas_Smart_Class::calculate )(Evas_Object *o)
 code to be run when object has rendering updates on a canvas
 
void(* _Evas_Smart_Class::member_add )(Evas_Object *o, Evas_Object *child)
 code to be run when a child member is added to object
 
void(* _Evas_Smart_Class::member_del )(Evas_Object *o, Evas_Object *child)
 code to be run when a child member is removed from object
 
const Evas_Smart_Class_Evas_Smart_Class::parent
 this class inherits from this parent
 
const Evas_Smart_Cb_Description_Evas_Smart_Class::callbacks
 callbacks at this level, NULL terminated
 
const Evas_Smart_Interface ** _Evas_Smart_Class::interfaces
 Evas_Smart_Interface pointers array, NULL terminated. More...
 
const void * _Evas_Smart_Class::data
 
const char * _Evas_Smart_Interface::name
 Name of the given interface.
 
unsigned _Evas_Smart_Interface::private_size
 Size, in bytes, of the interface's private dada blob. More...
 
Eina_Bool(* _Evas_Smart_Interface::add )(Evas_Object *obj)
 Function to be called at object creation time. More...
 
void(* _Evas_Smart_Interface::del )(Evas_Object *obj)
 Function to be called at object deletion time. More...
 
const char * _Evas_Smart_Cb_Description::name
 callback name ("changed", for example)
 
const char * _Evas_Smart_Cb_Description::type
 Hint on the type of event_info parameter's contents on a Evas_Smart_Cb callback. More...
 
Evas_Object_Evas_Object_Smart_Clipped_Data::clipper
 
Evas_Evas_Object_Smart_Clipped_Data::evas
 
Evas_Smart_Class _Evas_Object_Box_Api::base
 Base smart class struct, need for all smart objects.
 
int _Evas_Object_Box_Api::version
 Version of this smart class definition.
 
Evas_Object_Box_Option *(* _Evas_Object_Box_Api::append )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child)
 Smart function to append child elements in boxes.
 
Evas_Object_Box_Option *(* _Evas_Object_Box_Api::prepend )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child)
 Smart function to prepend child elements in boxes.
 
Evas_Object_Box_Option *(* _Evas_Object_Box_Api::insert_before )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference)
 Smart function to insert a child element before another in boxes.
 
Evas_Object_Box_Option *(* _Evas_Object_Box_Api::insert_after )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference)
 Smart function to insert a child element after another in boxes.
 
Evas_Object_Box_Option *(* _Evas_Object_Box_Api::insert_at )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsigned int pos)
 Smart function to insert a child element at a given position on boxes.
 
Evas_Object *(* _Evas_Object_Box_Api::remove )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child)
 Smart function to remove a child element from boxes.
 
Evas_Object *(* _Evas_Object_Box_Api::remove_at )(Evas_Object *o, Evas_Object_Box_Data *priv, unsigned int pos)
 Smart function to remove a child element from boxes, by its position.
 
Eina_Bool(* _Evas_Object_Box_Api::property_set )(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
 Smart function to set a custom property on a box child.
 
Eina_Bool(* _Evas_Object_Box_Api::property_get )(const Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
 Smart function to retrieve a custom property from a box child.
 
const char *(* _Evas_Object_Box_Api::property_name_get )(const Evas_Object *o, int property)
 Smart function to get the name of a custom property of box children.
 
int(* _Evas_Object_Box_Api::property_id_get )(const Evas_Object *o, const char *name)
 Smart function to get the numerical ID of a custom property of box children.
 
Evas_Object_Box_Option *(* _Evas_Object_Box_Api::option_new )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child)
 Smart function to create a new box option struct.
 
void(* _Evas_Object_Box_Api::option_free )(Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object_Box_Option *opt)
 Smart function to delete a box option struct.
 
Evas_Object_Smart_Clipped_Data _Evas_Object_Box_Data::base
 
const Evas_Object_Box_Api_Evas_Object_Box_Data::api
 
double   _Evas_Object_Box_Data::h
 
double   _Evas_Object_Box_Data::v
 
struct {
   double   h
 
   double   v
 
_Evas_Object_Box_Data::align
 
Evas_Coord   _Evas_Object_Box_Data::h
 
Evas_Coord   _Evas_Object_Box_Data::v
 
struct {
   Evas_Coord   h
 
   Evas_Coord   v
 
_Evas_Object_Box_Data::pad
 
Eina_List_Evas_Object_Box_Data::children
 
Evas_Object_Box_Layout   _Evas_Object_Box_Data::cb
 
void *   _Evas_Object_Box_Data::data
 
void(*   _Evas_Object_Box_Data::free_data )(void *data)
 
struct {
   Evas_Object_Box_Layout   cb
 
   void *   data
 
   void(*   free_data )(void *data)
 
_Evas_Object_Box_Data::layout
 
Eina_Bool _Evas_Object_Box_Data::layouting: 1
 
Eina_Bool _Evas_Object_Box_Data::children_changed: 1
 
Evas_Object_Evas_Object_Box_Option::obj
 Pointer to the box child object, itself.
 
Eina_Bool _Evas_Object_Box_Option::max_reached: 1
 
Eina_Bool _Evas_Object_Box_Option::min_reached: 1
 
Evas_Coord _Evas_Object_Box_Option::alloc_size
 
int _Evas_Cserve_Stats::saved_memory
 current amount of saved memory, in bytes
 
int _Evas_Cserve_Stats::wasted_memory
 current amount of wasted memory, in bytes
 
int _Evas_Cserve_Stats::saved_memory_peak
 peak amount of saved memory, in bytes
 
int _Evas_Cserve_Stats::wasted_memory_peak
 peak amount of wasted memory, in bytes
 
double _Evas_Cserve_Stats::saved_time_image_header_load
 time, in seconds, saved in header loads by sharing cached loads instead
 
double _Evas_Cserve_Stats::saved_time_image_data_load
 time, in seconds, saved in data loads by sharing cached loads instead
 
int   _Evas_Cserve_Image_Cache::mem_total
 
int   _Evas_Cserve_Image_Cache::count
 
struct {
   int   mem_total
 
   int   count
 
_Evas_Cserve_Image_Cache::active
 
struct {
   int   mem_total
 
   int   count
 
_Evas_Cserve_Image_Cache::cached
 
Eina_List_Evas_Cserve_Image_Cache::images
 
const char * _Evas_Cserve_Image::file
 
const char * _Evas_Cserve_Image::key
 
int _Evas_Cserve_Image::w
 
int _Evas_Cserve_Image::h
 
time_t _Evas_Cserve_Image::file_mod_time
 
time_t _Evas_Cserve_Image::file_checked_time
 
time_t _Evas_Cserve_Image::cached_time
 
int _Evas_Cserve_Image::refcount
 
int _Evas_Cserve_Image::data_refcount
 
int _Evas_Cserve_Image::memory_footprint
 
double _Evas_Cserve_Image::head_load_time
 
double _Evas_Cserve_Image::data_load_time
 
Eina_Bool _Evas_Cserve_Image::sw_64: 1
 
Eina_Bool _Evas_Cserve_Image::data_loaded: 1
 
Eina_Bool _Evas_Cserve_Image::active: 1
 
Eina_Bool _Evas_Cserve_Image::dead: 1
 
Eina_Bool _Evas_Cserve_Image::useless: 1
 
int _Evas_Cserve_Config::cache_max_usage
 
int _Evas_Cserve_Config::cache_item_timeout
 
int _Evas_Cserve_Config::cache_item_timeout_check
 
#define evas_canvas_key_modifier_get(ret)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_GET), EO_TYPECHECK(const Evas_Modifier **, ret)
 
#define evas_canvas_key_lock_get(ret)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_GET), EO_TYPECHECK(const Evas_Lock **, ret)
 
#define evas_canvas_key_modifier_add(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_ADD), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_modifier_del(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_DEL), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_lock_add(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_ADD), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_lock_del(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_DEL), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_modifier_on(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_ON), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_modifier_off(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_OFF), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_lock_on(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_ON), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_lock_off(keyname)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_OFF), EO_TYPECHECK(const char *, keyname)
 
#define evas_canvas_key_modifier_mask_get(keyname, ret)   EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_MASK_GET), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(Evas_Modifier_Mask *, ret)
 
#define evas_obj_key_grab(keyname, modifiers, not_modifiers, exclusive, ret)   EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_KEY_GRAB), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(Evas_Modifier_Mask, modifiers), EO_TYPECHECK(Evas_Modifier_Mask, not_modifiers), EO_TYPECHECK(Eina_Bool, exclusive), EO_TYPECHECK(Eina_Bool *, ret)
 
const Evas_Modifierevas_key_modifier_get (const Evas *e)
 Returns a handle to the list of modifier keys registered in the canvas e. More...
 
const Evas_Lockevas_key_lock_get (const Evas *e)
 Returns a handle to the list of lock keys registered in the canvas e. More...
 
void evas_key_modifier_add (Evas *e, const char *keyname)
 Adds the keyname key to the current list of modifier keys. More...
 
void evas_key_modifier_del (Evas *e, const char *keyname)
 Removes the keyname key from the current list of modifier keys on canvas e. More...
 
void evas_key_lock_add (Evas *e, const char *keyname)
 Adds the keyname key to the current list of lock keys. More...
 
void evas_key_lock_del (Evas *e, const char *keyname)
 Removes the keyname key from the current list of lock keys on canvas e. More...
 
void evas_key_modifier_on (Evas *e, const char *keyname)
 Enables or turns on programmatically the modifier key with name keyname. More...
 
void evas_key_modifier_off (Evas *e, const char *keyname)
 Disables or turns off programmatically the modifier key with name keyname. More...
 
void evas_key_lock_on (Evas *e, const char *keyname)
 Enables or turns on programmatically the lock key with name keyname. More...
 
void evas_key_lock_off (Evas *e, const char *keyname)
 Disables or turns off programmatically the lock key with name keyname. More...
 
Evas_Modifier_Mask evas_key_modifier_mask_get (const Evas *e, const char *keyname)
 Creates a bit mask from the keyname modifier key. More...
 
Eina_Bool evas_object_key_grab (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Eina_Bool exclusive)
 Requests keyname key events be directed to obj. More...
 
void evas_object_key_ungrab (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers)
 Removes the grab on keyname key events by obj. More...
 

Detailed Description

Functions which feed key events to the canvas.

As explained in intro_not_evas, Evas is not aware of input 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 somehow. If, however, the user creates a canvas by means of the Ecore_Evas wrapper, it will automatically bind the chosen display engine's input events to the canvas, for you.

This group presents the functions dealing with the feeding of key events to the canvas. On most of them, one has to reference a given key by a name (keyname argument). Those are platform dependent symbolic names for the keys. Sometimes you'll get the right keyname by simply using an ASCII value of the key name, but it won't be like that always.

Typical platforms are Linux frame buffer (Ecore_FB) and X server (Ecore_X) when using Evas with Ecore and Ecore_Evas. Please refer to your display engine's documentation when using evas through an Ecore helper wrapper when you need the keynames.

Example:

mods = evas_key_modifier_get(evas);
if (evas_key_modifier_is_set(mods, "Control") &&
(strcmp(ev->key, "o") == 0)) /* add an obscured
* rectangle to the middle
* of the canvas */
{

All the other evas_key functions behave on the same manner. See the full example.

Macro Definition Documentation

#define evas_canvas_key_modifier_get (   ret)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_GET), EO_TYPECHECK(const Evas_Modifier **, ret)
Since
1.8

Returns a handle to the list of modifier keys registered in the

Parameters
[out]ret
See also
evas_key_modifier_get

Referenced by evas_key_modifier_get().

#define evas_obj_key_grab (   keyname,
  modifiers,
  not_modifiers,
  exclusive,
  ret 
)    EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_KEY_GRAB), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(Evas_Modifier_Mask, modifiers), EO_TYPECHECK(Evas_Modifier_Mask, not_modifiers), EO_TYPECHECK(Eina_Bool, exclusive), EO_TYPECHECK(Eina_Bool *, ret)
Since
1.8

Requests keyname key events be directed to the obj.

Parameters
[in]keynamein
[in]modifiersin
[in]not_modifiersin
[in]exclusivein
[out]retout
See also
evas_object_key_grab

Referenced by evas_object_key_grab().

#define evas_canvas_key_lock_get (   ret)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_GET), EO_TYPECHECK(const Evas_Lock **, ret)
Since
1.8

Returns a handle to the list of lock keys registered in the canvas

Parameters
[out]ret
See also
evas_key_lock_get

Referenced by evas_key_lock_get().

#define evas_canvas_key_modifier_add (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_ADD), EO_TYPECHECK(const char *, keyname)
Since
1.8

Adds the keyname key to the current list of modifier keys.

Parameters
[in]keyname
See also
evas_key_modifier_add

Referenced by evas_key_modifier_add().

#define evas_canvas_key_modifier_del (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_DEL), EO_TYPECHECK(const char *, keyname)
Since
1.8

Removes the keyname key from the current list of modifier keys

Parameters
[in]keyname
See also
evas_key_modifier_del

Referenced by evas_key_modifier_del().

#define evas_canvas_key_lock_add (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_ADD), EO_TYPECHECK(const char *, keyname)
Since
1.8

Adds the keyname key to the current list of lock keys.

Parameters
[in]keyname
See also
evas_key_lock_add

Referenced by evas_key_lock_add().

#define evas_canvas_key_lock_del (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_DEL), EO_TYPECHECK(const char *, keyname)
Since
1.8

Removes the keyname key from the current list of lock keys on

Parameters
[in]keyname
See also
evas_key_lock_del

Referenced by evas_key_lock_del().

#define evas_canvas_key_modifier_on (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_ON), EO_TYPECHECK(const char *, keyname)
Since
1.8

Enables or turns on programmatically the modifier key with name keyname.

Parameters
[in]keyname
See also
evas_key_modifier_on

Referenced by evas_key_modifier_on().

#define evas_canvas_key_modifier_off (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_OFF), EO_TYPECHECK(const char *, keyname)
Since
1.8

Disables or turns off programmatically the modifier key with name keyname

Parameters
[in]keyname
See also
evas_key_modifier_off

Referenced by evas_key_modifier_off().

#define evas_canvas_key_lock_on (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_ON), EO_TYPECHECK(const char *, keyname)
Since
1.8

Enables or turns on programmatically the lock key with name keyname

Parameters
[in]keyname
See also
evas_key_lock_on

Referenced by evas_key_lock_on().

#define evas_canvas_key_lock_off (   keyname)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_LOCK_OFF), EO_TYPECHECK(const char *, keyname)
Since
1.8

Disables or turns off programmatically the lock key with name keyname

Parameters
[in]keyname
See also
evas_key_lock_off

Referenced by evas_key_lock_off().

#define evas_canvas_key_modifier_mask_get (   keyname,
  ret 
)    EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_KEY_MODIFIER_MASK_GET), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(Evas_Modifier_Mask *, ret)
Since
1.8

Creates a bit mask from the keyname modifier key.

Parameters
[in]keyname
[out]ret
See also
evas_key_modifier_mask_get

Referenced by evas_key_modifier_mask_get().

Function Documentation

Eina_Bool evas_key_modifier_is_set ( const Evas_Modifier m,
const char *  keyname 
)

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 function returns Eina_True.

Parameters
mThe current modifiers set, as returned by evas_key_modifier_get().
keynameThe name of the modifier key to check status for.
Returns
Eina_True if the modifier key named keyname is on, Eina_False otherwise.
See also
evas_key_modifier_add
evas_key_modifier_del
evas_key_modifier_get
evas_key_modifier_on
evas_key_modifier_off

References EAPI.

Eina_Bool evas_key_lock_is_set ( const Evas_Lock l,
const char *  keyname 
)

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 Eina_True.

Parameters
lThe current locks set, as returned by evas_key_lock_get().
keynameThe name of the lock key to check status for.
Returns
Eina_True if the keyname lock key is set, Eina_False otherwise.
See also
evas_key_lock_get
evas_key_lock_add
evas_key_lock_del
evas_key_lock_on
evas_key_lock_off

References EAPI.

const Evas_Modifier* evas_key_modifier_get ( const Evas e)

Returns a handle to the list of modifier keys registered in the canvas e.

This is required to check for which modifiers are set at a given time with the evas_key_modifier_is_set() function.

Parameters
eThe pointer to the Evas canvas
See also
evas_key_modifier_add
evas_key_modifier_del
evas_key_modifier_on
evas_key_modifier_off
evas_key_modifier_is_set
Returns
An Evas_Modifier handle to query Evas' keys subsystem with evas_key_modifier_is_set(), or NULL on error.

References EAPI, EINA_UNUSED, and evas_canvas_key_modifier_get.

const Evas_Lock* evas_key_lock_get ( const Evas e)

Returns a handle to the list of lock keys registered in the canvas e.

This is required to check for which locks are set at a given time with the evas_key_lock_is_set() function.

Parameters
eThe pointer to the Evas canvas
See also
evas_key_lock_add
evas_key_lock_del
evas_key_lock_on
evas_key_lock_off
evas_key_lock_is_set
Returns
An Evas_Lock handle to query Evas' keys subsystem with evas_key_lock_is_set(), or NULL on error.

References EAPI, and evas_canvas_key_lock_get.

void evas_key_modifier_add ( Evas e,
const char *  keyname 
)

Adds the keyname key to the current list of modifier keys.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the modifier key to add to the list of Evas modifiers.

Modifiers are keys like shift, alt and ctrl, i.e., keys which are meant to be pressed together with others, altering the behavior of the secondly pressed keys somehow. Evas is so that these keys can be user defined.

This call allows custom modifiers to be added to the Evas system at run time. It is then possible to set and unset modifier keys programmatically for other parts of the program to check and act on. Programmers using Evas would check for modifier keys on key event callbacks using evas_key_modifier_is_set().

See also
evas_key_modifier_del
evas_key_modifier_get
evas_key_modifier_on
evas_key_modifier_off
evas_key_modifier_is_set
Note
If the programmer instantiates the canvas by means of the ecore_evas_new() family of helper functions, Ecore will take care of registering on it all standard modifiers: "Shift", "Control", "Alt", "Meta", "Hyper", "Super".

References EAPI, evas_canvas_key_modifier_add, and evas_key_modifier_del().

Referenced by ecore_evas_buffer_allocfunc_new(), ecore_evas_ews_new(), and ecore_evas_object_image_new().

void evas_key_modifier_del ( Evas e,
const char *  keyname 
)

Removes the keyname key from the current list of modifier keys on canvas e.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the key to remove from the modifiers list.
See also
evas_key_modifier_add
evas_key_modifier_get
evas_key_modifier_on
evas_key_modifier_off
evas_key_modifier_is_set

References EAPI, and evas_canvas_key_modifier_del.

Referenced by evas_key_modifier_add().

void evas_key_lock_add ( Evas e,
const char *  keyname 
)

Adds the keyname key to the current list of lock keys.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the key to add to the locks list.

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 is bound to it – and thus altering the behavior of all subsequently pressed keys somehow, depending on its state. Evas is so that these keys can be defined by the user.

This allows custom locks to be added to the evas system at run time. It is then possible to set and unset lock keys programmatically for other parts of the program to check and act on. Programmers using Evas would check for lock keys on key event callbacks using evas_key_lock_is_set().

See also
evas_key_lock_get
evas_key_lock_del
evas_key_lock_on
evas_key_lock_off
evas_key_lock_is_set
Note
If the programmer instantiates the canvas by means of the ecore_evas_new() family of helper functions, Ecore will take care of registering on it all standard lock keys: "Caps_Lock", "Num_Lock", "Scroll_Lock".

References EAPI, evas_canvas_key_lock_add, and evas_key_lock_del().

Referenced by ecore_evas_buffer_allocfunc_new(), ecore_evas_ews_new(), and ecore_evas_object_image_new().

void evas_key_lock_del ( Evas e,
const char *  keyname 
)

Removes the keyname key from the current list of lock keys on canvas e.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the key to remove from the locks list.
See also
evas_key_lock_get
evas_key_lock_add
evas_key_lock_on
evas_key_lock_off

References EAPI, and evas_canvas_key_lock_del.

Referenced by evas_key_lock_add().

void evas_key_modifier_on ( Evas e,
const char *  keyname 
)

Enables or turns on programmatically the modifier key with name keyname.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the modifier to enable.

The effect will be as if the key was pressed for the whole time between this call and a matching evas_key_modifier_off().

See also
evas_key_modifier_add
evas_key_modifier_get
evas_key_modifier_off
evas_key_modifier_is_set

References EAPI, and evas_canvas_key_modifier_on.

void evas_key_modifier_off ( Evas e,
const char *  keyname 
)

Disables or turns off programmatically the modifier key with name keyname.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the modifier to disable.
See also
evas_key_modifier_add
evas_key_modifier_get
evas_key_modifier_on
evas_key_modifier_is_set

References EAPI, and evas_canvas_key_modifier_off.

void evas_key_lock_on ( Evas e,
const char *  keyname 
)

Enables or turns on programmatically the lock key with name keyname.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the lock to enable.

The effect will be as if the key was put on its active state after this call.

See also
evas_key_lock_get
evas_key_lock_add
evas_key_lock_del
evas_key_lock_off

References EAPI, and evas_canvas_key_lock_on.

void evas_key_lock_off ( Evas e,
const char *  keyname 
)

Disables or turns off programmatically the lock key with name keyname.

Parameters
eThe pointer to the Evas canvas
keynameThe name of the lock to disable.

The effect will be as if the key was put on its inactive state after this call.

See also
evas_key_lock_get
evas_key_lock_add
evas_key_lock_del
evas_key_lock_on

References EAPI, and evas_canvas_key_lock_off.

Evas_Modifier_Mask evas_key_modifier_mask_get ( const Evas e,
const char *  keyname 
)

Creates a bit mask from the keyname modifier key.

Values returned from different calls to it may be ORed together, naturally.

Parameters
eThe canvas whom to query the bit mask from.
keynameThe name of the modifier key to create the mask for.
Returns
the bit mask or 0 if the keyname key wasn't registered as a modifier for canvas e.

This function is meant to be using in conjunction with evas_object_key_grab()/evas_object_key_ungrab(). Go check their documentation for more information.

See also
evas_key_modifier_add
evas_key_modifier_get
evas_key_modifier_on
evas_key_modifier_off
evas_key_modifier_is_set
evas_object_key_grab
evas_object_key_ungrab
Examples:
evas-events.c.

References evas_canvas_key_modifier_mask_get.

Eina_Bool evas_object_key_grab ( Evas_Object obj,
const char *  keyname,
Evas_Modifier_Mask  modifiers,
Evas_Modifier_Mask  not_modifiers,
Eina_Bool  exclusive 
)

Requests keyname key events be directed to obj.

Parameters
objthe object to direct keyname events to.
keynamethe key to request events for.
modifiersa mask of modifiers that must be present to trigger the event.
not_modifiersa mask of modifiers that must not be present to trigger the event.
exclusiverequest that the obj is the only object receiving the keyname events.
Returns
EINA_TRUE, if the call succeeded, EINA_FALSE otherwise.

Key grabs allow one or more objects to receive key events for specific key strokes even if other objects have focus. Whenever a key is grabbed, only the objects grabbing it will get the events for the given keys.

keyname is a platform dependent symbolic name for the key pressed (see Key Input Functions for more information).

modifiers and not_modifiers are bit masks of all the modifiers that must and mustn't, respectively, be pressed along with keyname key in order to trigger this new key grab. Modifiers can be things such as Shift and Ctrl as well as user defined types via evas_key_modifier_add(). Retrieve them with evas_key_modifier_mask_get() or use 0 for empty masks.

exclusive will make the given object the only one permitted to grab the given key. If given EINA_TRUE, subsequent calls on this function with different obj arguments will fail, unless the key is ungrabbed again.

Example code follows.

1  if (d.focus)
2  {
3  evas_object_focus_set(d.bg, EINA_FALSE);
4  fprintf(stdout, "Focused object is now %s\n",
5  evas_focus_get(d.canvas) ?
6  "still valid! Something went wrong." : "none.");
7 
8  ret = evas_object_key_grab(d.bg, "a", 0, 0, EINA_TRUE);
9  if (!ret)
10  {
11  fprintf(stdout, "Something went wrong with key grabs.\n");
12  goto c_end;
13  }
14  ret = evas_object_key_grab(d.bg, "c", 0, 0, EINA_TRUE);
15  if (!ret)
16  {
17  fprintf(stdout, "Something went wrong with key grabs.\n");
18  goto c_end;
19  }
20  ret = evas_object_key_grab(d.bg, "d", 0, 0, EINA_TRUE);
21  if (!ret)
22  {
23  fprintf(stdout, "Something went wrong with key grabs.\n");
24  goto c_end;
25  }
26  ret = evas_object_key_grab(d.bg, "f", 0, 0, EINA_TRUE);
27  if (!ret)
28  {
29  fprintf(stdout, "Something went wrong with key grabs.\n");
30  goto c_end;
31  }
32  ret = evas_object_key_grab(d.bg, "p", 0, 0, EINA_TRUE);
33  if (!ret)
34  {
35  fprintf(stdout, "Something went wrong with key grabs.\n");
36  goto c_end;
37  }
38  ret = evas_object_key_grab(d.bg, "o", mask, 0, EINA_TRUE);
39  if (!ret)
40  {
41  fprintf(stdout, "Something went wrong with key grabs.\n");
42  goto c_end;
43  }
44  ret = evas_object_key_grab(d.bg, "h", 0, 0, EINA_TRUE);
45  if (!ret)
46  {
47  fprintf(stdout, "Something went wrong with key grabs.\n");
48  goto c_end;
49  }
50  }
51  else /* got here by key grabs */

See the full example here.

Warning
Providing impossible modifier sets creates undefined behavior
See also
evas_object_key_ungrab
evas_object_focus_set
evas_object_focus_get
evas_focus_get
evas_key_modifier_add
Examples:
evas-events.c.

References EAPI, EINA_FALSE, and evas_obj_key_grab.

void evas_object_key_ungrab ( Evas_Object obj,
const char *  keyname,
Evas_Modifier_Mask  modifiers,
Evas_Modifier_Mask  not_modifiers 
)

Removes the grab on keyname key events by obj.

Parameters
objthe object that has an existing key grab.
keynamethe key the grab is set for.
modifiersa mask of modifiers that must be present to trigger the event.
not_modifiersa mask of modifiers that must not not be present to trigger the event.

Removes a key grab on obj if keyname, modifiers, and not_modifiers match.

Example code follows.

1  else /* got here by key grabs */
2  {
3  evas_object_key_ungrab(d.bg, "a", 0, 0);
4  evas_object_key_ungrab(d.bg, "c", 0, 0);
5  evas_object_key_ungrab(d.bg, "d", 0, 0);
6  evas_object_key_ungrab(d.bg, "f", 0, 0);
7  evas_object_key_ungrab(d.bg, "p", 0, 0);
8  evas_object_key_ungrab(d.bg, "o", mask, 0);
9  evas_object_key_ungrab(d.bg, "h", 0, 0);
10 
11  evas_object_focus_set(d.bg, EINA_TRUE);
12  }

See the full example here.

See also
evas_object_key_grab
evas_object_focus_set
evas_object_focus_get
evas_focus_get
Examples:
evas-events.c.

References EINA_TRUE, and evas_obj_key_ungrab.

Variable Documentation

Evas_Pixel_Import_Pixel_Format _Evas_Pixel_Import_Source::format

pixel format type ie ARGB32, YUV420P_601 etc.

Referenced by evas_object_image_pixels_import().

void(* _Evas_Smart_Class::move) (Evas_Object *o, Evas_Coord x, Evas_Coord y)

code to be run when moving object on a canvas.

x and y will be new coordinates one applied to the object. use evas_object_geometry_get() if you need the old values, during this call. after that, the old values will be lost.

Referenced by emotion_object_suspend_get(), and evas_object_smart_clipped_smart_set().

void(* _Evas_Smart_Class::resize) (Evas_Object *o, Evas_Coord w, Evas_Coord h)

code to be run when resizing object on a canvas.

w and h will be new dimensions one applied to the object. use evas_object_geometry_get() if you need the old values, during this call. after that, the old values will be lost.

Examples:
evas-smart-interface.c, and evas-smart-object.c.

Referenced by emotion_object_suspend_get().

void(* _Evas_Smart_Class::color_set) (Evas_Object *o, int r, int g, int b, int a)

code to be run when setting color of object on a canvas.

r, g, b and y will be new color components one applied to the object. use evas_object_color_get() if you need the old values, during this call. after that, the old values will be lost.

Referenced by emotion_object_suspend_get(), and evas_object_smart_clipped_smart_set().

void(* _Evas_Smart_Class::clip_set) (Evas_Object *o, Evas_Object *clip)

code to be run when setting clipper of object on a canvas.

clip will be new clipper one applied to the object. use evas_object_clip_get() if you need the old one, during this call. after that, the old (object pointer) value will be lost.

Referenced by emotion_object_suspend_get(), and evas_object_smart_clipped_smart_set().

void(* _Evas_Smart_Class::clip_unset) (Evas_Object *o)

code to be run when unsetting clipper of object on a canvas.

if you need the pointer to a previous set clipper, during this call, use evas_object_clip_get(). after that, the old (object pointer) value will be lost.

Referenced by emotion_object_suspend_get(), and evas_object_smart_clipped_smart_set().

const Evas_Smart_Interface** _Evas_Smart_Class::interfaces

Evas_Smart_Interface pointers array, NULL terminated.

These will be the interfaces supported at this level for an object (parents may have others)

Since
1.7

Referenced by evas_object_smart_members_get(), and evas_smart_usage_get().

unsigned _Evas_Smart_Interface::private_size

Size, in bytes, of the interface's private dada blob.

This will be allocated and freed automatically for you. Get it with evas_object_smart_interface_data_get().

Referenced by evas_object_smart_members_get(), and evas_smart_usage_get().

Eina_Bool(* _Evas_Smart_Interface::add) (Evas_Object *obj)

Function to be called at object creation time.

This will take place before the object's smart add() function.

Referenced by evas_object_smart_add().

void(* _Evas_Smart_Interface::del) (Evas_Object *obj)

Function to be called at object deletion time.

This will take place after the object's smart del() function.

Referenced by evas_object_smart_changed().

const char* _Evas_Smart_Cb_Description::type

Hint on the type of event_info parameter's contents on a Evas_Smart_Cb callback.

The type string uses the pattern similar to http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures, but extended to optionally include variable names within brackets preceding types. Example:

  • Structure with two integers: "(ii)"
  • Structure called 'x' with two integers named 'a' and 'b': "[x]([a]i[b]i)"
  • Array of integers: "ai"
  • Array called 'x' of struct with two integers: "[x]a(ii)"
Note
This type string is used as a hint and is not validated or enforced in any way. Implementors should make the best use of it to help bindings, documentation and other users of introspection features.

Referenced by evas_smart_usage_get().