JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java™ (public API).
MonitorEvent.java
Go to the documentation of this file.
1/**
2 * Copyright 2013 JogAmp Community. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification, are
5 * permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice, this list of
8 * conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 * The views and conclusions contained in the software and documentation are those of the
25 * authors and should not be interpreted as representing official policies, either expressed
26 * or implied, of JogAmp Community.
27 */
28
29package com.jogamp.newt.event;
30
31import com.jogamp.newt.MonitorDevice;
32import com.jogamp.newt.MonitorMode;
33
34@SuppressWarnings("serial")
35public class MonitorEvent extends OutputEvent {
36 public static final short EVENT_MONITOR_MODE_CHANGE_NOTIFY = 600;
37 public static final short EVENT_MONITOR_MODE_CHANGED = 601;
38
39 private final MonitorMode mode;
40
41 public MonitorEvent (final short eventType, final MonitorDevice source, final long when, final MonitorMode mode) {
42 super(eventType, source, when);
43 this.mode = mode;
44 }
45
46 /** Returns the {@link #getSource() source}, which is a {@link MonitorDevice}. */
47 public final MonitorDevice getMonitor() { return (MonitorDevice)source; }
48
49 public final MonitorMode getMode() { return mode; }
50
51 public static String getEventTypeString(final short type) {
52 switch(type) {
53 case EVENT_MONITOR_MODE_CHANGE_NOTIFY: return "MODE_CHANGE_NOTIFY";
54 case EVENT_MONITOR_MODE_CHANGED: return "MODE_CHANGED";
55 default: return "unknown (" + type + ")";
56 }
57 }
58
59 @Override
60 public final String toString() {
61 return toString(null).toString();
62 }
63
64 @Override
65 public final StringBuilder toString(StringBuilder sb) {
66 if(null == sb) {
67 sb = new StringBuilder();
68 }
69 sb.append("MonitorEvent[").append(getEventTypeString(getEventType())).append(", source ").append(source)
70 .append(", mode ").append(mode).append(", ");
71 return super.toString(sb).append("]");
72 }
73}
Visual output device, i.e.
Immutable MonitorMode Class, consisting of it's read only components:
static String getEventTypeString(final short type)
final MonitorDevice getMonitor()
Returns the source, which is a MonitorDevice.
MonitorEvent(final short eventType, final MonitorDevice source, final long when, final MonitorMode mode)
final StringBuilder toString(StringBuilder sb)