OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [gnu/] [gcj/] [xlib/] [Colormap.java] - Rev 756

Compare with Previous | Blame | View Log

/* 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.  */
 
package gnu.gcj.xlib;
 
import gnu.gcj.RawData;
 
/**
 * An X11 color map resource.
 *
 * @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
 */
public final class Colormap extends XID
{
  Screen screen;
 
  public static final byte FLAG_SHARED = 1;
  public static final byte FLAG_NOT_SHARED = 2;
 
  public Colormap(Screen screen, int xid)
  {
    super(screen.getDisplay(), xid);
    this.screen = screen;
  }
 
  /**
   * Allocate color pixel.
   *
   * @param color The color to be allocated.  If allocation is
   * successful, this object will be modified to reflect the actual
   * color that was allocated.
   *
   * @return the pixel value of the allocated color.
   */
  public native long allocateColorPixel(XColor color);
 
  /**
   * Allocate a color consisting of the given RGB-triplet.
   *
   * @return a color object describing the allocated color.
   */
  public XColor allocateColor(int r, int g, int b)
  {
    XColor color = new XColor(r, g, b);
    allocateColorPixel(color);
 
    return color;
  }
 
  /**
   * Get an array of all colors that currently resides in shared (read
   * only) color-cells in this color map.
   */
  public native XColor[] getSharedColors();
 
 
  /**
   * Get all colors currently residing in this color map.  Colors that
   * are shared (read only) are marked as such by the color flags.
   * The indexes of the returned array will correspond to the
   * colorcells of the color map.  Given a color <code>XColor
   * color</code> from a given color-cell, the expression
   * <code>color.getFlags() == Colormap.FLAG_SHARED</code> will check
   * whether the color-cell is shared.
   */
  public native XColor[] getXColors();
 
  /**
   * Convenience method used by native code to create fully
   * initialized arrays of XColor objects.
   */
  private XColor[] newXColorArray(int n)
  {
    XColor[] array = new XColor[n];
    for (int i=0; i<n; i++)
      array[i] = new XColor();
    return array;
  }
}
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.