RetroArch/input/include/GameController/GCControllerDirectionPad.h
2015-11-17 08:29:21 +01:00

37 lines
1.3 KiB
Objective-C

//
// GCControllerDirectionPad.h
// GameController
//
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
#import "GameController.h"
/**
A direction pad is a common grouping of 2 axis inputs where the input can also be interpreted as 2 sets of mutually exclusive button pairs.
Only one button in each pair, {up, down} and {left, right}, can be pressed at any one time.
*/
GAMECONTROLLER_EXPORT
@interface GCControllerDirectionPad : GCControllerElement
/**
Set this block if you want to be notified when the value on this axis changes.
@param dpad the direction pad collection whose axis have been modified.
@param xValue the value the x axis was set to at the time the valueChangedHandler fired.
@param yValue the value the y axis was set to at the time the valueChangedHandler fired.
*/
typedef void (^GCControllerDirectionPadValueChangedHandler)(GCControllerDirectionPad *dpad, float xValue, float yValue);
@property (copy) GCControllerDirectionPadValueChangedHandler valueChangedHandler;
@property (readonly) GCControllerAxisInput *xAxis;
@property (readonly) GCControllerAxisInput *yAxis;
@property (readonly) GCControllerButtonInput *up;
@property (readonly) GCControllerButtonInput *down;
@property (readonly) GCControllerButtonInput *left;
@property (readonly) GCControllerButtonInput *right;
@end