blob: f02c1e0802837c9097f0688295af72b8ed1f8bec [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_UI_BUBBLE_BUBBLE_VIEW_H_
#define IOS_CHROME_BROWSER_UI_BUBBLE_BUBBLE_VIEW_H_
#import <UIKit/UIKit.h>
// Direction for the bubble to point.
typedef NS_ENUM(NSInteger, BubbleArrowDirection) {
// Bubble is below the target UI element and the arrow is pointing up.
BubbleArrowDirectionUp,
// Bubble is above the target UI element and the arrow is pointing down.
BubbleArrowDirectionDown,
};
// Alignment of the bubble's arrow relative to the rest of the bubble.
typedef NS_ENUM(NSInteger, BubbleAlignment) {
// Arrow is aligned to the leading edge of the bubble.
BubbleAlignmentLeading,
// Arrow is center aligned on the bubble.
BubbleAlignmentCenter,
// Arrow is aligned to the trailing edge of the bubble.
BubbleAlignmentTrailing,
};
// Speech bubble shaped view that displays a message.
@interface BubbleView : UIView
// Initialize with the given text, direction that the bubble should point, and
// alignment of the bubble.
- (instancetype)initWithText:(NSString*)text
arrowDirection:(BubbleArrowDirection)direction
alignment:(BubbleAlignment)alignment
NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;
- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
@end
#endif // IOS_CHROME_BROWSER_UI_BUBBLE_BUBBLE_VIEW_H_