/* $Id: PictureController.h,v 1.6 2005/04/14 20:40:05 titer Exp $
This file is part of the HandBrake source code.
- Homepage: <http://handbrake.m0k.org/>.
+ Homepage: <http://handbrake.fr/>.
It may be used under the terms of the GNU General Public License. */
-#include <Cocoa/Cocoa.h>
+#import <Cocoa/Cocoa.h>
-#include "hb.h"
-#include "PictureGLView.h"
+#include "hb.h"
-@interface PictureController : NSObject
+@class HBController;
+@class PreviewController;
+@class PictureFilterController;
+
+
+//#define HB_NUM_HBLIB_PICTURES 20 // # of preview pictures libhb should generate
+
+@interface PictureController : NSWindowController
{
hb_handle_t * fHandle;
hb_title_t * fTitle;
- bool fHasQE;
- uint8_t * fBuffer;
- int fBufferSize;
- uint8_t * fTexBuf[2];
- int fTexBufSize;
+ HBController *fHBController;
+ PreviewController *fPreviewController; // reference to HBController
+ PictureFilterController *fPictureFilterController;
+
+ IBOutlet NSWindow * fPictureWindow;
+ NSMutableDictionary * fPicturePreviews; // NSImages, one for each preview libhb creates, created lazily
int fPicture;
- IBOutlet HBPictureGLView * fPictureGLView;
+
+ IBOutlet NSBox * fPictureSizeBox;
+ IBOutlet NSBox * fPictureCropBox;
IBOutlet NSTextField * fWidthField;
IBOutlet NSStepper * fWidthStepper;
IBOutlet NSTextField * fHeightField;
IBOutlet NSStepper * fCropLeftStepper;
IBOutlet NSTextField * fCropRightField;
IBOutlet NSStepper * fCropRightStepper;
- IBOutlet NSButton * fDeinterlaceCheck;
- IBOutlet NSButton * fEffectsCheck;
- IBOutlet NSButton * fPrevButton;
- IBOutlet NSButton * fNextButton;
- IBOutlet NSTextField * fInfoField;
+
+ IBOutlet NSPopUpButton * fAnamorphicPopUp;
+ IBOutlet NSTextField * fSizeInfoField;
+
+ IBOutlet NSButton * fPreviewOpenButton;
+ IBOutlet NSButton * fPictureFiltersOpenButton;
+
+ int MaxOutputWidth;
+ int MaxOutputHeight;
+ BOOL autoCrop;
+ BOOL allowLooseAnamorphic;
+
+ int output_width, output_height, output_par_width, output_par_height;
+ int display_width;
+
+ /* used to track the previous state of the keep aspect
+ ratio checkbox when turning anamorphic on, so it can be
+ returned to the previous state when anamorphic is turned
+ off */
+ BOOL keepAspectRatioPreviousState;
}
+- (id)init;
- (void) SetHandle: (hb_handle_t *) handle;
- (void) SetTitle: (hb_title_t *) title;
-- (void) Display: (int) anim;
+- (void)setHBController: (HBController *)controller;
+- (IBAction) showPictureWindow: (id)sender;
+- (IBAction) showPreviewWindow: (id)sender;
+- (BOOL) previewFullScreenMode;
+- (IBAction) previewGoWindowed: (id)sender;
+- (IBAction) showFilterWindow: (id)sender;
+
+
- (IBAction) SettingsChanged: (id) sender;
-- (IBAction) PreviousPicture: (id) sender;
-- (IBAction) NextPicture: (id) sender;
-- (IBAction) ClosePanel: (id) sender;
+
+- (NSString*) getPictureSizeInfoString;
+- (void)reloadStillPreview;
+
+- (BOOL) autoCrop;
+- (void) setAutoCrop: (BOOL) setting;
+
+- (BOOL) allowLooseAnamorphic;
+- (void) setAllowLooseAnamorphic: (BOOL) setting;
+
+- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title;
+
+
+- (void) setToFullScreenMode;
+- (void) setToWindowedMode;
+
@end
+