diff options
Diffstat (limited to 'libraries/ecore/src/lib/ecore_x/xcb')
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@ | |||
261 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 261 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
262 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 262 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
263 | PKG_CONFIG = @PKG_CONFIG@ | 263 | PKG_CONFIG = @PKG_CONFIG@ |
264 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
265 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
266 | POSUB = @POSUB@ | 264 | POSUB = @POSUB@ |
267 | RANLIB = @RANLIB@ | 265 | RANLIB = @RANLIB@ |
266 | SCIM_CFLAGS = @SCIM_CFLAGS@ | ||
267 | SCIM_LIBS = @SCIM_LIBS@ | ||
268 | SDL_CFLAGS = @SDL_CFLAGS@ | 268 | SDL_CFLAGS = @SDL_CFLAGS@ |
269 | SDL_CONFIG = @SDL_CONFIG@ | 269 | SDL_CONFIG = @SDL_CONFIG@ |
270 | SDL_LIBS = @SDL_LIBS@ | 270 | SDL_LIBS = @SDL_LIBS@ |
@@ -283,6 +283,10 @@ TSLIB_LIBS = @TSLIB_LIBS@ | |||
283 | USE_NLS = @USE_NLS@ | 283 | USE_NLS = @USE_NLS@ |
284 | VERSION = @VERSION@ | 284 | VERSION = @VERSION@ |
285 | VMAJ = @VMAJ@ | 285 | VMAJ = @VMAJ@ |
286 | WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ | ||
287 | WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ | ||
288 | WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ | ||
289 | WAYLAND_LIBS = @WAYLAND_LIBS@ | ||
286 | WIN32_CFLAGS = @WIN32_CFLAGS@ | 290 | WIN32_CFLAGS = @WIN32_CFLAGS@ |
287 | WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ | 291 | WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ |
288 | WIN32_LIBS = @WIN32_LIBS@ | 292 | WIN32_LIBS = @WIN32_LIBS@ |
@@ -396,6 +400,8 @@ ecore_imf_cflags = @ecore_imf_cflags@ | |||
396 | ecore_imf_evas_cflags = @ecore_imf_evas_cflags@ | 400 | ecore_imf_evas_cflags = @ecore_imf_evas_cflags@ |
397 | ecore_imf_evas_libs = @ecore_imf_evas_libs@ | 401 | ecore_imf_evas_libs = @ecore_imf_evas_libs@ |
398 | ecore_imf_libs = @ecore_imf_libs@ | 402 | ecore_imf_libs = @ecore_imf_libs@ |
403 | ecore_imf_scim_cflags = @ecore_imf_scim_cflags@ | ||
404 | ecore_imf_scim_libs = @ecore_imf_scim_libs@ | ||
399 | ecore_imf_xim_cflags = @ecore_imf_xim_cflags@ | 405 | ecore_imf_xim_cflags = @ecore_imf_xim_cflags@ |
400 | ecore_imf_xim_libs = @ecore_imf_xim_libs@ | 406 | ecore_imf_xim_libs = @ecore_imf_xim_libs@ |
401 | ecore_input_cflags = @ecore_input_cflags@ | 407 | ecore_input_cflags = @ecore_input_cflags@ |
@@ -408,6 +414,8 @@ ecore_psl1ght_cflags = @ecore_psl1ght_cflags@ | |||
408 | ecore_psl1ght_libs = @ecore_psl1ght_libs@ | 414 | ecore_psl1ght_libs = @ecore_psl1ght_libs@ |
409 | ecore_sdl_cflags = @ecore_sdl_cflags@ | 415 | ecore_sdl_cflags = @ecore_sdl_cflags@ |
410 | ecore_sdl_libs = @ecore_sdl_libs@ | 416 | ecore_sdl_libs = @ecore_sdl_libs@ |
417 | ecore_wayland_cflags = @ecore_wayland_cflags@ | ||
418 | ecore_wayland_libs = @ecore_wayland_libs@ | ||
411 | ecore_win32_cflags = @ecore_win32_cflags@ | 419 | ecore_win32_cflags = @ecore_win32_cflags@ |
412 | ecore_win32_libs = @ecore_win32_libs@ | 420 | ecore_win32_libs = @ecore_win32_libs@ |
413 | ecore_wince_cflags = @ecore_wince_cflags@ | 421 | ecore_wince_cflags = @ecore_wince_cflags@ |
@@ -452,12 +460,14 @@ requirements_ecore_fb = @requirements_ecore_fb@ | |||
452 | requirements_ecore_file = @requirements_ecore_file@ | 460 | requirements_ecore_file = @requirements_ecore_file@ |
453 | requirements_ecore_imf = @requirements_ecore_imf@ | 461 | requirements_ecore_imf = @requirements_ecore_imf@ |
454 | requirements_ecore_imf_evas = @requirements_ecore_imf_evas@ | 462 | requirements_ecore_imf_evas = @requirements_ecore_imf_evas@ |
463 | requirements_ecore_imf_scim = @requirements_ecore_imf_scim@ | ||
455 | requirements_ecore_imf_xim = @requirements_ecore_imf_xim@ | 464 | requirements_ecore_imf_xim = @requirements_ecore_imf_xim@ |
456 | requirements_ecore_input = @requirements_ecore_input@ | 465 | requirements_ecore_input = @requirements_ecore_input@ |
457 | requirements_ecore_input_evas = @requirements_ecore_input_evas@ | 466 | requirements_ecore_input_evas = @requirements_ecore_input_evas@ |
458 | requirements_ecore_ipc = @requirements_ecore_ipc@ | 467 | requirements_ecore_ipc = @requirements_ecore_ipc@ |
459 | requirements_ecore_psl1ght = @requirements_ecore_psl1ght@ | 468 | requirements_ecore_psl1ght = @requirements_ecore_psl1ght@ |
460 | requirements_ecore_sdl = @requirements_ecore_sdl@ | 469 | requirements_ecore_sdl = @requirements_ecore_sdl@ |
470 | requirements_ecore_wayland = @requirements_ecore_wayland@ | ||
461 | requirements_ecore_win32 = @requirements_ecore_win32@ | 471 | requirements_ecore_win32 = @requirements_ecore_win32@ |
462 | requirements_ecore_wince = @requirements_ecore_wince@ | 472 | requirements_ecore_wince = @requirements_ecore_wince@ |
463 | requirements_ecore_x = @requirements_ecore_x@ | 473 | requirements_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 | */ |
424 | EAPI void | 424 | EAPI void |
425 | ecore_x_dnd_callback_pos_update_set(void (*cb)(void *, | 425 | ecore_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 | */ |
276 | EAPI void | 276 | EAPI 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 | */ |
292 | EAPI void | 292 | EAPI 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 | */ |
308 | EAPI void | 308 | EAPI 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; | |||
8 | static void *_io_error_data = NULL; | 8 | static void *_io_error_data = NULL; |
9 | static int _error_request_code = 0; | 9 | static int _error_request_code = 0; |
10 | static int _error_code = 0; | 10 | static int _error_code = 0; |
11 | static 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 | */ | ||
73 | EAPI Ecore_X_ID | ||
74 | ecore_x_error_resource_id_get(void) | ||
75 | { | ||
76 | return _error_resource_id; | ||
77 | } | ||
78 | |||
66 | int | 79 | int |
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 | */ |
401 | EAPI void | 401 | EAPI void |
402 | ecore_x_icccm_transient_for_unset(Ecore_X_Window win) | 402 | ecore_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 | */ | ||
2456 | EAPI Eina_Bool | ||
2457 | ecore_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 | |||
2452 | EAPI int | 2491 | EAPI int |
2453 | ecore_x_randr_edid_version_get(unsigned char *edid, unsigned long edid_length) | 2492 | ecore_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 | */ |
784 | EAPI void | 784 | EAPI void |
785 | ecore_x_window_focus_at_time(Ecore_X_Window win, | 785 | ecore_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 |