1 /* 2 * Clutter. 3 * 4 * An OpenGL based 'interactive canvas' library. 5 * 6 * Copyright (C) 2011 Intel Corporation 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 20 */ 21 22 #ifndef __CLUTTER_ENUMS_H__ 23 #define __CLUTTER_ENUMS_H__ 24 25 #if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION) 26 #error "Only <clutter/clutter.h> can be included directly." 27 #endif 28 29 #include <glib-object.h> 30 31 G_BEGIN_DECLS 32 33 /** 34 * ClutterGravity: 35 * @CLUTTER_GRAVITY_NONE: Do not apply any gravity 36 * @CLUTTER_GRAVITY_NORTH: Scale from topmost downwards 37 * @CLUTTER_GRAVITY_NORTH_EAST: Scale from the top right corner 38 * @CLUTTER_GRAVITY_EAST: Scale from the right side 39 * @CLUTTER_GRAVITY_SOUTH_EAST: Scale from the bottom right corner 40 * @CLUTTER_GRAVITY_SOUTH: Scale from the bottom upwards 41 * @CLUTTER_GRAVITY_SOUTH_WEST: Scale from the bottom left corner 42 * @CLUTTER_GRAVITY_WEST: Scale from the left side 43 * @CLUTTER_GRAVITY_NORTH_WEST: Scale from the top left corner 44 * @CLUTTER_GRAVITY_CENTER: Scale from the center. 45 * 46 * Gravity of the scaling operations. When a gravity different than 47 * %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position 48 * of the specified portion at the same coordinates. 49 * 50 * Since: 0.2 51 * 52 * Deprecated: 1.22: Use the normalized #ClutterActor pivot point instead 53 */ 54 typedef enum { /*< prefix=CLUTTER_GRAVITY >*/ 55 CLUTTER_GRAVITY_NONE = 0, 56 CLUTTER_GRAVITY_NORTH, 57 CLUTTER_GRAVITY_NORTH_EAST, 58 CLUTTER_GRAVITY_EAST, 59 CLUTTER_GRAVITY_SOUTH_EAST, 60 CLUTTER_GRAVITY_SOUTH, 61 CLUTTER_GRAVITY_SOUTH_WEST, 62 CLUTTER_GRAVITY_WEST, 63 CLUTTER_GRAVITY_NORTH_WEST, 64 CLUTTER_GRAVITY_CENTER 65 } ClutterGravity; 66 67 /** 68 * ClutterRotateAxis: 69 * @CLUTTER_X_AXIS: Rotate around the X axis 70 * @CLUTTER_Y_AXIS: Rotate around the Y axis 71 * @CLUTTER_Z_AXIS: Rotate around the Z axis 72 * 73 * Axis of a rotation. 74 * 75 * Since: 0.4 76 */ 77 typedef enum { /*< prefix=CLUTTER >*/ 78 CLUTTER_X_AXIS, 79 CLUTTER_Y_AXIS, 80 CLUTTER_Z_AXIS 81 } ClutterRotateAxis; 82 83 /** 84 * ClutterRotateDirection: 85 * @CLUTTER_ROTATE_CW: Clockwise rotation 86 * @CLUTTER_ROTATE_CCW: Counter-clockwise rotation 87 * 88 * Direction of a rotation. 89 * 90 * Since: 0.4 91 * 92 * Deprecated: 1.22 93 */ 94 typedef enum { /*< prefix=CLUTTER_ROTATE >*/ 95 CLUTTER_ROTATE_CW, 96 CLUTTER_ROTATE_CCW 97 } ClutterRotateDirection; 98 99 /** 100 * ClutterRequestMode: 101 * @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests 102 * @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests 103 * @CLUTTER_REQUEST_CONTENT_SIZE: Use the preferred size of the 104 * #ClutterContent, if it has any (available since 1.22) 105 * 106 * Specifies the type of requests for a #ClutterActor. 107 * 108 * Since: 0.8 109 */ 110 typedef enum { /*< prefix=CLUTTER_REQUEST >*/ 111 CLUTTER_REQUEST_HEIGHT_FOR_WIDTH, 112 CLUTTER_REQUEST_WIDTH_FOR_HEIGHT, 113 CLUTTER_REQUEST_CONTENT_SIZE 114 } ClutterRequestMode; 115 116 /** 117 * ClutterAnimationMode: 118 * @CLUTTER_CUSTOM_MODE: custom progress function 119 * @CLUTTER_LINEAR: linear tweening 120 * @CLUTTER_EASE_IN_QUAD: quadratic tweening 121 * @CLUTTER_EASE_OUT_QUAD: quadratic tweening, inverse of 122 * %CLUTTER_EASE_IN_QUAD 123 * @CLUTTER_EASE_IN_OUT_QUAD: quadratic tweening, combininig 124 * %CLUTTER_EASE_IN_QUAD and %CLUTTER_EASE_OUT_QUAD 125 * @CLUTTER_EASE_IN_CUBIC: cubic tweening 126 * @CLUTTER_EASE_OUT_CUBIC: cubic tweening, invers of 127 * %CLUTTER_EASE_IN_CUBIC 128 * @CLUTTER_EASE_IN_OUT_CUBIC: cubic tweening, combining 129 * %CLUTTER_EASE_IN_CUBIC and %CLUTTER_EASE_OUT_CUBIC 130 * @CLUTTER_EASE_IN_QUART: quartic tweening 131 * @CLUTTER_EASE_OUT_QUART: quartic tweening, inverse of 132 * %CLUTTER_EASE_IN_QUART 133 * @CLUTTER_EASE_IN_OUT_QUART: quartic tweening, combining 134 * %CLUTTER_EASE_IN_QUART and %CLUTTER_EASE_OUT_QUART 135 * @CLUTTER_EASE_IN_QUINT: quintic tweening 136 * @CLUTTER_EASE_OUT_QUINT: quintic tweening, inverse of 137 * %CLUTTER_EASE_IN_QUINT 138 * @CLUTTER_EASE_IN_OUT_QUINT: fifth power tweening, combining 139 * %CLUTTER_EASE_IN_QUINT and %CLUTTER_EASE_OUT_QUINT 140 * @CLUTTER_EASE_IN_SINE: sinusoidal tweening 141 * @CLUTTER_EASE_OUT_SINE: sinusoidal tweening, inverse of 142 * %CLUTTER_EASE_IN_SINE 143 * @CLUTTER_EASE_IN_OUT_SINE: sine wave tweening, combining 144 * %CLUTTER_EASE_IN_SINE and %CLUTTER_EASE_OUT_SINE 145 * @CLUTTER_EASE_IN_EXPO: exponential tweening 146 * @CLUTTER_EASE_OUT_EXPO: exponential tweening, inverse of 147 * %CLUTTER_EASE_IN_EXPO 148 * @CLUTTER_EASE_IN_OUT_EXPO: exponential tweening, combining 149 * %CLUTTER_EASE_IN_EXPO and %CLUTTER_EASE_OUT_EXPO 150 * @CLUTTER_EASE_IN_CIRC: circular tweening 151 * @CLUTTER_EASE_OUT_CIRC: circular tweening, inverse of 152 * %CLUTTER_EASE_IN_CIRC 153 * @CLUTTER_EASE_IN_OUT_CIRC: circular tweening, combining 154 * %CLUTTER_EASE_IN_CIRC and %CLUTTER_EASE_OUT_CIRC 155 * @CLUTTER_EASE_IN_ELASTIC: elastic tweening, with offshoot on start 156 * @CLUTTER_EASE_OUT_ELASTIC: elastic tweening, with offshoot on end 157 * @CLUTTER_EASE_IN_OUT_ELASTIC: elastic tweening with offshoot on both ends 158 * @CLUTTER_EASE_IN_BACK: overshooting cubic tweening, with 159 * backtracking on start 160 * @CLUTTER_EASE_OUT_BACK: overshooting cubic tweening, with 161 * backtracking on end 162 * @CLUTTER_EASE_IN_OUT_BACK: overshooting cubic tweening, with 163 * backtracking on both ends 164 * @CLUTTER_EASE_IN_BOUNCE: exponentially decaying parabolic (bounce) 165 * tweening, with bounce on start 166 * @CLUTTER_EASE_OUT_BOUNCE: exponentially decaying parabolic (bounce) 167 * tweening, with bounce on end 168 * @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce) 169 * tweening, with bounce on both ends 170 * @CLUTTER_STEPS: parametrized step function; see clutter_timeline_set_step_progress() 171 * for further details. (Since 1.12) 172 * @CLUTTER_STEP_START: equivalent to %CLUTTER_STEPS with a number of steps 173 * equal to 1, and a step mode of %CLUTTER_STEP_MODE_START. (Since 1.12) 174 * @CLUTTER_STEP_END: equivalent to %CLUTTER_STEPS with a number of steps 175 * equal to 1, and a step mode of %CLUTTER_STEP_MODE_END. (Since 1.12) 176 * @CLUTTER_CUBIC_BEZIER: cubic bezier between (0, 0) and (1, 1) with two 177 * control points; see clutter_timeline_set_cubic_bezier_progress(). (Since 1.12) 178 * @CLUTTER_EASE: equivalent to %CLUTTER_CUBIC_BEZIER with control points 179 * in (0.25, 0.1) and (0.25, 1.0). (Since 1.12) 180 * @CLUTTER_EASE_IN: equivalent to %CLUTTER_CUBIC_BEZIER with control points 181 * in (0.42, 0) and (1.0, 1.0). (Since 1.12) 182 * @CLUTTER_EASE_OUT: equivalent to %CLUTTER_CUBIC_BEZIER with control points 183 * in (0, 0) and (0.58, 1.0). (Since 1.12) 184 * @CLUTTER_EASE_IN_OUT: equivalent to %CLUTTER_CUBIC_BEZIER with control points 185 * in (0.42, 0) and (0.58, 1.0). (Since 1.12) 186 * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for 187 * registered global alpha functions 188 * 189 * The animation modes used by #ClutterAlpha and #ClutterAnimation. This 190 * enumeration can be expanded in later versions of Clutter. 191 * 192 * <figure id="easing-modes"> 193 * <title>Easing modes provided by Clutter</title> 194 * <graphic fileref="easing-modes.png" format="PNG"/> 195 * </figure> 196 * 197 * Every global alpha function registered using clutter_alpha_register_func() 198 * or clutter_alpha_register_closure() will have a logical id greater than 199 * %CLUTTER_ANIMATION_LAST. 200 * 201 * Since: 1.0 202 */ 203 typedef enum { 204 CLUTTER_CUSTOM_MODE = 0, 205 206 /* linear */ 207 CLUTTER_LINEAR, 208 209 /* quadratic */ 210 CLUTTER_EASE_IN_QUAD, 211 CLUTTER_EASE_OUT_QUAD, 212 CLUTTER_EASE_IN_OUT_QUAD, 213 214 /* cubic */ 215 CLUTTER_EASE_IN_CUBIC, 216 CLUTTER_EASE_OUT_CUBIC, 217 CLUTTER_EASE_IN_OUT_CUBIC, 218 219 /* quartic */ 220 CLUTTER_EASE_IN_QUART, 221 CLUTTER_EASE_OUT_QUART, 222 CLUTTER_EASE_IN_OUT_QUART, 223 224 /* quintic */ 225 CLUTTER_EASE_IN_QUINT, 226 CLUTTER_EASE_OUT_QUINT, 227 CLUTTER_EASE_IN_OUT_QUINT, 228 229 /* sinusoidal */ 230 CLUTTER_EASE_IN_SINE, 231 CLUTTER_EASE_OUT_SINE, 232 CLUTTER_EASE_IN_OUT_SINE, 233 234 /* exponential */ 235 CLUTTER_EASE_IN_EXPO, 236 CLUTTER_EASE_OUT_EXPO, 237 CLUTTER_EASE_IN_OUT_EXPO, 238 239 /* circular */ 240 CLUTTER_EASE_IN_CIRC, 241 CLUTTER_EASE_OUT_CIRC, 242 CLUTTER_EASE_IN_OUT_CIRC, 243 244 /* elastic */ 245 CLUTTER_EASE_IN_ELASTIC, 246 CLUTTER_EASE_OUT_ELASTIC, 247 CLUTTER_EASE_IN_OUT_ELASTIC, 248 249 /* overshooting cubic */ 250 CLUTTER_EASE_IN_BACK, 251 CLUTTER_EASE_OUT_BACK, 252 CLUTTER_EASE_IN_OUT_BACK, 253 254 /* exponentially decaying parabolic */ 255 CLUTTER_EASE_IN_BOUNCE, 256 CLUTTER_EASE_OUT_BOUNCE, 257 CLUTTER_EASE_IN_OUT_BOUNCE, 258 259 /* step functions (see css3-transitions) */ 260 CLUTTER_STEPS, 261 CLUTTER_STEP_START, /* steps(1, start) */ 262 CLUTTER_STEP_END, /* steps(1, end) */ 263 264 /* cubic bezier (see css3-transitions) */ 265 CLUTTER_CUBIC_BEZIER, 266 CLUTTER_EASE, 267 CLUTTER_EASE_IN, 268 CLUTTER_EASE_OUT, 269 CLUTTER_EASE_IN_OUT, 270 271 /* guard, before registered alpha functions */ 272 CLUTTER_ANIMATION_LAST 273 } ClutterAnimationMode; 274 275 /** 276 * ClutterFontFlags: 277 * @CLUTTER_FONT_MIPMAPPING: Set to use mipmaps for the glyph cache textures. 278 * @CLUTTER_FONT_HINTING: Set to enable hinting on the glyphs. 279 * 280 * Runtime flags to change the font quality. To be used with 281 * clutter_set_font_flags(). 282 * 283 * Since: 1.0 284 * 285 * Deprecated: 1.22: Use #cairo_font_options_t instead 286 */ 287 typedef enum { /*< prefix=CLUTTER_FONT >*/ 288 CLUTTER_FONT_MIPMAPPING = (1 << 0), 289 CLUTTER_FONT_HINTING = (1 << 1) 290 } ClutterFontFlags; 291 292 /** 293 * ClutterTextDirection: 294 * @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned 295 * by clutter_get_default_text_direction() 296 * @CLUTTER_TEXT_DIRECTION_LTR: Use left-to-right text direction 297 * @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction 298 * 299 * The text direction to be used by #ClutterActor<!-- -->s 300 * 301 * Since: 1.2 302 */ 303 typedef enum { 304 CLUTTER_TEXT_DIRECTION_DEFAULT, 305 CLUTTER_TEXT_DIRECTION_LTR, 306 CLUTTER_TEXT_DIRECTION_RTL 307 } ClutterTextDirection; 308 309 /** 310 * ClutterShaderType: 311 * @CLUTTER_VERTEX_SHADER: a vertex shader 312 * @CLUTTER_FRAGMENT_SHADER: a fragment shader 313 * 314 * The type of GLSL shader program 315 * 316 * Since: 1.4 317 */ 318 typedef enum { 319 CLUTTER_VERTEX_SHADER, 320 CLUTTER_FRAGMENT_SHADER 321 } ClutterShaderType; 322 323 /** 324 * ClutterModifierType: 325 * @CLUTTER_SHIFT_MASK: Mask applied by the Shift key 326 * @CLUTTER_LOCK_MASK: Mask applied by the Caps Lock key 327 * @CLUTTER_CONTROL_MASK: Mask applied by the Control key 328 * @CLUTTER_MOD1_MASK: Mask applied by the first Mod key 329 * @CLUTTER_MOD2_MASK: Mask applied by the second Mod key 330 * @CLUTTER_MOD3_MASK: Mask applied by the third Mod key 331 * @CLUTTER_MOD4_MASK: Mask applied by the fourth Mod key 332 * @CLUTTER_MOD5_MASK: Mask applied by the fifth Mod key 333 * @CLUTTER_BUTTON1_MASK: Mask applied by the first pointer button 334 * @CLUTTER_BUTTON2_MASK: Mask applied by the second pointer button 335 * @CLUTTER_BUTTON3_MASK: Mask applied by the third pointer button 336 * @CLUTTER_BUTTON4_MASK: Mask applied by the fourth pointer button 337 * @CLUTTER_BUTTON5_MASK: Mask applied by the fifth pointer button 338 * @CLUTTER_SUPER_MASK: Mask applied by the Super key 339 * @CLUTTER_HYPER_MASK: Mask applied by the Hyper key 340 * @CLUTTER_META_MASK: Mask applied by the Meta key 341 * @CLUTTER_RELEASE_MASK: Mask applied during release 342 * @CLUTTER_MODIFIER_MASK: A mask covering all modifier types 343 * 344 * Masks applied to a #ClutterEvent by modifiers. 345 * 346 * Note that Clutter may add internal values to events which include 347 * reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code 348 * should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to 349 * remove all reserved values. 350 * 351 * Since: 0.4 352 */ 353 typedef enum { 354 CLUTTER_SHIFT_MASK = 1 << 0, 355 CLUTTER_LOCK_MASK = 1 << 1, 356 CLUTTER_CONTROL_MASK = 1 << 2, 357 CLUTTER_MOD1_MASK = 1 << 3, 358 CLUTTER_MOD2_MASK = 1 << 4, 359 CLUTTER_MOD3_MASK = 1 << 5, 360 CLUTTER_MOD4_MASK = 1 << 6, 361 CLUTTER_MOD5_MASK = 1 << 7, 362 CLUTTER_BUTTON1_MASK = 1 << 8, 363 CLUTTER_BUTTON2_MASK = 1 << 9, 364 CLUTTER_BUTTON3_MASK = 1 << 10, 365 CLUTTER_BUTTON4_MASK = 1 << 11, 366 CLUTTER_BUTTON5_MASK = 1 << 12, 367 368 #ifndef __GTK_DOC_IGNORE__ 369 CLUTTER_MODIFIER_RESERVED_13_MASK = 1 << 13, 370 CLUTTER_MODIFIER_RESERVED_14_MASK = 1 << 14, 371 CLUTTER_MODIFIER_RESERVED_15_MASK = 1 << 15, 372 CLUTTER_MODIFIER_RESERVED_16_MASK = 1 << 16, 373 CLUTTER_MODIFIER_RESERVED_17_MASK = 1 << 17, 374 CLUTTER_MODIFIER_RESERVED_18_MASK = 1 << 18, 375 CLUTTER_MODIFIER_RESERVED_19_MASK = 1 << 19, 376 CLUTTER_MODIFIER_RESERVED_20_MASK = 1 << 20, 377 CLUTTER_MODIFIER_RESERVED_21_MASK = 1 << 21, 378 CLUTTER_MODIFIER_RESERVED_22_MASK = 1 << 22, 379 CLUTTER_MODIFIER_RESERVED_23_MASK = 1 << 23, 380 CLUTTER_MODIFIER_RESERVED_24_MASK = 1 << 24, 381 CLUTTER_MODIFIER_RESERVED_25_MASK = 1 << 25, 382 #endif 383 384 CLUTTER_SUPER_MASK = 1 << 26, 385 CLUTTER_HYPER_MASK = 1 << 27, 386 CLUTTER_META_MASK = 1 << 28, 387 388 #ifndef __GTK_DOC_IGNORE__ 389 CLUTTER_MODIFIER_RESERVED_29_MASK = 1 << 29, 390 #endif 391 392 CLUTTER_RELEASE_MASK = 1 << 30, 393 394 /* Combination of CLUTTER_SHIFT_MASK..CLUTTER_BUTTON5_MASK + CLUTTER_SUPER_MASK 395 + CLUTTER_HYPER_MASK + CLUTTER_META_MASK + CLUTTER_RELEASE_MASK */ 396 CLUTTER_MODIFIER_MASK = 0x5c001fff 397 } ClutterModifierType; 398 399 /** 400 * ClutterKeyboardA11yFlags: 401 * @CLUTTER_A11Y_KEYBOARD_ENABLED: 402 * @CLUTTER_A11Y_TIMEOUT_ENABLED: 403 * @CLUTTER_A11Y_MOUSE_KEYS_ENABLED: 404 * @CLUTTER_A11Y_SLOW_KEYS_ENABLED: 405 * @CLUTTER_A11Y_SLOW_KEYS_BEEP_PRESS: 406 * @CLUTTER_A11Y_SLOW_KEYS_BEEP_ACCEPT: 407 * @CLUTTER_A11Y_SLOW_KEYS_BEEP_REJECT: 408 * @CLUTTER_A11Y_BOUNCE_KEYS_ENABLED: 409 * @CLUTTER_A11Y_BOUNCE_KEYS_BEEP_REJECT: 410 * @CLUTTER_A11Y_TOGGLE_KEYS_ENABLED: 411 * @CLUTTER_A11Y_STICKY_KEYS_ENABLED: 412 * @CLUTTER_A11Y_STICKY_KEYS_TWO_KEY_OFF: 413 * @CLUTTER_A11Y_STICKY_KEYS_BEEP: 414 * @CLUTTER_A11Y_FEATURE_STATE_CHANGE_BEEP: 415 * 416 * Keyboard accessibility features applied to a ClutterInputDevice keyboard. 417 * 418 */ 419 typedef enum { 420 CLUTTER_A11Y_KEYBOARD_ENABLED = 1 << 0, 421 CLUTTER_A11Y_TIMEOUT_ENABLED = 1 << 1, 422 CLUTTER_A11Y_MOUSE_KEYS_ENABLED = 1 << 2, 423 CLUTTER_A11Y_SLOW_KEYS_ENABLED = 1 << 3, 424 CLUTTER_A11Y_SLOW_KEYS_BEEP_PRESS = 1 << 4, 425 CLUTTER_A11Y_SLOW_KEYS_BEEP_ACCEPT = 1 << 5, 426 CLUTTER_A11Y_SLOW_KEYS_BEEP_REJECT = 1 << 6, 427 CLUTTER_A11Y_BOUNCE_KEYS_ENABLED = 1 << 7, 428 CLUTTER_A11Y_BOUNCE_KEYS_BEEP_REJECT = 1 << 8, 429 CLUTTER_A11Y_TOGGLE_KEYS_ENABLED = 1 << 9, 430 CLUTTER_A11Y_STICKY_KEYS_ENABLED = 1 << 10, 431 CLUTTER_A11Y_STICKY_KEYS_TWO_KEY_OFF = 1 << 11, 432 CLUTTER_A11Y_STICKY_KEYS_BEEP = 1 << 12, 433 CLUTTER_A11Y_FEATURE_STATE_CHANGE_BEEP = 1 << 13, 434 } ClutterKeyboardA11yFlags; 435 436 /** 437 * ClutterActorFlags: 438 * @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside 439 * a toplevel, and all parents visible) 440 * @CLUTTER_ACTOR_REALIZED: the resources associated to the actor have been 441 * allocated 442 * @CLUTTER_ACTOR_REACTIVE: the actor 'reacts' to mouse events emmitting event 443 * signals 444 * @CLUTTER_ACTOR_VISIBLE: the actor has been shown by the application program 445 * @CLUTTER_ACTOR_NO_LAYOUT: the actor provides an explicit layout management 446 * policy for its children; this flag will prevent Clutter from automatic 447 * queueing of relayout and will defer all layouting to the actor itself 448 * 449 * Flags used to signal the state of an actor. 450 */ 451 typedef enum { /*< prefix=CLUTTER_ACTOR >*/ 452 CLUTTER_ACTOR_MAPPED = 1 << 1, 453 CLUTTER_ACTOR_REALIZED = 1 << 2, 454 CLUTTER_ACTOR_REACTIVE = 1 << 3, 455 CLUTTER_ACTOR_VISIBLE = 1 << 4, 456 CLUTTER_ACTOR_NO_LAYOUT = 1 << 5 457 } ClutterActorFlags; 458 459 /** 460 * ClutterOffscreenRedirect: 461 * @CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY: Only redirect 462 * the actor if it is semi-transparent and its has_overlaps() 463 * virtual returns %TRUE. This is the default. 464 * @CLUTTER_OFFSCREEN_REDIRECT_ALWAYS: Always redirect the actor to an 465 * offscreen buffer even if it is fully opaque. 466 * 467 * Possible flags to pass to clutter_actor_set_offscreen_redirect(). 468 * 469 * Since: 1.8 470 */ 471 typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/ 472 CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0, 473 CLUTTER_OFFSCREEN_REDIRECT_ALWAYS = 1<<1 474 } ClutterOffscreenRedirect; 475 476 /** 477 * ClutterAllocationFlags: 478 * @CLUTTER_ALLOCATION_NONE: No flag set 479 * @CLUTTER_ABSOLUTE_ORIGIN_CHANGED: Whether the absolute origin of the 480 * actor has changed; this implies that any ancestor of the actor has 481 * been moved. 482 * @CLUTTER_DELEGATE_LAYOUT: Whether the allocation should be delegated 483 * to the #ClutterLayoutManager instance stored inside the 484 * #ClutterActor:layout-manager property of #ClutterActor. This flag 485 * should only be used if you are subclassing #ClutterActor and 486 * overriding the #ClutterActorClass.allocate() virtual function, but 487 * you wish to use the default implementation of the virtual function 488 * inside #ClutterActor. Added in Clutter 1.10. 489 * 490 * Flags passed to the #ClutterActorClass.allocate() virtual function 491 * and to the clutter_actor_allocate() function. 492 * 493 * Since: 1.0 494 */ 495 typedef enum { 496 CLUTTER_ALLOCATION_NONE = 0, 497 CLUTTER_ABSOLUTE_ORIGIN_CHANGED = 1 << 1, 498 CLUTTER_DELEGATE_LAYOUT = 1 << 2 499 } ClutterAllocationFlags; 500 501 /** 502 * ClutterAlignAxis: 503 * @CLUTTER_ALIGN_X_AXIS: Maintain the alignment on the X axis 504 * @CLUTTER_ALIGN_Y_AXIS: Maintain the alignment on the Y axis 505 * @CLUTTER_ALIGN_BOTH: Maintain the alignment on both the X and Y axis 506 * 507 * Specifies the axis on which #ClutterAlignConstraint should maintain 508 * the alignment. 509 * 510 * Since: 1.4 511 */ 512 typedef enum { /*< prefix=CLUTTER_ALIGN >*/ 513 CLUTTER_ALIGN_X_AXIS, 514 CLUTTER_ALIGN_Y_AXIS, 515 CLUTTER_ALIGN_BOTH 516 } ClutterAlignAxis; 517 518 /** 519 * ClutterInterpolation: 520 * @CLUTTER_INTERPOLATION_LINEAR: linear interpolation 521 * @CLUTTER_INTERPOLATION_CUBIC: cubic interpolation 522 * 523 * The mode of interpolation between key frames 524 * 525 * Since: 1.2 526 * 527 * Deprecated: 1.22 528 */ 529 typedef enum { 530 CLUTTER_INTERPOLATION_LINEAR, 531 CLUTTER_INTERPOLATION_CUBIC 532 } ClutterInterpolation; 533 534 /** 535 * ClutterBinAlignment: 536 * @CLUTTER_BIN_ALIGNMENT_FIXED: Fixed position alignment; the 537 * #ClutterBinLayout will honour the fixed position provided 538 * by the actors themselves when allocating them 539 * @CLUTTER_BIN_ALIGNMENT_FILL: Fill the allocation size 540 * @CLUTTER_BIN_ALIGNMENT_START: Position the actors at the top 541 * or left side of the container, depending on the axis 542 * @CLUTTER_BIN_ALIGNMENT_END: Position the actors at the bottom 543 * or right side of the container, depending on the axis 544 * @CLUTTER_BIN_ALIGNMENT_CENTER: Position the actors at the 545 * center of the container, depending on the axis 546 * 547 * The alignment policies available on each axis for #ClutterBinLayout 548 * 549 * Since: 1.2 550 * 551 * Deprecated: 1.12: Use #ClutterActorAlign and the #ClutterActor 552 * API instead 553 */ 554 typedef enum { 555 CLUTTER_BIN_ALIGNMENT_FIXED, 556 CLUTTER_BIN_ALIGNMENT_FILL, 557 CLUTTER_BIN_ALIGNMENT_START, 558 CLUTTER_BIN_ALIGNMENT_END, 559 CLUTTER_BIN_ALIGNMENT_CENTER 560 } ClutterBinAlignment; 561 562 /** 563 * ClutterBindCoordinate: 564 * @CLUTTER_BIND_X: Bind the X coordinate 565 * @CLUTTER_BIND_Y: Bind the Y coordinate 566 * @CLUTTER_BIND_WIDTH: Bind the width 567 * @CLUTTER_BIND_HEIGHT: Bind the height 568 * @CLUTTER_BIND_POSITION: Equivalent to to %CLUTTER_BIND_X and 569 * %CLUTTER_BIND_Y (added in Clutter 1.6) 570 * @CLUTTER_BIND_SIZE: Equivalent to %CLUTTER_BIND_WIDTH and 571 * %CLUTTER_BIND_HEIGHT (added in Clutter 1.6) 572 * @CLUTTER_BIND_ALL: Equivalent to %CLUTTER_BIND_POSITION and 573 * %CLUTTER_BIND_SIZE (added in Clutter 1.10) 574 * 575 * Specifies which property should be used in a binding 576 * 577 * Since: 1.4 578 */ 579 typedef enum { /*< prefix=CLUTTER_BIND >*/ 580 CLUTTER_BIND_X, 581 CLUTTER_BIND_Y, 582 CLUTTER_BIND_WIDTH, 583 CLUTTER_BIND_HEIGHT, 584 CLUTTER_BIND_POSITION, 585 CLUTTER_BIND_SIZE, 586 CLUTTER_BIND_ALL 587 } ClutterBindCoordinate; 588 589 /** 590 * ClutterEffectPaintFlags: 591 * @CLUTTER_EFFECT_PAINT_ACTOR_DIRTY: The actor or one of its children 592 * has queued a redraw before this paint. This implies that the effect 593 * should call clutter_actor_continue_paint() to chain to the next 594 * effect and can not cache any results from a previous paint. 595 * 596 * Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect. 597 */ 598 typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/ 599 CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0) 600 } ClutterEffectPaintFlags; 601 602 /** 603 * ClutterBoxAlignment: 604 * @CLUTTER_BOX_ALIGNMENT_START: Align the child to the top or to 605 * to the left, depending on the used axis 606 * @CLUTTER_BOX_ALIGNMENT_CENTER: Align the child to the center 607 * @CLUTTER_BOX_ALIGNMENT_END: Align the child to the bottom or to 608 * the right, depending on the used axis 609 * 610 * The alignment policies available on each axis of the #ClutterBoxLayout 611 * 612 * Since: 1.2 613 */ 614 typedef enum { 615 CLUTTER_BOX_ALIGNMENT_START, 616 CLUTTER_BOX_ALIGNMENT_END, 617 CLUTTER_BOX_ALIGNMENT_CENTER 618 } ClutterBoxAlignment; 619 620 /** 621 * ClutterLongPressState: 622 * @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports 623 * long presses 624 * @CLUTTER_LONG_PRESS_ACTIVATE: Activates the action on a long press 625 * @CLUTTER_LONG_PRESS_CANCEL: The long press was cancelled 626 * 627 * The states for the #ClutterClickAction::long-press signal. 628 * 629 * Since: 1.8 630 */ 631 typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/ 632 CLUTTER_LONG_PRESS_QUERY, 633 CLUTTER_LONG_PRESS_ACTIVATE, 634 CLUTTER_LONG_PRESS_CANCEL 635 } ClutterLongPressState; 636 637 /** 638 * ClutterStaticColor: 639 * @CLUTTER_COLOR_WHITE: White color (ffffffff) 640 * @CLUTTER_COLOR_BLACK: Black color (000000ff) 641 * @CLUTTER_COLOR_RED: Red color (ff0000ff) 642 * @CLUTTER_COLOR_DARK_RED: Dark red color (800000ff) 643 * @CLUTTER_COLOR_GREEN: Green color (00ff00ff) 644 * @CLUTTER_COLOR_DARK_GREEN: Dark green color (008000ff) 645 * @CLUTTER_COLOR_BLUE: Blue color (0000ffff) 646 * @CLUTTER_COLOR_DARK_BLUE: Dark blue color (000080ff) 647 * @CLUTTER_COLOR_CYAN: Cyan color (00ffffff) 648 * @CLUTTER_COLOR_DARK_CYAN: Dark cyan color (008080ff) 649 * @CLUTTER_COLOR_MAGENTA: Magenta color (ff00ffff) 650 * @CLUTTER_COLOR_DARK_MAGENTA: Dark magenta color (800080ff) 651 * @CLUTTER_COLOR_YELLOW: Yellow color (ffff00ff) 652 * @CLUTTER_COLOR_DARK_YELLOW: Dark yellow color (808000ff) 653 * @CLUTTER_COLOR_GRAY: Gray color (a0a0a4ff) 654 * @CLUTTER_COLOR_DARK_GRAY: Dark Gray color (808080ff) 655 * @CLUTTER_COLOR_LIGHT_GRAY: Light gray color (c0c0c0ff) 656 * @CLUTTER_COLOR_BUTTER: Butter color (edd400ff) 657 * @CLUTTER_COLOR_BUTTER_LIGHT: Light butter color (fce94fff) 658 * @CLUTTER_COLOR_BUTTER_DARK: Dark butter color (c4a000ff) 659 * @CLUTTER_COLOR_ORANGE: Orange color (f57900ff) 660 * @CLUTTER_COLOR_ORANGE_LIGHT: Light orange color (fcaf3fff) 661 * @CLUTTER_COLOR_ORANGE_DARK: Dark orange color (ce5c00ff) 662 * @CLUTTER_COLOR_CHOCOLATE: Chocolate color (c17d11ff) 663 * @CLUTTER_COLOR_CHOCOLATE_LIGHT: Light chocolate color (e9b96eff) 664 * @CLUTTER_COLOR_CHOCOLATE_DARK: Dark chocolate color (8f5902ff) 665 * @CLUTTER_COLOR_CHAMELEON: Chameleon color (73d216ff) 666 * @CLUTTER_COLOR_CHAMELEON_LIGHT: Light chameleon color (8ae234ff) 667 * @CLUTTER_COLOR_CHAMELEON_DARK: Dark chameleon color (4e9a06ff) 668 * @CLUTTER_COLOR_SKY_BLUE: Sky color (3465a4ff) 669 * @CLUTTER_COLOR_SKY_BLUE_LIGHT: Light sky color (729fcfff) 670 * @CLUTTER_COLOR_SKY_BLUE_DARK: Dark sky color (204a87ff) 671 * @CLUTTER_COLOR_PLUM: Plum color (75507bff) 672 * @CLUTTER_COLOR_PLUM_LIGHT: Light plum color (ad7fa8ff) 673 * @CLUTTER_COLOR_PLUM_DARK: Dark plum color (5c3566ff) 674 * @CLUTTER_COLOR_SCARLET_RED: Scarlet red color (cc0000ff) 675 * @CLUTTER_COLOR_SCARLET_RED_LIGHT: Light scarlet red color (ef2929ff) 676 * @CLUTTER_COLOR_SCARLET_RED_DARK: Dark scarlet red color (a40000ff) 677 * @CLUTTER_COLOR_ALUMINIUM_1: Aluminium, first variant (eeeeecff) 678 * @CLUTTER_COLOR_ALUMINIUM_2: Aluminium, second variant (d3d7cfff) 679 * @CLUTTER_COLOR_ALUMINIUM_3: Aluminium, third variant (babdb6ff) 680 * @CLUTTER_COLOR_ALUMINIUM_4: Aluminium, fourth variant (888a85ff) 681 * @CLUTTER_COLOR_ALUMINIUM_5: Aluminium, fifth variant (555753ff) 682 * @CLUTTER_COLOR_ALUMINIUM_6: Aluminium, sixth variant (2e3436ff) 683 * @CLUTTER_COLOR_TRANSPARENT: Transparent color (00000000) 684 * 685 * Named colors, for accessing global colors defined by Clutter 686 * 687 * Since: 1.6 688 */ 689 typedef enum { /*< prefix=CLUTTER_COLOR >*/ 690 /* CGA/EGA-like palette */ 691 CLUTTER_COLOR_WHITE = 0, 692 CLUTTER_COLOR_BLACK, 693 CLUTTER_COLOR_RED, 694 CLUTTER_COLOR_DARK_RED, 695 CLUTTER_COLOR_GREEN, 696 CLUTTER_COLOR_DARK_GREEN, 697 CLUTTER_COLOR_BLUE, 698 CLUTTER_COLOR_DARK_BLUE, 699 CLUTTER_COLOR_CYAN, 700 CLUTTER_COLOR_DARK_CYAN, 701 CLUTTER_COLOR_MAGENTA, 702 CLUTTER_COLOR_DARK_MAGENTA, 703 CLUTTER_COLOR_YELLOW, 704 CLUTTER_COLOR_DARK_YELLOW, 705 CLUTTER_COLOR_GRAY, 706 CLUTTER_COLOR_DARK_GRAY, 707 CLUTTER_COLOR_LIGHT_GRAY, 708 709 /* Tango icon palette */ 710 CLUTTER_COLOR_BUTTER, 711 CLUTTER_COLOR_BUTTER_LIGHT, 712 CLUTTER_COLOR_BUTTER_DARK, 713 CLUTTER_COLOR_ORANGE, 714 CLUTTER_COLOR_ORANGE_LIGHT, 715 CLUTTER_COLOR_ORANGE_DARK, 716 CLUTTER_COLOR_CHOCOLATE, 717 CLUTTER_COLOR_CHOCOLATE_LIGHT, 718 CLUTTER_COLOR_CHOCOLATE_DARK, 719 CLUTTER_COLOR_CHAMELEON, 720 CLUTTER_COLOR_CHAMELEON_LIGHT, 721 CLUTTER_COLOR_CHAMELEON_DARK, 722 CLUTTER_COLOR_SKY_BLUE, 723 CLUTTER_COLOR_SKY_BLUE_LIGHT, 724 CLUTTER_COLOR_SKY_BLUE_DARK, 725 CLUTTER_COLOR_PLUM, 726 CLUTTER_COLOR_PLUM_LIGHT, 727 CLUTTER_COLOR_PLUM_DARK, 728 CLUTTER_COLOR_SCARLET_RED, 729 CLUTTER_COLOR_SCARLET_RED_LIGHT, 730 CLUTTER_COLOR_SCARLET_RED_DARK, 731 CLUTTER_COLOR_ALUMINIUM_1, 732 CLUTTER_COLOR_ALUMINIUM_2, 733 CLUTTER_COLOR_ALUMINIUM_3, 734 CLUTTER_COLOR_ALUMINIUM_4, 735 CLUTTER_COLOR_ALUMINIUM_5, 736 CLUTTER_COLOR_ALUMINIUM_6, 737 738 /* Fully transparent black */ 739 CLUTTER_COLOR_TRANSPARENT 740 } ClutterStaticColor; 741 742 /** 743 * ClutterDragAxis: 744 * @CLUTTER_DRAG_AXIS_NONE: No constraint 745 * @CLUTTER_DRAG_X_AXIS: Set a constraint on the X axis 746 * @CLUTTER_DRAG_Y_AXIS: Set a constraint on the Y axis 747 * 748 * The axis of the constraint that should be applied on the 749 * dragging action 750 * 751 * Since: 1.4 752 */ 753 typedef enum { /*< prefix=CLUTTER_DRAG >*/ 754 CLUTTER_DRAG_AXIS_NONE = 0, 755 756 CLUTTER_DRAG_X_AXIS, 757 CLUTTER_DRAG_Y_AXIS 758 } ClutterDragAxis; 759 760 /** 761 * ClutterEventFlags: 762 * @CLUTTER_EVENT_NONE: No flag set 763 * @CLUTTER_EVENT_FLAG_SYNTHETIC: Synthetic event 764 * 765 * Flags for the #ClutterEvent 766 * 767 * Since: 0.6 768 */ 769 typedef enum { /*< flags prefix=CLUTTER_EVENT >*/ 770 CLUTTER_EVENT_NONE = 0, 771 CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0, 772 CLUTTER_EVENT_FLAG_INPUT_METHOD = 1 << 1 773 } ClutterEventFlags; 774 775 /** 776 * ClutterEventType: 777 * @CLUTTER_NOTHING: Empty event 778 * @CLUTTER_KEY_PRESS: Key press event 779 * @CLUTTER_KEY_RELEASE: Key release event 780 * @CLUTTER_MOTION: Pointer motion event 781 * @CLUTTER_ENTER: Actor enter event 782 * @CLUTTER_LEAVE: Actor leave event 783 * @CLUTTER_BUTTON_PRESS: Pointer button press event 784 * @CLUTTER_BUTTON_RELEASE: Pointer button release event 785 * @CLUTTER_SCROLL: Pointer scroll event 786 * @CLUTTER_STAGE_STATE: Stage state change event 787 * @CLUTTER_DESTROY_NOTIFY: Destroy notification event 788 * @CLUTTER_CLIENT_MESSAGE: Client message event 789 * @CLUTTER_DELETE: Stage delete event 790 * @CLUTTER_TOUCH_BEGIN: A new touch event sequence has started; 791 * event added in 1.10 792 * @CLUTTER_TOUCH_UPDATE: A touch event sequence has been updated; 793 * event added in 1.10 794 * @CLUTTER_TOUCH_END: A touch event sequence has finished; 795 * event added in 1.10 796 * @CLUTTER_TOUCH_CANCEL: A touch event sequence has been canceled; 797 * event added in 1.10 798 * @CLUTTER_TOUCHPAD_PINCH: A pinch gesture event, the current state is 799 * determined by its phase field; event added in 1.24 800 * @CLUTTER_TOUCHPAD_SWIPE: A swipe gesture event, the current state is 801 * determined by its phase field; event added in 1.24 802 * @CLUTTER_PROXIMITY_IN: A tool entered in proximity to a tablet; 803 * event added in 1.28 804 * @CLUTTER_PROXIMITY_OUT: A tool left from the proximity area of a tablet; 805 * event added in 1.28 806 * @CLUTTER_EVENT_LAST: Marks the end of the #ClutterEventType enumeration; 807 * added in 1.10 808 * 809 * Types of events. 810 * 811 * Since: 0.4 812 */ 813 typedef enum { /*< prefix=CLUTTER >*/ 814 CLUTTER_NOTHING = 0, 815 CLUTTER_KEY_PRESS, 816 CLUTTER_KEY_RELEASE, 817 CLUTTER_MOTION, 818 CLUTTER_ENTER, 819 CLUTTER_LEAVE, 820 CLUTTER_BUTTON_PRESS, 821 CLUTTER_BUTTON_RELEASE, 822 CLUTTER_SCROLL, 823 CLUTTER_STAGE_STATE, 824 CLUTTER_DESTROY_NOTIFY, 825 CLUTTER_CLIENT_MESSAGE, 826 CLUTTER_DELETE, 827 CLUTTER_TOUCH_BEGIN, 828 CLUTTER_TOUCH_UPDATE, 829 CLUTTER_TOUCH_END, 830 CLUTTER_TOUCH_CANCEL, 831 CLUTTER_TOUCHPAD_PINCH, 832 CLUTTER_TOUCHPAD_SWIPE, 833 CLUTTER_PROXIMITY_IN, 834 CLUTTER_PROXIMITY_OUT, 835 CLUTTER_PAD_BUTTON_PRESS, 836 CLUTTER_PAD_BUTTON_RELEASE, 837 CLUTTER_PAD_STRIP, 838 CLUTTER_PAD_RING, 839 840 CLUTTER_EVENT_LAST /* helper */ 841 } ClutterEventType; 842 843 /** 844 * ClutterScrollDirection: 845 * @CLUTTER_SCROLL_UP: Scroll up 846 * @CLUTTER_SCROLL_DOWN: Scroll down 847 * @CLUTTER_SCROLL_LEFT: Scroll left 848 * @CLUTTER_SCROLL_RIGHT: Scroll right 849 * @CLUTTER_SCROLL_SMOOTH: Precise scrolling delta (available in 1.10) 850 * 851 * Direction of a pointer scroll event. 852 * 853 * The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent 854 * has precise scrolling delta information. 855 * 856 * Since: 0.4 857 */ 858 typedef enum { /*< prefix=CLUTTER_SCROLL >*/ 859 CLUTTER_SCROLL_UP, 860 CLUTTER_SCROLL_DOWN, 861 CLUTTER_SCROLL_LEFT, 862 CLUTTER_SCROLL_RIGHT, 863 CLUTTER_SCROLL_SMOOTH 864 } ClutterScrollDirection; 865 866 /** 867 * ClutterStageState: 868 * @CLUTTER_STAGE_STATE_FULLSCREEN: Fullscreen mask 869 * @CLUTTER_STAGE_STATE_OFFSCREEN: Offscreen mask (deprecated) 870 * @CLUTTER_STAGE_STATE_ACTIVATED: Activated mask 871 * 872 * Stage state masks, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE. 873 * 874 * Since: 0.4 875 */ 876 typedef enum { 877 CLUTTER_STAGE_STATE_FULLSCREEN = (1 << 1), 878 CLUTTER_STAGE_STATE_OFFSCREEN = (1 << 2), 879 CLUTTER_STAGE_STATE_ACTIVATED = (1 << 3) 880 } ClutterStageState; 881 882 /** 883 * ClutterFeatureFlags: 884 * @CLUTTER_FEATURE_TEXTURE_NPOT: Set if NPOTS textures supported. 885 * @CLUTTER_FEATURE_SYNC_TO_VBLANK: Set if vblank syncing supported. 886 * @CLUTTER_FEATURE_TEXTURE_YUV: Set if YUV based textures supported. 887 * @CLUTTER_FEATURE_TEXTURE_READ_PIXELS: Set if texture pixels can be read. 888 * @CLUTTER_FEATURE_STAGE_STATIC: Set if stage size if fixed (i.e framebuffer) 889 * @CLUTTER_FEATURE_STAGE_USER_RESIZE: Set if stage is able to be user resized. 890 * @CLUTTER_FEATURE_STAGE_CURSOR: Set if stage has a graphical cursor. 891 * @CLUTTER_FEATURE_SHADERS_GLSL: Set if the backend supports GLSL shaders. 892 * @CLUTTER_FEATURE_OFFSCREEN: Set if the backend supports offscreen rendering. 893 * @CLUTTER_FEATURE_STAGE_MULTIPLE: Set if multiple stages are supported. 894 * @CLUTTER_FEATURE_SWAP_EVENTS: Set if the GLX_INTEL_swap_event is supported. 895 * 896 * Runtime flags indicating specific features available via Clutter window 897 * system and graphics backend. 898 * 899 * Since: 0.4 900 */ 901 typedef enum 902 { 903 CLUTTER_FEATURE_TEXTURE_NPOT = (1 << 2), 904 CLUTTER_FEATURE_SYNC_TO_VBLANK = (1 << 3), 905 CLUTTER_FEATURE_TEXTURE_YUV = (1 << 4), 906 CLUTTER_FEATURE_TEXTURE_READ_PIXELS = (1 << 5), 907 CLUTTER_FEATURE_STAGE_STATIC = (1 << 6), 908 CLUTTER_FEATURE_STAGE_USER_RESIZE = (1 << 7), 909 CLUTTER_FEATURE_STAGE_CURSOR = (1 << 8), 910 CLUTTER_FEATURE_SHADERS_GLSL = (1 << 9), 911 CLUTTER_FEATURE_OFFSCREEN = (1 << 10), 912 CLUTTER_FEATURE_STAGE_MULTIPLE = (1 << 11), 913 CLUTTER_FEATURE_SWAP_EVENTS = (1 << 12) 914 } ClutterFeatureFlags; 915 916 /** 917 * ClutterFlowOrientation: 918 * @CLUTTER_FLOW_HORIZONTAL: Arrange the children of the flow layout 919 * horizontally first 920 * @CLUTTER_FLOW_VERTICAL: Arrange the children of the flow layout 921 * vertically first 922 * 923 * The direction of the arrangement of the children inside 924 * a #ClutterFlowLayout 925 * 926 * Since: 1.2 927 */ 928 typedef enum { /*< prefix=CLUTTER_FLOW >*/ 929 CLUTTER_FLOW_HORIZONTAL, 930 CLUTTER_FLOW_VERTICAL 931 } ClutterFlowOrientation; 932 933 /** 934 * ClutterInputDeviceType: 935 * @CLUTTER_POINTER_DEVICE: A pointer device 936 * @CLUTTER_KEYBOARD_DEVICE: A keyboard device 937 * @CLUTTER_EXTENSION_DEVICE: A generic extension device 938 * @CLUTTER_JOYSTICK_DEVICE: A joystick device 939 * @CLUTTER_TABLET_DEVICE: A tablet device 940 * @CLUTTER_TOUCHPAD_DEVICE: A touchpad device 941 * @CLUTTER_TOUCHSCREEN_DEVICE: A touch screen device 942 * @CLUTTER_PEN_DEVICE: A pen device 943 * @CLUTTER_ERASER_DEVICE: An eraser device 944 * @CLUTTER_CURSOR_DEVICE: A cursor device 945 * @CLUTTER_PAD_DEVICE: A tablet pad 946 * @CLUTTER_N_DEVICE_TYPES: The number of device types 947 * 948 * The types of input devices available. 949 * 950 * The #ClutterInputDeviceType enumeration can be extended at later 951 * date; not every platform supports every input device type. 952 * 953 * Since: 1.0 954 */ 955 typedef enum { 956 CLUTTER_POINTER_DEVICE, 957 CLUTTER_KEYBOARD_DEVICE, 958 CLUTTER_EXTENSION_DEVICE, 959 CLUTTER_JOYSTICK_DEVICE, 960 CLUTTER_TABLET_DEVICE, 961 CLUTTER_TOUCHPAD_DEVICE, 962 CLUTTER_TOUCHSCREEN_DEVICE, 963 CLUTTER_PEN_DEVICE, 964 CLUTTER_ERASER_DEVICE, 965 CLUTTER_CURSOR_DEVICE, 966 CLUTTER_PAD_DEVICE, 967 968 CLUTTER_N_DEVICE_TYPES 969 } ClutterInputDeviceType; 970 971 /** 972 * ClutterInputMode: 973 * @CLUTTER_INPUT_MODE_MASTER: A master, virtual device 974 * @CLUTTER_INPUT_MODE_SLAVE: A slave, physical device, attached to 975 * a master device 976 * @CLUTTER_INPUT_MODE_FLOATING: A slave, physical device, not attached 977 * to a master device 978 * 979 * The mode for input devices available. 980 * 981 * Since: 1.6 982 */ 983 typedef enum { 984 CLUTTER_INPUT_MODE_MASTER, 985 CLUTTER_INPUT_MODE_SLAVE, 986 CLUTTER_INPUT_MODE_FLOATING 987 } ClutterInputMode; 988 989 /** 990 * ClutterInputAxis: 991 * @CLUTTER_INPUT_AXIS_IGNORE: Unused axis 992 * @CLUTTER_INPUT_AXIS_X: The position on the X axis 993 * @CLUTTER_INPUT_AXIS_Y: The position of the Y axis 994 * @CLUTTER_INPUT_AXIS_PRESSURE: The pressure information 995 * @CLUTTER_INPUT_AXIS_XTILT: The tilt on the X axis 996 * @CLUTTER_INPUT_AXIS_YTILT: The tile on the Y axis 997 * @CLUTTER_INPUT_AXIS_WHEEL: A wheel 998 * @CLUTTER_INPUT_AXIS_DISTANCE: Distance (Since 1.12) 999 * @CLUTTER_INPUT_AXIS_ROTATION: Rotation along the z-axis (Since 1.28) 1000 * @CLUTTER_INPUT_AXIS_SLIDER: A slider (Since 1.28) 1001 * @CLUTTER_INPUT_AXIS_LAST: Last value of the enumeration; this value is 1002 * useful when iterating over the enumeration values (Since 1.12) 1003 * 1004 * The type of axes Clutter recognizes on a #ClutterInputDevice 1005 * 1006 * Since: 1.6 1007 */ 1008 typedef enum { 1009 CLUTTER_INPUT_AXIS_IGNORE, 1010 1011 CLUTTER_INPUT_AXIS_X, 1012 CLUTTER_INPUT_AXIS_Y, 1013 CLUTTER_INPUT_AXIS_PRESSURE, 1014 CLUTTER_INPUT_AXIS_XTILT, 1015 CLUTTER_INPUT_AXIS_YTILT, 1016 CLUTTER_INPUT_AXIS_WHEEL, 1017 CLUTTER_INPUT_AXIS_DISTANCE, 1018 CLUTTER_INPUT_AXIS_ROTATION, 1019 CLUTTER_INPUT_AXIS_SLIDER, 1020 1021 CLUTTER_INPUT_AXIS_LAST 1022 } ClutterInputAxis; 1023 1024 /** 1025 * ClutterSnapEdge: 1026 * @CLUTTER_SNAP_EDGE_TOP: the top edge 1027 * @CLUTTER_SNAP_EDGE_RIGHT: the right edge 1028 * @CLUTTER_SNAP_EDGE_BOTTOM: the bottom edge 1029 * @CLUTTER_SNAP_EDGE_LEFT: the left edge 1030 * 1031 * The edge to snap 1032 * 1033 * Since: 1.6 1034 */ 1035 typedef enum { 1036 CLUTTER_SNAP_EDGE_TOP, 1037 CLUTTER_SNAP_EDGE_RIGHT, 1038 CLUTTER_SNAP_EDGE_BOTTOM, 1039 CLUTTER_SNAP_EDGE_LEFT 1040 } ClutterSnapEdge; 1041 1042 /** 1043 * ClutterPickMode: 1044 * @CLUTTER_PICK_NONE: Do not paint any actor 1045 * @CLUTTER_PICK_REACTIVE: Paint only the reactive actors 1046 * @CLUTTER_PICK_ALL: Paint all actors 1047 * 1048 * Controls the paint cycle of the scene graph when in pick mode 1049 * 1050 * Since: 1.0 1051 */ 1052 typedef enum { 1053 CLUTTER_PICK_NONE = 0, 1054 CLUTTER_PICK_REACTIVE, 1055 CLUTTER_PICK_ALL 1056 } ClutterPickMode; 1057 1058 /** 1059 * ClutterSwipeDirection: 1060 * @CLUTTER_SWIPE_DIRECTION_UP: Upwards swipe gesture 1061 * @CLUTTER_SWIPE_DIRECTION_DOWN: Downwards swipe gesture 1062 * @CLUTTER_SWIPE_DIRECTION_LEFT: Leftwards swipe gesture 1063 * @CLUTTER_SWIPE_DIRECTION_RIGHT: Rightwards swipe gesture 1064 * 1065 * The main direction of the swipe gesture 1066 * 1067 * Since: 1.8 1068 */ 1069 typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/ 1070 CLUTTER_SWIPE_DIRECTION_UP = 1 << 0, 1071 CLUTTER_SWIPE_DIRECTION_DOWN = 1 << 1, 1072 CLUTTER_SWIPE_DIRECTION_LEFT = 1 << 2, 1073 CLUTTER_SWIPE_DIRECTION_RIGHT = 1 << 3 1074 } ClutterSwipeDirection; 1075 1076 /** 1077 * ClutterPanAxis: 1078 * @CLUTTER_PAN_AXIS_NONE: No constraint 1079 * @CLUTTER_PAN_X_AXIS: Set a constraint on the X axis 1080 * @CLUTTER_PAN_Y_AXIS: Set a constraint on the Y axis 1081 * @CLUTTER_PAN_AXIS_AUTO: Constrain panning automatically based on initial 1082 * movement (available since 1.24) 1083 * 1084 * The axis of the constraint that should be applied on the 1085 * panning action 1086 * 1087 * Since: 1.12 1088 */ 1089 typedef enum { /*< prefix=CLUTTER_PAN >*/ 1090 CLUTTER_PAN_AXIS_NONE = 0, 1091 1092 CLUTTER_PAN_X_AXIS, 1093 CLUTTER_PAN_Y_AXIS, 1094 1095 CLUTTER_PAN_AXIS_AUTO 1096 } ClutterPanAxis; 1097 1098 1099 /** 1100 * ClutterTableAlignment: 1101 * @CLUTTER_TABLE_ALIGNMENT_START: Align the child to the top or to the 1102 * left of a cell in the table, depending on the axis 1103 * @CLUTTER_TABLE_ALIGNMENT_CENTER: Align the child to the center of 1104 * a cell in the table 1105 * @CLUTTER_TABLE_ALIGNMENT_END: Align the child to the bottom or to the 1106 * right of a cell in the table, depending on the axis 1107 * 1108 * The alignment policies available on each axis of the #ClutterTableLayout 1109 * 1110 * Since: 1.4 1111 * 1112 * Deprecated: 1.22: Use the alignment properties of #ClutterActor 1113 */ 1114 typedef enum { 1115 CLUTTER_TABLE_ALIGNMENT_START, 1116 CLUTTER_TABLE_ALIGNMENT_CENTER, 1117 CLUTTER_TABLE_ALIGNMENT_END 1118 } ClutterTableAlignment; 1119 1120 /** 1121 * ClutterTextureFlags: 1122 * @CLUTTER_TEXTURE_NONE: No flags 1123 * @CLUTTER_TEXTURE_RGB_FLAG_BGR: Unused flag 1124 * @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: Unused flag 1125 * @CLUTTER_TEXTURE_YUV_FLAG_YUV2: Unused flag 1126 * 1127 * Flags for clutter_texture_set_from_rgb_data() and 1128 * clutter_texture_set_from_yuv_data(). 1129 * 1130 * Since: 0.4 1131 * 1132 * Deprecated: 1.22: The #ClutterTexture class was the only user of 1133 * this API 1134 */ 1135 typedef enum { /*< prefix=CLUTTER_TEXTURE >*/ 1136 CLUTTER_TEXTURE_NONE = 0, 1137 CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1, 1138 CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */ 1139 CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3 1140 } ClutterTextureFlags; 1141 1142 /** 1143 * ClutterTextureQuality: 1144 * @CLUTTER_TEXTURE_QUALITY_LOW: fastest rendering will use nearest neighbour 1145 * interpolation when rendering. good setting. 1146 * @CLUTTER_TEXTURE_QUALITY_MEDIUM: higher quality rendering without using 1147 * extra resources. 1148 * @CLUTTER_TEXTURE_QUALITY_HIGH: render the texture with the best quality 1149 * available using extra memory. 1150 * 1151 * Enumaration controlling the texture quality. 1152 * 1153 * Since: 0.8 1154 * 1155 * Deprecated: 1.22: The #ClutterTexture class was the only used ot 1156 * this API; use #ClutterImage and clutter_actor_set_content_scaling_filters() 1157 * instead. 1158 */ 1159 typedef enum { /*< prefix=CLUTTER_TEXTURE_QUALITY >*/ 1160 CLUTTER_TEXTURE_QUALITY_LOW, 1161 CLUTTER_TEXTURE_QUALITY_MEDIUM, 1162 CLUTTER_TEXTURE_QUALITY_HIGH 1163 } ClutterTextureQuality; 1164 1165 /** 1166 * ClutterTimelineDirection: 1167 * @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline 1168 * @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline 1169 * 1170 * The direction of a #ClutterTimeline 1171 * 1172 * Since: 0.6 1173 */ 1174 typedef enum { 1175 CLUTTER_TIMELINE_FORWARD, 1176 CLUTTER_TIMELINE_BACKWARD 1177 } ClutterTimelineDirection; 1178 1179 /** 1180 * ClutterUnitType: 1181 * @CLUTTER_UNIT_PIXEL: Unit expressed in pixels (with subpixel precision) 1182 * @CLUTTER_UNIT_EM: Unit expressed in em 1183 * @CLUTTER_UNIT_MM: Unit expressed in millimeters 1184 * @CLUTTER_UNIT_POINT: Unit expressed in points 1185 * @CLUTTER_UNIT_CM: Unit expressed in centimeters 1186 * 1187 * The type of unit in which a value is expressed 1188 * 1189 * This enumeration might be expanded at later date 1190 * 1191 * Since: 1.0 1192 */ 1193 typedef enum { /*< prefix=CLUTTER_UNIT >*/ 1194 CLUTTER_UNIT_PIXEL, 1195 CLUTTER_UNIT_EM, 1196 CLUTTER_UNIT_MM, 1197 CLUTTER_UNIT_POINT, 1198 CLUTTER_UNIT_CM 1199 } ClutterUnitType; 1200 1201 #define CLUTTER_PATH_RELATIVE (32) 1202 1203 /** 1204 * ClutterPathNodeType: 1205 * @CLUTTER_PATH_MOVE_TO: jump to the given position 1206 * @CLUTTER_PATH_LINE_TO: create a line from the last node to the 1207 * given position 1208 * @CLUTTER_PATH_CURVE_TO: bezier curve using the last position and 1209 * three control points. 1210 * @CLUTTER_PATH_CLOSE: create a line from the last node to the last 1211 * %CLUTTER_PATH_MOVE_TO node. 1212 * @CLUTTER_PATH_REL_MOVE_TO: same as %CLUTTER_PATH_MOVE_TO but with 1213 * coordinates relative to the last node. 1214 * @CLUTTER_PATH_REL_LINE_TO: same as %CLUTTER_PATH_LINE_TO but with 1215 * coordinates relative to the last node. 1216 * @CLUTTER_PATH_REL_CURVE_TO: same as %CLUTTER_PATH_CURVE_TO but with 1217 * coordinates relative to the last node. 1218 * 1219 * Types of nodes in a #ClutterPath. 1220 * 1221 * Since: 1.0 1222 */ 1223 typedef enum { 1224 CLUTTER_PATH_MOVE_TO = 0, 1225 CLUTTER_PATH_LINE_TO = 1, 1226 CLUTTER_PATH_CURVE_TO = 2, 1227 CLUTTER_PATH_CLOSE = 3, 1228 1229 CLUTTER_PATH_REL_MOVE_TO = CLUTTER_PATH_MOVE_TO | CLUTTER_PATH_RELATIVE, 1230 CLUTTER_PATH_REL_LINE_TO = CLUTTER_PATH_LINE_TO | CLUTTER_PATH_RELATIVE, 1231 CLUTTER_PATH_REL_CURVE_TO = CLUTTER_PATH_CURVE_TO | CLUTTER_PATH_RELATIVE 1232 } ClutterPathNodeType; 1233 1234 /** 1235 * ClutterActorAlign: 1236 * @CLUTTER_ACTOR_ALIGN_FILL: Stretch to cover the whole allocated space 1237 * @CLUTTER_ACTOR_ALIGN_START: Snap to left or top side, leaving space 1238 * to the right or bottom. For horizontal layouts, in right-to-left 1239 * locales this should be reversed. 1240 * @CLUTTER_ACTOR_ALIGN_CENTER: Center the actor inside the allocation 1241 * @CLUTTER_ACTOR_ALIGN_END: Snap to right or bottom side, leaving space 1242 * to the left or top. For horizontal layouts, in right-to-left locales 1243 * this should be reversed. 1244 * 1245 * Controls how a #ClutterActor should align itself inside the extra space 1246 * assigned to it during the allocation. 1247 * 1248 * Alignment only matters if the allocated space given to an actor is 1249 * bigger than its natural size; for example, when the #ClutterActor:x-expand 1250 * or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE. 1251 * 1252 * Since: 1.10 1253 */ 1254 typedef enum { 1255 CLUTTER_ACTOR_ALIGN_FILL, 1256 CLUTTER_ACTOR_ALIGN_START, 1257 CLUTTER_ACTOR_ALIGN_CENTER, 1258 CLUTTER_ACTOR_ALIGN_END 1259 } ClutterActorAlign; 1260 1261 /** 1262 * ClutterRepaintFlags: 1263 * @CLUTTER_REPAINT_FLAGS_PRE_PAINT: Run the repaint function prior to 1264 * painting the stages 1265 * @CLUTTER_REPAINT_FLAGS_POST_PAINT: Run the repaint function after 1266 * painting the stages 1267 * @CLUTTER_REPAINT_FLAGS_QUEUE_REDRAW_ON_ADD: Ensure that a new frame 1268 * is queued after adding the repaint function 1269 * 1270 * Flags to pass to clutter_threads_add_repaint_func_full(). 1271 * 1272 * Since: 1.10 1273 */ 1274 typedef enum { 1275 CLUTTER_REPAINT_FLAGS_PRE_PAINT = 1 << 0, 1276 CLUTTER_REPAINT_FLAGS_POST_PAINT = 1 << 1, 1277 CLUTTER_REPAINT_FLAGS_QUEUE_REDRAW_ON_ADD = 1 << 2 1278 } ClutterRepaintFlags; 1279 1280 /** 1281 * ClutterContentGravity: 1282 * @CLUTTER_CONTENT_GRAVITY_TOP_LEFT: Align the content to the top left corner 1283 * @CLUTTER_CONTENT_GRAVITY_TOP: Align the content to the top edge 1284 * @CLUTTER_CONTENT_GRAVITY_TOP_RIGHT: Align the content to the top right corner 1285 * @CLUTTER_CONTENT_GRAVITY_LEFT: Align the content to the left edge 1286 * @CLUTTER_CONTENT_GRAVITY_CENTER: Align the content to the center 1287 * @CLUTTER_CONTENT_GRAVITY_RIGHT: Align the content to the right edge 1288 * @CLUTTER_CONTENT_GRAVITY_BOTTOM_LEFT: Align the content to the bottom left corner 1289 * @CLUTTER_CONTENT_GRAVITY_BOTTOM: Align the content to the bottom edge 1290 * @CLUTTER_CONTENT_GRAVITY_BOTTOM_RIGHT: Align the content to the bottom right corner 1291 * @CLUTTER_CONTENT_GRAVITY_RESIZE_FILL: Resize the content to fill the allocation 1292 * @CLUTTER_CONTENT_GRAVITY_RESIZE_ASPECT: Resize the content to remain within the 1293 * allocation, while maintaining the aspect ratio 1294 * 1295 * Controls the alignment of the #ClutterContent inside a #ClutterActor. 1296 * 1297 * Since: 1.10 1298 */ 1299 typedef enum { 1300 CLUTTER_CONTENT_GRAVITY_TOP_LEFT, 1301 CLUTTER_CONTENT_GRAVITY_TOP, 1302 CLUTTER_CONTENT_GRAVITY_TOP_RIGHT, 1303 1304 CLUTTER_CONTENT_GRAVITY_LEFT, 1305 CLUTTER_CONTENT_GRAVITY_CENTER, 1306 CLUTTER_CONTENT_GRAVITY_RIGHT, 1307 1308 CLUTTER_CONTENT_GRAVITY_BOTTOM_LEFT, 1309 CLUTTER_CONTENT_GRAVITY_BOTTOM, 1310 CLUTTER_CONTENT_GRAVITY_BOTTOM_RIGHT, 1311 1312 CLUTTER_CONTENT_GRAVITY_RESIZE_FILL, 1313 CLUTTER_CONTENT_GRAVITY_RESIZE_ASPECT 1314 } ClutterContentGravity; 1315 1316 /** 1317 * ClutterScalingFilter: 1318 * @CLUTTER_SCALING_FILTER_LINEAR: Linear interpolation filter 1319 * @CLUTTER_SCALING_FILTER_NEAREST: Nearest neighbor interpolation filter 1320 * @CLUTTER_SCALING_FILTER_TRILINEAR: Trilinear minification filter, with 1321 * mipmap generation; this filter linearly interpolates on every axis, 1322 * as well as between mipmap levels. 1323 * 1324 * The scaling filters to be used with the #ClutterActor:minification-filter 1325 * and #ClutterActor:magnification-filter properties. 1326 * 1327 * Since: 1.10 1328 */ 1329 typedef enum { 1330 CLUTTER_SCALING_FILTER_LINEAR, 1331 CLUTTER_SCALING_FILTER_NEAREST, 1332 CLUTTER_SCALING_FILTER_TRILINEAR 1333 } ClutterScalingFilter; 1334 1335 /** 1336 * ClutterOrientation: 1337 * @CLUTTER_ORIENTATION_HORIZONTAL: An horizontal orientation 1338 * @CLUTTER_ORIENTATION_VERTICAL: A vertical orientation 1339 * 1340 * Represents the orientation of actors or layout managers. 1341 * 1342 * Since: 1.12 1343 */ 1344 typedef enum { 1345 CLUTTER_ORIENTATION_HORIZONTAL, 1346 CLUTTER_ORIENTATION_VERTICAL 1347 } ClutterOrientation; 1348 1349 /** 1350 * ClutterScrollMode: 1351 * @CLUTTER_SCROLL_NONE: Ignore scrolling 1352 * @CLUTTER_SCROLL_HORIZONTALLY: Scroll only horizontally 1353 * @CLUTTER_SCROLL_VERTICALLY: Scroll only vertically 1354 * @CLUTTER_SCROLL_BOTH: Scroll in both directions 1355 * 1356 * Scroll modes. 1357 * 1358 * Since: 1.12 1359 */ 1360 typedef enum { /*< prefix=CLUTTER_SCROLL >*/ 1361 CLUTTER_SCROLL_NONE = 0, 1362 1363 CLUTTER_SCROLL_HORIZONTALLY = 1 << 0, 1364 CLUTTER_SCROLL_VERTICALLY = 1 << 1, 1365 1366 CLUTTER_SCROLL_BOTH = CLUTTER_SCROLL_HORIZONTALLY | CLUTTER_SCROLL_VERTICALLY 1367 } ClutterScrollMode; 1368 1369 /** 1370 * ClutterGridPosition: 1371 * @CLUTTER_GRID_POSITION_LEFT: left position 1372 * @CLUTTER_GRID_POSITION_RIGHT: right position 1373 * @CLUTTER_GRID_POSITION_TOP: top position 1374 * @CLUTTER_GRID_POSITION_BOTTOM: bottom position 1375 * 1376 * Grid position modes. 1377 * 1378 * Since: 1.12 1379 */ 1380 typedef enum { 1381 CLUTTER_GRID_POSITION_LEFT, 1382 CLUTTER_GRID_POSITION_RIGHT, 1383 CLUTTER_GRID_POSITION_TOP, 1384 CLUTTER_GRID_POSITION_BOTTOM 1385 } ClutterGridPosition; 1386 1387 /** 1388 * ClutterContentRepeat: 1389 * @CLUTTER_REPEAT_NONE: No repeat 1390 * @CLUTTER_REPEAT_X_AXIS: Repeat the content on the X axis 1391 * @CLUTTER_REPEAT_Y_AXIS: Repeat the content on the Y axis 1392 * @CLUTTER_REPEAT_BOTH: Repeat the content on both axis 1393 * 1394 * Content repeat modes. 1395 * 1396 * Since: 1.12 1397 */ 1398 typedef enum { 1399 CLUTTER_REPEAT_NONE = 0, 1400 CLUTTER_REPEAT_X_AXIS = 1 << 0, 1401 CLUTTER_REPEAT_Y_AXIS = 1 << 1, 1402 CLUTTER_REPEAT_BOTH = CLUTTER_REPEAT_X_AXIS | CLUTTER_REPEAT_Y_AXIS 1403 } ClutterContentRepeat; 1404 1405 /** 1406 * ClutterStepMode: 1407 * @CLUTTER_STEP_MODE_START: The change in the value of a 1408 * %CLUTTER_STEP progress mode should occur at the start of 1409 * the transition 1410 * @CLUTTER_STEP_MODE_END: The change in the value of a 1411 * %CLUTTER_STEP progress mode should occur at the end of 1412 * the transition 1413 * 1414 * Change the value transition of a step function. 1415 * 1416 * See clutter_timeline_set_step_progress(). 1417 * 1418 * Since: 1.12 1419 */ 1420 typedef enum { 1421 CLUTTER_STEP_MODE_START, 1422 CLUTTER_STEP_MODE_END 1423 } ClutterStepMode; 1424 1425 /** 1426 * ClutterZoomAxis: 1427 * @CLUTTER_ZOOM_X_AXIS: Scale only on the X axis 1428 * @CLUTTER_ZOOM_Y_AXIS: Scale only on the Y axis 1429 * @CLUTTER_ZOOM_BOTH: Scale on both axis 1430 * 1431 * The axis of the constraint that should be applied by the 1432 * zooming action. 1433 * 1434 * Since: 1.12 1435 */ 1436 typedef enum { /*< prefix=CLUTTER_ZOOM >*/ 1437 CLUTTER_ZOOM_X_AXIS, 1438 CLUTTER_ZOOM_Y_AXIS, 1439 CLUTTER_ZOOM_BOTH 1440 } ClutterZoomAxis; 1441 1442 /** 1443 * ClutterGestureTriggerEdge: 1444 * @CLUTTER_GESTURE_TRIGGER_EDGE_NONE: Tell #ClutterGestureAction that 1445 * the gesture must begin immediately and there's no drag limit that 1446 * will cause its cancellation; 1447 * @CLUTTER_GESTURE_TRIGGER_EDGE_AFTER: Tell #ClutterGestureAction that 1448 * it needs to wait until the drag threshold has been exceeded before 1449 * considering that the gesture has begun; 1450 * @CLUTTER_GESTURE_TRIGGER_EDGE_BEFORE: Tell #ClutterGestureAction that 1451 * the gesture must begin immediately and that it must be cancelled 1452 * once the drag exceed the configured threshold. 1453 * 1454 * Enum passed to the clutter_gesture_action_set_threshold_trigger_edge() 1455 * function. 1456 * 1457 * Since: 1.18 1458 */ 1459 typedef enum { 1460 CLUTTER_GESTURE_TRIGGER_EDGE_NONE = 0, 1461 CLUTTER_GESTURE_TRIGGER_EDGE_AFTER, 1462 CLUTTER_GESTURE_TRIGGER_EDGE_BEFORE 1463 } ClutterGestureTriggerEdge; 1464 1465 /** 1466 * ClutterTouchpadGesturePhase: 1467 * @CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN: The gesture has begun. 1468 * @CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE: The gesture has been updated. 1469 * @CLUTTER_TOUCHPAD_GESTURE_PHASE_END: The gesture was finished, changes 1470 * should be permanently applied. 1471 * @CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL: The gesture was cancelled, all 1472 * changes should be undone. 1473 * 1474 * The phase of a touchpad gesture event. All gestures are guaranteed to 1475 * begin with an event of type %CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN, 1476 * followed by a number of %CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE (possibly 0). 1477 * 1478 * A finished gesture may have 2 possible outcomes, an event with phase 1479 * %CLUTTER_TOUCHPAD_GESTURE_PHASE_END will be emitted when the gesture is 1480 * considered successful, this should be used as the hint to perform any 1481 * permanent changes. 1482 1483 * Cancelled gestures may be so for a variety of reasons, due to hardware, 1484 * or due to the gesture recognition layers hinting the gesture did not 1485 * finish resolutely (eg. a 3rd finger being added during a pinch gesture). 1486 * In these cases, the last event with report the phase 1487 * %CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL, this should be used as a hint 1488 * to undo any visible/permanent changes that were done throughout the 1489 * progress of the gesture. 1490 * 1491 * See also #ClutterTouchpadPinchEvent and #ClutterTouchpadPinchEvent. 1492 * 1493 * Since: 1.24 1494 */ 1495 typedef enum { 1496 CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN, 1497 CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE, 1498 CLUTTER_TOUCHPAD_GESTURE_PHASE_END, 1499 CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL 1500 } ClutterTouchpadGesturePhase; 1501 1502 /** 1503 * ClutterScrollSource: 1504 * @CLUTTER_SCROLL_SOURCE_UNKNOWN: Source of scroll events is unknown. 1505 * @CLUTTER_SCROLL_SOURCE_WHEEL: The scroll event is originated by a mouse wheel. 1506 * @CLUTTER_SCROLL_SOURCE_FINGER: The scroll event is originated by one or more 1507 * fingers on the device (eg. touchpads). 1508 * @CLUTTER_SCROLL_SOURCE_CONTINUOUS: The scroll event is originated by the 1509 * motion of some device (eg. a scroll button is set). 1510 * 1511 * The scroll source determines the source of the scroll event. Keep in mind 1512 * that the source device #ClutterInputDeviceType is not enough to infer 1513 * the scroll source. 1514 * 1515 * Since: 1.26 1516 */ 1517 typedef enum { 1518 CLUTTER_SCROLL_SOURCE_UNKNOWN, 1519 CLUTTER_SCROLL_SOURCE_WHEEL, 1520 CLUTTER_SCROLL_SOURCE_FINGER, 1521 CLUTTER_SCROLL_SOURCE_CONTINUOUS 1522 } ClutterScrollSource; 1523 1524 /** 1525 * ClutterScrollFinishFlags: 1526 * @CLUTTER_SCROLL_FINISHED_NONE: no axis was stopped. 1527 * @CLUTTER_SCROLL_FINISHED_HORIZONTAL: The horizontal axis stopped. 1528 * @CLUTTER_SCROLL_FINISHED_VERTICAL: The vertical axis stopped. 1529 * 1530 * Flags used to notify the axes that were stopped in a #ClutterScrollEvent. 1531 * These can be used to trigger post-scroll effects like kinetic scrolling. 1532 * 1533 * Since: 1.26 1534 */ 1535 typedef enum { 1536 CLUTTER_SCROLL_FINISHED_NONE = 0, 1537 CLUTTER_SCROLL_FINISHED_HORIZONTAL = 1 << 0, 1538 CLUTTER_SCROLL_FINISHED_VERTICAL = 1 << 1 1539 } ClutterScrollFinishFlags; 1540 1541 /** 1542 * ClutterInputDeviceToolType: 1543 * @CLUTTER_INPUT_DEVICE_TOOL_NONE: No tool 1544 * @CLUTTER_INPUT_DEVICE_TOOL_PEN: The tool is a pen 1545 * @CLUTTER_INPUT_DEVICE_TOOL_ERASER: The tool is an eraser 1546 * @CLUTTER_INPUT_DEVICE_TOOL_BRUSH: The tool is a brush 1547 * @CLUTTER_INPUT_DEVICE_TOOL_PENCIL: The tool is a pencil 1548 * @CLUTTER_INPUT_DEVICE_TOOL_AIRBRUSH: The tool is an airbrush 1549 * @CLUTTER_INPUT_DEVICE_TOOL_MOUSE: The tool is a mouse 1550 * @CLUTTER_INPUT_DEVICE_TOOL_LENS: The tool is a lens 1551 * 1552 * Defines the type of tool that a #ClutterInputDeviceTool represents. 1553 * 1554 * Since: 1.28 1555 */ 1556 typedef enum { 1557 CLUTTER_INPUT_DEVICE_TOOL_NONE, 1558 CLUTTER_INPUT_DEVICE_TOOL_PEN, 1559 CLUTTER_INPUT_DEVICE_TOOL_ERASER, 1560 CLUTTER_INPUT_DEVICE_TOOL_BRUSH, 1561 CLUTTER_INPUT_DEVICE_TOOL_PENCIL, 1562 CLUTTER_INPUT_DEVICE_TOOL_AIRBRUSH, 1563 CLUTTER_INPUT_DEVICE_TOOL_MOUSE, 1564 CLUTTER_INPUT_DEVICE_TOOL_LENS 1565 } ClutterInputDeviceToolType; 1566 1567 typedef enum { 1568 CLUTTER_INPUT_DEVICE_PAD_SOURCE_UNKNOWN, 1569 CLUTTER_INPUT_DEVICE_PAD_SOURCE_FINGER, 1570 } ClutterInputDevicePadSource; 1571 1572 typedef enum { 1573 CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE, 1574 CLUTTER_INPUT_DEVICE_MAPPING_RELATIVE, 1575 } ClutterInputDeviceMapping; 1576 1577 typedef enum { 1578 CLUTTER_INPUT_CONTENT_HINT_COMPLETION = 1 << 0, 1579 CLUTTER_INPUT_CONTENT_HINT_SPELLCHECK = 1 << 1, 1580 CLUTTER_INPUT_CONTENT_HINT_AUTO_CAPITALIZATION = 1 << 2, 1581 CLUTTER_INPUT_CONTENT_HINT_LOWERCASE = 1 << 3, 1582 CLUTTER_INPUT_CONTENT_HINT_UPPERCASE = 1 << 4, 1583 CLUTTER_INPUT_CONTENT_HINT_TITLECASE = 1 << 5, 1584 CLUTTER_INPUT_CONTENT_HINT_HIDDEN_TEXT = 1 << 6, 1585 CLUTTER_INPUT_CONTENT_HINT_SENSITIVE_DATA = 1 << 7, 1586 CLUTTER_INPUT_CONTENT_HINT_LATIN = 1 << 8, 1587 CLUTTER_INPUT_CONTENT_HINT_MULTILINE = 1 << 9, 1588 } ClutterInputContentHintFlags; 1589 1590 typedef enum { 1591 CLUTTER_INPUT_CONTENT_PURPOSE_NORMAL, 1592 CLUTTER_INPUT_CONTENT_PURPOSE_ALPHA, 1593 CLUTTER_INPUT_CONTENT_PURPOSE_DIGITS, 1594 CLUTTER_INPUT_CONTENT_PURPOSE_NUMBER, 1595 CLUTTER_INPUT_CONTENT_PURPOSE_PHONE, 1596 CLUTTER_INPUT_CONTENT_PURPOSE_URL, 1597 CLUTTER_INPUT_CONTENT_PURPOSE_EMAIL, 1598 CLUTTER_INPUT_CONTENT_PURPOSE_NAME, 1599 CLUTTER_INPUT_CONTENT_PURPOSE_PASSWORD, 1600 CLUTTER_INPUT_CONTENT_PURPOSE_DATE, 1601 CLUTTER_INPUT_CONTENT_PURPOSE_TIME, 1602 CLUTTER_INPUT_CONTENT_PURPOSE_DATETIME, 1603 CLUTTER_INPUT_CONTENT_PURPOSE_TERMINAL, 1604 } ClutterInputContentPurpose; 1605 1606 typedef enum { 1607 CLUTTER_INPUT_PANEL_STATE_OFF, 1608 CLUTTER_INPUT_PANEL_STATE_ON, 1609 CLUTTER_INPUT_PANEL_STATE_TOGGLE, 1610 } ClutterInputPanelState; 1611 1612 G_END_DECLS 1613 1614 #endif /* __CLUTTER_ENUMS_H__ */ 1615