]> git.sesse.net Git - vlc/blob - projects/macosx/framework/Headers/Public/VLCMediaThumbnailer.h
e27c344989907692ec1923ee735d7b0c7b5a5640
[vlc] / projects / macosx / framework / Headers / Public / VLCMediaThumbnailer.h
1 //
2 //  VLCMediaThumbnailer.h
3 //  VLCKit
4 //
5 //  Created by Pierre d'Herbemont on 7/10/10.
6 //  Copyright 2010 __MyCompanyName__. All rights reserved.
7 //
8
9 #import <Foundation/Foundation.h>
10 #if TARGET_OS_IPHONE
11 # import <CoreGraphics/CoreGraphics.h>
12 #endif
13
14 @class VLCMedia;
15 @protocol VLCMediaThumbnailerDelegate;
16
17 @interface VLCMediaThumbnailer : NSObject {
18     id<VLCMediaThumbnailerDelegate> _delegate;
19     VLCMedia *_media;
20     void *_mp;
21     CGImageRef _thumbnail;
22     void *_data;
23     NSTimer *_parsingTimeoutTimer;
24
25     CGFloat _thumbnailHeight,_thumbnailWidth;
26     CGFloat _effectiveThumbnailHeight,_effectiveThumbnailWidth;
27 }
28
29 + (VLCMediaThumbnailer *)thumbnailerWithMedia:(VLCMedia *)media andDelegate:(id<VLCMediaThumbnailerDelegate>)delegate;
30 - (void)fetchThumbnail;
31
32 @property (readwrite, assign) id<VLCMediaThumbnailerDelegate> delegate;
33 @property (readwrite, retain) VLCMedia *media;
34 @property (readwrite, assign) CGImageRef thumbnail;
35
36 /**
37  * Thumbnail Height
38  * You shouldn't change this after -fetchThumbnail
39  * has been called.
40  * @return thumbnail height. Default value 240.
41  */
42 @property (readwrite, assign) CGFloat thumbnailHeight;
43
44 /**
45  * Thumbnail Width
46  * You shouldn't change this after -fetchThumbnail
47  * has been called.
48  * @return thumbnail height. Default value 320
49  */
50 @property (readwrite, assign) CGFloat thumbnailWidth;
51 @end
52
53 @protocol VLCMediaThumbnailerDelegate
54 @required
55 - (void)mediaThumbnailer:(VLCMediaThumbnailer *)mediaThumbnailer didFinishThumbnail:(CGImageRef)thumbnail;
56 @end