All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.freedesktop.wayland.client.WlOutputEventsV2 Maven / Gradle / Ivy

The newest version!
package org.freedesktop.wayland.client;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
// 
//
//    Copyright © 2008-2011 Kristian Høgsberg
//    Copyright © 2010-2011 Intel Corporation
//    Copyright © 2012-2013 Collabora, Ltd.
//
//    Permission is hereby granted, free of charge, to any person
//    obtaining a copy of this software and associated documentation files
//    (the "Software"), to deal in the Software without restriction,
//    including without limitation the rights to use, copy, modify, merge,
//    publish, distribute, sublicense, and/or sell copies of the Software,
//    and to permit persons to whom the Software is furnished to do so,
//    subject to the following conditions:
//
//    The above copyright notice and this permission notice (including the
//    next paragraph) shall be included in all copies or substantial
//    portions of the Software.
//
//    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
//    NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
//    BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
//    ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
//    CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
//    SOFTWARE.
//  
/**
 * compositor output region
 * 

* * An output describes part of the compositor geometry. The * compositor works in the 'compositor coordinate system' and an * output corresponds to a rectangular area in that space that is * actually visible. This typically corresponds to a monitor that * displays part of the compositor space. This object is published * as global during start up, or when a monitor is hotplugged. * */ public interface WlOutputEventsV2 extends WlOutputEvents { int VERSION = 2; /** * properties of the output *

* * The geometry event describes geometric properties of the output. * The event is sent when binding to the output object and whenever * any of the properties change. * * @param emitter The protocol object that emitted the event. * @param x x position within the global compositor space * @param y y position within the global compositor space * @param physicalWidth width in millimeters of the output * @param physicalHeight height in millimeters of the output * @param subpixel subpixel orientation of the output * @param make textual description of the manufacturer * @param model textual description of the model * @param transform transform that maps framebuffer to output */ public void geometry(WlOutputProxy emitter, int x, int y, int physicalWidth, int physicalHeight, int subpixel, @Nonnull String make, @Nonnull String model, int transform); /** * advertise available modes for the output *

* * The mode event describes an available mode for the output. *

* The event is sent when binding to the output object and there * will always be one mode, the current mode. The event is sent * again if an output changes mode, for the mode that is now * current. In other words, the current mode is always the last * mode that was received with the current flag set. *

* The size of a mode is given in physical hardware units of * the output device. This is not necessarily the same as * the output size in the global compositor space. For instance, * the output may be scaled, as described in wl_output.scale, * or transformed, as described in wl_output.transform. * * @param emitter The protocol object that emitted the event. * @param flags bitfield of mode flags * @param width width of the mode in hardware units * @param height height of the mode in hardware units * @param refresh vertical refresh rate in mHz */ public void mode(WlOutputProxy emitter, int flags, int width, int height, int refresh); /** * sent all information about output *

* * This event is sent after all other properties have been * sent after binding to the output object and after any * other property changes done after that. This allows * changes to the output properties to be seen as * atomic, even if they happen via multiple events. * * @param emitter The protocol object that emitted the event. */ public void done(WlOutputProxy emitter); /** * output scaling properties *

* * This event contains scaling geometry information * that is not in the geometry event. It may be sent after * binding the output object or if the output scale changes * later. If it is not sent, the client should assume a * scale of 1. *

* A scale larger than 1 means that the compositor will * automatically scale surface buffers by this amount * when rendering. This is used for very high resolution * displays where applications rendering at the native * resolution would be too small to be legible. *

* It is intended that scaling aware clients track the * current output of a surface, and if it is on a scaled * output it should use wl_surface.set_buffer_scale with * the scale of the output. That way the compositor can * avoid scaling the surface, and the client can supply * a higher detail image. * * @param emitter The protocol object that emitted the event. * @param factor scaling factor of output */ public void scale(WlOutputProxy emitter, int factor); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy