view dstep/applicationservices/coregraphics/CGEventTypes.d @ 12:9f0b49a2f64e

Added the ApplicationServices frameworks: ATS, ColorSync and CoreGraphics
author Jacob Carlborg <doob@me.com>
date Mon, 03 Aug 2009 14:00:21 +0200
parents
children
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Aug 1, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.applicationservices.coregraphics.CGEventTypes;

import dstep.applicationservices.coregraphics.CGBase;
import dstep.applicationservices.coregraphics.CGRemoteOperation;
//import dstep.iokit.hidsystem.IOLLEvent;

struct __CGEvent;
struct __CGEventTapProxy;
struct __CGEventSource;

alias __CGEvent* CGEventRef;
alias uint CGMouseButton;
alias uint CGScrollEventUnit;
alias ulong CGEventFlags;
alias uint CGEventType;
alias ulong CGEventTimestamp;
alias uint CGEventField;
alias uint CGEventMouseSubtype;
alias uint CGEventTapLocation;
alias uint CGEventTapPlacement;
alias uint CGEventTapOptions;
alias ulong CGEventMask;
alias __CGEventTapProxy* CGEventTapProxy;
alias __CGEventSource* CGEventSourceRef;
alias uint CGEventSourceStateID;
alias uint CGEventSourceKeyboardType;

extern (C)
{
	alias CGEventRef function (CGEventTapProxy, uint, CGEventRef, void*) CGEventTapCallBack;
}

enum _CGMouseButton

{
	kCGMouseButtonLeft = 0,
	kCGMouseButtonRight = 1,
	kCGMouseButtonCenter = 2
}

enum
{
	kCGScrollEventUnitPixel = 0,
	kCGScrollEventUnitLine = 1
}

enum _CGEventFlags

{
	kCGEventFlagMaskAlphaShift = 0x00010000,
	kCGEventFlagMaskShift = 0x00020000,
	kCGEventFlagMaskControl = 0x00040000,
	kCGEventFlagMaskAlternate = 0x00080000,
	kCGEventFlagMaskCommand = 0x00100000,
	kCGEventFlagMaskHelp = 0x00400000,
	kCGEventFlagMaskSecondaryFn = 0x00800000,
	kCGEventFlagMaskNumericPad = 0x00200000,
	kCGEventFlagMaskNonCoalesced = 0x00000100
}

enum _CGEventType 
{
	kCGEventNull = 0,
	kCGEventLeftMouseDown = 1,
	kCGEventLeftMouseUp = 2,
	kCGEventRightMouseDown = 3,
	kCGEventRightMouseUp = 4,
	kCGEventMouseMoved = 5,
	kCGEventLeftMouseDragged = 6,
	kCGEventRightMouseDragged = 7,
	kCGEventKeyDown = 10,
	kCGEventKeyUp = 11,
	kCGEventFlagsChanged = 12,
	kCGEventScrollWheel = 22,
	kCGEventTabletPointer = 23,
	kCGEventTabletProximity = 24,
	kCGEventOtherMouseDown = 25,
	kCGEventOtherMouseUp = 26,
	kCGEventOtherMouseDragged = 27,
	kCGEventTapDisabledByTimeout = 0xFFFFFFFE,
	kCGEventTapDisabledByUserInput = 0xFFFFFFFF
}

enum _CGEventField 
{
	kCGMouseEventNumber = 0,
	kCGMouseEventClickState = 1,
	kCGMouseEventPressure = 2,
	kCGMouseEventButtonNumber = 3,
	kCGMouseEventDeltaX = 4,
	kCGMouseEventDeltaY = 5,
	kCGMouseEventInstantMouser = 6,
	kCGMouseEventSubtype = 7,
	kCGKeyboardEventAutorepeat = 8,
	kCGKeyboardEventKeycode = 9,
	kCGKeyboardEventKeyboardType = 10,
	kCGScrollWheelEventDeltaAxis1 = 11,
	kCGScrollWheelEventDeltaAxis2 = 12,
	kCGScrollWheelEventDeltaAxis3 = 13,
	kCGScrollWheelEventFixedPtDeltaAxis1 = 93,
	kCGScrollWheelEventFixedPtDeltaAxis2 = 94,
	kCGScrollWheelEventFixedPtDeltaAxis3 = 95,
	kCGScrollWheelEventPointDeltaAxis1 = 96,
	kCGScrollWheelEventPointDeltaAxis2 = 97,
	kCGScrollWheelEventPointDeltaAxis3 = 98,
	kCGScrollWheelEventInstantMouser = 14,
	kCGTabletEventPointX = 15,
	kCGTabletEventPointY = 16,
	kCGTabletEventPointZ = 17,
	kCGTabletEventPointButtons = 18,
	kCGTabletEventPointPressure = 19,
	kCGTabletEventTiltX = 20,
	kCGTabletEventTiltY = 21,
	kCGTabletEventRotation = 22,
	kCGTabletEventTangentialPressure = 23,
	kCGTabletEventDeviceID = 24,
	kCGTabletEventVendor1 = 25,
	kCGTabletEventVendor2 = 26,
	kCGTabletEventVendor3 = 27,
	kCGTabletProximityEventVendorID = 28,
	kCGTabletProximityEventTabletID = 29,
	kCGTabletProximityEventPointerID = 30,
	kCGTabletProximityEventDeviceID = 31,
	kCGTabletProximityEventSystemTabletID = 32,
	kCGTabletProximityEventVendorPointerType = 33,
	kCGTabletProximityEventVendorPointerSerialNumber = 34,
	kCGTabletProximityEventVendorUniqueID = 35,
	kCGTabletProximityEventCapabilityMask = 36,
	kCGTabletProximityEventPointerType = 37,
	kCGTabletProximityEventEnterProximity = 38,
	kCGEventTargetProcessSerialNumber = 39,
	kCGEventTargetUnixProcessID = 40,
	kCGEventSourceUnixProcessID = 41,
	kCGEventSourceUserData = 42,
	kCGEventSourceUserID = 43,
	kCGEventSourceGroupID = 44,
	kCGEventSourceStateID = 45,
	kCGScrollWheelEventIsContinuous = 88
}

enum _CGEventMouseSubtype 
{
	kCGEventMouseSubtypeDefault = 0,
	kCGEventMouseSubtypeTabletPoint = 1,
	kCGEventMouseSubtypeTabletProximity = 2
}

enum _CGEventTapLocation 
{
	kCGHIDEventTap = 0,
	kCGSessionEventTap,
	kCGAnnotatedSessionEventTap
}

enum _CGEventTapPlacement 
{
	kCGHeadInsertEventTap = 0,
	kCGTailAppendEventTap
}

enum _CGEventTapOptions 
{
	kCGEventTapOptionDefault = 0x00000000,
	kCGEventTapOptionListenOnly = 0x00000001
}

enum
{
	kCGEventSourceStatePrivate = -1,
	kCGEventSourceStateCombinedSessionState = 0,
	kCGEventSourceStateHIDSystemState = 1
}

struct CGEventTapInformation
{
	uint eventTapID;
	uint tapPoint;
	uint options;
	ulong eventsOfInterest;
	int tappingProcess;
	int processBeingTapped;
	bool enabled;
	float minUsecLatency;
	float avgUsecLatency;
	float maxUsecLatency;
}