summaryrefslogtreecommitdiffstats
path: root/macosx/PictureController.h
blob: 4c13a06fc5ba5e43ee5b56b69ed4a74fb8808d45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* $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/>.
   It may be used under the terms of the GNU General Public License. */

#include <Cocoa/Cocoa.h>

#include "hb.h"
#include "PictureGLView.h"

@interface PictureController : NSObject
{
    hb_handle_t              * fHandle;
    hb_title_t               * fTitle;

    bool                       fHasQE;
    uint8_t                  * fBuffer;
    int                        fBufferSize;
    uint8_t                  * fTexBuf[2];
    int                        fTexBufSize;
    int                        fPicture;

    IBOutlet NSPanel         * fPicturePanel;

    IBOutlet HBPictureGLView * fPictureGLView;
    IBOutlet NSBox           * fPictureGLViewArea;
    IBOutlet NSTextField     * fWidthField;
    IBOutlet NSStepper       * fWidthStepper;
    IBOutlet NSTextField     * fHeightField;
    IBOutlet NSStepper       * fHeightStepper;
    IBOutlet NSButton        * fRatioCheck;
    IBOutlet NSMatrix        * fCropMatrix;
    IBOutlet NSTextField     * fCropTopField;
    IBOutlet NSStepper       * fCropTopStepper;
    IBOutlet NSTextField     * fCropBottomField;
    IBOutlet NSStepper       * fCropBottomStepper;
    IBOutlet NSTextField     * fCropLeftField;
    IBOutlet NSStepper       * fCropLeftStepper;
    IBOutlet NSTextField     * fCropRightField;
    IBOutlet NSStepper       * fCropRightStepper;
    IBOutlet NSPopUpButton   * fDeinterlacePopUp;
	IBOutlet NSButton        * fDetelecineCheck;
	IBOutlet NSPopUpButton   * fDenoisePopUp;
	IBOutlet NSButton        * fPARCheck;
    IBOutlet NSButton        * fEffectsCheck;
    IBOutlet NSButton        * fPrevButton;
    IBOutlet NSButton        * fNextButton;
    IBOutlet NSTextField     * fInfoField;
	
    int     MaxOutputWidth;
    int     MaxOutputHeight;
    BOOL    autoCrop;
    
    /* 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; 
    
    struct {
        int    detelecine;
        int     deinterlace;
        int     denoise;
    } fPictureFilterSettings;

    id delegate;
}
- (id)initWithDelegate:(id)del;

- (void) SetHandle: (hb_handle_t *) handle;
- (void) SetTitle:  (hb_title_t *)  title;
- (void) Display: (int) anim;

- (IBAction) SettingsChanged: (id) sender;
- (IBAction) PreviousPicture: (id) sender;
- (IBAction) NextPicture: (id) sender;
- (IBAction) ClosePanel: (id) sender;

- (BOOL) autoCrop;
- (void) setAutoCrop: (BOOL) setting;

- (int) detelecine;
- (void) setDetelecine: (int) setting;
- (int) deinterlace;
- (void) setDeinterlace: (int) setting;
- (int) denoise;
- (void) setDenoise: (int) setting;

- (void)showPanelInWindow: (NSWindow *)fWindow forTitle: (hb_title_t *)title;
- (BOOL) loadMyNibFile;
@end

@interface NSObject (PictureControllertDelegateMethod)
- (void)pictureSettingsDidChange;
@end