Bonjour,
lors de mes recherches sur le net, j'ai trouvé sur Mac OS Hints de quoi créer une application Applescript en plein écran, sans dock ni barre de menu.
un fichier FullScreen.h
<font class="small">Code:</font><hr /><pre> #import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
@interface NSApplication (ASKAFullScreen)
- (NSWindow *)beginFullScreen;
- (void)endFullScreen;
@end </pre><hr />
et un fichier FullScreen.mm
<font class="small">Code:</font><hr /><pre>
#import "FullScreen.h"
NSWindow *fsWindow;
@implementation NSApplication (ASKAFullScreen)
- (NSWindow *)beginFullScreen
{ fsWindow = [
[NSWindow alloc]
initWithContentRect:[[NSScreen mainScreen] frame]
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
NSView *fsView=[[NSView alloc] initWithFrame:[fsWindow frame]];
[fsWindow setContentView:fsView];
NSImageView *fsImage = [[NSImageView alloc] initWithFrame:[fsView frame]];
[fsView addSubview:fsImage];
[fsWindow setBackgroundColor:[NSColor blackColor]];
[NSMenu setMenuBarVisible:0];
[fsWindow setHasShadow: NO];
[fsWindow makeKeyAndOrderFront:fsWindow];
return fsWindow;
}
- (void)endFullScreen
{ [NSMenu setMenuBarVisible:1];
[fsWindow setHasShadow: YES];
[fsWindow close];
}
@end
</pre><hr />
Ensuite on "se sert" de ces fichiers par les commandes
<font class="small">Code:</font><hr /><pre> set theWindow to (call method "beginFullScreen")
ou
call method "endFullScreen"
</pre><hr />
pour activer ou désactiver le plein écran.
En fait, je me suis apperçu que ça créée une fenetre noire en fond d'écran et les autres fentres de l'application, notamment la fenetre principale sont par dessus.
Je voudrais "poser" un viewer quicktime, non pas sur la fentre "principale" mais directement sur cette fenêtre noire pour faire du plein écran. Evidemment, je ne peux pas le faire via interface builder.
Peut être en faisant une "custom class" à partir de ces 2 fichiers et IB?..
est ce possible et si oui, quelle est la marche à suivre?....
ou alors y a t'il un moyen de faire disparaitre de la fentre principale les 3 boutons de controle rouge orange vert et la barre qui les porte? (sans faire disparaitre la fentre quicktime?
merci
lors de mes recherches sur le net, j'ai trouvé sur Mac OS Hints de quoi créer une application Applescript en plein écran, sans dock ni barre de menu.
un fichier FullScreen.h
<font class="small">Code:</font><hr /><pre> #import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
@interface NSApplication (ASKAFullScreen)
- (NSWindow *)beginFullScreen;
- (void)endFullScreen;
@end </pre><hr />
et un fichier FullScreen.mm
<font class="small">Code:</font><hr /><pre>
#import "FullScreen.h"
NSWindow *fsWindow;
@implementation NSApplication (ASKAFullScreen)
- (NSWindow *)beginFullScreen
{ fsWindow = [
[NSWindow alloc]
initWithContentRect:[[NSScreen mainScreen] frame]
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
NSView *fsView=[[NSView alloc] initWithFrame:[fsWindow frame]];
[fsWindow setContentView:fsView];
NSImageView *fsImage = [[NSImageView alloc] initWithFrame:[fsView frame]];
[fsView addSubview:fsImage];
[fsWindow setBackgroundColor:[NSColor blackColor]];
[NSMenu setMenuBarVisible:0];
[fsWindow setHasShadow: NO];
[fsWindow makeKeyAndOrderFront:fsWindow];
return fsWindow;
}
- (void)endFullScreen
{ [NSMenu setMenuBarVisible:1];
[fsWindow setHasShadow: YES];
[fsWindow close];
}
@end
</pre><hr />
Ensuite on "se sert" de ces fichiers par les commandes
<font class="small">Code:</font><hr /><pre> set theWindow to (call method "beginFullScreen")
ou
call method "endFullScreen"
</pre><hr />
pour activer ou désactiver le plein écran.
En fait, je me suis apperçu que ça créée une fenetre noire en fond d'écran et les autres fentres de l'application, notamment la fenetre principale sont par dessus.
Je voudrais "poser" un viewer quicktime, non pas sur la fentre "principale" mais directement sur cette fenêtre noire pour faire du plein écran. Evidemment, je ne peux pas le faire via interface builder.
Peut être en faisant une "custom class" à partir de ces 2 fichiers et IB?..
est ce possible et si oui, quelle est la marche à suivre?....
ou alors y a t'il un moyen de faire disparaitre de la fentre principale les 3 boutons de controle rouge orange vert et la barre qui les porte? (sans faire disparaitre la fentre quicktime?
merci