diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-04-24 10:14:45 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-04-24 10:14:45 +0200 |
| commit | 12fe96b1143d5c3a8e5371255115f80f39d83806 (patch) | |
| tree | a7535c46a7bcc083407ec2dc1bc38817c989d658 /src | |
| parent | 343272137947896ecdcdcff6a0ae1fc3d7a476ab (diff) | |
| download | box64-12fe96b1143d5c3a8e5371255115f80f39d83806.tar.gz box64-12fe96b1143d5c3a8e5371255115f80f39d83806.zip | |
Added wrapped libatk and libatk-bridge
Diffstat (limited to 'src')
| -rwxr-xr-x | src/library_list.h | 3 | ||||
| -rwxr-xr-x | src/wrapped/wrappedatk.c | 22 | ||||
| -rwxr-xr-x | src/wrapped/wrappedatk_private.h | 265 | ||||
| -rwxr-xr-x | src/wrapped/wrappedatkbridge.c | 31 | ||||
| -rwxr-xr-x | src/wrapped/wrappedatkbridge_private.h | 6 |
5 files changed, 326 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h index 0fa0cd8b..d4ab6750 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -109,7 +109,8 @@ GO("libpulse.so.0", pulse) //GO("libdbus-glib-1.so.2", dbusglib1) //GO("libgudev-1.0.so.0", gudev1) //GO("libappindicator.so.1", appindicator) -//GO("libatk-1.0.so.0", atk) +GO("libatk-1.0.so.0", atk) +GO("libatk-bridge-2.0.so.0", atkbridge) GO("libpangoft2-1.0.so", pangoft2) GO("libpangoft2-1.0.so.0", pangoft2) GO("libpangocairo-1.0.so.0", pangocairo) diff --git a/src/wrapped/wrappedatk.c b/src/wrapped/wrappedatk.c new file mode 100755 index 00000000..9a9564e6 --- /dev/null +++ b/src/wrapped/wrappedatk.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* atkName = "libatk-1.0.so.0"; +#define LIBNAME atk + +#define PRE_INIT \ + if(box64_nogtk) \ + return -1; + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedatk_private.h b/src/wrapped/wrappedatk_private.h new file mode 100755 index 00000000..28ab471e --- /dev/null +++ b/src/wrapped/wrappedatk_private.h @@ -0,0 +1,265 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(atk_action_do_action, iFpi) +GO(atk_action_get_description, iFpip) +GO(atk_action_get_keybinding, pFpi) +GO(atk_action_get_localized_name, pFpi) +GO(atk_action_get_n_actions, iFp) +GO(atk_action_get_name, pFpi) +GO(atk_action_get_type, iFv) +GO(atk_action_set_description, pFpi) +//GO(atk_add_focus_tracker, +//GO(atk_add_global_event_listener, +//GO(atk_add_key_event_listener, +//GO(atk_attribute_set_free, +//GOM(atk_component_add_focus_handler, uFpp) +GO(atk_component_contains, iFpiii) +GO(atk_component_get_alpha, dFp) +GO(atk_component_get_extents, vFpppppi) +GO(atk_component_get_layer, iFp) +GO(atk_component_get_mdi_zorder, iFp) +GO(atk_component_get_position, vFpppi) +GO(atk_component_get_size, vFppp) +GO(atk_component_get_type, iFv) +GO(atk_component_grab_focus, iFp) +GO(atk_component_ref_accessible_at_point, pFpiii) +GO(atk_component_remove_focus_handler, vFpu) +GO(atk_component_set_extents, iFpiiiii) +GO(atk_component_set_position, iFpiii) +GO(atk_component_set_size, iFpii) +GO(atk_coord_type_get_type, iFv) +//GO(atk_document_get_attributes, +//GO(atk_document_get_attribute_value, +//GO(atk_document_get_document, +//GO(atk_document_get_document_type, +//GO(atk_document_get_locale, +//GO(atk_document_get_type, +//GO(atk_document_set_attribute_value, +//GO(atk_editable_text_copy_text, +//GO(atk_editable_text_cut_text, +//GO(atk_editable_text_delete_text, +//GO(atk_editable_text_get_type, +//GO(atk_editable_text_insert_text, +//GO(atk_editable_text_paste_text, +//GO(atk_editable_text_set_run_attributes, +//GO(atk_editable_text_set_text_contents, +//GO(atk_focus_tracker_init, +//GO(atk_focus_tracker_notify, +//GO(atk_get_binary_age, +GO(atk_get_default_registry, pFv) +//GO(atk_get_focus_object, +//GO(atk_get_interface_age, +//GO(atk_get_major_version, +//GO(atk_get_micro_version, +//GO(atk_get_minor_version, +//GO(atk_get_root, +//GO(atk_get_toolkit_name, +//GO(atk_get_toolkit_version, +//GO(atk_get_version, +//GO(atk_gobject_accessible_for_object, +//GO(atk_gobject_accessible_get_object, +//GO(atk_gobject_accessible_get_type, +//GO(atk_hyperlink_get_end_index, +//GO(atk_hyperlink_get_n_anchors, +//GO(atk_hyperlink_get_object, +//GO(atk_hyperlink_get_start_index, +//GO(atk_hyperlink_get_type, +//GO(atk_hyperlink_get_uri, +//GO(atk_hyperlink_impl_get_hyperlink, +//GO(atk_hyperlink_impl_get_type, +//GO(atk_hyperlink_is_inline, +//GO(atk_hyperlink_is_selected_link, +//GO(atk_hyperlink_is_valid, +//GO(atk_hyperlink_state_flags_get_type, +//GO(atk_hypertext_get_link, +//GO(atk_hypertext_get_link_index, +//GO(atk_hypertext_get_n_links, +//GO(atk_hypertext_get_type, +//GO(atk_image_get_image_description, +//GO(atk_image_get_image_locale, +//GO(atk_image_get_image_position, +//GO(atk_image_get_image_size, +//GO(atk_image_get_type, +//GO(atk_image_set_image_description, +GO(atk_implementor_get_type, iFv) +GO(atk_implementor_ref_accessible, pFp) +//GO(atk_key_event_type_get_type, +//GO(atk_layer_get_type, +//GO(atk_marshal_VOID__INT_INT, +//GO(atk_marshal_VOID__INT_INT_INT_STRING, +//GO(atk_marshal_VOID__INT_INT_STRING, +//GO(atk_marshal_VOID__STRING_BOOLEAN, +//GO(atk_misc_get_instance, +//GO(atk_misc_get_type, +//GO(atk_misc_threads_enter, +//GO(atk_misc_threads_leave, +//GO(atk_no_op_object_factory_get_type, +//GO(atk_no_op_object_factory_new, +//GO(atk_no_op_object_get_type, +//GO(atk_no_op_object_new, +GO(atk_object_add_relationship, iFpip) +//GOM(atk_object_connect_property_change_handler, uFEpp) +//GO(atk_object_factory_create_accessible, +//GO(atk_object_factory_get_accessible_type, +//GO(atk_object_factory_get_type, +//GO(atk_object_factory_invalidate, +GO(atk_object_get_attributes, pFp) +GO(atk_object_get_description, pFp) +GO(atk_object_get_index_in_parent, iFp) +GO(atk_object_get_layer, iFp) +GO(atk_object_get_mdi_zorder, iFp) +GO(atk_object_get_n_accessible_children, iFp) +GO(atk_object_get_name, pFp) +GO(atk_object_get_object_locale, pFp) +GO(atk_object_get_parent, pFp) +GO(atk_object_get_role, iFp) +GO(atk_object_get_type, iFv) +GO(atk_object_initialize, vFpp) +GO(atk_object_notify_state_change, vFpii) +GO(atk_object_ref_accessible_child, pFpi) +GO(atk_object_ref_relation_set, pFp) +GO(atk_object_ref_state_set, pFp) +GO(atk_object_remove_property_change_handler, vFpu) +GO(atk_object_remove_relationship, iFpip) +GO(atk_object_set_description, vFpp) +GO(atk_object_set_name, vFpp) +GO(atk_object_set_parent, vFpp) +GO(atk_object_set_role, vFpi) +//GO(atk_plug_get_id, +//GO(atk_plug_get_type, +//GO(atk_plug_new, +//GO(atk_rectangle_get_type, +GO(atk_registry_get_factory, pFpi) +GO(atk_registry_get_factory_type, iFpi) +//GO(atk_registry_get_type, +GO(atk_registry_set_factory_type, vFpii) +//GO(atk_relation_add_target, +//GO(atk_relation_get_relation_type, +//GO(atk_relation_get_target, +//GO(atk_relation_get_type, +//GO(atk_relation_new, +//GO(atk_relation_remove_target, +//GO(atk_relation_set_add, +//GO(atk_relation_set_add_relation_by_type, +//GO(atk_relation_set_contains, +//GO(atk_relation_set_contains_target, +//GO(atk_relation_set_get_n_relations, +//GO(atk_relation_set_get_relation, +//GO(atk_relation_set_get_relation_by_type, +//GO(atk_relation_set_get_type, +//GO(atk_relation_set_new, +//GO(atk_relation_set_remove, +//GO(atk_relation_type_for_name, +//GO(atk_relation_type_get_name, +//GO(atk_relation_type_get_type, +//GO(atk_relation_type_register, +//GO(atk_remove_focus_tracker, +//GO(atk_remove_global_event_listener, +//GO(atk_remove_key_event_listener, +GO(atk_role_for_name, iFp) +GO(atk_role_get_localized_name, pFp) +GO(atk_role_get_name, pFp) +GO(atk_role_get_type, iFv) +GO(atk_role_register, iFp) +//GO(atk_selection_add_selection, +//GO(atk_selection_clear_selection, +//GO(atk_selection_get_selection_count, +//GO(atk_selection_get_type, +//GO(atk_selection_is_child_selected, +//GO(atk_selection_ref_selection, +//GO(atk_selection_remove_selection, +//GO(atk_selection_select_all_selection, +//GO(atk_socket_embed, +//GO(atk_socket_get_type, +//GO(atk_socket_is_occupied, +//GO(atk_socket_new, +//GO(atk_state_set_add_state, +//GO(atk_state_set_add_states, +//GO(atk_state_set_and_sets, +//GO(atk_state_set_clear_states, +//GO(atk_state_set_contains_state, +//GO(atk_state_set_contains_states, +//GO(atk_state_set_get_type, +//GO(atk_state_set_is_empty, +//GO(atk_state_set_new, +//GO(atk_state_set_or_sets, +//GO(atk_state_set_remove_state, +//GO(atk_state_set_xor_sets, +//GO(atk_state_type_for_name, +//GO(atk_state_type_get_name, +//GO(atk_state_type_get_type, +//GO(atk_state_type_register, +//GO(atk_streamable_content_get_mime_type, +//GO(atk_streamable_content_get_n_mime_types, +//GO(atk_streamable_content_get_stream, +//GO(atk_streamable_content_get_type, +//GO(atk_streamable_content_get_uri, +//GO(atk_table_add_column_selection, +//GO(atk_table_add_row_selection, +//GO(atk_table_get_caption, +//GO(atk_table_get_column_at_index, +//GO(atk_table_get_column_description, +//GO(atk_table_get_column_extent_at, +//GO(atk_table_get_column_header, +//GO(atk_table_get_index_at, +//GO(atk_table_get_n_columns, +//GO(atk_table_get_n_rows, +//GO(atk_table_get_row_at_index, +//GO(atk_table_get_row_description, +//GO(atk_table_get_row_extent_at, +//GO(atk_table_get_row_header, +//GO(atk_table_get_selected_columns, +//GO(atk_table_get_selected_rows, +//GO(atk_table_get_summary, +//GO(atk_table_get_type, +//GO(atk_table_is_column_selected, +//GO(atk_table_is_row_selected, +//GO(atk_table_is_selected, +//GO(atk_table_ref_at, +//GO(atk_table_remove_column_selection, +//GO(atk_table_remove_row_selection, +//GO(atk_table_set_caption, +//GO(atk_table_set_column_description, +//GO(atk_table_set_column_header, +//GO(atk_table_set_row_description, +//GO(atk_table_set_row_header, +//GO(atk_table_set_summary, +//GO(atk_text_add_selection, +//GO(atk_text_attribute_for_name, +//GO(atk_text_attribute_get_name, +//GO(atk_text_attribute_get_type, +//GO(atk_text_attribute_get_value, +//GO(atk_text_attribute_register, +//GO(atk_text_boundary_get_type, +//GO(atk_text_clip_type_get_type, +//GO(atk_text_free_ranges, +//GO(atk_text_get_bounded_ranges, +//GO(atk_text_get_caret_offset, +//GO(atk_text_get_character_at_offset, +//GO(atk_text_get_character_count, +//GO(atk_text_get_character_extents, +//GO(atk_text_get_default_attributes, +//GO(atk_text_get_n_selections, +//GO(atk_text_get_offset_at_point, +//GO(atk_text_get_range_extents, +//GO(atk_text_get_run_attributes, +//GO(atk_text_get_selection, +//GO(atk_text_get_text, +//GO(atk_text_get_text_after_offset, +//GO(atk_text_get_text_at_offset, +//GO(atk_text_get_text_before_offset, +//GO(atk_text_get_type, +//GO(atk_text_range_get_type, +//GO(atk_text_remove_selection, +//GO(atk_text_set_caret_offset, +//GO(atk_text_set_selection, +GO(atk_util_get_type, iFv) +//GO(atk_value_get_current_value, +//GO(atk_value_get_maximum_value, +//GO(atk_value_get_minimum_increment, +//GO(atk_value_get_minimum_value, +//GO(atk_value_get_type, +//GO(atk_value_set_current_value, +//GO(atk_window_get_type, diff --git a/src/wrapped/wrappedatkbridge.c b/src/wrapped/wrappedatkbridge.c new file mode 100755 index 00000000..a061fd95 --- /dev/null +++ b/src/wrapped/wrappedatkbridge.c @@ -0,0 +1,31 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" + +const char* atkbridgeName = "libatk-bridge-2.0.so.0"; +#define LIBNAME atkbridge + +#define PRE_INIT \ + if(box64_nogtk) \ + return -1; + +#define CUSTOM_INIT \ + lib->priv.w.needed = 5; \ + lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \ + lib->priv.w.neededlibs[0] = strdup("libatk-1.0.so.0"); \ + lib->priv.w.neededlibs[1] = strdup("libSM.so.6"); \ + lib->priv.w.neededlibs[2] = strdup("libICE.so.6"); \ + lib->priv.w.neededlibs[3] = strdup("libXau.so.6"); \ + lib->priv.w.neededlibs[4] = strdup("libxcb.so.1"); \ + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedatkbridge_private.h b/src/wrapped/wrappedatkbridge_private.h new file mode 100755 index 00000000..4851d8e8 --- /dev/null +++ b/src/wrapped/wrappedatkbridge_private.h @@ -0,0 +1,6 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(atk_bridge_adaptor_cleanup, iFpp) +GO(atk_bridge_adaptor_init, vFv) \ No newline at end of file |