1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import { Slides } from '../slides';
  2. import { Platform } from '../../../platform/platform';
  3. export interface SlideElement extends HTMLElement {
  4. progress: number;
  5. swiperSlideSize: number;
  6. swiperSlideOffset: number;
  7. }
  8. export interface SlideContainer extends HTMLElement {
  9. swiper: Slides;
  10. }
  11. export interface SlideEffect {
  12. setTranslate: {
  13. (s: Slides, plt: Platform): void;
  14. };
  15. setTransition: {
  16. (s: Slides, plt: Platform, duration: number): void;
  17. };
  18. }
  19. export interface SlideEffects {
  20. [key: string]: SlideEffect;
  21. }
  22. export interface SlideTouches {
  23. startX: number;
  24. startY: number;
  25. currentX: number;
  26. currentY: number;
  27. diff: number;
  28. }
  29. export interface SlideUIEvent extends TouchEvent {
  30. originalEvent: SlideUIEvent;
  31. preventedByNestedSwiper: boolean;
  32. pageX: number;
  33. pageY: number;
  34. which: number;
  35. }
  36. export interface SlideTouchEvents {
  37. start: string;
  38. move: string;
  39. end: string;
  40. }
  41. export interface SlideZoom {
  42. scale: number;
  43. currentScale: number;
  44. isScaling: boolean;
  45. gesture: {
  46. slide: SlideElement;
  47. slideWidth: number;
  48. slideHeight: number;
  49. image: HTMLElement;
  50. imageWrap: HTMLElement;
  51. zoomMax: number;
  52. scaleStart?: number;
  53. scaleMove?: number;
  54. };
  55. image: {
  56. isTouched: boolean;
  57. isMoved: boolean;
  58. currentX: number;
  59. currentY: number;
  60. minX: number;
  61. minY: number;
  62. maxX: number;
  63. maxY: number;
  64. width: number;
  65. height: number;
  66. startX: number;
  67. startY: number;
  68. touchesStart: {
  69. x?: number;
  70. y?: number;
  71. };
  72. touchesCurrent: {
  73. x?: number;
  74. y?: number;
  75. };
  76. };
  77. velocity: {
  78. x: number;
  79. y: number;
  80. prevPositionX: number;
  81. prevPositionY: number;
  82. prevTime: number;
  83. };
  84. unRegs: Function[];
  85. }