view libvo/vo_macosx.h @ 19422:718624aec009

r19361: Reintroduce an ugly variant of the -gui/-nogui options. r19348: Add matroska chapter seeking capability. r19286: clarification on -mpegopts :vaspect r19285: New sentences should start on a new line. r19281: don't use vaspect on mpeg1 video streams r19274: Move the section describing the per movie config files up, so it doesn't get seperated from the rest of the config file doc by the config file example r19241: missed some escaping r19240: use DOCS writing standards for default values (asked by diego) r19233: english manpage for pvr:// input r19231: updated en/fr manpages for ao_ivtv r19228: removed default outfile for -ao mpegpes r19206: Improve ao_mpegpes description. r19191: description of the arnd scale video filter parameter r19190: new -ao mpegpes options r19181: - Add missing "00" in -af pan usage line. - Change -af pan usage and description to use a capital 'L' to make the letter easily distinguishable from a '1'. r19161: cosmetics/punctuation/spelling r19149: updated english man page with vo_ivtv description
author kraymer
date Thu, 17 Aug 2006 21:57:01 +0000
parents 1ca8b5873c3f
children 8595d6dbd0ed
line wrap: on
line source

/*
	vo_macosx.h
	
	by Nicolas Plourde <nicolasplourde@gmail.com>
	
	Copyright (c) Nicolas Plourde - 2005
	
	MPlayer Mac OSX video out module.
*/

#import <Cocoa/Cocoa.h>
#import <QuartzCore/QuartzCore.h>
#import <QuickTime/QuickTime.h>

@interface MPlayerOpenGLView : NSOpenGLView
{
	//Cocoa
	NSWindow *window;
	NSOpenGLContext *glContext;
	NSEvent *event;
	
	//CoreVideo
	CVPixelBufferRef currentFrameBuffer;
	CVOpenGLTextureCacheRef textureCache;
	CVOpenGLTextureRef texture;
	NSRect textureFrame;
	
    GLfloat	lowerLeft[2]; 
    GLfloat lowerRight[2]; 
    GLfloat upperRight[2];
    GLfloat upperLeft[2];
	
	BOOL mouseHide;
	float winSizeMult;
	
	//menu command id
	NSMenuItem *kQuitCmd;
	NSMenuItem *kHalfScreenCmd;
	NSMenuItem *kNormalScreenCmd;
	NSMenuItem *kDoubleScreenCmd;
	NSMenuItem *kFullScreenCmd;
	NSMenuItem *kKeepAspectCmd;
	NSMenuItem *kAspectOrgCmd;
	NSMenuItem *kAspectFullCmd;
	NSMenuItem *kAspectWideCmd;
	NSMenuItem *kPanScanCmd;
}

- (BOOL) acceptsFirstResponder;
- (BOOL) becomeFirstResponder;
- (BOOL) resignFirstResponder;

//window & rendering
- (id) preinit;
- (id) config;
- (void) prepareOpenGL;
- (void) render;
- (void) reshape;
- (void) setCurrentTexture;
- (void) drawRect: (NSRect *) bounds;

//vo control
- (void) fullscreen: (BOOL) animate;
- (void) ontop;
- (void) panscan;
- (void) rootwin;

//menu
- (void) initMenu;
- (void) menuAction:(id)sender;

//event
- (void) keyDown: (NSEvent *) theEvent;
- (void) mouseMoved: (NSEvent *) theEvent;
- (void) mouseDown: (NSEvent *) theEvent;
- (void) rightMouseDown: (NSEvent *) theEvent;
- (void) otherMouseDown: (NSEvent *) theEvent;
- (void) scrollWheel: (NSEvent *) theEvent;
- (void) mouseEvent: (NSEvent *) theEvent;
- (void) check_events;
@end