1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96

ash / system / video_conference / bubble / bubble_view_ids.h [blame]

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef ASH_SYSTEM_VIDEO_CONFERENCE_BUBBLE_BUBBLE_VIEW_IDS_H_
#define ASH_SYSTEM_VIDEO_CONFERENCE_BUBBLE_BUBBLE_VIEW_IDS_H_

namespace ash::video_conference {

// IDs used for the main views that comprise the video conference bubble view.
// Use these for easy access to the views during the unittests. Note that these
// IDs are only guaranteed to be unique inside the bubble view.
// TODO(b/273786662): `kToggleEffectsButton` belongs to multiple buttons, and
// one id should only belong to one view, so we should remove it.
enum BubbleViewID {
  // Main outermost bubble view, what's actually launched from the tray. Start
  // from 1 because 0 is the default view ID.
  kMainBubbleView = 1,

  // The "return to app" UI, which is a child of `kMainBubbleView`.
  kReturnToApp,

  // Container view for all "set-value" VC effects, a child of
  // `kMainBubbleView`.
  kSetValueEffectsView,

  // Container view for a single "set-value" VC effect, a child of
  // `kSetValueEffectsView`.
  kSingleSetValueEffectView,

  // Container view for all "toggle" VC effects, a child of `kMainBubbleView`.
  kToggleEffectsView,

  // Button for toggling an individual "toggle" VC effect, a child of
  // `kToggleEffectsContainer`.
  kToggleEffectsButton,

  // Icon which is a child of an individual "toggle" VC effect.
  kToggleEffectIcon,

  // Label which is a child of an individual "toggle" VC effect.
  kToggleEffectLabel,

  // The view with a warning icon and label, indicating that effects are not
  // available
  // for linux apps.
  kLinuxAppWarningView,

  // The view with a warning icon and a custom label for each DLC which had an
  // error installing.
  kDLCDownloadsInErrorView,

  // The label in the generic warning view which is either
  // `kLinuxAppWarningView` or `kDLCDownloadsInErrorView`.
  kWarningViewLabel,

  // The VC bubble that will be displayed when all the running media apps are
  // Linux apps.
  kLinuxAppBubbleView,

  // The view that contains elements for setting camera background.
  kSetCameraBackgroundView,

  // Background blur off button.
  kBackgroundBlurOffButton,

  // Background blur light button.
  kBackgroundBlurLightButton,

  // Background blur full button.
  kBackgroundBlurFullButton,

  // Background blur image button.
  kBackgroundBlurImageButton,

  // The first recently used background image.
  kBackgroundImage0,

  // The second recently used background image.
  kBackgroundImage1,

  // The third recently used background image.
  kBackgroundImage2,

  // The fourth recently used background image.
  kBackgroundImage3,

  // The create with AI button.
  kCreateWithAiButton,

  kNextAvailableId = kCreateWithAiButton + 1,
};

}  // namespace ash::video_conference

#endif  // ASH_SYSTEM_VIDEO_CONFERENCE_BUBBLE_BUBBLE_VIEW_IDS_H_