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