| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 // The actual key code genenerated by the platform. The DOM spec runs | 236 // The actual key code genenerated by the platform. The DOM spec runs |
| 237 // on Windows-equivalent codes (thus |windowsKeyCode| above) but it | 237 // on Windows-equivalent codes (thus |windowsKeyCode| above) but it |
| 238 // doesn't hurt to have this one around. | 238 // doesn't hurt to have this one around. |
| 239 int nativeKeyCode; | 239 int nativeKeyCode; |
| 240 | 240 |
| 241 // This identifies whether this event was tagged by the system as being | 241 // This identifies whether this event was tagged by the system as being |
| 242 // a "system key" event (see | 242 // a "system key" event (see |
| 243 // http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for | 243 // http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for |
| 244 // details). Other platforms don't have this concept, but it's just | 244 // details). Other platforms don't have this concept, but it's just |
| 245 // easier to leave it always false than ifdef. | 245 // easier to leave it always false than ifdef. |
| 246 // See comment at the top of the file for why an int is used here. | |
| 247 bool isSystemKey; | 246 bool isSystemKey; |
| 248 | 247 |
| 249 // |text| is the text generated by this keystroke. |unmodifiedText| is | 248 // |text| is the text generated by this keystroke. |unmodifiedText| is |
| 250 // |text|, but unmodified by an concurrently-held modifiers (except | 249 // |text|, but unmodified by an concurrently-held modifiers (except |
| 251 // shift). This is useful for working out shortcut keys. Linux and | 250 // shift). This is useful for working out shortcut keys. Linux and |
| 252 // Windows guarantee one character per event. The Mac does not, but in | 251 // Windows guarantee one character per event. The Mac does not, but in |
| 253 // reality that's all it ever gives. We're generous, and cap it a bit | 252 // reality that's all it ever gives. We're generous, and cap it a bit |
| 254 // longer. | 253 // longer. |
| 255 WebUChar text[textLengthCap]; | 254 WebUChar text[textLengthCap]; |
| 256 WebUChar unmodifiedText[textLengthCap]; | 255 WebUChar unmodifiedText[textLengthCap]; |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 }; | 345 }; |
| 347 | 346 |
| 348 float deltaX; | 347 float deltaX; |
| 349 float deltaY; | 348 float deltaY; |
| 350 float wheelTicksX; | 349 float wheelTicksX; |
| 351 float wheelTicksY; | 350 float wheelTicksY; |
| 352 | 351 |
| 353 float accelerationRatioX; | 352 float accelerationRatioX; |
| 354 float accelerationRatioY; | 353 float accelerationRatioY; |
| 355 | 354 |
| 356 // See comment at the top of the file for why an int is used here. | |
| 357 int scrollByPage; | |
| 358 | |
| 359 // See comment at the top of the file for why an int is used here. | |
| 360 int hasPreciseScrollingDeltas; | |
| 361 Phase phase; | 355 Phase phase; |
| 362 Phase momentumPhase; | 356 Phase momentumPhase; |
| 363 | 357 |
| 364 // See comment at the top of the file for why an int is used here. | |
| 365 // Rubberbanding is an OSX visual effect. When a user scrolls the content | 358 // Rubberbanding is an OSX visual effect. When a user scrolls the content |
| 366 // area with a track pad, and the content area is already at its limit in | 359 // area with a track pad, and the content area is already at its limit in |
| 367 // the direction being scrolled, the entire content area is allowed to | 360 // the direction being scrolled, the entire content area is allowed to |
| 368 // scroll slightly off screen, revealing a grey background. When the user | 361 // scroll slightly off screen, revealing a grey background. When the user |
| 369 // lets go, the content area snaps back into place. Blink is responsible | 362 // lets go, the content area snaps back into place. Blink is responsible |
| 370 // for this rubberbanding effect, but the embedder may wish to disable | 363 // for this rubberbanding effect, but the embedder may wish to disable |
| 371 // rubber banding in the left or right direction, if the scroll should have | 364 // rubber banding in the left or right direction, if the scroll should have |
| 372 // an alternate effect. The common case is that a scroll in the left or | 365 // an alternate effect. The common case is that a scroll in the left or |
| 373 // right directions causes a back or forwards navigation, respectively. | 366 // right directions causes a back or forwards navigation, respectively. |
| 374 // | 367 // |
| 375 // These flags prevent rubber banding from starting in a given direction, | 368 // These flags prevent rubber banding from starting in a given direction, |
| 376 // but have no effect on an ongoing rubber banding. A rubber banding that | 369 // but have no effect on an ongoing rubber banding. A rubber banding that |
| 377 // started in the vertical direction is allowed to continue in the right | 370 // started in the vertical direction is allowed to continue in the right |
| 378 // direction, even if canRubberbandRight is 0. | 371 // direction, even if canRubberbandRight is 0. |
| 379 int canRubberbandLeft; | 372 bool canRubberbandLeft; |
| 380 int canRubberbandRight; | 373 bool canRubberbandRight; |
| 374 |
| 375 bool scrollByPage; |
| 376 bool hasPreciseScrollingDeltas; |
| 381 | 377 |
| 382 WebMouseWheelEvent() | 378 WebMouseWheelEvent() |
| 383 : WebMouseEvent(sizeof(WebMouseWheelEvent)) | 379 : WebMouseEvent(sizeof(WebMouseWheelEvent)) |
| 384 , deltaX(0.0f) | 380 , deltaX(0.0f) |
| 385 , deltaY(0.0f) | 381 , deltaY(0.0f) |
| 386 , wheelTicksX(0.0f) | 382 , wheelTicksX(0.0f) |
| 387 , wheelTicksY(0.0f) | 383 , wheelTicksY(0.0f) |
| 388 , accelerationRatioX(1.0f) | 384 , accelerationRatioX(1.0f) |
| 389 , accelerationRatioY(1.0f) | 385 , accelerationRatioY(1.0f) |
| 390 , scrollByPage(false) | |
| 391 , hasPreciseScrollingDeltas(false) | |
| 392 , phase(PhaseNone) | 386 , phase(PhaseNone) |
| 393 , momentumPhase(PhaseNone) | 387 , momentumPhase(PhaseNone) |
| 394 , canRubberbandLeft(true) | 388 , canRubberbandLeft(true) |
| 395 , canRubberbandRight(true) | 389 , canRubberbandRight(true) |
| 390 , scrollByPage(false) |
| 391 , hasPreciseScrollingDeltas(false) |
| 396 { | 392 { |
| 397 } | 393 } |
| 398 }; | 394 }; |
| 399 | 395 |
| 400 // WebGestureEvent -------------------------------------------------------------
- | 396 // WebGestureEvent -------------------------------------------------------------
- |
| 401 | 397 |
| 402 class WebGestureEvent : public WebInputEvent { | 398 class WebGestureEvent : public WebInputEvent { |
| 403 public: | 399 public: |
| 404 int x; | 400 int x; |
| 405 int y; | 401 int y; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 441 // May be redundant with deltaX/deltaY in the first scrollUpdate. | 437 // May be redundant with deltaX/deltaY in the first scrollUpdate. |
| 442 float deltaXHint; | 438 float deltaXHint; |
| 443 float deltaYHint; | 439 float deltaYHint; |
| 444 } scrollBegin; | 440 } scrollBegin; |
| 445 | 441 |
| 446 struct { | 442 struct { |
| 447 float deltaX; | 443 float deltaX; |
| 448 float deltaY; | 444 float deltaY; |
| 449 float velocityX; | 445 float velocityX; |
| 450 float velocityY; | 446 float velocityY; |
| 451 | |
| 452 // TODO: Use a bitfield instead of two ints for these flags | |
| 453 | |
| 454 // Whether any previous GestureScrollUpdate in the current scroll | 447 // Whether any previous GestureScrollUpdate in the current scroll |
| 455 // sequence was suppressed (e.g., the causal touchmove was | 448 // sequence was suppressed (e.g., the causal touchmove was |
| 456 // preventDefault'ed). This bit is particularly useful for | 449 // preventDefault'ed). This bit is particularly useful for |
| 457 // determining whether the observed scroll update sequence captures | 450 // determining whether the observed scroll update sequence captures |
| 458 // the entirety of the generative motion. | 451 // the entirety of the generative motion. |
| 459 // See comment at the top for why an int is used here instead of a b
ool. | 452 bool previousUpdateInSequencePrevented; |
| 460 int previousUpdateInSequencePrevented; | 453 bool preventPropagation; |
| 461 // See comment at the top of the file for why an int is used here | |
| 462 // instead of a bool. | |
| 463 int preventPropagation; | |
| 464 } scrollUpdate; | 454 } scrollUpdate; |
| 465 | 455 |
| 466 struct { | 456 struct { |
| 467 float velocityX; | 457 float velocityX; |
| 468 float velocityY; | 458 float velocityY; |
| 469 } flingStart; | 459 } flingStart; |
| 470 | 460 |
| 471 struct { | 461 struct { |
| 472 float scale; | 462 float scale; |
| 473 } pinchUpdate; | 463 } pinchUpdate; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 491 // Maximum number of simultaneous touches supported on | 481 // Maximum number of simultaneous touches supported on |
| 492 // Ash/Aura. | 482 // Ash/Aura. |
| 493 enum { touchesLengthCap = 16 }; | 483 enum { touchesLengthCap = 16 }; |
| 494 | 484 |
| 495 unsigned touchesLength; | 485 unsigned touchesLength; |
| 496 // List of all touches, regardless of state. | 486 // List of all touches, regardless of state. |
| 497 WebTouchPoint touches[touchesLengthCap]; | 487 WebTouchPoint touches[touchesLengthCap]; |
| 498 | 488 |
| 499 // Whether the event can be canceled (with preventDefault). If true then the
browser | 489 // Whether the event can be canceled (with preventDefault). If true then the
browser |
| 500 // must wait for an ACK for this event. If false then no ACK IPC is expected
. | 490 // must wait for an ACK for this event. If false then no ACK IPC is expected
. |
| 501 // See comment at the top for why an int is used here instead of a bool. | 491 bool cancelable; |
| 502 int cancelable; | |
| 503 | 492 |
| 504 // Whether the event will produce scroll-inducing events if uncanceled. This | 493 // Whether the event will produce scroll-inducing events if uncanceled. This |
| 505 // will be true for touchmove events after the platform slop region has been | 494 // will be true for touchmove events after the platform slop region has been |
| 506 // exceeded and fling-generating touchend events. Note that this doesn't | 495 // exceeded and fling-generating touchend events. Note that this doesn't |
| 507 // necessarily mean content will scroll, only that scroll events will be | 496 // necessarily mean content will scroll, only that scroll events will be |
| 508 // generated. | 497 // generated. |
| 509 // See comment at the top for why an int is used here instead of a bool. | 498 bool causesScrollingIfUncanceled; |
| 510 int causesScrollingIfUncanceled; | |
| 511 | 499 |
| 512 WebTouchEvent() | 500 WebTouchEvent() |
| 513 : WebInputEvent(sizeof(WebTouchEvent)) | 501 : WebInputEvent(sizeof(WebTouchEvent)) |
| 514 , touchesLength(0) | 502 , touchesLength(0) |
| 515 , cancelable(true) | 503 , cancelable(true) |
| 516 , causesScrollingIfUncanceled(false) | 504 , causesScrollingIfUncanceled(false) |
| 517 { | 505 { |
| 518 } | 506 } |
| 519 }; | 507 }; |
| 520 | 508 |
| 521 #pragma pack(pop) | 509 #pragma pack(pop) |
| 522 | 510 |
| 523 } // namespace blink | 511 } // namespace blink |
| 524 | 512 |
| 525 #endif | 513 #endif |
| OLD | NEW |