1 /* $Id: PictureController.h,v 1.6 2005/04/14 20:40:05 titer Exp $
3 This file is part of the HandBrake source code.
4 Homepage: <http://handbrake.fr/>.
5 It may be used under the terms of the GNU General Public License. */
7 #import <Cocoa/Cocoa.h>
12 @class PreviewController;
13 @class PictureFilterController;
16 //#define HB_NUM_HBLIB_PICTURES 20 // # of preview pictures libhb should generate
18 @interface PictureController : NSWindowController
20 hb_handle_t * fHandle;
23 HBController *fHBController;
24 PreviewController *fPreviewController; // reference to HBController
25 PictureFilterController *fPictureFilterController;
27 IBOutlet NSWindow * fPictureWindow;
28 NSMutableDictionary * fPicturePreviews; // NSImages, one for each preview libhb creates, created lazily
32 IBOutlet NSBox * fPictureSizeBox;
33 IBOutlet NSBox * fPictureCropBox;
34 IBOutlet NSTextField * fWidthField;
35 IBOutlet NSStepper * fWidthStepper;
36 IBOutlet NSTextField * fHeightField;
37 IBOutlet NSStepper * fHeightStepper;
38 IBOutlet NSButton * fRatioCheck;
39 IBOutlet NSMatrix * fCropMatrix;
40 IBOutlet NSTextField * fCropTopField;
41 IBOutlet NSStepper * fCropTopStepper;
42 IBOutlet NSTextField * fCropBottomField;
43 IBOutlet NSStepper * fCropBottomStepper;
44 IBOutlet NSTextField * fCropLeftField;
45 IBOutlet NSStepper * fCropLeftStepper;
46 IBOutlet NSTextField * fCropRightField;
47 IBOutlet NSStepper * fCropRightStepper;
49 IBOutlet NSPopUpButton * fAnamorphicPopUp;
50 IBOutlet NSTextField * fInfoField;
52 IBOutlet NSButton * fPreviewOpenButton;
53 IBOutlet NSButton * fPictureFiltersOpenButton;
58 BOOL allowLooseAnamorphic;
60 int output_width, output_height, output_par_width, output_par_height;
63 /* used to track the previous state of the keep aspect
64 ratio checkbox when turning anamorphic on, so it can be
65 returned to the previous state when anamorphic is turned
67 BOOL keepAspectRatioPreviousState;
75 } fPictureFilterSettings;
81 - (void) SetHandle: (hb_handle_t *) handle;
82 - (void) SetTitle: (hb_title_t *) title;
83 - (void)setHBController: (HBController *)controller;
84 - (IBAction) showPictureWindow: (id)sender;
85 - (IBAction) showPreviewWindow: (id)sender;
86 - (IBAction) showFilterWindow: (id)sender;
90 - (IBAction) SettingsChanged: (id) sender;
92 - (void)reloadStillPreview;
95 - (void) setAutoCrop: (BOOL) setting;
97 - (BOOL) allowLooseAnamorphic;
98 - (void) setAllowLooseAnamorphic: (BOOL) setting;
100 - (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title;
103 - (void) setToFullScreenMode;
104 - (void) setToWindowedMode;