1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_ITEM_H_
6 #define CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_ITEM_H_
8 #import <AppKit/AppKit.h>
10 #import "base/mac/scoped_nsobject.h"
11 #include "chrome/browser/media/desktop_media_list.h"
13 // Stores the data representing a |DesktopMediaPicker| source for displaying in
14 // a |IKImageBrowserView|. Implements the |IKImageBrowserItem| informal
16 @interface DesktopMediaPickerItem
: NSObject
{
18 content::DesktopMediaID sourceID_
;
19 base::scoped_nsobject
<NSString
> imageUID_
;
20 base::scoped_nsobject
<NSString
> imageTitle_
;
21 base::scoped_nsobject
<NSImage
> image_
;
22 NSUInteger imageVersion_
;
25 // Designated initializer.
26 // |sourceID| is the corresponding source's ID as provided by the media list.
27 // |imageUID| is a unique number in the context of the |IKImageBrowserView|
29 // |imageTitle| is the source's name to be used as the label in
30 // |IKImageBrowserView|.
31 - (id
)initWithSourceId
:(content::DesktopMediaID
)sourceID
32 imageUID
:(int)imageUID
33 imageTitle
:(NSString
*)imageTitle
;
35 // Returns the source's ID.
36 - (content::DesktopMediaID
)sourceID
;
38 // Sets the image of the item to be displayed in |IKImageBrowserView|.
39 - (void)setImageRepresentation
:(NSImage
*)image
;
41 // Sets the label of the item to be displayed in |IKImageBrowserView|.
42 - (void)setImageTitle
:(NSString
*)imageTitle
;
46 #endif // CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_ITEM_H_