mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-22 20:50:44 +00:00
Merge pull request #45 from gnustep/NSAppearance_branch
NSAppearance branch
This commit is contained in:
commit
25bdc6e89c
6 changed files with 214 additions and 3 deletions
|
@ -48,6 +48,7 @@
|
|||
#import <AppKit/NSAccessibilityConstants.h>
|
||||
#import <AppKit/NSActionCell.h>
|
||||
#import <AppKit/NSAnimationContext.h>
|
||||
#import <AppKit/NSAppearance.h>
|
||||
#import <AppKit/NSApplication.h>
|
||||
#import <AppKit/NSAttributedString.h>
|
||||
#import <AppKit/NSBitmapImageRep.h>
|
||||
|
|
84
Headers/AppKit/NSAppearance.h
Normal file
84
Headers/AppKit/NSAppearance.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/* Definition of class NSAppearance
|
||||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
|
||||
By: Gregory John Casamento
|
||||
Date: Wed Jan 15 07:03:39 EST 2020
|
||||
|
||||
This file is part of the GNUstep Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110 USA.
|
||||
*/
|
||||
|
||||
#ifndef _NSAppearance_h_GNUSTEP_GUI_INCLUDE
|
||||
#define _NSAppearance_h_GNUSTEP_GUI_INCLUDE
|
||||
|
||||
#import <Foundation/NSObject.h>
|
||||
#import <Foundation/NSBundle.h>
|
||||
#import <AppKit/AppKitDefines.h>
|
||||
|
||||
#if OS_API_VERSION(MAC_OS_X_VERSION_10_9, GS_API_LATEST)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef NSString* NSAppearanceName;
|
||||
|
||||
@interface NSAppearance : NSObject <NSCoding>
|
||||
{
|
||||
NSString *_name;
|
||||
BOOL _allowsVibrancy;
|
||||
NSAppearanceName _currentAppearance;
|
||||
}
|
||||
|
||||
// Creating an appearance...
|
||||
+ (instancetype) appearanceNamed: (NSString *)name;
|
||||
- (instancetype) initWithAppearanceNamed: (NSString *)name bundle: (NSBundle *)bundle;
|
||||
|
||||
// Getting the appearance name
|
||||
- (NSString *) name;
|
||||
|
||||
// Determining the most appropriate appearance
|
||||
- (NSAppearanceName) bestMatchFromAppearancesWithNames: (NSArray *)appearances;
|
||||
|
||||
// Getting and setting the appearance
|
||||
+ (void) setCurrentAppearance: (NSAppearanceName)name;
|
||||
+ (NSAppearanceName) currentAppearance;
|
||||
|
||||
// Managing vibrancy
|
||||
- (BOOL) allowsVibrancy;
|
||||
|
||||
@end
|
||||
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameAqua;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameDarkAqua;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameVibrantLight;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameVibrantDark;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameAccessibilityHighContrastAqua;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameAccessibilityHighContrastDarkAqua;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameAccessibilityHighContrastVibrantLight;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameAccessibilityHighContrastVibrantDark;
|
||||
APPKIT_EXPORT NSAppearanceName const NSAppearanceNameLightContent;
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GS_API_MACOSX */
|
||||
|
||||
#endif /* _NSAppearance_h_GNUSTEP_GUI_INCLUDE */
|
||||
|
6
MISSING
6
MISSING
|
@ -7,7 +7,6 @@ MISSING HEADERS
|
|||
> NSAccessibilityElement.h
|
||||
> NSAccessibilityProtocols.h
|
||||
> NSAlignmentFeedbackFilter.h
|
||||
> NSAppearance.h
|
||||
> NSCollectionViewCompositionalLayout.h
|
||||
> NSCollectionViewFlowLayout.h
|
||||
> NSCollectionViewGridLayout.h
|
||||
|
@ -76,7 +75,7 @@ MISSING HEADERS
|
|||
> NSWindowRestoration.h
|
||||
> NSWindowTab.h
|
||||
> NSWindowTabGroup.h
|
||||
Total: 82
|
||||
Total: 75
|
||||
|
||||
Completed
|
||||
---
|
||||
|
@ -86,7 +85,8 @@ Completed
|
|||
> NSPDFPanel.h
|
||||
> NSPICTImageRep.h
|
||||
> NSDockTile.h
|
||||
Total: 6
|
||||
> NSAppearance.h
|
||||
Total: 7
|
||||
|
||||
Mac Specific
|
||||
---
|
||||
|
|
|
@ -50,6 +50,7 @@ NSAffineTransform.m \
|
|||
NSAlert.m \
|
||||
NSAnimation.m \
|
||||
NSAnimationContext.m \
|
||||
NSAppearance.m \
|
||||
NSApplication.m \
|
||||
NSArrayController.m \
|
||||
NSAttributedString.m \
|
||||
|
@ -345,6 +346,7 @@ NSAffineTransform.h \
|
|||
NSAlert.h \
|
||||
NSAnimation.h \
|
||||
NSAnimationContext.h \
|
||||
NSAppearance.h \
|
||||
NSApplication.h \
|
||||
NSArrayController.h \
|
||||
NSBezierPath.h \
|
||||
|
|
110
Source/NSAppearance.m
Normal file
110
Source/NSAppearance.m
Normal file
|
@ -0,0 +1,110 @@
|
|||
/* Implementation of class NSAppearance
|
||||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
|
||||
By: Gregory John Casamento
|
||||
Date: Wed Jan 15 07:03:39 EST 2020
|
||||
|
||||
This file is part of the GNUstep Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110 USA.
|
||||
*/
|
||||
|
||||
#import <AppKit/NSAppearance.h>
|
||||
#import <Foundation/NSArchiver.h>
|
||||
|
||||
NSAppearance *__currentAppearance = nil;
|
||||
|
||||
@implementation NSAppearance
|
||||
|
||||
// Creating an appearance...
|
||||
+ (instancetype) appearanceNamed: (NSString *)name
|
||||
{
|
||||
return [[NSAppearance alloc] initWithAppearanceNamed: name bundle: nil];
|
||||
}
|
||||
|
||||
- (instancetype) initWithAppearanceNamed: (NSString *)name bundle: (NSBundle *)bundle
|
||||
{
|
||||
self = [super init];
|
||||
if (self)
|
||||
{
|
||||
ASSIGNCOPY(_name, name);
|
||||
_allowsVibrancy = NO;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype) initWithCoder: (NSCoder *)coder
|
||||
{
|
||||
if ([coder allowsKeyedCoding])
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSIGN(_name, [coder decodeObject]);
|
||||
[coder decodeValueOfObjCType: @encode(BOOL) at: &_allowsVibrancy];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) encodeWithCoder: (NSCoder *)coder
|
||||
{
|
||||
if ([coder allowsKeyedCoding])
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
[coder encodeObject: _name];
|
||||
[coder encodeValueOfObjCType: @encode(BOOL) at: &_allowsVibrancy];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
RELEASE(_name);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
// Getting the appearance name
|
||||
- (NSString *) name
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
|
||||
// Determining the most appropriate appearance
|
||||
- (NSAppearanceName) bestMatchFromAppearancesWithNames: (NSArray *)appearances
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
// Getting and setting the appearance
|
||||
+ (void) setCurrentAppearance: (NSAppearance *)appearance
|
||||
{
|
||||
ASSIGN(__currentAppearance, appearance);
|
||||
}
|
||||
|
||||
+ (NSAppearance *) currentAppearance
|
||||
{
|
||||
return __currentAppearance;
|
||||
}
|
||||
|
||||
// Managing vibrancy
|
||||
- (BOOL) allowsVibrancy
|
||||
{
|
||||
return _allowsVibrancy;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -31,6 +31,7 @@
|
|||
#import <Foundation/NSString.h>
|
||||
#import "AppKit/NSApplication.h"
|
||||
#import "AppKit/NSEvent.h"
|
||||
#import "AppKit/NSAppearance.h"
|
||||
|
||||
// Global strings
|
||||
NSString *NSModalPanelRunLoopMode = @"NSModalPanelRunLoopMode";
|
||||
|
@ -796,6 +797,19 @@ NSString *const NSRuleEditorPredicateCompoundType = @"NSRuleEditorPredicateCompo
|
|||
|
||||
NSString *NSRuleEditorRowsDidChangeNotification = @"NSRuleEditorRowsDidChangeNotification";
|
||||
|
||||
// NSAppearance
|
||||
const NSAppearanceName NSAppearanceNameAqua = @"NSAppearanceNameAqua";
|
||||
const NSAppearanceName NSAppearanceNameDarkAqua = @"NSAppearanceNameDarkAqua";
|
||||
const NSAppearanceName NSAppearanceNameVibrantLight = @"NSAppearanceNameVibrantLight";
|
||||
const NSAppearanceName NSAppearanceNameVibrantDark = @"NSAppearanceNameVibrantDark";
|
||||
const NSAppearanceName NSAppearanceNameAccessibilityHighContrastAqua = @"NSAppearanceNameAccessibilityHighContrastAqua";
|
||||
const NSAppearanceName NSAppearanceNameAccessibilityHighContrastDarkAqua = @"NSAppearanceNameAccessibilityHighContrastDarkAqua";
|
||||
const NSAppearanceName NSAppearanceNameAccessibilityHighContrastVibrantLight =
|
||||
@"NSAppearanceNameAccessibilityHighContrastVibrantLight";
|
||||
const NSAppearanceName NSAppearanceNameAccessibilityHighContrastVibrantDark =
|
||||
@"NSAppearanceNameAccessibilityHighContrastVibrantDark";
|
||||
const NSAppearanceName NSAppearanceNameLightContent = @"NSAppearanceNameLightContent";
|
||||
|
||||
extern void __objc_gui_force_linking (void);
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue