vlc | branch: master | Felix Paul Kühne <[email protected]> | Sun Feb 5 20:27:26 2012 +0100| [ee6c4a295a494f6670c1466ce9cc360c8b414f9e] | committer: Felix Paul Kühne
macosx: added a 1.5px shadow (white) to the window title and the time counter > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ee6c4a295a494f6670c1466ce9cc360c8b414f9e --- modules/gui/macosx/MainWindow.m | 1 - modules/gui/macosx/MainWindowTitle.h | 2 + modules/gui/macosx/MainWindowTitle.m | 27 ++++++++++++++++++++++++- modules/gui/macosx/misc.h | 3 ++ modules/gui/macosx/misc.m | 36 ++++++++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 2 deletions(-) diff --git a/modules/gui/macosx/MainWindow.m b/modules/gui/macosx/MainWindow.m index 04a3ce8..deebd4e 100644 --- a/modules/gui/macosx/MainWindow.m +++ b/modules/gui/macosx/MainWindow.m @@ -214,7 +214,6 @@ static VLCMainWindow *_o_sharedInstance = nil; o_shuffle_pressed_img = [[NSImage imageNamed:@"shuffle-pressed_dark"] retain]; o_shuffle_on_img = [[NSImage imageNamed:@"shuffle-blue_dark"] retain]; o_shuffle_on_pressed_img = [[NSImage imageNamed:@"shuffle-blue-pressed_dark"] retain]; - [o_time_fld setTextColor: [NSColor colorWithCalibratedRed:229.0 green:229.0 blue:229.0 alpha:100.0]]; [o_time_sld_background setImagesLeft: [NSImage imageNamed:@"progression-track-wrapper-left_dark"] middle: [NSImage imageNamed:@"progression-track-wrapper-middle_dark"] right: [NSImage imageNamed:@"progression-track-wrapper-right_dark"]]; [o_volume_down_btn setImage: [NSImage imageNamed:@"volume-low_dark"]]; [o_volume_track_view setImage: [NSImage imageNamed:@"volume-slider-track_dark"]]; diff --git a/modules/gui/macosx/MainWindowTitle.h b/modules/gui/macosx/MainWindowTitle.h index 7180850..0a45360 100644 --- a/modules/gui/macosx/MainWindowTitle.h +++ b/modules/gui/macosx/MainWindowTitle.h @@ -39,6 +39,8 @@ NSImage * o_green_img; NSImage * o_green_over_img; NSImage * o_green_on_img; + NSShadow * o_window_title_shadow; + NSDictionary * o_window_title_attributes_dict; IBOutlet id o_red_btn; IBOutlet id o_yellow_btn; diff --git a/modules/gui/macosx/MainWindowTitle.m b/modules/gui/macosx/MainWindowTitle.m index effee09..e01c6f1 100644 --- a/modules/gui/macosx/MainWindowTitle.m +++ b/modules/gui/macosx/MainWindowTitle.m @@ -36,6 +36,13 @@ *****************************************************************************/ @implementation VLCMainWindowTitleView +- (id)init +{ + o_window_title_attributes_dict = [[NSDictionary dictionaryWithObjectsAndKeys: [NSColor whiteColor], NSForegroundColorAttributeName, [NSFont titleBarFontOfSize:12.0], NSFontAttributeName, nil] retain]; + + return [super init]; +} + - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver: self]; @@ -50,6 +57,9 @@ [o_green_over_img release]; [o_green_on_img release]; + [o_window_title_shadow release]; + [o_window_title_attributes_dict release]; + [super dealloc]; } @@ -174,7 +184,22 @@ - (void)setWindowTitle:(NSString *)title { - [o_title_lbl setStringValue: title]; + if (!o_window_title_shadow) + { + o_window_title_shadow = [[NSShadow alloc] init]; + [o_window_title_shadow setShadowColor:[NSColor colorWithCalibratedWhite:1.0 alpha:0.5]]; + [o_window_title_shadow setShadowOffset:NSMakeSize(0.0, -1.5)]; + [o_window_title_shadow setShadowBlurRadius:0.5]; + [o_window_title_shadow retain]; + } + + NSMutableAttributedString *o_attributed_title = [[NSMutableAttributedString alloc] initWithString:title attributes: o_window_title_attributes_dict]; + NSUInteger i_titleLength = [title length]; + + [o_attributed_title addAttribute:NSShadowAttributeName value:o_window_title_shadow range:NSMakeRange(0, i_titleLength)]; + [o_attributed_title setAlignment: NSCenterTextAlignment range:NSMakeRange(0, i_titleLength)]; + [o_title_lbl setAttributedStringValue:o_attributed_title]; + [o_attributed_title release]; } - (void)setFullscreenButtonHidden:(BOOL)b_value diff --git a/modules/gui/macosx/misc.h b/modules/gui/macosx/misc.h index bfc2d5f..65b9905 100644 --- a/modules/gui/macosx/misc.h +++ b/modules/gui/macosx/misc.h @@ -151,7 +151,10 @@ @interface VLCTimeField : NSTextField { + NSShadow * o_string_shadow; + NSDictionary * o_string_attributes_dict; } + - (BOOL)timeRemaining; @end diff --git a/modules/gui/macosx/misc.m b/modules/gui/macosx/misc.m index ea3df8d..623ae90 100644 --- a/modules/gui/macosx/misc.m +++ b/modules/gui/macosx/misc.m @@ -707,6 +707,42 @@ void _drawFrameInRect(NSRect frameRect) [defaults registerDefaults:appDefaults]; } +- (void)awakeFromNib +{ + NSColor *o_string_color; + if (!config_GetInt( VLCIntf, "macosx-interfacestyle")) + o_string_color = [NSColor colorWithCalibratedRed:0.229 green:0.229 blue:0.229 alpha:100.0]; + else + o_string_color = [NSColor colorWithCalibratedRed:0.64 green:0.64 blue:0.64 alpha:100.0]; + + o_string_attributes_dict = [[NSDictionary dictionaryWithObjectsAndKeys: o_string_color, NSForegroundColorAttributeName, [NSFont titleBarFontOfSize:10.0], NSFontAttributeName, nil] retain]; +} + +- (void)dealloc +{ + [o_string_shadow release]; + [o_string_attributes_dict release]; +} + +- (void)setStringValue:(NSString *)string +{ + if (!o_string_shadow) + { + o_string_shadow = [[NSShadow alloc] init]; + [o_string_shadow setShadowColor: [NSColor colorWithCalibratedWhite:1.0 alpha:0.5]]; + [o_string_shadow setShadowOffset:NSMakeSize(0.0, -1.5)]; + [o_string_shadow setShadowBlurRadius:0.0]; + } + + NSMutableAttributedString *o_attributed_string = [[NSMutableAttributedString alloc] initWithString:string attributes: o_string_attributes_dict]; + NSUInteger i_stringLength = [string length]; + + [o_attributed_string addAttribute: NSShadowAttributeName value: o_string_shadow range: NSMakeRange(0, i_stringLength)]; + [o_attributed_string setAlignment: NSCenterTextAlignment range: NSMakeRange(0, i_stringLength)]; + [self setAttributedStringValue: o_attributed_string]; + [o_attributed_string release]; +} + - (void)mouseDown: (NSEvent *)ourEvent { if( [ourEvent clickCount] > 1 ) _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
