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 type: Action.ACTION_KEEP_SCREEN_ON, 172 data: { isKeepScreenOn: isKeepScreenOn } 173 } 174 } 175 176 public static updateInitShowFlag(initShowFlag: boolean): ActionData { 177 return { 178 type: Action.ACTION_UPDATE_INIT_SHOW_FLAG, 179 data: { initShowFlag: initShowFlag } 180 } 181 } 182 183 184 /** CAMERA METHODS LIST **/ 185 public static initCamera(cameraId: CameraId, mode: string): ActionData { 186 return { 187 isEvent: true, 188 type: Action.ACTION_INIT, 189 data: { cameraId: cameraId, mode: mode } 190 } 191 } 192 193 public static initCameraDone(platformCapability: CameraPlatformCapability): ActionData { 194 return { 195 isEvent: true, 196 type: Action.ACTION_INIT_DONE, 197 data: { platformCapability: platformCapability } 198 } 199 } 200 201 public static switchCamera(cameraId: string, curMode?: string): ActionData { 202 return { 203 isEvent: true, 204 type: Action.ACTION_SWITCH_CAMERA, 205 data: { cameraId: cameraId, curMode: curMode } 206 } 207 } 208 209 public static setCameraPosition(cameraPosition: string): ActionData { 210 return { 211 type: Action.ACTION_SET_CAMERA_POSITION, 212 data: { cameraPosition: cameraPosition } 213 } 214 } 215 216 public static updateCameraPosition(cameraPosition: string): ActionData { 217 return { 218 type: Action.ACTION_UPDATE_CAMERA_POSITION, 219 data: { cameraPosition: cameraPosition } 220 } 221 } 222 223 public static updateCameraStatus(): ActionData { 224 return { 225 isEvent: true, 226 type: Action.ACTION_UPDATE_CAMERA_STATUS, 227 data: {} 228 } 229 } 230 231 public static close(): ActionData { 232 return { 233 isEvent: true, 234 type: Action.ACTION_CLOSE_CAMERA, 235 data: {} 236 } 237 } 238 239 240 /** MODE METHODS LIST**/ 241 242 public static initMode(mode: string): ActionData { 243 return { 244 isEvent: true, 245 type: Action.ACTION_INIT_MODE, 246 data: { mode: mode } 247 } 248 } 249 250 public static changeMode(mode: string): ActionData { 251 return { 252 isEvent: true, 253 type: Action.ACTION_CHANGE_MODE, 254 data: { mode: mode } 255 } 256 } 257 258 public static setMode(mode: string): ActionData { 259 return { 260 isEvent: true, 261 type: Action.ACTION_SET_MODE, 262 data: { mode: mode } 263 } 264 } 265 266 public static updateMode(mode: string): ActionData { 267 return { 268 isEvent: true, 269 type: Action.ACTION_UPDATE_MODE, 270 data: { mode: mode } 271 } 272 } 273 274 public static onModeChanged(mode: string): ActionData { 275 return { 276 isEvent: true, 277 type: Action.ACTION_ON_MODE_CHANGED, 278 data: { mode: mode } 279 } 280 } 281 282 public static thirdPartyCall(isThirdPartyCall: boolean, action: string): ActionData { 283 return { 284 type: Action.ACTION_THIRD_PARTY_CALL, 285 data: { isThirdPartyCall: isThirdPartyCall, action: action } 286 } 287 } 288 289 public static faCall(isFaCall: boolean): ActionData { 290 return { 291 type: Action.ACTION_FA_CALL, 292 data: { isFaCall: isFaCall } 293 } 294 } 295 296 297 /** PREVIEW METHODS LIST **/ 298 299 public static prepareSurface(surfaceId: number): ActionData { 300 return { 301 isEvent: true, 302 type: Action.ACTION_PREPARE_SURFACE, 303 data: { surfaceId: surfaceId } 304 } 305 } 306 307 public static startPreview(zoomRatio?: number): ActionData { 308 return { 309 isEvent: true, 310 type: Action.ACTION_START_PREVIEW, 311 data: { zoomRatio: zoomRatio } 312 } 313 } 314 315 public static reStartPreview(zoomRatio?: number): ActionData { 316 return { 317 isEvent: true, 318 type: Action.ACTION_RESTART_PREVIEW, 319 data: { zoomRatio: zoomRatio } 320 } 321 } 322 323 public static updateSurfaceId(surfaceId: number): ActionData { 324 return { 325 type: Action.ACTION_UPDATE_SURFACE_ID, 326 data: { surfaceId: surfaceId } 327 } 328 } 329 330 public static changeXComponentSize(xComponentWidth: number, xComponentHeight: number): ActionData { 331 return { 332 isEvent: true, 333 type: Action.ACTION_CHANGE_X_COMPONENT_SIZE, 334 data: { xComponentWidth: xComponentWidth, xComponentHeight: xComponentHeight } 335 } 336 } 337 338 public static updateShowPreviewFlag(isShowPreview: boolean): ActionData { 339 return { 340 type: Action.ACTION_UPDATE_SHOW_PREVIEW_FLAG, 341 data: { isShowPreview: isShowPreview } 342 } 343 } 344 345 346 /** CAPTURE METHODS LIST **/ 347 348 public static capture(): ActionData { 349 return { 350 isEvent: true, 351 type: Action.ACTION_CAPTURE, 352 data: {} 353 } 354 } 355 356 public static capturePhotoOutput(): ActionData { 357 return { 358 isEvent: true, 359 type: Action.ACTION_CAPTURE_PHOTO_OUTPUT, 360 data: {} 361 } 362 } 363 364 public static captureDone(thumbnail): ActionData { 365 return { 366 type: Action.ACTION_THUMBNAIL, 367 data: { thumbnail: thumbnail } 368 } 369 } 370 371 public static captureError(): ActionData { 372 return { 373 type: Action.ACTION_CAPTURE_ERROR, 374 data: {} 375 } 376 } 377 378 public static thumbnail(thumbnailUri): ActionData { 379 return { 380 type: Action.ACTION_THUMBNAIL, 381 data: { thumbnail: thumbnailUri } 382 } 383 } 384 385 public static updateThumbnail(thumbnailPixelMap, resourceUri): ActionData { 386 return { 387 isEvent: true, 388 type: Action.ACTION_UPDATE_THUMBNAIL, 389 data: { thumbnail: thumbnailPixelMap, resourceUri: resourceUri } 390 } 391 } 392 393 public static loadThumbnail(thumbnailPixelMap): ActionData { 394 return { 395 isEvent: true, 396 type: Action.ACTION_LOAD_THUMBNAIL, 397 data: { thumbnail: thumbnailPixelMap } 398 } 399 } 400 401 public static reloadThumbnail(): ActionData { 402 return { 403 isEvent: true, 404 type: Action.ACTION_RELOAD_THUMBNAIL, 405 data: {} 406 } 407 } 408 409 410 /** RECORD METHODS LIST **/ 411 412 public static startRecording(): ActionData { 413 return { 414 isEvent: true, 415 type: Action.ACTION_RECORD_START, 416 data: {} 417 } 418 } 419 420 public static pauseRecording(): ActionData { 421 return { 422 isEvent: true, 423 type: Action.ACTION_RECORD_PAUSE, 424 data: {} 425 } 426 } 427 428 public static resumeRecording(): ActionData { 429 return { 430 isEvent: true, 431 type: Action.ACTION_RECORD_RESUME, 432 data: {} 433 } 434 } 435 436 public static stopRecording(): ActionData { 437 return { 438 isEvent: true, 439 type: Action.ACTION_RECORD_STOP, 440 data: {} 441 } 442 } 443 444 public static recordDone(thumbnail): ActionData { 445 return { 446 isEvent: true, 447 type: Action.ACTION_RECORD_STOP, 448 data: { thumbnail: thumbnail } 449 } 450 } 451 452 public static recordError(): ActionData { 453 return { 454 isEvent: true, 455 type: Action.ACTION_RECORD_ERROR, 456 data: {} 457 } 458 } 459 460 public static startVideoFlag(isStartVideoFlag: boolean): ActionData { 461 return { 462 type: Action.ACTION_START_VIDEO_FLAG, 463 data: { isStartVideo: isStartVideoFlag } 464 } 465 } 466 467 public static updateRecordingTime(recordingTime: number): ActionData { 468 return { 469 type: Action.ACTION_UPDATE_RECORDING_TIME, 470 data: { recordingTime: recordingTime } 471 } 472 } 473 474 public static updateRecordingTimeDisplay(recordingTimeDisplay: string): ActionData { 475 return { 476 type: Action.ACTION_UPDATE_RECORDING_TIME_DISPLAY, 477 data: { recordingTimeDisplay: recordingTimeDisplay } 478 } 479 } 480 481 public static updateVideoState(videoState: string): ActionData { 482 return { 483 type: Action.ACTION_UPDATE_VIDEO_STATE, 484 data: { videoState: videoState } 485 } 486 } 487 488 public static updateRecordingPaused(isRecordingPaused: boolean): ActionData { 489 return { 490 type: Action.ACTION_UPDATE_RECORDING_PAUSED, 491 data: { isRecordingPaused: isRecordingPaused } 492 } 493 } 494 495 public static updateVideoUri(videoUri: string): ActionData { 496 return { 497 type: Action.ACTION_UPDATE_VIDEO_URI, 498 data: { videoUri: videoUri } 499 } 500 } 501 502 503 /** SETTING METHODS LIST **/ 504 505 public static changeImageSize(imageSize): ActionData { 506 return { 507 isEvent: true, 508 type: Action.ACTION_CHANGE_IMAGE_SIZE, 509 data: { imageSize: imageSize } 510 } 511 } 512 513 public static changeVideoSize(videoSize): ActionData { 514 return { 515 isEvent: true, 516 type: Action.ACTION_CHANGE_VIDEO_SIZE, 517 data: { videoSize: videoSize } 518 } 519 } 520 521 public static changeZoomRatio(zoomRatio: number): ActionData { 522 return { 523 isEvent: true, 524 type: Action.ACTION_CHANGE_ZOOM_RATIO, 525 data: { zoomRatio: zoomRatio } 526 } 527 } 528 529 public static changeTimeLapse(isShowtimeLapse: boolean): ActionData { 530 return { 531 type: Action.ACTION_CHANGE_TIME_LAPSE, 532 data: { isShowtimeLapse: isShowtimeLapse } 533 } 534 } 535 536 public static swipeModeChangeDone(modeChangeDone: boolean): ActionData { 537 return { 538 type: Action.ACTION_SWIPE_MODE_DONE, 539 data: { modeChangeDone: modeChangeDone } 540 } 541 } 542 543 public static assistiveGridView(isAssGridViewShow: number): ActionData { 544 return { 545 type: Action.ACTION_ASSISTIVE_GRID_VIEW, 546 data: { isAssGridViewShow: isAssGridViewShow } 547 } 548 } 549 550 551 /** DEVICE ERROR METHODS LIST **/ 552 553 public static deviceError(info): ActionData { 554 return { 555 type: Action.ACTION_DEVICE_ERROR, 556 data: { info: info } 557 } 558 } 559 560 561 /** UI METHODS LIST **/ 562 563 public static uiState(enable: boolean): ActionData { 564 return { 565 type: Action.ACTION_UI_STATE, 566 data: { enable: enable, uiStateMode: UiStateMode.NONE } 567 } 568 } 569 570 public static uiStateWithMode(enable: boolean, uiStateMode: UiStateMode): ActionData { 571 return { 572 type: Action.ACTION_UI_STATE, 573 data: { enable: enable, uiStateMode: uiStateMode } 574 } 575 } 576 577 public static initZoomRatio(min: number, max: number): ActionData { 578 return { 579 type: Action.ACTION_INIT_ZOOM_RATIO, 580 data: { minZoomRatio: min, maxZoomRatio: max } 581 } 582 } 583 584 public static resetZoomRatio(zoomRatio: number): ActionData { 585 return { 586 type: Action.ACTION_RESET_ZOOM_RATIO, 587 data: { zoomRatio: zoomRatio } 588 } 589 } 590 591 public static updateZoomPercentage(zoomPercentage: number): ActionData { 592 return { 593 type: Action.ACTION_UPDATE_ZOOM_PERCENTAGE, 594 data: { zoomPercentage: zoomPercentage } 595 } 596 } 597 598 public static updateShowBigTextFlag(isShowBigText: boolean): ActionData { 599 return { 600 type: Action.ACTION_UPDATE_SHOW_BIG_TEXT_FLAG, 601 data: { isShowBigText: isShowBigText } 602 } 603 } 604 605 public static updateShowZoomTextFlag(isShowZoomText: boolean): ActionData { 606 return { 607 type: Action.ACTION_UPDATE_SHOW_ZOOM_TEXT_FLAG, 608 data: { isShowZoomText: isShowZoomText } 609 } 610 } 611 612 public static updatePhotoZoomDetailsFlag(isPhotoZoomDetails: boolean): ActionData { 613 return { 614 type: Action.ACTION_UPDATE_PHOTO_ZOOM_DETAILS_FLAG, 615 data: { isPhotoZoomDetails: isPhotoZoomDetails } 616 } 617 } 618 619 public static updateBaseZoom(baseZoom: number): ActionData { 620 return { 621 type: Action.ACTION_UPDATE_BASE_ZOOM, 622 data: { baseZoom: baseZoom } 623 } 624 } 625 626 public static updatePinchGestureFlag(isPinchGesture: boolean): ActionData { 627 return { 628 type: Action.ACTION_UPDATE_PINCH_GESTURE_FLAG, 629 data: { isPinchGesture: isPinchGesture } 630 } 631 } 632 633 public static updatePinchGestureTimerId(pinchGestureTimerId: number): ActionData { 634 return { 635 type: Action.ACTION_UPDATE_PINCH_GESTURE_TIMER_ID, 636 data: { pinchGestureTimerId: pinchGestureTimerId } 637 } 638 } 639 640 public static updateModeIndex(modeIndex: number): ActionData { 641 return { 642 type: Action.ACTION_UPDATE_MODE_INDEX, 643 data: { modeIndex: modeIndex } 644 } 645 } 646 647 public static updateSmallVideoTimerVisible(visible: boolean): ActionData { 648 return { 649 type: Action.ACTION_UPDATE_SMALL_VIDEO_TIMER_VISIBLE, 650 data: { isSmallVideoTimerVisible: visible } 651 } 652 } 653 654 public static updateBigVideoTimerVisible(visible: boolean): ActionData { 655 return { 656 type: Action.ACTION_UPDATE_BIG_VIDEO_TIMER_VISIBLE, 657 data: { isBigVideoTimerVisible: visible } 658 } 659 } 660 661 public static updateRecordingSpotVisible(visible: boolean): ActionData { 662 return { 663 type: Action.ACTION_UPDATE_RECORDING_SPOT_VISIBLE, 664 data: { isRecordingSpotVisible: visible } 665 } 666 } 667 668 public static updateOpacityValue(opacityValue: number): ActionData { 669 return { 670 type: Action.ACTION_UPDATE_OPACITY_VALUE, 671 data: { opacityValue: opacityValue } 672 } 673 } 674 675 public static updateShowPressScrollDetailPhotoButton(isShow: boolean): ActionData { 676 return { 677 type: Action.ACTION_UPDATE_SHOW_PRESS_SCROLL_DETAIL_PHOTO_BUTTON, 678 data: { isShowPressScrollDetailPhotoButton: isShow } 679 } 680 } 681 682 public static updateScrollDetailsBox(value: number): ActionData { 683 return { 684 type: Action.ACTION_UPDATE_SCROLL_DETAILS_BOX, 685 data: { scrollDetailsBox: value } 686 } 687 } 688 689 public static initPhotoDetailsOffsetX(offsetX: number): ActionData { 690 return { 691 isEvent: true, 692 type: Action.ACTION_INIT_PHOTO_DETAILS_OFFSET_X, 693 data: { photoDetailsOffsetXInit: offsetX } 694 } 695 } 696 697 public static updatePhotoDetailsOffsetX(offsetX: number): ActionData { 698 return { 699 isEvent: true, 700 type: Action.ACTION_UPDATE_PHOTO_DETAILS_OFFSET_X, 701 data: { photoDetailsOffsetX: offsetX } 702 } 703 } 704 705 public static updateCaptureBtnScale(scale: number): ActionData { 706 return { 707 isEvent: true, 708 type: Action.ACTION_UPDATE_CAPTURE_BTN_SCALE, 709 data: { captureBtnScale: scale } 710 } 711 } 712 713 public static updateShowFlashBlackFlag(flag: boolean): ActionData { 714 return { 715 type: Action.ACTION_UPDATE_SHOW_FLASH_BLACK_FLAG, 716 data: { isShowFlashBlack: flag } 717 } 718 } 719 720 public static updateShutterIcon(icon: Resource): ActionData { 721 return { 722 type: Action.ACTION_UPDATE_SHUTTER_ICON, 723 data: { shutterIcon: icon } 724 } 725 } 726 727 public static updateBigTextOpacity(opacity: number): ActionData { 728 return { 729 type: Action.ACTION_UPDATE_BIG_TEXT_OPACITY, 730 data: { bigTextOpacity: opacity } 731 } 732 } 733 734 public static updateModeBarItemWidth(width: number): ActionData { 735 return { 736 type: Action.ACTION_UPDATE_MODE_BAR_ITEM_WIDTH, 737 data: { modeBarItemWidth: width } 738 } 739 } 740 741 public static updateShowTabBarWidth(widthTabBar: string): ActionData { 742 return { 743 type: Action.ACTION_UPDATE_SHOW_TAB_BAR_WIDTH, 744 data: { widthTabBar: widthTabBar } 745 } 746 } 747 748 public static updateShowMoreList(isShowMoreList: boolean): ActionData { 749 return { 750 type: Action.ACTION_UPDATE_SHOW_MORE_LIST, 751 data: { isShowMoreList: isShowMoreList } 752 } 753 } 754 755 public static updateOpacityForTabBar(opacity: number): ActionData { 756 return { 757 type: Action.ACTION_UPDATE_OPACITY_TAB_BAR, 758 data: { opacityValueForTabBar: opacity } 759 } 760 } 761 762 public static swipeChangeMode(swipeModeIndex: number): ActionData { 763 return { 764 isEvent: true, 765 type: Action.ACTION_SWIPE_MODE, 766 data: { swipeModeIndex: swipeModeIndex } 767 } 768 } 769 770 public static updateShowZoomLabelValue(flag: boolean): ActionData { 771 return { 772 type: Action.ACTION_SHOW_ZOOM_LABEL_VALUE, 773 data: { showZoomLabelValue: flag } 774 } 775 } 776 777 public static updateShowPinch(isShowPinch: boolean): ActionData { 778 return { 779 type: Action.ACTION_UPDATE_SHOW_PINCH, 780 data: { isShowPinch: isShowPinch } 781 } 782 } 783 784 public static closeDialog(isCloseFlag: boolean): ActionData { 785 return { 786 type: Action.ACTION_CLOSE_DIALOG, 787 data: { isCloseFlag: isCloseFlag } 788 } 789 } 790 791 public static showSettingView(isShowSettingView: boolean): ActionData { 792 return { 793 type: Action.ACTION_SHOW_SETTING_VIEW, 794 data: { isShowSettingView: isShowSettingView } 795 } 796 } 797} 798