aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_x/xcb
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/ecore/src/lib/ecore_x/xcb')
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/Makefile.in14
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_damage.c2
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dnd.c5
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dpms.c6
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_error.c14
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_icccm.c3
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c45
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c5
-rw-r--r--libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_xfixes.c14
9 files changed, 86 insertions, 22 deletions
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in b/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in
index 0213aea..9108f23 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in
+++ b/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in
@@ -261,10 +261,10 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
261PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 261PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
262PIXMAN_LIBS = @PIXMAN_LIBS@ 262PIXMAN_LIBS = @PIXMAN_LIBS@
263PKG_CONFIG = @PKG_CONFIG@ 263PKG_CONFIG = @PKG_CONFIG@
264PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
265PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
266POSUB = @POSUB@ 264POSUB = @POSUB@
267RANLIB = @RANLIB@ 265RANLIB = @RANLIB@
266SCIM_CFLAGS = @SCIM_CFLAGS@
267SCIM_LIBS = @SCIM_LIBS@
268SDL_CFLAGS = @SDL_CFLAGS@ 268SDL_CFLAGS = @SDL_CFLAGS@
269SDL_CONFIG = @SDL_CONFIG@ 269SDL_CONFIG = @SDL_CONFIG@
270SDL_LIBS = @SDL_LIBS@ 270SDL_LIBS = @SDL_LIBS@
@@ -283,6 +283,10 @@ TSLIB_LIBS = @TSLIB_LIBS@
283USE_NLS = @USE_NLS@ 283USE_NLS = @USE_NLS@
284VERSION = @VERSION@ 284VERSION = @VERSION@
285VMAJ = @VMAJ@ 285VMAJ = @VMAJ@
286WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
287WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
288WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
289WAYLAND_LIBS = @WAYLAND_LIBS@
286WIN32_CFLAGS = @WIN32_CFLAGS@ 290WIN32_CFLAGS = @WIN32_CFLAGS@
287WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ 291WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
288WIN32_LIBS = @WIN32_LIBS@ 292WIN32_LIBS = @WIN32_LIBS@
@@ -396,6 +400,8 @@ ecore_imf_cflags = @ecore_imf_cflags@
396ecore_imf_evas_cflags = @ecore_imf_evas_cflags@ 400ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
397ecore_imf_evas_libs = @ecore_imf_evas_libs@ 401ecore_imf_evas_libs = @ecore_imf_evas_libs@
398ecore_imf_libs = @ecore_imf_libs@ 402ecore_imf_libs = @ecore_imf_libs@
403ecore_imf_scim_cflags = @ecore_imf_scim_cflags@
404ecore_imf_scim_libs = @ecore_imf_scim_libs@
399ecore_imf_xim_cflags = @ecore_imf_xim_cflags@ 405ecore_imf_xim_cflags = @ecore_imf_xim_cflags@
400ecore_imf_xim_libs = @ecore_imf_xim_libs@ 406ecore_imf_xim_libs = @ecore_imf_xim_libs@
401ecore_input_cflags = @ecore_input_cflags@ 407ecore_input_cflags = @ecore_input_cflags@
@@ -408,6 +414,8 @@ ecore_psl1ght_cflags = @ecore_psl1ght_cflags@
408ecore_psl1ght_libs = @ecore_psl1ght_libs@ 414ecore_psl1ght_libs = @ecore_psl1ght_libs@
409ecore_sdl_cflags = @ecore_sdl_cflags@ 415ecore_sdl_cflags = @ecore_sdl_cflags@
410ecore_sdl_libs = @ecore_sdl_libs@ 416ecore_sdl_libs = @ecore_sdl_libs@
417ecore_wayland_cflags = @ecore_wayland_cflags@
418ecore_wayland_libs = @ecore_wayland_libs@
411ecore_win32_cflags = @ecore_win32_cflags@ 419ecore_win32_cflags = @ecore_win32_cflags@
412ecore_win32_libs = @ecore_win32_libs@ 420ecore_win32_libs = @ecore_win32_libs@
413ecore_wince_cflags = @ecore_wince_cflags@ 421ecore_wince_cflags = @ecore_wince_cflags@
@@ -452,12 +460,14 @@ requirements_ecore_fb = @requirements_ecore_fb@
452requirements_ecore_file = @requirements_ecore_file@ 460requirements_ecore_file = @requirements_ecore_file@
453requirements_ecore_imf = @requirements_ecore_imf@ 461requirements_ecore_imf = @requirements_ecore_imf@
454requirements_ecore_imf_evas = @requirements_ecore_imf_evas@ 462requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
463requirements_ecore_imf_scim = @requirements_ecore_imf_scim@
455requirements_ecore_imf_xim = @requirements_ecore_imf_xim@ 464requirements_ecore_imf_xim = @requirements_ecore_imf_xim@
456requirements_ecore_input = @requirements_ecore_input@ 465requirements_ecore_input = @requirements_ecore_input@
457requirements_ecore_input_evas = @requirements_ecore_input_evas@ 466requirements_ecore_input_evas = @requirements_ecore_input_evas@
458requirements_ecore_ipc = @requirements_ecore_ipc@ 467requirements_ecore_ipc = @requirements_ecore_ipc@
459requirements_ecore_psl1ght = @requirements_ecore_psl1ght@ 468requirements_ecore_psl1ght = @requirements_ecore_psl1ght@
460requirements_ecore_sdl = @requirements_ecore_sdl@ 469requirements_ecore_sdl = @requirements_ecore_sdl@
470requirements_ecore_wayland = @requirements_ecore_wayland@
461requirements_ecore_win32 = @requirements_ecore_win32@ 471requirements_ecore_win32 = @requirements_ecore_win32@
462requirements_ecore_wince = @requirements_ecore_wince@ 472requirements_ecore_wince = @requirements_ecore_wince@
463requirements_ecore_x = @requirements_ecore_x@ 473requirements_ecore_x = @requirements_ecore_x@
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_damage.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_damage.c
index d0ffde1..bbab308 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_damage.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_damage.c
@@ -99,7 +99,7 @@ ecore_x_damage_new(Ecore_X_Drawable drawable,
99/** 99/**
100 * Destroy a damage object 100 * Destroy a damage object
101 * 101 *
102 * @param The damage object to destroy 102 * @param damage The damage object to destroy
103 * 103 *
104 * Destroys the damage object @p damage 104 * Destroys the damage object @p damage
105 * 105 *
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dnd.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
index 677de38..177e61d 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
@@ -422,9 +422,8 @@ ecore_x_dnd_actions_set(Ecore_X_Window win,
422 * @param data User data. 422 * @param data User data.
423 */ 423 */
424EAPI void 424EAPI void
425ecore_x_dnd_callback_pos_update_set(void (*cb)(void *, 425ecore_x_dnd_callback_pos_update_set(void (*cb)(void *, Ecore_X_Xdnd_Position *data),
426 Ecore_X_Xdnd_Position *data), 426 const void *data)
427 const void *data)
428{ 427{
429 _posupdatecb = cb; 428 _posupdatecb = cb;
430 _posupdatedata = (void *)data; 429 _posupdatedata = (void *)data;
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dpms.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dpms.c
index 63b7f1e..324717c 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dpms.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_dpms.c
@@ -270,7 +270,7 @@ ecore_x_dpms_timeout_off_get(void)
270 270
271/** 271/**
272 * Sets the standby timeout (in unit of seconds). 272 * Sets the standby timeout (in unit of seconds).
273 * @param new_standby Amount of time of inactivity before standby mode will be invoked. 273 * @param new_timeout Amount of time of inactivity before standby mode will be invoked.
274 * @ingroup Ecore_X_DPMS_Group 274 * @ingroup Ecore_X_DPMS_Group
275 */ 275 */
276EAPI void 276EAPI void
@@ -286,7 +286,7 @@ ecore_x_dpms_timeout_standby_set(unsigned int new_timeout)
286 286
287/** 287/**
288 * Sets the suspend timeout (in unit of seconds). 288 * Sets the suspend timeout (in unit of seconds).
289 * @param suspend Amount of time of inactivity before the screen is placed into suspend mode. 289 * @param new_timeout Amount of time of inactivity before the screen is placed into suspend mode.
290 * @ingroup Ecore_X_DPMS_Group 290 * @ingroup Ecore_X_DPMS_Group
291 */ 291 */
292EAPI void 292EAPI void
@@ -302,7 +302,7 @@ ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout)
302 302
303/** 303/**
304 * Sets the off timeout (in unit of seconds). 304 * Sets the off timeout (in unit of seconds).
305 * @param off Amount of time of inactivity before the monitor is shut off. 305 * @param new_timeout Amount of time of inactivity before the monitor is shut off.
306 * @ingroup Ecore_X_DPMS_Group 306 * @ingroup Ecore_X_DPMS_Group
307 */ 307 */
308EAPI void 308EAPI void
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_error.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_error.c
index bbd9c2a..fc32926 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_error.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_error.c
@@ -8,6 +8,7 @@ static void (*_io_error_func)(void *data) = NULL;
8static void *_io_error_data = NULL; 8static void *_io_error_data = NULL;
9static int _error_request_code = 0; 9static int _error_request_code = 0;
10static int _error_code = 0; 10static int _error_code = 0;
11static Ecore_X_ID _error_resource_id = 0;
11 12
12/** 13/**
13 * Set the error handler. 14 * Set the error handler.
@@ -63,6 +64,18 @@ ecore_x_error_code_get(void)
63 return _error_code; 64 return _error_code;
64} 65}
65 66
67/**
68 * Get the resource id that caused the error.
69 * @return The resource id causing the X error
70 *
71 * Return the X resource id that caused the last X error
72 */
73EAPI Ecore_X_ID
74ecore_x_error_resource_id_get(void)
75{
76 return _error_resource_id;
77}
78
66int 79int
67_ecore_xcb_error_handle(xcb_generic_error_t *err) 80_ecore_xcb_error_handle(xcb_generic_error_t *err)
68{ 81{
@@ -84,6 +97,7 @@ _ecore_xcb_error_handle(xcb_generic_error_t *err)
84 97
85 _error_request_code = err->sequence; 98 _error_request_code = err->sequence;
86 _error_code = err->error_code; 99 _error_code = err->error_code;
100 _error_resource_id = err->resource_id;
87 if (_error_func) 101 if (_error_func)
88 _error_func(_error_data); 102 _error_func(_error_data);
89 103
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_icccm.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_icccm.c
index 6459db7..8dea861 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_icccm.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_icccm.c
@@ -396,7 +396,7 @@ ecore_x_icccm_transient_for_set(Ecore_X_Window win,
396 396
397/** 397/**
398 * Remove the transient_for setting from a window. 398 * Remove the transient_for setting from a window.
399 * @param The window 399 * @param win The window
400 */ 400 */
401EAPI void 401EAPI void
402ecore_x_icccm_transient_for_unset(Ecore_X_Window win) 402ecore_x_icccm_transient_for_unset(Ecore_X_Window win)
@@ -1452,6 +1452,7 @@ ecore_x_icccm_take_focus_send(Ecore_X_Window win,
1452 Ecore_X_Time t) 1452 Ecore_X_Time t)
1453{ 1453{
1454 LOGFN(__FILE__, __LINE__, __FUNCTION__); 1454 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1455 CHECK_XCB_CONN;
1455 1456
1456 ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS, 1457 ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS,
1457 XCB_EVENT_MASK_NO_EVENT, 1458 XCB_EVENT_MASK_NO_EVENT,
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c
index 510da49..62f7618 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c
@@ -1528,9 +1528,9 @@ ecore_x_randr_crtc_geometry_get(Ecore_X_Window root,
1528 1528
1529/** 1529/**
1530 * @brief sets a CRTC relative to another one. 1530 * @brief sets a CRTC relative to another one.
1531 * @param crtc_r1 the CRTC to be positioned. 1531 * @param crtc1 the CRTC to be positioned.
1532 * @param crtc_r2 the CRTC the position should be relative to 1532 * @param crtc2 the CRTC the position should be relative to
1533 * @param position the relation between the crtcs 1533 * @param policy the relation between the crtcs
1534 * @param alignment in case CRTCs size differ, aligns CRTC1 accordingly at CRTC2's 1534 * @param alignment in case CRTCs size differ, aligns CRTC1 accordingly at CRTC2's
1535 * borders 1535 * borders
1536 * @return EINA_TRUE if crtc could be successfully positioned. EINA_FALSE if 1536 * @return EINA_TRUE if crtc could be successfully positioned. EINA_FALSE if
@@ -2449,6 +2449,45 @@ ecore_x_randr_output_backlight_level_set(Ecore_X_Window root,
2449 return EINA_FALSE; 2449 return EINA_FALSE;
2450} 2450}
2451 2451
2452/*
2453 * @brief check if a backlight is available
2454 * @return whether a blacklight is available
2455 */
2456EAPI Eina_Bool
2457ecore_x_randr_output_backlight_available(void)
2458{
2459#ifdef ECORE_XCB_RANDR
2460 Ecore_X_Atom _backlight;
2461 xcb_intern_atom_cookie_t acookie;
2462 xcb_intern_atom_reply_t *areply;
2463#endif
2464
2465 LOGFN(__FILE__, __LINE__, __FUNCTION__);
2466 CHECK_XCB_CONN;
2467
2468#ifdef ECORE_XCB_RANDR
2469 RANDR_CHECK_1_2_RET(EINA_FALSE);
2470
2471 acookie =
2472 xcb_intern_atom_unchecked(_ecore_xcb_conn, 1,
2473 strlen("Backlight"), "Backlight");
2474 areply = xcb_intern_atom_reply(_ecore_xcb_conn, acookie, NULL);
2475
2476 if (!areply)
2477 {
2478 ERR("Backlight property is not suppported on this server or driver");
2479 return EINA_FALSE;
2480 }
2481 else
2482 {
2483 _backlight = areply->atom;
2484 free(areply);
2485 return EINA_TRUE;
2486 }
2487#endif
2488 return EINA_FALSE;
2489}
2490
2452EAPI int 2491EAPI int
2453ecore_x_randr_edid_version_get(unsigned char *edid, unsigned long edid_length) 2492ecore_x_randr_edid_version_get(unsigned char *edid, unsigned long edid_length)
2454{ 2493{
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c
index 2616c93..27bceaf 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c
@@ -783,13 +783,14 @@ ecore_x_window_focus(Ecore_X_Window win)
783 */ 783 */
784EAPI void 784EAPI void
785ecore_x_window_focus_at_time(Ecore_X_Window win, 785ecore_x_window_focus_at_time(Ecore_X_Window win,
786 Ecore_X_Time time) 786 Ecore_X_Time time __UNUSED__)
787{ 787{
788 LOGFN(__FILE__, __LINE__, __FUNCTION__); 788 LOGFN(__FILE__, __LINE__, __FUNCTION__);
789 CHECK_XCB_CONN; 789 CHECK_XCB_CONN;
790 790
791 if (!win) win = ((xcb_screen_t *)_ecore_xcb_screen)->root; 791 if (!win) win = ((xcb_screen_t *)_ecore_xcb_screen)->root;
792 xcb_set_input_focus(_ecore_xcb_conn, XCB_INPUT_FOCUS_PARENT, win, time); 792 xcb_set_input_focus(_ecore_xcb_conn,
793 XCB_INPUT_FOCUS_PARENT, win, XCB_CURRENT_TIME);
793// ecore_x_flush(); 794// ecore_x_flush();
794} 795}
795 796
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_xfixes.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_xfixes.c
index bf9d5ee..bbca2a5 100644
--- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_xfixes.c
+++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_xfixes.c
@@ -178,7 +178,7 @@ ecore_x_region_new_from_bitmap(Ecore_X_Pixmap bitmap)
178 178
179/** 179/**
180 * Create a region from a window. 180 * Create a region from a window.
181 * @param window The window used to initialize the region. 181 * @param win The window used to initialize the region.
182 * @param type The type of the region. 182 * @param type The type of the region.
183 * @return The newly created region. 183 * @return The newly created region.
184 * 184 *
@@ -609,8 +609,8 @@ ecore_x_region_expand(Ecore_X_Region dest,
609 * Change clip-mask in a graphic context to the specified region. 609 * Change clip-mask in a graphic context to the specified region.
610 * @param region The region to change. 610 * @param region The region to change.
611 * @param gc The clip-mask graphic context. 611 * @param gc The clip-mask graphic context.
612 * @param x_origin The horizontal translation. 612 * @param x The horizontal translation.
613 * @param y_origin The vertical translation. 613 * @param y The vertical translation.
614 * 614 *
615 * Changes clip-mask in @p gc to the specified @p region and 615 * Changes clip-mask in @p gc to the specified @p region and
616 * sets the clip origin with the values of @p x_origin and @p y_origin. 616 * sets the clip origin with the values of @p x_origin and @p y_origin.
@@ -643,8 +643,8 @@ ecore_x_region_gc_clip_set(Ecore_X_Region region,
643 * @param region The region. 643 * @param region The region.
644 * @param dest The window whose shape is changed. 644 * @param dest The window whose shape is changed.
645 * @param type The kind of shape. 645 * @param type The kind of shape.
646 * @param x_offset The horizontal offset. 646 * @param x The horizontal offset.
647 * @param y_offset The vertical offset. 647 * @param y The vertical offset.
648 * 648 *
649 * Set the specified Shape extension region of @p window to @p region, 649 * Set the specified Shape extension region of @p window to @p region,
650 * offset by @p x_offset and @p y_offset. Future changes to region 650 * offset by @p x_offset and @p y_offset. Future changes to region
@@ -673,8 +673,8 @@ ecore_x_region_window_shape_set(Ecore_X_Region region,
673 * Change clip-mask in picture to the specified region. 673 * Change clip-mask in picture to the specified region.
674 * @param region The region. 674 * @param region The region.
675 * @param picture The picture. 675 * @param picture The picture.
676 * @param x_origin The X coordinate of the origin. 676 * @param x The X coordinate of the origin.
677 * @param y_origin The Y coordinate of the origin. 677 * @param y The Y coordinate of the origin.
678 * 678 *
679 * Changes clip-mask in picture to the specified @p region 679 * Changes clip-mask in picture to the specified @p region
680 * and sets the clip origin. Input and output will be clipped to 680 * and sets the clip origin. Input and output will be clipped to