summaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj/xlib/natXColor.cc
blob: 4e76cf91f58aeca27d4f219c553993d88039c661 (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
/* Copyright (C) 2000  Free Software Foundation

   This file is part of libgcj.

This software is copyrighted work licensed under the terms of the
Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
details.  */

#include <X11/Xlib.h>

#include <gcj/cni.h>
#include <gnu/gcj/RawData.h>
#include <gnu/gcj/xlib/XColor.h>

void gnu::gcj::xlib::XColor::init()
{
  structure = reinterpret_cast<gnu::gcj::RawData*>(new ::XColor);
}

void gnu::gcj::xlib::XColor::finalize()
{
  delete structure;
}

void gnu::gcj::xlib::XColor::setRGB(jint r, jint g, jint b)
{
  ::XColor* color = (::XColor*) structure;
  color->red   = r;
  color->green = g;
  color->blue  = b;
}

jint gnu::gcj::xlib::XColor::getRed()
{
  ::XColor* color = (::XColor*) structure;
  return color->red;
}

jint gnu::gcj::xlib::XColor::getGreen()
{
  ::XColor* color = (::XColor*) structure;
  return color->green;
}

jint gnu::gcj::xlib::XColor::getBlue()
{
  ::XColor* color = (::XColor*) structure;
  return color->blue;
}

jbyte gnu::gcj::xlib::XColor::getFlags()
{
  ::XColor* color = (::XColor*) structure;
  return color->flags;
}

jlong gnu::gcj::xlib::XColor::getPixelValue()
{
  ::XColor* color = (::XColor*) structure;
  return color->pixel;
}