ObjQt  Check-in [b93e396b34]

Overview
Comment:Add OFColor+QColor
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b93e396b343d04d6aaac14baa15139b33cc46936043be67a6cb73343deac6398
User & Date: js on 2018-03-10 23:18:27
Other Links: manifest | tags
Context
2019-03-15
00:07
Use dot syntax check-in: 4ae247a25d user: js tags: trunk
2018-03-10
23:18
Add OFColor+QColor check-in: b93e396b34 user: js tags: trunk
23:07
Update buildsys check-in: 6da64debaf user: js tags: trunk
Changes

Modified src/common/Makefile from [aaebe78678] to [87c2bc0720].

1
2
3
4
5

6
7
8
9
10
11
include ../../extra.mk

STATIC_PIC_LIB_NOINST = ${COMMON_LIB_A}
STATIC_LIB_NOINST = ${COMMON_A}


SRCS = OFData+QByteArray.mm	\
       OFString+QString.mm

include ../../buildsys.mk

CPPFLAGS += -I. -I../QtCore





>
|





1
2
3
4
5
6
7
8
9
10
11
12
include ../../extra.mk

STATIC_PIC_LIB_NOINST = ${COMMON_LIB_A}
STATIC_LIB_NOINST = ${COMMON_A}

SRCS = OFColor+QColor.mm	\
       OFData+QByteArray.mm	\
       OFString+QString.mm

include ../../buildsys.mk

CPPFLAGS += -I. -I../QtCore

Added src/common/OFColor+QColor.h version [034bea841e].











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * Copyright (c) 2018, Jonathan Schleifer <js@heap.zone>
 *
 * https://heap.zone/git/objqt.git
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice is present in all copies.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#import <ObjFW/ObjFW.h>

#include <QColor>

@interface OFColor (QColor)
+ (instancetype)colorWithQColor: (const QColor &)qColor;
- (instancetype)initWithQColor: (const QColor &)qColor;
- (QColor)qColor;
@end

namespace ObjQt {

static OF_INLINE OFColor *
toOF(const QColor &qColor)
{
	if (!qColor.isValid())
		return nil;

	return [OFColor colorWithQColor: qColor];
}

static OF_INLINE QColor
toQt(OFColor *color)
{
	if (color == nil)
		return QColor();

	return [color qColor];
}

}

Added src/common/OFColor+QColor.mm version [c946b359c2].

















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
 * Copyright (c) 2018, Jonathan Schleifer <js@heap.zone>
 *
 * https://heap.zone/git/objqt.git
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice is present in all copies.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#import "OFColor+QColor.h"

@implementation OFColor (QColor)
+ (instancetype)colorWithQColor: (const QColor &)qColor
{
	return [[[self alloc] initWithQColor: qColor] autorelease];
}

- (instancetype)initWithQColor: (const QColor &)qColor
{
	return [self initWithRed: qColor.redF()
			   green: qColor.greenF()
			    blue: qColor.blueF()
			   alpha: qColor.alphaF()];
}

- (QColor)qColor
{
	QColor qColor;
	float red, green, blue, alpha;

	[self getRed: &red
	       green: &green
		blue: &blue
	       alpha: &alpha];

	qColor.setRedF(red);
	qColor.setGreenF(green);
	qColor.setBlueF(blue);
	qColor.setAlphaF(alpha);

	return qColor;
}
@end

Modified src/common/OFData+QByteArray.h from [77e4ae805c] to [1450dd7a8e].

22
23
24
25
26
27
28

29
30
31
32
33
34
35

#import <ObjFW/ObjFW.h>

#include <QByteArray>

@interface OFData (QByteArray)
+ (instancetype)dataWithQByteArray: (const QByteArray &)qByteArray;

- (QByteArray)qByteArray;
@end

namespace ObjQt {

static OF_INLINE OFData *
toOF(const QByteArray &qByteArray)







>







22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

#import <ObjFW/ObjFW.h>

#include <QByteArray>

@interface OFData (QByteArray)
+ (instancetype)dataWithQByteArray: (const QByteArray &)qByteArray;
- (instancetype)initWithQByteArray: (const QByteArray &)qByteArray;
- (QByteArray)qByteArray;
@end

namespace ObjQt {

static OF_INLINE OFData *
toOF(const QByteArray &qByteArray)

Modified src/common/OFData+QByteArray.mm from [5791aa6b1b] to [1893548556].

21
22
23
24
25
26
27





28
29
30
31
32
33
34
35
36
37
 */

#import "OFData+QByteArray.h"

@implementation OFData (QByteArray)
+ (instancetype)dataWithQByteArray: (const QByteArray &)qByteArray
{





	return [OFData dataWithItems: qByteArray.data()
			       count: qByteArray.count()];
}

- (QByteArray)qByteArray
{
	return QByteArray((const char *)[self items],
	    [self count] * [self itemSize]);
}
@end







>
>
>
>
>
|
|








21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 */

#import "OFData+QByteArray.h"

@implementation OFData (QByteArray)
+ (instancetype)dataWithQByteArray: (const QByteArray &)qByteArray
{
	return [[[self alloc] initWithQByteArray: qByteArray] autorelease];
}

- (instancetype)initWithQByteArray: (const QByteArray &)qByteArray
{
	return [self initWithItems: qByteArray.data()
			     count: qByteArray.count()];
}

- (QByteArray)qByteArray
{
	return QByteArray((const char *)[self items],
	    [self count] * [self itemSize]);
}
@end

Modified src/common/OFString+QString.h from [99046e4f05] to [7969d74721].

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

#import <ObjFW/ObjFW.h>

#include <QString>

@interface OFString (QString)
+ (instancetype)stringWithQString: (const QString &)qString;
- initWithQString: (const QString &)qString;
- (QString)qString;
@end

namespace ObjQt {

static OF_INLINE OFString *
toOF(const QString &qString)







|







22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

#import <ObjFW/ObjFW.h>

#include <QString>

@interface OFString (QString)
+ (instancetype)stringWithQString: (const QString &)qString;
- (instancetype)initWithQString: (const QString &)qString;
- (QString)qString;
@end

namespace ObjQt {

static OF_INLINE OFString *
toOF(const QString &qString)

Modified src/common/OFString+QString.mm from [5b64399c2b] to [d6be9ba96e].

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#import "OFString+QString.h"

@implementation OFString (QString)
+ stringWithQString: (const QString &)qString
{
	return [[[self alloc] initWithQString: qString] autorelease];
}

- initWithQString: (const QString &)qString
{
	static_assert(sizeof(QChar) == sizeof(char16_t),
	    "QChar and char16_t have a different size!");

	return [self initWithUTF16String: (char16_t *)qString.data()
				  length: qString.length()];
}







|




|







19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#import "OFString+QString.h"

@implementation OFString (QString)
+ (instancetype)stringWithQString: (const QString &)qString
{
	return [[[self alloc] initWithQString: qString] autorelease];
}

- (instancetype)initWithQString: (const QString &)qString
{
	static_assert(sizeof(QChar) == sizeof(char16_t),
	    "QChar and char16_t have a different size!");

	return [self initWithUTF16String: (char16_t *)qString.data()
				  length: qString.length()];
}