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;
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
26 IBOutlet NSWindow * fPictureWindow;
28 IBOutlet NSTabView * fSizeFilterView;
32 NSMutableDictionary * fPicturePreviews; // NSImages, one for each preview libhb creates, created lazily
36 IBOutlet NSBox * fPictureSizeBox;
37 IBOutlet NSBox * fPictureCropBox;
38 IBOutlet NSTextField * fWidthField;
39 IBOutlet NSStepper * fWidthStepper;
40 IBOutlet NSTextField * fHeightField;
41 IBOutlet NSStepper * fHeightStepper;
42 IBOutlet NSButton * fRatioCheck;
43 IBOutlet NSMatrix * fCropMatrix;
44 IBOutlet NSTextField * fCropTopField;
45 IBOutlet NSStepper * fCropTopStepper;
46 IBOutlet NSTextField * fCropBottomField;
47 IBOutlet NSStepper * fCropBottomStepper;
48 IBOutlet NSTextField * fCropLeftField;
49 IBOutlet NSStepper * fCropLeftStepper;
50 IBOutlet NSTextField * fCropRightField;
51 IBOutlet NSStepper * fCropRightStepper;
53 IBOutlet NSPopUpButton * fAnamorphicPopUp;
54 IBOutlet NSTextField * fSizeInfoField;
56 IBOutlet NSButton * fPreviewOpenButton;
57 IBOutlet NSButton * fPictureFiltersOpenButton;
62 BOOL allowLooseAnamorphic;
64 int output_width, output_height, output_par_width, output_par_height;
67 /* used to track the previous state of the keep aspect
68 ratio checkbox when turning anamorphic on, so it can be
69 returned to the previous state when anamorphic is turned
71 BOOL keepAspectRatioPreviousState;
76 IBOutlet NSBox * fPictureFilterBox;
78 IBOutlet NSBox * fDetelecineBox;
79 IBOutlet NSPopUpButton * fDetelecinePopUp;
80 IBOutlet NSTextField * fDetelecineField;
82 IBOutlet NSBox * fDecombDeinterlaceBox;
83 IBOutlet NSSlider * fDecombDeinterlaceSlider;
85 IBOutlet NSBox * fDecombBox;
86 IBOutlet NSPopUpButton * fDecombPopUp;
87 IBOutlet NSTextField * fDecombField;
89 IBOutlet NSBox * fDeinterlaceBox;
90 IBOutlet NSPopUpButton * fDeinterlacePopUp;
91 IBOutlet NSTextField * fDeinterlaceField;
93 IBOutlet NSBox * fDenoiseBox;
94 IBOutlet NSPopUpButton * fDenoisePopUp;
95 IBOutlet NSTextField * fDenoiseField;
97 IBOutlet NSButton * fDeblockCheck;
98 IBOutlet NSTextField * fDeblockField;
99 IBOutlet NSSlider * fDeblockSlider;
101 IBOutlet NSButton * fGrayscaleCheck;
103 IBOutlet NSTextField * fInfoField;
115 } fPictureFilterSettings;
120 - (void) SetHandle: (hb_handle_t *) handle;
121 - (void) SetTitle: (hb_title_t *) title;
122 - (void)setHBController: (HBController *)controller;
123 - (IBAction) showPictureWindow: (id)sender;
124 - (IBAction) showPreviewWindow: (id)sender;
125 - (BOOL) previewFullScreenMode;
126 - (IBAction) previewGoWindowed: (id)sender;
131 - (IBAction) SettingsChanged: (id) sender;
133 - (NSString*) getPictureSizeInfoString;
134 - (void)reloadStillPreview;
137 - (void) setAutoCrop: (BOOL) setting;
139 - (BOOL) allowLooseAnamorphic;
140 - (void) setAllowLooseAnamorphic: (BOOL) setting;
142 - (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title;
145 - (void) setToFullScreenMode;
146 - (void) setToWindowedMode;
149 - (void) setInitialPictureFilters;
150 - (IBAction) FilterSettingsChanged: (id) sender;
151 - (void) adjustFilterDisplay: (id) sender;
152 - (IBAction) modeDecombDeinterlaceSliderChanged: (id) sender;
153 - (IBAction) deblockSliderChanged: (id) sender;
156 - (NSString*) detelecineCustomString;
157 - (void) setDetelecine: (int) setting;
158 - (void) setDetelecineCustomString: (NSString*) string;
161 - (void) setUseDecomb: (int) setting;
164 - (NSString*) decombCustomString;
165 - (void) setDecomb: (int) setting;
166 - (void) setDecombCustomString: (NSString*) string;
169 - (NSString*) deinterlaceCustomString;
170 - (void) setDeinterlace: (int) setting;
171 - (void) setDeinterlaceCustomString: (NSString*) string;
174 - (NSString*) denoiseCustomString;
175 - (void) setDenoise: (int) setting;
176 - (void) setDenoiseCustomString: (NSString*) string;
179 - (void) setDeblock: (int) setting;
182 - (void) setGrayscale: (int) setting;