OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * Copyright (c) 2006-2009 NVIDIA Corporation. |
| 3 * All rights reserved. |
| 4 * |
| 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are met: |
| 7 * |
| 8 * Redistributions of source code must retain the above copyright notice, |
| 9 * this list of conditions and the following disclaimer. |
| 10 * |
| 11 * Redistributions in binary form must reproduce the above copyright notice, |
| 12 * this list of conditions and the following disclaimer in the documentation |
| 13 * and/or other materials provided with the distribution. |
| 14 * |
| 15 * Neither the name of the NVIDIA Corporation nor the names of its contributors |
| 16 * may be used to endorse or promote products derived from this software |
| 17 * without specific prior written permission. |
| 18 * |
| 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| 20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| 22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| 23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| 24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| 29 * POSSIBILITY OF SUCH DAMAGE. |
| 30 * |
| 31 */ |
| 32 |
| 33 /** |
| 34 * @file |
| 35 * <b>NVIDIA Tegra ODM Kit: |
| 36 * Scroll Wheel Interface</b> |
| 37 * |
| 38 * @b Description: Defines the ODM adaptation interface for scroll wheel devices
. |
| 39 * |
| 40 */ |
| 41 |
| 42 #ifndef INCLUDED_NVODM_SCROLLWHEEL_H |
| 43 #define INCLUDED_NVODM_SCROLLWHEEL_H |
| 44 |
| 45 #if defined(__cplusplus) |
| 46 extern "C" |
| 47 { |
| 48 #endif |
| 49 |
| 50 #include "nvodm_services.h" |
| 51 |
| 52 /** |
| 53 * @defgroup nvodm_scrollwheel Scroll Wheel Adaptation Interface |
| 54 * |
| 55 * This is the scroll wheel ODM adaptation interface. |
| 56 * |
| 57 * @ingroup nvodm_adaptation |
| 58 * @{ |
| 59 */ |
| 60 |
| 61 /** |
| 62 * Defines an opaque handle that exists for each scroll wheel device in the |
| 63 * system, each of which is defined by the customer implementation. |
| 64 */ |
| 65 typedef struct NvOdmScrollWheelRec *NvOdmScrollWheelHandle; |
| 66 |
| 67 /** |
| 68 * Defines the events generated by the scroll wheel. |
| 69 */ |
| 70 typedef enum |
| 71 { |
| 72 /// Indicates no event. |
| 73 NvOdmScrollWheelEvent_None = 0, |
| 74 |
| 75 /// Indicates the scroll up event. |
| 76 NvOdmScrollWheelEvent_RotateClockWise = 0x1, |
| 77 |
| 78 /// Indicates the scroll down event. |
| 79 NvOdmScrollWheelEvent_RotateAntiClockWise = 0x2, |
| 80 |
| 81 /// Indicates the key press event. |
| 82 NvOdmScrollWheelEvent_Press = 0x4, |
| 83 |
| 84 /// Indicates the release event. |
| 85 NvOdmScrollWheelEvent_Release = 0x8, |
| 86 |
| 87 /// Indicates the scroll up event. |
| 88 NvOdmScrollWheelEvent_Up = 0x10, |
| 89 |
| 90 /// Indicates the scroll down event. |
| 91 NvOdmScrollWheelEvent_Down = 0x20, |
| 92 |
| 93 /// Indicates the scroll right event. |
| 94 NvOdmScrollWheelEvent_Right = 0x40, |
| 95 |
| 96 /// Indicates the scroll left event. |
| 97 NvOdmScrollWheelEvent_Left = 0x80, |
| 98 |
| 99 NvOdmScrollWheelEvent_Force32 = 0x7FFFFFFF |
| 100 } NvOdmScrollWheelEvent; |
| 101 |
| 102 |
| 103 |
| 104 /** |
| 105 * Gets a handle to the scroll wheel device. |
| 106 * |
| 107 * @param hSema A handle to the semaphore to be signalled when |
| 108 * there is an event. |
| 109 * @param KeyEvents Specifies the ORed version of all the events for which |
| 110 * the client wants to register. |
| 111 * |
| 112 * @return A handle to the scroll wheel device. |
| 113 */ |
| 114 NvOdmScrollWheelHandle |
| 115 NvOdmScrollWheelOpen( |
| 116 NvOdmOsSemaphoreHandle hSema, |
| 117 NvOdmScrollWheelEvent KeyEvents); |
| 118 |
| 119 /** |
| 120 * Closes the scroll wheel handle. |
| 121 * |
| 122 * @param hOdmScrollWheel The scroll wheel handle to be closed. |
| 123 */ |
| 124 void NvOdmScrollWheelClose(NvOdmScrollWheelHandle hOdmScrollWheel); |
| 125 |
| 126 |
| 127 /** |
| 128 * Gets the pending event information. |
| 129 * |
| 130 * This API should be called when the semaphore |
| 131 * that the client is waiting on is signalled. |
| 132 * |
| 133 * @param hOdmScrollWheel A handle to the scroll wheel. |
| 134 * @return The type of event. If there are no pending events, |
| 135 * returns the 'none' event. If there are more than one events, |
| 136 * returns the ORed version of the events. |
| 137 * |
| 138 */ |
| 139 NvOdmScrollWheelEvent NvOdmScrollWheelGetEvent(NvOdmScrollWheelHandle hOdmScroll
Wheel); |
| 140 |
| 141 #if defined(__cplusplus) |
| 142 } |
| 143 #endif |
| 144 |
| 145 /** @} */ |
| 146 |
| 147 #endif // INCLUDED_NVODM_SCROLLWHEEL_H |
OLD | NEW |