From c4a16d10bcde8669b904df6eb35d4fc0134ce82c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 10 Mar 2012 11:53:20 +0000 Subject: [PATCH] Starter CPColorSpace implementation. --- AppKit/AppKit.j | 1 + AppKit/CPColorSpace.j | 62 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 AppKit/CPColorSpace.j diff --git a/AppKit/AppKit.j b/AppKit/AppKit.j index af43cbcbb..7546e8699 100644 --- a/AppKit/AppKit.j +++ b/AppKit/AppKit.j @@ -42,6 +42,7 @@ @import "CPCollectionViewItem.j" @import "CPColor.j" @import "CPColorPanel.j" +@import "CPColorSpace.j" @import "CPColorWell.j" @import "CPCompatibility.j" @import "CPControl.j" diff --git a/AppKit/CPColorSpace.j b/AppKit/CPColorSpace.j new file mode 100644 index 000000000..13153d8aa --- /dev/null +++ b/AppKit/CPColorSpace.j @@ -0,0 +1,62 @@ +/* + * CPColorSpace.j + * AppKit + * + * Created by Alexander Ljungberg. + * Copyright 2012, SlevenBits Ltd. + * + * 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 + * 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-1301 USA + */ + +var sRGBColorSpace = nil; + +/*! + Represent color spaces. +*/ +@implementation CPColorSpace : CPObject +{ + CGColorSpace _cgColorSpace; +} + +/*! + Return an object representing the standard sRGB colorspace. +*/ ++ (CPColorSpace)sRGBColorSpace +{ + if (!sRGBColorSpace) + sRGBColorSpace = [[self alloc] initWithCGColorSpace:CGColorSpaceCreateDeviceRGB()]; + return sRGBColorSpace; +} + +- (id)initWithCGColorSpace:(CGColorSpace)cgColorSpace +{ + if (self = [super init]) + { + _cgColorSpace = cgColorSpace; + } + + return self; +} + +/*! + Return a Core Graphics color space representing the receiver. +*/ +- (CGColorSpace)CGColorSpace +{ + return _cgColorSpace; +} + +@end +