Hello.
Post by Stefan SchmidtHello.
Andrey V. Ponomarenko from ABI Laboratory keeps up the great work of
running his tools on EFL on a regular basis.
For the upcoming 1.20 release he has reports for all changes between
1.19.1 and 1.20-beta1
https://abi-laboratory.pro/tracker/timeline/efl/
https://abi-laboratory.pro/tracker/objects_report/efl/1.19.1/1.20.0-beta1/report.html
I now had a look at the changes between 1.19.1 and beta2. Going through
them lib by lib as abi-laboratory offers them.
TL;DR
o Is elm_photocam_image_region_set supposed to be a legacy API as well?
o evas_textblock_cursor_equal was removed but seems to be part of our
legacy API.
o Are all of these evas_object_* APIs supposed to be available in legacy
as well?
And here for the more detailed version:
https://abi-laboratory.pro/tracker/objects_report/efl/1.19.1/1.20.0-beta2/report.html
Ecore: 3 new and 4 removed API.
Added and removed symbols are all in ecore_poller as an EO API. No problem.
Ecore_Evas: 1 new and 1 removed API.
New: ecore_evas_cursor_device_unset -> looks fine to me
Removed: ecore_evas_vnc_stop -> no problem as this is a beta API
Ecore_Imf: 3 new APIs:
ecore_imf_context_keyboard_mode_get ( Ecore_IMF_Context* ctx )
ecore_imf_context_mime_type_accept_set ( Ecore_IMF_Context* ctx, char
const* mime_type )
ecore_imf_context_prediction_hint_set ( Ecore_IMF_Context* ctx, char
const* prediction_hint )
Are we happy with the naming and are they useful?
Ecore_Input: 1 new API
ecore_input_joystick_name_get ( int index )
Looks fine to me. Any other opinions?
Ecore_X: 3 new APIs
ecore_x_cursor_hide ( )
ecore_x_cursor_show ( )
ecore_x_dpms_force ( Eina_Bool on )
Everybody happy with them?
Edje: 17 new and 72 removed APIs.
All removed ones EO APIs so not a problem.
For the new ones we have 2 being added to legacy as well.
edje_object_message_signal_recursive_process ( Edje_Object* obj )
edje_object_part_text_prediction_hint_set ( Edje_Object* obj, char
const* part, char const* prediction_hint )
Do we want both of them in legacy? Are we happy with the naming?
EFL: 167 new and 23 removed APIs
Quite some big changes but almost all in EO based APIs. No problem with
them.
I see two symbol changes in our normal Efl.h which _could_ be problematic:
Efl.h, libefl.so.1.19.1
_EFL_GFX_CHANGED [data]
_EFL_GFX_PATH_CHANGED [data]
Looking at commit e79f27ae0cd9800f6e97d28a9b6d9f08a34b19ad which removed
it makes it clear it was behind a EFL_BETA_API_SUPPORT ifdef. No problem.
Eina: 14 new APIs
eina_debug_disable ( )
eina_debug_dispatch ( struct _Eina_Debug_Session* session, void* buffer )
eina_debug_local_connect ( Eina_Bool is_master )
eina_debug_opcodes_register ( struct _Eina_Debug_Session* session,
Eina_Debug_Opcode const* ops, Eina_Debug_Opcode_Status_Cb status_cb,
void* data )
eina_debug_remote_connect ( int port )
eina_debug_session_data_get ( struct _Eina_Debug_Session* session )
eina_debug_session_data_set ( struct _Eina_Debug_Session* session, void*
data )
eina_debug_session_dispatch_get ( struct _Eina_Debug_Session* session )
eina_debug_session_dispatch_override ( struct _Eina_Debug_Session*
session, Eina_Debug_Dispatch_Cb disp_cb )
eina_debug_session_send ( struct _Eina_Debug_Session* session, int dest,
int op, void* data, int size )
eina_debug_session_terminate ( struct _Eina_Debug_Session* session )
eina_debug_timer_add ( unsigned int timeout_ms, Eina_Debug_Timer_Cb cb,
void* data )
eina_debug_timer_del ( Eina_Debug_Timer* t )
eina_file_close_on_exec ( int fd, Eina_Bool on )
Are we happy with them?
Elementary: 115 new and 108 removed APIs
All removed symbols are either in eo.h files or in elm_widget.h which is
not stable. No problem.
Ignoring all the new EO based APIs the new ones for Elm boil down to:
elm_photocam_image_region_set ( Efl_Ui_Image_Zoomable* obj, int x, int
y, int w, int h )
elm_cnp_clipboard_selection_has_owner ( Evas_Object* win )
ELM_CNP_EVENT_SELECTION_CHANGED [data]
elm_code_widget_selection_select_all ( Evas_Object* widget )
elm_entry_prediction_hint_set ( Elm_Entry* obj, char const*
prediction_hint )
elm_menu_open ( Elm_Menu* obj )
elm_win_get ( Evas_Object* obj )
Are we happy with them? Is the photocam region set supposed to be legacy
as well?
EO / EO_dbg: 4 new APIs
efl_cast ( Eo const* eo_id, Efl_Class const* cur_klass )
efl_data_scope_safe_get ( Eo const* obj_id, Efl_Class const* klass_id )
eo_classes_iterator_new ( )
eo_objects_iterator_new ( )
Eolian: 1 new API
eolian_typedecl_function_pointer_get ( Eolian_Typedecl const* tp )
Looks sane to me.
Evas: 70 new and 65 removed APIs
We have one API removed here form a legacy header file:
evas_textblock_cursor_equal ( struct _Eo_Opaque const* obj, struct
_Eo_Opaque const* cur )
I guess we will need to bring this back?
The rest of the removed ones are EO based. No problem.
For the newly added one, ignoring EO based ones, we have:
evas_object_pointer_coords_inside_get ( Efl_Canvas_Object* obj, int x,
int y )
evas_object_pointer_inside_by_device_get ( Efl_Canvas_Object const* obj,
Efl_Input_Device* dev )
evas_object_pointer_inside_get ( Efl_Canvas_Object const* obj )
evas_object_event_grabber_freeze_when_visible_get (
Efl_Canvas_Object_Event_Grabber const* obj )
evas_object_event_grabber_freeze_when_visible_set (
Efl_Canvas_Object_Event_Grabber* obj, Eina_Bool set )
evas_device_get_by_seat_id ( Evas* eo_e, unsigned int id )
evas_device_seat_id_get ( Evas_Device const* dev )
evas_device_seat_id_set ( Evas_Device* dev, unsigned int id )
evas_language_direction_get ( )
evas_map_coords_get ( Evas_Map const* m, double x, double y, double* mx,
double* my, int grab )
evas_object_event_grabber_add ( Evas* eo_e )
evas_object_intercept_device_focus_set_callback_add ( Evas_Object*
eo_obj, Evas_Object_Intercept_Device_Focus_Set_Cb func, void const* data )
evas_object_intercept_device_focus_set_callback_del ( Evas_Object*
eo_obj, Evas_Object_Intercept_Device_Focus_Set_Cb func )
Are all of these evas_object APIs supposed to be available in legacy as
well?
regards
Stefan Schmidt