summaryrefslogtreecommitdiffstats
blob: 037fde4f8276355a4501263615a7bc90e200026c (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
56
57
58
59
60
61
62
/*
 * Copyright (c) 2012 Mateusz Piękos
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt for more information.
 */

/*
 * Copyright (c) 2016 Isode Limited.
 * All rights reserved.
 * See the COPYING file for more information.
 */

#include <Swiften/Elements/Whiteboard/WhiteboardColor.h>

#include <cstdio>
#include <iomanip>
#include <sstream>

#include <Swiften/Base/String.h>

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;
    }
}