diff options
Diffstat (limited to 'src/libgamma/Site.java')
-rw-r--r-- | src/libgamma/Site.java | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/src/libgamma/Site.java b/src/libgamma/Site.java deleted file mode 100644 index 2dbe2b3..0000000 --- a/src/libgamma/Site.java +++ /dev/null @@ -1,155 +0,0 @@ -/** - * jlibgamma — Display server abstraction layer for gamma ramp and Java - * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org) - * - * This library is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this library. If not, see <http://www.gnu.org/licenses/>. - */ -package libgamma; - - -/** - * Site state. - * - * On operating systems that integrate a graphical environment - * there is usually just one site. However, one systems with - * pluggable graphics, like Unix-like systems such as GNU/Linux - * and the BSD:s, there can usually be any (feasible) number of - * sites. In X.org parlance they are called displays. - */ -public class Site -{ - /** - * Type initialiser. - */ - static - { - Libgamma.initialise(); - } - - - - /** - * Constructor. - * - * @param method The adjustmet method. - * @param site The site identifier. - */ - public Site(AdjustmentMethod method, String site) throws LibgammaException - { - this.method = method; - this.site = site; - long[] r = libgamma_site_create(method.value, site); - this.address = r[0]; - this.partitions_available = (int)(r[1]); - if (r[2] != 0) - throw new LibgammaException((int)(r[2])); - } - - - /** - * This field specifies, for the methods if this library, - * which adjustment method (display server and protocol) - * is used to adjust the gamma ramps. - */ - public final AdjustmentMethod method; - - /** - * The site identifier. It can either be {@code null} or - * a string. {@code null} indicates the default site. On - * systems like the Unix-like systems, where the graphics - * are pluggable, this is usually resolved by an environment - * variable, such as "DISPLAY" for X.org. - */ - public final String site; - - /** - * The number of partitions that is available on this site. - * Probably the majority of display server only one partition - * per site. However, X.org can, and traditional used to have - * on multi-headed environments, multiple partitions per site. - * In X.org partitions are called 'screens'. It is not to be - * confused with monitor. A screen is a collection of monitors, - * and the mapping from monitors to screens is a surjection. - * On hardware-level adjustment methods, such as Direct - * Rendering Manager, a partition is a graphics card. - */ - public final int partitions_available; - - /** - * The address of the native object. - */ - final long address; - - - /** - * Release resources. - */ - public void close() - { - libgamma_site_free(this.address); - } - - /** - * Restore the gamma ramps all CRTC:s within the site to the system settings. - */ - public void restore() throws LibgammaException - { - int r = libgamma_site_restore(this.address); - if (r != 0) - throw new LibgammaException(r); - } - - - /** - * {@inheritDoc} - */ - public String toString() - { - return "<Site: method = " + this.method.toString() + ", " + - "site = " + (this.site == null ? "(null)" : this.site) + ", " + - "partitions_available = " + Integer.toString(this.partitions_available) + ">"; - } - - - - - /** - * Create a site state. - * - * @param method The adjustment method (display server and protocol.) - * @param site The site identifier. - * @return Element 0: The value for {@link #address}. - * Element 1: The value for {@link #partitions_available} - * Element 2: Error code, zero on success. - */ - private static native long[] libgamma_site_create(int method, String site); - - /** - * Release all resources held by a site state - * and free the site state pointer. - * - * @param address The site state. - */ - private static native void libgamma_site_free(long address); - - /** - * Restore the gamma ramps all CRTC:s within a site to the system settings. - * - * @param address The site state. - * @return Zero on success, and error code on failure. - */ - private static native int libgamma_site_restore(long address); - -} - |