mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-26 16:35:27 +00:00
7e344e2ac2
* AglContext.cs: * MacOSKeyMap.cs: * CarbonInput.cs: * Application.cs: * MacOSFactory.cs: * CarbonGLNative.cs: * CarbonWindowInfo.cs: * MacOSGraphicsMode.cs: * QuartzDisplayDeviceDriver.cs: Normalized code formatting.
93 lines
2.6 KiB
C#
93 lines
2.6 KiB
C#
//
|
|
//
|
|
// xCSCarbon
|
|
//
|
|
// Created by Erik Ylvisaker on 3/17/08.
|
|
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
|
//
|
|
//
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
|
|
namespace OpenTK.Platform.MacOS.Carbon
|
|
{
|
|
internal struct EventInfo
|
|
{
|
|
internal EventInfo(IntPtr eventRef)
|
|
{
|
|
this._eventClass = API.GetEventClass(eventRef);
|
|
this._eventKind = API.GetEventKind(eventRef);
|
|
}
|
|
|
|
uint _eventKind;
|
|
EventClass _eventClass;
|
|
|
|
public EventClass EventClass
|
|
{
|
|
get { return _eventClass; }
|
|
}
|
|
|
|
public WindowEventKind WindowEventKind
|
|
{
|
|
get
|
|
{
|
|
if (EventClass == EventClass.Window)
|
|
return (WindowEventKind)_eventKind;
|
|
else
|
|
throw new InvalidCastException("Event is not a Window event.");
|
|
}
|
|
}
|
|
public KeyboardEventKind KeyboardEventKind
|
|
{
|
|
get
|
|
{
|
|
if (EventClass == EventClass.Keyboard)
|
|
return (KeyboardEventKind)_eventKind;
|
|
else
|
|
throw new InvalidCastException("Event is not a Keyboard event.");
|
|
}
|
|
}
|
|
public MouseEventKind MouseEventKind
|
|
{
|
|
get
|
|
{
|
|
if (EventClass == EventClass.Mouse)
|
|
return (MouseEventKind)_eventKind;
|
|
else
|
|
throw new InvalidCastException("Event is not an Mouse event.");
|
|
}
|
|
}
|
|
public AppEventKind AppEventKind
|
|
{
|
|
get
|
|
{
|
|
if (EventClass == EventClass.Application)
|
|
return (AppEventKind)_eventKind;
|
|
else
|
|
throw new InvalidCastException("Event is not an Application event.");
|
|
}
|
|
}
|
|
|
|
|
|
public override string ToString()
|
|
{
|
|
switch (EventClass)
|
|
{
|
|
case EventClass.Application:
|
|
return "Event: App " + AppEventKind.ToString();
|
|
case EventClass.Keyboard:
|
|
return "Event: Keyboard " + KeyboardEventKind.ToString();
|
|
case EventClass.Mouse:
|
|
return "Event: Mouse " + MouseEventKind.ToString();
|
|
case EventClass.Window:
|
|
return "Event: Window " + WindowEventKind.ToString();
|
|
}
|
|
|
|
return "Event: Unknown Class " + EventClass.ToString() + " kind: " + _eventKind.ToString();
|
|
}
|
|
}
|
|
}
|