OSDN Git Service

BuildSystem: darwin
[handbrake-jp/handbrake-jp-git.git] / macosx / PictureController.h
index 3a279e1..7564881 100644 (file)
@@ -1,27 +1,36 @@
 /* $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
+