X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=macosx%2FPictureController.h;h=631a1d11cbace315ccfaed08faaebc7c7231d3d0;hb=0f25cfb3cfac4feff657bb79bcc0b689baa99860;hp=9feae1e258579ba4c2470acdfbe86da0d04488e2;hpb=9562a7f47c21a519a12c205f7323b847a3512d3c;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/macosx/PictureController.h b/macosx/PictureController.h index 9feae1e2..631a1d11 100644 --- a/macosx/PictureController.h +++ b/macosx/PictureController.h @@ -1,29 +1,27 @@ /* $Id: PictureController.h,v 1.6 2005/04/14 20:40:05 titer Exp $ This file is part of the HandBrake source code. - Homepage: . + Homepage: . It may be used under the terms of the GNU General Public License. */ -#include +#import #include "hb.h" -#include "PictureGLView.h" +/* Needed for Quicktime movie previews */ +#import -@interface PictureController : NSObject +#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; + NSMutableDictionary * fPicturePreviews; // NSImages, one for each preview libhb creates, created lazily int fPicture; - IBOutlet NSPanel * fPicturePanel; - - IBOutlet HBPictureGLView * fPictureGLView; + IBOutlet NSImageView * fPictureView; + IBOutlet NSBox * fPictureViewArea; IBOutlet NSTextField * fWidthField; IBOutlet NSStepper * fWidthStepper; IBOutlet NSTextField * fHeightField; @@ -39,46 +37,100 @@ IBOutlet NSTextField * fCropRightField; IBOutlet NSStepper * fCropRightStepper; IBOutlet NSPopUpButton * fDeinterlacePopUp; + IBOutlet NSButton * fDecombCheck; IBOutlet NSButton * fDetelecineCheck; + IBOutlet NSButton * fDeblockCheck; + IBOutlet NSTextField * fDeblockField; + IBOutlet NSSlider * fDeblockSlider; IBOutlet NSPopUpButton * fDenoisePopUp; - IBOutlet NSButton * fPARCheck; - IBOutlet NSButton * fEffectsCheck; - IBOutlet NSButton * fPrevButton; - IBOutlet NSButton * fNextButton; + IBOutlet NSPopUpButton * fAnamorphicPopUp; + IBOutlet NSSlider * fPictureSlider; IBOutlet NSTextField * fInfoField; 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; struct { - int detelecine; + int detelecine; int deinterlace; + int decomb; int denoise; + int deblock; } fPictureFilterSettings; + id delegate; + + /* Movie Previews */ + IBOutlet NSButton * fCreatePreviewMovieButton; + IBOutlet NSButton * fShowPreviewMovieButton; + NSString * fPreviewMoviePath; + IBOutlet NSProgressIndicator * fMovieCreationProgressIndicator; + hb_handle_t * fPreviewLibhb; // private libhb for creating previews + NSTimer * fLibhbTimer; // timer for retrieving state from libhb + IBOutlet NSTextField * fPreviewMovieStatusField; + BOOL play_movie; // flag used to determine whether or not to automatically play the movie when done. + IBOutlet QTMovieView * fMovieView; + IBOutlet NSPopUpButton * fPreviewMovieLengthPopUp; // popup of choices for length of preview in seconds } +- (id)initWithDelegate:(id)del; - (void) SetHandle: (hb_handle_t *) handle; - (void) SetTitle: (hb_title_t *) title; -- (void) Display: (int) anim; +- (void) setInitialPictureFilters; +- (void) displayPreview; - (IBAction) SettingsChanged: (id) sender; -- (IBAction) PreviousPicture: (id) sender; -- (IBAction) NextPicture: (id) sender; +- (IBAction) pictureSliderChanged: (id) sender; + +/* Movie Previews */ +- (void) startReceivingLibhbNotifications; +- (void) stopReceivingLibhbNotifications; + +- (IBAction) createMoviePreview: (id) sender; +- (void) libhbStateChanged: (hb_state_t &) state; +- (IBAction) showMoviePreview: (NSString *) path; +- (IBAction) previewDurationPopUpChanged: (id) sender; + + - (IBAction) ClosePanel: (id) sender; - (BOOL) autoCrop; - (void) setAutoCrop: (BOOL) setting; +- (BOOL) allowLooseAnamorphic; +- (void) setAllowLooseAnamorphic: (BOOL) setting; +- (IBAction) deblockSliderChanged: (id) sender; - (int) detelecine; - (void) setDetelecine: (int) setting; - (int) deinterlace; - (void) setDeinterlace: (int) setting; +- (int) decomb; +- (void) setDecomb: (int) setting; - (int) denoise; - (void) setDenoise: (int) setting; +- (int) deblock; +- (void) setDeblock: (int) setting; -- (void) showPanelInWindow: (NSWindow *) fWindow forTitle:(hb_title_t *)title; -- (BOOL) loadMyNibFile; +- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title; + ++ (NSImage *) makeImageForPicture: (int)pictureIndex + libhb:(hb_handle_t*)handle + title:(hb_title_t*)title + removeBorders:(BOOL)removeBorders; +- (NSImage *) imageForPicture: (int) pictureIndex; +- (void) purgeImageCache; +@end +@interface NSObject (PictureControllertDelegateMethod) +- (void)pictureSettingsDidChange; +- (void)prepareJobForPreview; @end