summaryrefslogtreecommitdiffstats
blob: f4ff01aaf4667ded4ed16252f7a2116600f21d87 (plain)
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
/*
 * Copyright (c) 2012 Mateusz Piękos
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt for more information.
 */

#include <Swiften/Elements/Whiteboard/WhiteboardColor.h>
#include <Swiften/Base/String.h>
#include <cstdio>
#include <iomanip>
#include <sstream>
#include <iostream>

namespace Swift {
	WhiteboardColor::WhiteboardColor() : red_(0), green_(0), blue_(0), alpha_(255) {
	}

	WhiteboardColor::WhiteboardColor(int red, int green, int blue, int alpha) : red_(red), green_(green), blue_(blue), alpha_(alpha) {
	}

	WhiteboardColor::WhiteboardColor(const std::string& hex) : alpha_(255) {
		int value = String::convertHexStringToInt(hex.substr(1));
		red_ = (value >> 16)&0xFF;
		green_ = (value >> 8)&0xFF;
		blue_ = value&0xFF;
	}

	std::string WhiteboardColor::toHex() const {
		std::string value = String::convertIntToHexString((red_ << 16) + (green_ << 8) + blue_);
		while (value.size() < 6) {
			value.insert(0, "0");
		}
		return "#"+value;
	}

	int WhiteboardColor::getRed() const {
		return red_;
	}

	int WhiteboardColor::getGreen() const {
		return green_;
	}

	int WhiteboardColor::getBlue() const {
		return blue_;
	}

	int WhiteboardColor::getAlpha() const {
		return alpha_;
	}

	void WhiteboardColor::setAlpha(int alpha) {
		alpha_ = alpha;
	}
}