1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import type { CameraPlatformCapability } from '../../camera/CameraPlatformCapability'; 17import type { CameraId } from '../../setting/settingitem/CameraId'; 18 19interface Data { 20 [prop: string]: any; 21} 22 23export enum UiStateMode { 24 NONE, 25 EXCLUDE_PREVIEW 26} 27 28export interface ActionData { 29 isEvent?: boolean; 30 data: Data; 31 type: string 32} 33 34export class Action { 35 // Context 36 public static readonly ACTION_INIT_FOOT_BAR_WIDTH = 'ACTION_INIT_FOOT_BAR_WIDTH'; 37 public static readonly ACTION_INIT_FOOT_BAR_HEIGHT = 'ACTION_INIT_FOOT_BAR_HEIGHT'; 38 public static readonly ACTION_SET_PERMISSION_FLAG = 'ACTION_SET_PERMISSION_FLAG'; 39 public static readonly ACTION_INIT_ACTION = 'ACTION_INIT_ACTION'; 40 public static readonly ACTION_KEEP_SCREEN_ON = 'ACTION_KEEP_SCREEN_ON'; 41 public static readonly ACTION_UPDATE_INIT_SHOW_FLAG = 'ACTION_UPDATE_INIT_SHOW_FLAG'; 42 43 // Camera 44 public static readonly ACTION_INIT = 'ACTION_INIT'; 45 public static readonly ACTION_INIT_DONE = 'ACTION_INIT_DONE'; 46 public static readonly ACTION_SWITCH_CAMERA = 'ACTION_SWITCH_CAMERA'; 47 public static readonly ACTION_SET_CAMERA_POSITION = 'ACTION_SET_CAMERA_POSITION'; 48 public static readonly ACTION_UPDATE_CAMERA_POSITION = 'ACTION_UPDATE_CAMERA_POSITION'; 49 public static readonly ACTION_CLOSE_CAMERA = 'ACTION_CLOSE_CAMERA'; 50 public static readonly ACTION_UPDATE_CAMERA_STATUS = 'ACTION_UPDATE_CAMERA_STATUS'; 51 52 // Mode 53 public static readonly ACTION_INIT_MODE = 'ACTION_INIT_MODE'; 54 public static readonly ACTION_CHANGE_MODE = 'ACTION_CHANGE_MODE'; 55 public static readonly ACTION_SET_MODE = 'ACTION_SET_MODE'; 56 public static readonly ACTION_UPDATE_MODE = 'ACTION_UPDATE_MODE'; 57 public static readonly ACTION_ON_MODE_CHANGED = 'ACTION_ON_MODE_CHANGED'; 58 public static readonly ACTION_THIRD_PARTY_CALL = 'ACTION_THIRD_PARTY_CALL'; 59 public static readonly ACTION_FA_CALL = 'ACTION_FA_CALL'; 60 public static readonly ACTION_SWIPE_MODE_DONE = 'ACTION_SWIPE_MODE_DONE'; 61 62 // Preview 63 public static readonly ACTION_PREPARE_SURFACE = 'ACTION_PREPARE_SURFACE'; 64 public static readonly ACTION_START_PREVIEW = 'ACTION_START_PREVIEW'; 65 public static readonly ACTION_RESTART_PREVIEW = 'ACTION_RESTART_PREVIEW'; 66 public static readonly ACTION_UPDATE_SURFACE_ID = 'ACTION_UPDATE_SURFACE_ID'; 67 public static readonly ACTION_CHANGE_X_COMPONENT_SIZE = 'ACTION_CHANGE_X_COMPONENT_SIZE'; 68 public static readonly ACTION_UPDATE_SHOW_PREVIEW_FLAG = 'ACTION_UPDATE_SHOW_PREVIEW_FLAG'; 69 70 // Capture 71 public static readonly ACTION_CAPTURE = 'ACTION_CAPTURE'; 72 public static readonly ACTION_CAPTURE_DONE = 'ACTION_CAPTURE_DONE'; 73 public static readonly ACTION_CAPTURE_ERROR = 'ACTION_CAPTURE_ERROR'; 74 public static readonly ACTION_THUMBNAIL = 'ACTION_THUMBNAIL'; 75 public static readonly ACTION_UPDATE_THUMBNAIL = 'ACTION_UPDATE_THUMBNAIL'; 76 public static readonly ACTION_LOAD_THUMBNAIL = 'ACTION_LOAD_THUMBNAIL'; 77 public static readonly ACTION_RELOAD_THUMBNAIL = 'ACTION_RELOAD_THUMBNAIL'; 78 79 // Record 80 public static readonly ACTION_RECORD_START = 'ACTION_RECORD_START'; 81 public static readonly ACTION_RECORD_PAUSE = 'ACTION_RECORD_PAUSE'; 82 public static readonly ACTION_RECORD_RESUME = 'ACTION_RECORD_RESUME'; 83 public static readonly ACTION_RECORD_STOP = 'ACTION_RECORD_STOP'; 84 public static readonly ACTION_RECORD_DONE = 'ACTION_RECORD_DONE'; 85 public static readonly ACTION_RECORD_ERROR = 'ACTION_RECORD_ERROR'; 86 public static readonly ACTION_START_VIDEO_FLAG = 'ACTION_START_VIDEO_FLAG'; 87 public static readonly ACTION_UPDATE_RECORDING_TIME = 'ACTION_UPDATE_RECORDING_TIME'; 88 public static readonly ACTION_UPDATE_RECORDING_TIME_DISPLAY = 'ACTION_UPDATE_RECORDING_TIME_DISPLAY'; 89 public static readonly ACTION_UPDATE_VIDEO_STATE = 'ACTION_UPDATE_VIDEO_STATE'; 90 public static readonly ACTION_UPDATE_RECORDING_PAUSED = 'ACTION_UPDATE_RECORDING_PAUSED'; 91 public static readonly ACTION_UPDATE_VIDEO_URI = 'ACTION_UPDATE_VIDEO_URI'; 92 93 // Setting 94 public static readonly ACTION_CHANGE_IMAGE_SIZE = 'ACTION_CHANGE_IMAGE_SIZE'; 95 public static readonly ACTION_CHANGE_VIDEO_SIZE = 'ACTION_CHANGE_VIDEO_SIZE'; 96 public static readonly ACTION_CHANGE_ZOOM_RATIO = 'ACTION_CHANGE_ZOOM_RATIO'; 97 public static readonly ACTION_CHANGE_TIME_LAPSE = 'ACTION_CHANGE_TIME_LAPSE'; 98 public static readonly ACTION_ASSISTIVE_GRID_VIEW = 'ACTION_ASSISTIVE_GRID_VIEW'; 99 100 // Device error 101 public static readonly ACTION_DEVICE_ERROR = 'ACTION_DEVICE_ERROR'; 102 103 // Ui 104 public static readonly ACTION_UI_STATE = 'ACTION_UI_STATE'; 105 public static readonly ACTION_INIT_ZOOM_RATIO = 'ACTION_INIT_ZOOM_RATIO'; 106 public static readonly ACTION_RESET_ZOOM_RATIO = 'ACTION_RESET_ZOOM_RATIO'; 107 public static readonly ACTION_UPDATE_ZOOM_PERCENTAGE = 'ACTION_UPDATE_ZOOM_PERCENTAGE'; 108 public static readonly ACTION_UPDATE_SHOW_BIG_TEXT_FLAG = 'ACTION_UPDATE_SHOW_BIG_TEXT_FLAG'; 109 public static readonly ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG = 'ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG'; 110 public static readonly ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG = 'ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG'; 111 public static readonly ACTION_UPDATE_BASE_ZOOM = 'ACTION_UPDATE_BASE_ZOOM'; 112 public static readonly ACTION_UPDATE_PINCH_GESTURE_FLAG = 'ACTION_UPDATE_PINCH_GESTURE_FLAG'; 113 public static readonly ACTION_UPDATE_PINCH_GESTURE_TIMER_ID = 'ACTION_UPDATE_PINCH_GESTURE_TIMER_ID'; 114 public static readonly ACTION_UPDATE_MODE_INDEX = 'ACTION_UPDATE_MODE_INDEX'; 115 public static readonly ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE = 'ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE'; 116 public static readonly ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE = 'ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE'; 117 public static readonly ACTION_UPDATE_RECORDING_SPOT_VISIBLE = 'ACTION_UPDATE_RECORDING_SPOT_VISIBLE'; 118 public static readonly ACTION_UPDATE_OPACITY_VALUE = 'ACTION_UPDATE_OPACITY_VALUE'; 119 public static readonly ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON = 'ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON'; 120 public static readonly ACTION_UPDATE_SCROLL_DETAILS_BOX = 'ACTION_UPDATE_SCROLL_DETAILS_BOX'; 121 public static readonly ACTION_INIT_PHOTO_DETAILS_OFFSET_X = 'ACTION_INIT_PHOTO_DETAILS_OFFSET_X'; 122 public static readonly ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X = 'ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X'; 123 public static readonly ACTION_UPDATE_CAPTURE_BTN_SCALE = 'ACTION_UPDATE_CAPTURE_BTN_SCALE'; 124 public static readonly ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG = 'ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG'; 125 public static readonly ACTION_UPDATE_SHUTTER_ICON = 'ACTION_UPDATE_SHUTTER_ICON'; 126 public static readonly ACTION_UPDATE_BIG_TEXT_OPACITY = 'ACTION_UPDATE_BIG_TEXT_OPACITY'; 127 public static readonly ACTION_UPDATE_MODE_BAR_ITEM_WIDTH = 'ACTION_UPDATE_MODE_BAR_ITEM_WIDTH'; 128 public static readonly ACTION_UPDATE_SHOW_TAB_BAR_WIDTH = 'ACTION_UPDATE_SHOW_TAB_BAR_WIDTH'; 129 public static readonly ACTION_UPDATE_SHOW_MORE_LIST = 'ACTION_UPDATE_SHOW_MORE_LIST'; 130 public static readonly ACTION_UPDATE_OPACITY_TAB_BAR = 'ACTION_UPDATE_OPACITY_TAB_BAR'; 131 public static readonly ACTION_SWIPE_MODE = 'ACTION_SWIPE_MODE'; 132 public static readonly ACTION_SHOW_ZOOM_LABEL_VALUE = 'ACTION_SHOW_ZOOM_LABEL_VALUE'; 133 public static readonly ACTION_UPDATE_SHOW_PINCH = 'ACTION_UPDATE_SHOW_PINCH'; 134 public static readonly ACTION_CLOSE_DIALOG = 'ACTION_CLOSE_DIALOG'; 135 public static readonly ACTION_SHOW_SETTING_VIEW = 'ACTION_SHOW_SETTING_VIEW'; 136 public static readonly ACTION_CAPTURE_PHOTO_OUTPUT = 'ACTION_CAPTURE_PHOTO_OUTPUT'; 137 138 139 /** CONTEXT METHODS LIST **/ 140 141 public static initFootBarWidth(footBarWidth: number): ActionData { 142 return { 143 type: Action.ACTION_INIT_FOOT_BAR_WIDTH, 144 data: { footBarWidth: footBarWidth } 145 } 146 } 147 148 public static initFootBarHeight(footBarHeight: number): ActionData { 149 return { 150 type: Action.ACTION_INIT_FOOT_BAR_HEIGHT, 151 data: { footBarHeight: footBarHeight } 152 } 153 } 154 155 public static setPermissionFlag(permissionFlag: boolean): ActionData { 156 return { 157 type: Action.ACTION_SET_PERMISSION_FLAG, 158 data: { permissionFlag: permissionFlag } 159 } 160 } 161 162 public static initAction(action: string): ActionData { 163 return { 164 type: Action.ACTION_INIT_ACTION, 165 data: { action: action } 166 } 167 } 168 169 public static updateScreenStatus(isKeepScreenOn: boolean): ActionData { 170 return { 171 isEvent: true, 172 type: Action.ACTION_KEEP_SCREEN_ON, 173 data: { isKeepScreenOn: isKeepScreenOn } 174 } 175 } 176 177 public static updateInitShowFlag(initShowFlag: boolean): ActionData { 178 return { 179 type: Action.ACTION_UPDATE_INIT_SHOW_FLAG, 180 data: { initShowFlag: initShowFlag } 181 } 182 } 183 184 185 /** CAMERA METHODS LIST **/ 186 public static initCamera(cameraId: CameraId, mode: string): ActionData { 187 return { 188 isEvent: true, 189 type: Action.ACTION_INIT, 190 data: { cameraId: cameraId, mode: mode } 191 } 192 } 193 194 public static initCameraDone(platformCapability: CameraPlatformCapability): ActionData { 195 return { 196 isEvent: true, 197 type: Action.ACTION_INIT_DONE, 198 data: { platformCapability: platformCapability } 199 } 200 } 201 202 public static switchCamera(cameraId: string, curMode?: string): ActionData { 203 return { 204 isEvent: true, 205 type: Action.ACTION_SWITCH_CAMERA, 206 data: { cameraId: cameraId, curMode: curMode } 207 } 208 } 209 210 public static setCameraPosition(cameraPosition: string): ActionData { 211 return { 212 type: Action.ACTION_SET_CAMERA_POSITION, 213 data: { cameraPosition: cameraPosition } 214 } 215 } 216 217 public static updateCameraPosition(cameraPosition: string): ActionData { 218 return { 219 type: Action.ACTION_UPDATE_CAMERA_POSITION, 220 data: { cameraPosition: cameraPosition } 221 } 222 } 223 224 public static updateCameraStatus(): ActionData { 225 return { 226 isEvent: true, 227 type: Action.ACTION_UPDATE_CAMERA_STATUS, 228 data: {} 229 } 230 } 231 232 public static close(): ActionData { 233 return { 234 isEvent: true, 235 type: Action.ACTION_CLOSE_CAMERA, 236 data: {} 237 } 238 } 239 240 241 /** MODE METHODS LIST**/ 242 243 public static initMode(mode: string): ActionData { 244 return { 245 isEvent: true, 246 type: Action.ACTION_INIT_MODE, 247 data: { mode: mode } 248 } 249 } 250 251 public static changeMode(mode: string): ActionData { 252 return { 253 isEvent: true, 254 type: Action.ACTION_CHANGE_MODE, 255 data: { mode: mode } 256 } 257 } 258 259 public static setMode(mode: string): ActionData { 260 return { 261 isEvent: true, 262 type: Action.ACTION_SET_MODE, 263 data: { mode: mode } 264 } 265 } 266 267 public static updateMode(mode: string): ActionData { 268 return { 269 isEvent: true, 270 type: Action.ACTION_UPDATE_MODE, 271 data: { mode: mode } 272 } 273 } 274 275 public static onModeChanged(mode: string): ActionData { 276 return { 277 isEvent: true, 278 type: Action.ACTION_ON_MODE_CHANGED, 279 data: { mode: mode } 280 } 281 } 282 283 public static thirdPartyCall(isThirdPartyCall: boolean, thirdCallAction: string): ActionData { 284 return { 285 type: Action.ACTION_THIRD_PARTY_CALL, 286 data: { isThirdPartyCall: isThirdPartyCall, thirdCallAction: thirdCallAction } 287 } 288 } 289 290 public static faCall(isFaCall: boolean): ActionData { 291 return { 292 type: Action.ACTION_FA_CALL, 293 data: { isFaCall: isFaCall } 294 } 295 } 296 297 298 /** PREVIEW METHODS LIST **/ 299 300 public static prepareSurface(surfaceId: number): ActionData { 301 return { 302 isEvent: true, 303 type: Action.ACTION_PREPARE_SURFACE, 304 data: { surfaceId: surfaceId } 305 } 306 } 307 308 public static startPreview(zoomRatio?: number): ActionData { 309 return { 310 isEvent: true, 311 type: Action.ACTION_START_PREVIEW, 312 data: { zoomRatio: zoomRatio } 313 } 314 } 315 316 public static reStartPreview(zoomRatio?: number): ActionData { 317 return { 318 isEvent: true, 319 type: Action.ACTION_RESTART_PREVIEW, 320 data: { zoomRatio: zoomRatio } 321 } 322 } 323 324 public static updateSurfaceId(surfaceId: number): ActionData { 325 return { 326 type: Action.ACTION_UPDATE_SURFACE_ID, 327 data: { surfaceId: surfaceId } 328 } 329 } 330 331 public static changeXComponentSize(xComponentWidth: number, xComponentHeight: number): ActionData { 332 return { 333 isEvent: true, 334 type: Action.ACTION_CHANGE_X_COMPONENT_SIZE, 335 data: { xComponentWidth: xComponentWidth, xComponentHeight: xComponentHeight } 336 } 337 } 338 339 public static updateShowPreviewFlag(isShowPreview: boolean): ActionData { 340 return { 341 type: Action.ACTION_UPDATE_SHOW_PREVIEW_FLAG, 342 data: { isShowPreview: isShowPreview } 343 } 344 } 345 346 347 /** CAPTURE METHODS LIST **/ 348 349 public static capture(): ActionData { 350 return { 351 isEvent: true, 352 type: Action.ACTION_CAPTURE, 353 data: {} 354 } 355 } 356 357 public static capturePhotoOutput(): ActionData { 358 return { 359 isEvent: true, 360 type: Action.ACTION_CAPTURE_PHOTO_OUTPUT, 361 data: {} 362 } 363 } 364 365 public static captureDone(thumbnail): ActionData { 366 return { 367 type: Action.ACTION_THUMBNAIL, 368 data: { thumbnail: thumbnail } 369 } 370 } 371 372 public static captureError(): ActionData { 373 return { 374 type: Action.ACTION_CAPTURE_ERROR, 375 data: {} 376 } 377 } 378 379 public static thumbnail(thumbnailUri): ActionData { 380 return { 381 type: Action.ACTION_THUMBNAIL, 382 data: { thumbnail: thumbnailUri } 383 } 384 } 385 386 public static updateThumbnail(thumbnailPixelMap, resourceUri): ActionData { 387 return { 388 isEvent: true, 389 type: Action.ACTION_UPDATE_THUMBNAIL, 390 data: { thumbnail: thumbnailPixelMap, resourceUri: resourceUri } 391 } 392 } 393 394 public static loadThumbnail(thumbnailPixelMap): ActionData { 395 return { 396 isEvent: true, 397 type: Action.ACTION_LOAD_THUMBNAIL, 398 data: { thumbnail: thumbnailPixelMap } 399 } 400 } 401 402 public static reloadThumbnail(): ActionData { 403 return { 404 isEvent: true, 405 type: Action.ACTION_RELOAD_THUMBNAIL, 406 data: {} 407 } 408 } 409 410 411 /** RECORD METHODS LIST **/ 412 413 public static startRecording(): ActionData { 414 return { 415 isEvent: true, 416 type: Action.ACTION_RECORD_START, 417 data: {} 418 } 419 } 420 421 public static pauseRecording(): ActionData { 422 return { 423 isEvent: true, 424 type: Action.ACTION_RECORD_PAUSE, 425 data: {} 426 } 427 } 428 429 public static resumeRecording(): ActionData { 430 return { 431 isEvent: true, 432 type: Action.ACTION_RECORD_RESUME, 433 data: {} 434 } 435 } 436 437 public static stopRecording(): ActionData { 438 return { 439 isEvent: true, 440 type: Action.ACTION_RECORD_STOP, 441 data: {} 442 } 443 } 444 445 public static recordDone(thumbnail): ActionData { 446 return { 447 isEvent: true, 448 type: Action.ACTION_RECORD_STOP, 449 data: { thumbnail: thumbnail } 450 } 451 } 452 453 public static recordError(): ActionData { 454 return { 455 isEvent: true, 456 type: Action.ACTION_RECORD_ERROR, 457 data: {} 458 } 459 } 460 461 public static startVideoFlag(isStartVideoFlag: boolean): ActionData { 462 return { 463 type: Action.ACTION_START_VIDEO_FLAG, 464 data: { isStartVideo: isStartVideoFlag } 465 } 466 } 467 468 public static updateRecordingTime(recordingTime: number): ActionData { 469 return { 470 type: Action.ACTION_UPDATE_RECORDING_TIME, 471 data: { recordingTime: recordingTime } 472 } 473 } 474 475 public static updateRecordingTimeDisplay(recordingTimeDisplay: string): ActionData { 476 return { 477 type: Action.ACTION_UPDATE_RECORDING_TIME_DISPLAY, 478 data: { recordingTimeDisplay: recordingTimeDisplay } 479 } 480 } 481 482 public static updateVideoState(videoState: string): ActionData { 483 return { 484 type: Action.ACTION_UPDATE_VIDEO_STATE, 485 data: { videoState: videoState } 486 } 487 } 488 489 public static updateRecordingPaused(isRecordingPaused: boolean): ActionData { 490 return { 491 type: Action.ACTION_UPDATE_RECORDING_PAUSED, 492 data: { isRecordingPaused: isRecordingPaused } 493 } 494 } 495 496 public static updateVideoUri(videoUri: string): ActionData { 497 return { 498 type: Action.ACTION_UPDATE_VIDEO_URI, 499 data: { videoUri: videoUri } 500 } 501 } 502 503 504 /** SETTING METHODS LIST **/ 505 506 public static changeImageSize(imageSize): ActionData { 507 return { 508 isEvent: true, 509 type: Action.ACTION_CHANGE_IMAGE_SIZE, 510 data: { imageSize: imageSize } 511 } 512 } 513 514 public static changeVideoSize(videoSize): ActionData { 515 return { 516 isEvent: true, 517 type: Action.ACTION_CHANGE_VIDEO_SIZE, 518 data: { videoSize: videoSize } 519 } 520 } 521 522 public static changeZoomRatio(zoomRatio: number): ActionData { 523 return { 524 isEvent: true, 525 type: Action.ACTION_CHANGE_ZOOM_RATIO, 526 data: { zoomRatio: zoomRatio } 527 } 528 } 529 530 public static changeTimeLapse(isShowtimeLapse: boolean): ActionData { 531 return { 532 type: Action.ACTION_CHANGE_TIME_LAPSE, 533 data: { isShowtimeLapse: isShowtimeLapse } 534 } 535 } 536 537 public static swipeModeChangeDone(modeChangeDone: boolean): ActionData { 538 return { 539 type: Action.ACTION_SWIPE_MODE_DONE, 540 data: { modeChangeDone: modeChangeDone } 541 } 542 } 543 544 public static assistiveGridView(isAssGridViewShow: number): ActionData { 545 return { 546 type: Action.ACTION_ASSISTIVE_GRID_VIEW, 547 data: { isAssGridViewShow: isAssGridViewShow } 548 } 549 } 550 551 552 /** DEVICE ERROR METHODS LIST **/ 553 554 public static deviceError(info): ActionData { 555 return { 556 type: Action.ACTION_DEVICE_ERROR, 557 data: { info: info } 558 } 559 } 560 561 562 /** UI METHODS LIST **/ 563 564 public static uiState(enable: boolean): ActionData { 565 return { 566 type: Action.ACTION_UI_STATE, 567 data: { enable: enable, uiStateMode: UiStateMode.NONE } 568 } 569 } 570 571 public static uiStateWithMode(enable: boolean, uiStateMode: UiStateMode): ActionData { 572 return { 573 type: Action.ACTION_UI_STATE, 574 data: { enable: enable, uiStateMode: uiStateMode } 575 } 576 } 577 578 public static initZoomRatio(min: number, max: number): ActionData { 579 return { 580 type: Action.ACTION_INIT_ZOOM_RATIO, 581 data: { minZoomRatio: min, maxZoomRatio: max } 582 } 583 } 584 585 public static resetZoomRatio(zoomRatio: number): ActionData { 586 return { 587 type: Action.ACTION_RESET_ZOOM_RATIO, 588 data: { zoomRatio: zoomRatio } 589 } 590 } 591 592 public static updateZoomPercentage(zoomPercentage: number): ActionData { 593 return { 594 type: Action.ACTION_UPDATE_ZOOM_PERCENTAGE, 595 data: { zoomPercentage: zoomPercentage } 596 } 597 } 598 599 public static updateShowBigTextFlag(isShowBigText: boolean): ActionData { 600 return { 601 type: Action.ACTION_UPDATE_SHOW_BIG_TEXT_FLAG, 602 data: { isShowBigText: isShowBigText } 603 } 604 } 605 606 public static updateShowZoomTextFlag(isShowZoomText: boolean): ActionData { 607 return { 608 type: Action.ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG, 609 data: { isShowZoomText: isShowZoomText } 610 } 611 } 612 613 public static updatePhotoZoomDetailsFlag(isPhotoZoomDetails: boolean): ActionData { 614 return { 615 type: Action.ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG, 616 data: { isPhotoZoomDetails: isPhotoZoomDetails } 617 } 618 } 619 620 public static updateBaseZoom(baseZoom: number): ActionData { 621 return { 622 type: Action.ACTION_UPDATE_BASE_ZOOM, 623 data: { baseZoom: baseZoom } 624 } 625 } 626 627 public static updatePinchGestureFlag(isPinchGesture: boolean): ActionData { 628 return { 629 type: Action.ACTION_UPDATE_PINCH_GESTURE_FLAG, 630 data: { isPinchGesture: isPinchGesture } 631 } 632 } 633 634 public static updatePinchGestureTimerId(pinchGestureTimerId: number): ActionData { 635 return { 636 type: Action.ACTION_UPDATE_PINCH_GESTURE_TIMER_ID, 637 data: { pinchGestureTimerId: pinchGestureTimerId } 638 } 639 } 640 641 public static updateModeIndex(modeIndex: number): ActionData { 642 return { 643 type: Action.ACTION_UPDATE_MODE_INDEX, 644 data: { modeIndex: modeIndex } 645 } 646 } 647 648 public static updateSmallVideoTimerVisible(visible: boolean): ActionData { 649 return { 650 type: Action.ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE, 651 data: { isSmallVideoTimerVisible: visible } 652 } 653 } 654 655 public static updateBigVideoTimerVisible(visible: boolean): ActionData { 656 return { 657 type: Action.ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE, 658 data: { isBigVideoTimerVisible: visible } 659 } 660 } 661 662 public static updateRecordingSpotVisible(visible: boolean): ActionData { 663 return { 664 type: Action.ACTION_UPDATE_RECORDING_SPOT_VISIBLE, 665 data: { isRecordingSpotVisible: visible } 666 } 667 } 668 669 public static updateOpacityValue(opacityValue: number): ActionData { 670 return { 671 type: Action.ACTION_UPDATE_OPACITY_VALUE, 672 data: { opacityValue: opacityValue } 673 } 674 } 675 676 public static updateShowPressScrollDetailPhotoButton(isShow: boolean): ActionData { 677 return { 678 type: Action.ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON, 679 data: { isShowPressScrollDetailPhotoButton: isShow } 680 } 681 } 682 683 public static updateScrollDetailsBox(value: number): ActionData { 684 return { 685 type: Action.ACTION_UPDATE_SCROLL_DETAILS_BOX, 686 data: { scrollDetailsBox: value } 687 } 688 } 689 690 public static initPhotoDetailsOffsetX(offsetX: number): ActionData { 691 return { 692 isEvent: true, 693 type: Action.ACTION_INIT_PHOTO_DETAILS_OFFSET_X, 694 data: { photoDetailsOffsetXInit: offsetX } 695 } 696 } 697 698 public static updatePhotoDetailsOffsetX(offsetX: number): ActionData { 699 return { 700 isEvent: true, 701 type: Action.ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X, 702 data: { photoDetailsOffsetX: offsetX } 703 } 704 } 705 706 public static updateCaptureBtnScale(scale: number): ActionData { 707 return { 708 isEvent: true, 709 type: Action.ACTION_UPDATE_CAPTURE_BTN_SCALE, 710 data: { captureBtnScale: scale } 711 } 712 } 713 714 public static updateShowFlashBlackFlag(flag: boolean): ActionData { 715 return { 716 type: Action.ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG, 717 data: { isShowFlashBlack: flag } 718 } 719 } 720 721 public static updateShutterIcon(icon: Resource): ActionData { 722 return { 723 type: Action.ACTION_UPDATE_SHUTTER_ICON, 724 data: { shutterIcon: icon } 725 } 726 } 727 728 public static updateBigTextOpacity(opacity: number): ActionData { 729 return { 730 type: Action.ACTION_UPDATE_BIG_TEXT_OPACITY, 731 data: { bigTextOpacity: opacity } 732 } 733 } 734 735 public static updateModeBarItemWidth(width: number): ActionData { 736 return { 737 type: Action.ACTION_UPDATE_MODE_BAR_ITEM_WIDTH, 738 data: { modeBarItemWidth: width } 739 } 740 } 741 742 public static updateShowTabBarWidth(widthTabBar: string): ActionData { 743 return { 744 type: Action.ACTION_UPDATE_SHOW_TAB_BAR_WIDTH, 745 data: { widthTabBar: widthTabBar } 746 } 747 } 748 749 public static updateShowMoreList(isShowMoreList: boolean): ActionData { 750 return { 751 type: Action.ACTION_UPDATE_SHOW_MORE_LIST, 752 data: { isShowMoreList: isShowMoreList } 753 } 754 } 755 756 public static updateOpacityForTabBar(opacity: number): ActionData { 757 return { 758 type: Action.ACTION_UPDATE_OPACITY_TAB_BAR, 759 data: { opacityValueForTabBar: opacity } 760 } 761 } 762 763 public static swipeChangeMode(swipeModeIndex: number): ActionData { 764 return { 765 isEvent: true, 766 type: Action.ACTION_SWIPE_MODE, 767 data: { swipeModeIndex: swipeModeIndex } 768 } 769 } 770 771 public static updateShowZoomLabelValue(flag: boolean): ActionData { 772 return { 773 type: Action.ACTION_SHOW_ZOOM_LABEL_VALUE, 774 data: { showZoomLabelValue: flag } 775 } 776 } 777 778 public static updateShowPinch(isShowPinch: boolean): ActionData { 779 return { 780 type: Action.ACTION_UPDATE_SHOW_PINCH, 781 data: { isShowPinch: isShowPinch } 782 } 783 } 784 785 public static closeDialog(isCloseFlag: boolean): ActionData { 786 return { 787 type: Action.ACTION_CLOSE_DIALOG, 788 data: { isCloseFlag: isCloseFlag } 789 } 790 } 791 792 public static showSettingView(isShowSettingView: boolean): ActionData { 793 return { 794 type: Action.ACTION_SHOW_SETTING_VIEW, 795 data: { isShowSettingView: isShowSettingView } 796 } 797 } 798} 799