OSDN Git Service

fe6552d32380bafaacb88dc536bb1b0389227f68
[handbrake-jp/handbrake-jp-git.git] / macosx / PictureController.h
1 /* $Id: PictureController.h,v 1.6 2005/04/14 20:40:05 titer Exp $
2
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. */
6
7 #import <Cocoa/Cocoa.h>
8
9 #include "hb.h" 
10
11 @class HBController;
12 @class PreviewController;
13
14
15
16 //#define HB_NUM_HBLIB_PICTURES      20   // # of preview pictures libhb should generate
17
18 @interface PictureController : NSWindowController
19 {
20     hb_handle_t              * fHandle;
21     hb_title_t               * fTitle;
22
23     HBController             *fHBController;
24     PreviewController        *fPreviewController;        // reference to HBController
25     
26     IBOutlet NSWindow        * fPictureWindow;
27     
28     IBOutlet NSTabView       * fSizeFilterView;
29     
30     /* Picture Sizing */
31     
32     NSMutableDictionary      * fPicturePreviews;        // NSImages, one for each preview libhb creates, created lazily
33     int                        fPicture;
34
35
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;
52
53         IBOutlet NSPopUpButton   * fAnamorphicPopUp;
54     IBOutlet NSTextField     * fSizeInfoField;
55         
56     IBOutlet NSButton        * fPreviewOpenButton;
57     IBOutlet NSButton        * fPictureFiltersOpenButton;
58         
59     int     MaxOutputWidth;
60     int     MaxOutputHeight;
61     BOOL    autoCrop;
62     BOOL    allowLooseAnamorphic;
63     
64     int output_width, output_height, output_par_width, output_par_height;
65     int display_width;
66     
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
70     off */
71     BOOL    keepAspectRatioPreviousState;
72     
73     
74     /* Video Filters */
75     
76     IBOutlet NSBox           * fPictureFilterBox;
77
78     IBOutlet NSBox           * fDetelecineBox;
79     IBOutlet NSPopUpButton   * fDetelecinePopUp;
80     IBOutlet NSTextField     * fDetelecineField;
81     
82     IBOutlet NSBox           * fDecombDeinterlaceBox;
83     IBOutlet NSSlider        * fDecombDeinterlaceSlider;
84     
85     IBOutlet NSBox           * fDecombBox;
86     IBOutlet NSPopUpButton   * fDecombPopUp;
87     IBOutlet NSTextField     * fDecombField;
88     
89     IBOutlet NSBox           * fDeinterlaceBox;
90     IBOutlet NSPopUpButton   * fDeinterlacePopUp;
91     IBOutlet NSTextField     * fDeinterlaceField;
92
93     IBOutlet NSBox           * fDenoiseBox;
94     IBOutlet NSPopUpButton   * fDenoisePopUp;
95     IBOutlet NSTextField     * fDenoiseField;
96         
97     IBOutlet NSButton        * fDeblockCheck;
98     IBOutlet NSTextField     * fDeblockField;
99     IBOutlet NSSlider        * fDeblockSlider;
100     
101     IBOutlet NSButton        * fGrayscaleCheck;
102
103     IBOutlet NSTextField     * fInfoField;
104         
105
106     
107         struct {
108         int     detelecine;
109         int     deinterlace;
110         int     decomb;
111         int     usedecomb;
112         int     denoise;
113         int     deblock;
114         int     grayscale;
115     } fPictureFilterSettings;
116     
117 }
118 - (id)init;
119
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;
127
128
129
130
131 - (IBAction) SettingsChanged: (id) sender;
132
133 - (NSString*) getPictureSizeInfoString;
134 - (void)reloadStillPreview;
135
136 - (BOOL) autoCrop;
137 - (void) setAutoCrop: (BOOL) setting;
138
139 - (BOOL) allowLooseAnamorphic;
140 - (void) setAllowLooseAnamorphic: (BOOL) setting;
141
142 - (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title;
143
144
145 - (void) setToFullScreenMode;
146 - (void) setToWindowedMode;
147
148 /* Filter Actions */
149 - (void) setInitialPictureFilters;
150 - (IBAction) FilterSettingsChanged: (id) sender;
151 - (void) adjustFilterDisplay: (id) sender;
152 - (IBAction) modeDecombDeinterlaceSliderChanged: (id) sender;
153 - (IBAction) deblockSliderChanged: (id) sender;
154
155 - (int) detelecine;
156 - (NSString*) detelecineCustomString;
157 - (void) setDetelecine: (int) setting;
158 - (void) setDetelecineCustomString: (NSString*) string;
159
160 - (int) useDecomb;
161 - (void) setUseDecomb: (int) setting;
162
163 - (int) decomb;
164 - (NSString*) decombCustomString;
165 - (void) setDecomb: (int) setting;
166 - (void) setDecombCustomString: (NSString*) string;
167
168 - (int) deinterlace;
169 - (NSString*) deinterlaceCustomString;
170 - (void) setDeinterlace: (int) setting;
171 - (void) setDeinterlaceCustomString: (NSString*) string; 
172
173 - (int) denoise;
174 - (NSString*) denoiseCustomString;
175 - (void) setDenoise: (int) setting;
176 - (void) setDenoiseCustomString: (NSString*) string;
177
178 - (int) deblock;
179 - (void) setDeblock: (int) setting;
180
181 - (int) grayscale;
182 - (void) setGrayscale: (int) setting;
183
184
185
186 @end
187