BCB Components rotating around DirectX

Welcome to BCB-Tools.com Latest News

Development Tools Demo Applications Step-by-Step Tutorials Component Reference

Register Here! Available Downloads

Frequently Asked Questions Discussion Forums Receive emails from BCB-Tools.com Send us some Feedback

Links to other sites Information about the BCB-Tools.com website


    TDX_INPUT_LIBRARY INFORMATION

    Go to the Welcome Page

    INTRODUCCION SOBRE LA TDX_INPUT_LIBRARY
    Top     Next



    La TDx_Input_Library es una libreria de 29 Componentes (Borland C++ Builder (BCB) rapid application development (RAD)) que "mapean" toda la funcionalidad de DirectInput(tm) en sencillos componentes de fácil utilizacion para la VCL del C++ Builder (BCB Visual Component Library (VCL) components), proveen de un completo entorno de trabajo para evitarte trabajo y disponer de la funcionalidad y el poder de DirectInput(tm) integrado en Borland C++ Builder.

    Estos componentes hacen que DirectInput(tm) sea muy sencillo de utilizar, haciendo que DirectInput(tm) trabaje con Borland C++ Builder, incluyendo algunos extras para mezclar DirectInput(tm) y Borland C++ Builder - rápida y fácilmente.

    Todos los componentes vienen con su código fuente completo, archivos de proyecto, auto-installer, y completa ayuda sensible al contexto accesible mediante la tecla [F1] l [F1] context-sensitive help covering all of DirectInput(tm) asi como características adicionales, y demos con completo código fuente.



    Estos componentes "Hablan" con dispositivos de entrada avanzados , incluyendo :-
    • Ratones
    • Teclados
    • Trackballs
    • Joysticks
    • Volantes
    • Aircraft Control Yolks


    • Versiones avanzadas de los dispositivos arriba mencionados
    • Estos dispositivos con capacidades force feedback


    Una completa utilización entendiendo el funcionamiento del motor de DirectInput(tm), LaTDx_Input_Library te permite :-
    • Polling del dispositivo en Tiempo Real (consulta de valores)
    • Monitorización del dispositivo en Tiempo Real.
    • Control de Efectos Force Feedback en Tiempo Real
    • Modificación y Descarga de datos de efectos del dispositivo en Tiempo Real
    • Seguimiento e Información del progreso del force feedback y posicionamiento usando timers o notificaciones de eventos del estilo BCB.
    • Un nuevo paradigma de programación, desarrollo rápido de aplicaciones DirectInput, o"RAD DirectX" para abreviar.

    La TDx_Input_Library contiene ademas muchas funcionalidades añadidas diseñadas para facilitarte la tarea , incluyendo :-
    • Completa optimización para la VCL y el BCB
    • Como solución a la integracion de BCB y DirectX.
    • Detección automática de errores y redireccionamiento a sencillos eventos del tipo OnError().
    • Manejo automático de Callbacks y redireccionamiento a sencillos eventos del tipo OnEnum...().
    • Manejo simple de recursos con funciones integradas como: CreateFrom(), LoadFrom() and SaveTo().
    • Baja Latencia (delay) cuando se reproducen efectos force feedback, y en general para todos los procesos de mapeado.


    Para más información pulsa:-
    Para informacion sobre la libreria TDx_Library al completo, pulsa :-




    DETALLES DE LA TDX_INPUT_LIBRARY
    Arriba     Siguiente     Anterior



    Los 29 Componentes de la TDx_Input_Library :-

    • te permiten soporte avanzado para dispositivos de entrada en tus aplicaciones en BCB
    • Manejan automáticamente todo lo relacionado con DirectInput(tm)
    • Son muy "compactas" - manteniendo todo perfectamente organizado para que DirectInput(tm) funcione a la perfección en BCB
    • Son un juego de herramientas muy faciles de usar diseñadas para ahorrarte el gran esfuerzo requerido para utilizar DirectInput(tm)
    • Te permiten enfocar tus esfuerzos en el lado creativo de la programacion de DirectInput(tm) mas que en comprender la tecnología del SDK

    Cuando empieces a usar los componentes, puedes ignorar muchas de las características avanzadas de DirectInput y obtener asombrosos resultados en cuestion de minutos, Mas tarde cuando ya te hayas familiarizado con los componentes y como funcionan, podrás experimentar con las capacidades avanzadas disponibles.



    Tienes acceso completo a las interioridades de los componentes, esto significa que puedes mezclar y unir código "normal" de DirectInput(tm) si lo deseas.



    Sobretodo, la TDx_Input_Library provee de todo lo requerido para añadir soporte para dispositivos básico y avanzado en cualquier aplicacion de BCB.



    La TDx_Input_Library ofrece :-
    • Manejo Simple de todo lo relacionado con DirectInput(tm)
    • Acceso sencillo a todas las funcionalidades disponibles de DirectInput(tm)
    • Fácil acceso a todos los dispositivos de entrada
    • Fácil acceso a todos los datos de cualquier dispositivo
    • Fácil acceso a los datos de un solo objeto o control sobre el dispositivo
    • Fácil acceso a todos los datos de información del dispositivo
    • Easy access to a single object or control's data format information
    • Fácil manipulación de los datos de efectos del dispositivo
    • Fácil manejo de los efectos de force feedback
    • Completa ayuda sensible al contexto accesible mediante la tecla F1 [ Pulsando F1 en el BCB ]


    Para mas información, Pulsa:-




    COMPONENTES DE LA TDX_INPUT_LIBRARY
    Top     Next     Prev



    The table below contains details on each TDx_Input_Library component, and also contains links to individual reference pages :-

    COMPONENT
    LOGO
    COMPONENT
    NAME
    WRAPPER
    TYPE
    COMMENT
    TDICondition TDICondition Multi - Wrapper The TDICondition component wraps multiple DICONDITION structures and is referenced by the TypeSpecificParams property of the TDIEffect component.

    It describes the positive and negative coefficients, positive and negative saturations, the deadband and the offset of a 'Conditional' force feedback effect.

    There are four standard types of conditions - friction, damper, inertia and spring.

    Additional functionality :-
    An ArraySize property that determines the total # of internal DICONDITION structures maintained by the TDICondition component.
    A Size property for determining the sizeof(DICONDITION). All internal fDICONDITION[index].dwSize structure members are set to this value when calling the Clear() and ClearAll() methods.
    A SizeAll property for determining the byte size of all internal DICONDITION structures, equivalent to ArraySize * Size.
    A Clear() method for clearing the contents of the specified internal DICONDITION structure and auto-resetting the specified fDICONDITION.dwSize structure member.
    A ClearAll() method for clearing the contents of all internal DICONDITION structures and auto-resetting all fDICONDITION[index].dwSize structure members.
    An OnError() event that is called whenever any problems occur inside the TDICondition component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIConstantForce TDIConstantForce Wrapper The TDIConstantForce component wraps a single DICONSTANTFORCE structure and is referenced by the TypeSpecificParams property of the TDIEffect component.

    It describes the magnitude of a 'Constant' force feedback effect, the duration being defined in the TDIEffect component.

    Additional functionality :-
    A Size property for determining the sizeof(DICONSTANTFORCE). The internal fDICONSTANTFORCE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DICONSTANTFORCE structure and auto-resetting the internal fDICONSTANTFORCE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIConstantForce component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDICustomForce TDICustomForce Wrapper The TDICustomForce component wraps a single DICUSTOMFORCE structure and is referenced by the TypeSpecificParams property of the TDIEffect component.

    It describes the channels, force data, samples and sample period of a 'Custom' force feedback effect.

    Additional functionality :-
    A Size property for determining the sizeof(DICUSTOMFORCE). The internal fDICUSTOMFORCE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DICUSTOMFORCE structure and auto-resetting the internal fDICUSTOMFORCE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDICustomForce component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIDataFormat TDIDataFormat Wrapper The TDIDataFormat component wraps a single DIDATAFORMAT structure.

    It describes the data format of the device as a whole.
    To do this it defines the number and size of individual controls, references an array of TDIObjectDataFormat components describing those controls, defines the mode of the axes and the size of the data packets returned by the device.

    In most cases the predefined data formats for keyboards, mice and joysticks can be used instead of this component.

    Additional functionality :-
    A Size property for determining the sizeof(DIDATAFORMAT). The internal fDIDATAFORMAT.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIDATAFORMAT structure and auto-resetting the internal fDIDATAFORMAT.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIDataFormat component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIDevCaps TDIDevCaps Wrapper The TDIDevCaps component wraps a single DIDEVCAPS structure.

    It describes the capabilities of a particular DirectInput device, including the number of axes, POVs and buttons, hardware, firmware and driver versions, the device type, minimum sample and time resolutions as well as flags indicating device status and capabilities.

    Additional functionality :-
    A Size property for determining the sizeof(DIDEVCAPS). The internal fDIDEVCAPS.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIDEVCAPS structure and auto-resetting the internal fDIDEVICEINSTANCE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIDevCaps component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIDeviceInstance TDIDeviceInstance Wrapper The TDIDeviceInstance component wraps a single DIDEVICEINSTANCE structure.

    It details a device instance, including information like the device type, the product, driver and instance ID's, product and instance names and the HID codes and pages for the device.

    Additional functionality :-
    A Size property for determining the sizeof(DIDEVICEINSTANCE). The internal fDIDEVICEINSTANCE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIDEVICEINSTANCE structure and auto-resetting the internal fDIDEVICEINSTANCE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIDeviceInstance component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIDeviceObjectData TDIDeviceObjectData Multi - Wrapper The TDIDeviceObjectData component wraps multiple DirectX DIDEVICEOBJECTDATA structures.

    It holds a timestamp and sequence number for determining the data retrieval order, plus the offset or ID of the actual data being sent to or from an individual device control.

    Additional functionality :-
    An ArraySize property that determines the total # of internal DIDEVICEOBJECTDATA structures maintained by the TDIDeviceObjectData component.
    A Size property for determining the sizeof(DIDEVICEOBJECTDATA). All internal fDIDEVICEOBJECTDATA[index].dwSize structure members are set to this value when calling the Clear() and ClearAll() methods.
    A SizeAll property for determining the byte size of all internal DIDEVICEOBJECTDATA structures, equivalent to ArraySize * Size.
    A Clear() method for clearing the contents of the specified internal DIDEVICEOBJECTDATA structure and auto-resetting the specified fDIDEVICEOBJECTDATA.dwSize structure member.
    A ClearAll() method for clearing the contents of all internal DIDEVICEOBJECTDATA structures and auto-resetting all fDIDEVICEOBJECTDATA[index].dwSize structure members.
    An OnError() event that is called whenever any problems occur inside the TDIDeviceObjectData component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIDeviceObjectInstance TDIDeviceObjectInstance Wrapper The TDIDeviceObjectInstance component wraps a single DIDEVICEOBJECTINSTANCE structure.

    It describes an individual device control, including information like the name and type, dimensional units, exponent, resolution, maximum output, data offset and flags detailing the reporting and output capabilities. It also includes HID information like the usage page and code, collection number and designator index.

    Additional functionality :-
    A Size property for determining the sizeof(DIDEVICEOBJECTINSTANCE). The internal fDIDEVICEOBJECTINSTANCE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIDEVICEOBJECTINSTANCE structure and auto-resetting the internal fDIDEVICEOBJECTINSTANCE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIDeviceObjectInstance component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIEffEscape TDIEffEscape Wrapper The TDIEffEscape component wraps a single DIEEFFESCAPE structure.

    It is used when sending commands directly to the device driver, additional data required or resultiong from the command being stored in an input and an output buffer.

    Additional functionality :-
    A Size property for determining the sizeof(DIEFFESCAPE). The internal fDIEFFESCAPE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIEFFESCAPE structure and auto-resetting the internal fDIEFFESCAPE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIEffEscape component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIEffect TDIEffect Wrapper The TDIEffect component wraps a single DIEFFECT structure.

    It is used to set up effect parameters prior to downloading them to a device.
    These parameters include the number of axes and an array to store them in, the effect's direction, duration, envelope, sample period and gain, some interpretation flags, which button (if any) should trigger the effect and how often it should be triggered if the button is held down, how long to wait before starting the effect and a size value for the type specific parameters of the effect which are stored in a TDICustomForce, TDIPeriodic, TDIConstantForce, TDIRampForce or TDICondition component as required.

    Additional functionality :-
    A Size property for determining the sizeof(DIEFFECT). The internal fDIEFFECT.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIEFFECT structure and auto-resetting the internal fDIEFFECT.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIEffect component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIEffectInfo TDIEffectInfo Wrapper The TDIEffectInfo component wraps a single DIEFFECTINFO structure.

    It describes the type and capabilities of an effect, including the name and ID of the effect, as well as flags indicating the supported effect parameters, which parameters can be updated dynamically and the type and enumeration settings.

    Additional functionality :-
    A Size property for determining the sizeof(DIEFFECTINFO). The internal fDIEFFECTINFO.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIEFFECTINFO structure and auto-resetting the internal fDIEFFECTINFO.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIEffectInfo component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIEnvelope TDIEnvelope Wrapper The TDIEnvelope component wraps a single DIENVELOPE structure.

    It describes the attack level and time and the fade level and time for an effect envelope, which is used to modify the shape of constant and periodic effects.

    Additional functionality :-
    A Size property for determining the sizeof(DIENVELOPE). The internal fDIENVELOPE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIENVELOPE structure and auto-resetting the internal fDIENVELOPE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIEnvelope component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIFileEffect TDIFileEffect Multi - Wrapper The TDIFileEffect component wraps multiple DIFILEEFFECT structures.

    It holds the name, type and parameters of an effect being retrieved or written to a file.

    Additional functionality :-
    An ArraySize property that determines the total # of internal DIFILEEFFECT structures maintained by the TDIFileEffect component.
    A Size property for determining the sizeof(DIFILEEFFECT). All internal fDIFILEEFFECT[index].dwSize structure members are set to this value when calling the Clear() and ClearAll() methods.
    A SizeAll property for determining the byte size of all internal DIFILEEFFECT structures, equivalent to ArraySize * Size.
    A Clear() method for clearing the contents of the specified internal DIFILEEFFECT structure and auto-resetting the specified fDIFILEEFFECT.dwSize structure member.
    A ClearAll() method for clearing the contents of all internal DIFILEEFFECT structures and auto-resetting all fDIFILEEFFECT[index].dwSize structure members.
    An OnError() event that is called whenever any problems occur inside the TDIFileEffect component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIJoyState TDIJoyState Wrapper The TDIJoyState component wraps a single DIJOYSTATE structure.

    It holds basic joystick information, including X, Y and Z axis positional and rotational information with arrays for storing up to two sliders, 4 directional controllers (POV's) and 32 button states.

    Additional functionality :-
    A Size property for determining the sizeof(DIJOYSTATE). The internal fDIJOYSTATE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIJOYSTATE structure and auto-resetting the internal fDIJOYSTATE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIJoyState component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIJoyState2 TDIJoyState2 Wrapper The TDIJoyState2 component wraps a single DIJOYSTATE2 structure.

    It holds advanced joystick information, with X, Y and Z axis values for the position, rotation, velocity, acceleration, force, angular acceleration, angular velocity and rotational force of the axes, with arrays for storing the position velocity acceleration and force information for two sliders. There is also room for up to 4 directional controllers (POV's) and 128 button states.

    Additional functionality :-
    A Size property for determining the sizeof(DIJOYSTATE2). The internal fDIJOYSTATE2.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIJOYSTATE2 structure and auto-resetting the internal fDIJOYSTATE2.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIJoyState2 component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIKeyboardState TDIKeyboardState Wrapper The TDIKeyboardState component was created by BCB-Tools.com.

    It is used to retrieve keyboard data in the form of a 256 byte array.

    Additional functionality :-
    A Size property for determining the sizeof(TDIKeyboardState).
    A Clear() method for clearing the contents of the TDIKeyboardState component.
    An OnError() event that is called whenever any problems occur inside the TDIKeyboardState component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIMouseState TDIMouseState Wrapper The TDIMouseState component wraps a single DIMOUSESTATE structure.

    It holds up to four button states and the X, Y and Z axis information for a basic mouse.

    Additional functionality :-
    A Size property for determining the sizeof(DIMOUSESTATE). The internal fDIMOUSESTATE.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIMOUSESTATE structure and auto-resetting the internal fDIMOUSESTATE.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIMouseState component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIMouseState2 TDIMouseState2 Wrapper The TDIMouseState2 component wraps a single DIMOUSESTATE2 structure.

    It holds up to eight button states and the X, Y and Z axis information for a more advanced mouse.

    Additional functionality :-
    A Size property for determining the sizeof(DIMOUSESTATE2). The internal fDIMOUSESTATE2.dwSize structure member is automatically set to this value when calling the Clear() method.
    A Clear() method for clearing the contents of the internal DIMOUSESTATE2 structure and auto-resetting the internal fDIMOUSESTATE2.dwSize structure member.
    An OnError() event that is called whenever any problems occur inside the TDIMouseState component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIObjectDataFormat TDIObjectDataFormat Multi - Wrapper The TDIObjectDataFormat component wraps multiple DIOBJECTDATAFORMAT structures.

    It describes which part of the device the object represents, the object's type, the kind of information that can be reported and the data offset for the device object.

    Additional functionality :-
    An ArraySize property that determines the total # of internal DIOBJECTDATAFORMAT structures maintained by the TDIObjectDataFormat component.
    A Size property for determining the sizeof(DIOBJECTDATAFORMAT). All internal fDIOBJECTDATAFORMAT[index].dwSize structure members are set to this value when calling the Clear() and ClearAll() methods.
    A SizeAll property for determining the byte size of all internal DIOBJECTDATAFORMAT structures, equivalent to ArraySize * Size.
    A Clear() method for clearing the contents of the specified internal DIOBJECTDATAFORMAT structure and auto-resetting the specified fDIOBJECTDATAFORMAT.dwSize structure member.
    A ClearAll() method for clearing the contents of all internal DIOBJECTDATAFORMAT structures and auto-resetting all fDIOBJECTDATAFORMAT[index].dwSize structure members.
    An OnError() event that is called whenever any problems occur inside the TDIObjectDataFormat component.
    An ErrorValue property for determining the value of the last error result that triggered the OnError() event.
    TDIPeriodic TDIPeriodic Wrapper The TDIPeriodic component wraps the DirectX DIPERIODIC structure which contains type specific information for force feedback effects that have the DIEFT_PERIODIC option set.

    This component is referenced by TDIEffect::TypeSpecificParams when it is being used to define a periodic effect.

    Periodic effects are waveforms that are usually used to achieve a shaking in the control device. You can apply an envelope to a periodic effect.

    To create a standard periodic effect pass one of the GUIDs below in the TDx_InputDevice::CreateEffect() Guid parameter.

    The standard waveform GUIDs are:

    GUID_Square - Feedback oscillates directly from maximum negative to maximum positive force.
    GUID_Sine - Feedback oscillates using a sine waveform pattern of smooth curves.
    GUID_Triangle - Feedback oscillates from positive to negative at a constant rate of force change.
    GUID_SawtoothUp - Feedback increases at a fixed rate then drops directly to the maximum negative magnitude and begins increasing again.
    GUID_SawtoothDown - Feedback decreases at a fixed rate then rises directly to the maximum positive magnitude and begins decreasing again.

    Magnitude is defined here, while the duration is defined by TDIEffect::Duration.

    A periodic force using an envelope will start its cycle at the attack level, relative to its phase, spend a specified duration moving towards the sustain level, stay at the sustain level for a specified period, then spend another period of time moving towards the fade level.
    TDIPropDWORD TDIPropDWORD Wrapper The TDIPropDWORD component wraps the DirectX DIPROPDWORD structure which is a generic structure used to access dword properties.

    This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to access properties that require a single value, such as a buffer size.

    This component also references a TDIPropHeader component.
    TDIPropGuidAndPath TDIPropGuidAndPath Wrapper The TDIPropGuidAndPath component wraps the DirectX TDIPROPGUIDANDPATH structure which is used to access GUID and path properties.

    This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to perform operations on a HID that are not otherwise supported.

    This component also references a TDIPropHeader component.
    TDIPropHeader TDIPropHeader Wrapper The TDIPropHeader component wraps the DirectX DIPROPHEADER structure which is located at the start of all TDIProperty-derived components internal structures, in a structure-in-structure relationship.

    These TDIProperty-derived components are TDIPropDWORD, TDIPropGuidAndPath, TDIPropRange and TDIPropString, which wrap the various DIPROPDWORD, DIGUIDANDPATH, DIPROPRANGE and DIPROPSTRING structures.

    Each of these internal structures contains a DIPROPHEADER structure which is used to define the size of the encapsulating structure and how the data within the encapsulating structure should be interpreted. This structure also defines a special-purpose dwSize member, usually maintained with manual code.

    To automatically maintain this dwSize member and to access all relevant information within these TDIProperty components, link a TDIPropHeader component using the relevant TDIPropDWORD::PropHeader, TDIPropGuidAndPath::PropHeader, TDIPropRange::PropHeader and TDIPropString::PropHeader properties.

    During linking, the TDIPropHeader::Size property is automatically set to the TDIProperty's Size property.

    Example code that sets a property :-

    DIPropHeader1->Obj = 0;
    DIPropHeader1->How = DIPH_DEVICE;
    DIPropDWORD1->PropHeader = DIPropHeader1;
    DIPropDWORD1->Data = 10;
    Dx_InputDevice1->SetProperty( DIPROP_BUFFERSIZE, DIPropDWORD1 );

    You can also access the contents of the TDIPropDWORD's internal DIPROPHEADER structure using standard vcl code like :-

    DIPropDWORD1->PropHeader = DIPropHeader1;
    DIPropDWORD1->PropHeader->Obj = 0;
    DIPropDWORD1->PropHeader->How = DIPH_DEVICE;
    DIPropDWORD1->Data = 10;
    Dx_InputDevice1->SetProperty( DIPROP_BUFFERSIZE, DIPropDWORD1 );

    After linking and setting up the relevant details, pass the TDIProperty-derived component into TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() to perform a range of property related operations on an input device or object.
    TDIPropRange TDIPropRange Wrapper The TDIPropRange component wraps the DirectX DIPROPRANGE structure which used to access information about the possible range values of an object.

    This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to access properties that define a device objects reporting range.

    This component also references a TDIPropHeader component.

    For some devices you cannot set the range values by calling TDx_InputDevice::SetProperty().
    When device ranges are unrestricted they will wrap around.
    TDIPropString TDIPropString Wrapper The TDIPropString component wraps the DirectX TDIPROPSTRING structure which is used to access string properties.

    This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to perform operations on a HID that are not otherwise supported.

    This component also references a TDIPropHeader component.
    TDIRampForce TDIRampForce Wrapper The TDIRampForce component wraps the DirectX DICONSTANTFORCE structure, which contains type specific information for force feedback effects that have the DIEFT_RAMPFORCE option set.

    It is used to define a 'Ramp Force', which is a force that moves from one defined magnitude to another over a specified time period.

    You can apply an envelope to a ramp force but not an offset.

    Only the magnitudes are defined by this component, the duration is set in TDIEffect::Duration, which cannot be set to INFINITE for a ramp force.

    Use this component by setting TDIEffect::TypeSpecificParams to refer to a single TDIRampForce component.

    To create a ramp force, use the TDx_InputDevice::CreateEffect() method and pass the following as the GUID parameter:

    GUID_RampForce
    TDx_Input TDx_Input Interface The TDx_Input component wraps and manages a single IDirectInput7 interface.

    This is the main root component of the TDx_Input_Library, everything else ultimately requires this component.

    It supplies access to DirectInput device interfaces and the Windows control panel.

    It can be used to create a TDx_Input interface, create a TDx_InputDevice interface, destroy a TDx_Input interface, enumerate directinput devices, find a device's GUID, retrieve a device's status, and launch the windows control panel.


    Additional functionality :-
    OnCreate(), OnDestroy() and OnError() events triggered during creation, destruction, and whenever any error occurs.

    A modified EnumDevices() method which automatically calls the OnEnumDevices() callback event, which makes responding to device enumeration simple.

    An ErrorValue property for determination of the last error result returned from DirectInput(tm) or the TDx_Input_Library.
    TDx_InputDevice TDx_InputDevice Interface The TDx_InputDevice component wraps and manages the DirectX IDirectInputDevice7 interface.

    It manages and manipulates directinput devices.

    It can be used to acquire access to the input device, create a TDx_InputDevice interface, create an effect for the device, destroy a TDx_InputDevice interface, enumerate effects already created, enumerate effects supported by the device, enumerate effects stored in a file, enumerate individual device objects, send a hardware specific command, retrieve device capabilities, retrieve buffered input data, retrieve the devices identity, retrieve the devices current state, retrieve effect information, retrieve the current force feedback state, retrieve information for an individual device object, test for specific device properties, retrieve state information from the polled device, launch the devices control panel, send data to a device, send force feedback commands to the device, set the devices cooperative level, define the devices data format, toggle event notification on device state change, define device behaviour properties, unaquire the input device, and write an effect to a file.

    Additional functionality :-
    A OnDeviceStateChange() event triggered whenever the device's state changes, toggled on or off by the SetEventNotification() method.

    A modified EnumCreatedEffectObjects() method which automatically calls the OnEnumCreatedEffectObjects() callback event, which makes handling created effect enumeration simple.

    A modified EnumEffects() method which automatically calls the OnEnumEffects() callback event, which makes handling supported effect enumeration simple.

    A modified EnumEffectsInFile() method which automatically calls the OnEnumEffectsInFile() callback event, which makes handling file effect enumeration simple.

    A modified EnumObjects() method which automatically calls the OnEnumObjects() callback event, which makes handling object enumeration simple.
    TDx_InputEffect TDx_InputEffect Interface The TDx_InputEffect component wraps and manages the DirectX IDirectInputEffect interface.

    It manages and manipulates directinput effects.

    It can be used to create a TDx_InputEffect interface, destroy a TDx_InputEffect interface, download an effect to the device, send commands to the device driver, retrieve an effects identifier, retrieve an effects status, retrieve an effects current settings, define an effects settings, play an effect, halt an effect, and remove an effect from the device.





    MORE INFORMATION ABOUT THE TDX_INPUT_LIBRARY
    Top     Prev



    Over time we will add much more information about the TDx_Input_Library.
    In the meantime, the table below contains details on the current status of the entire TDx_Library, and links to more information :-

    LIBRARY DESCRIPTION INFO DEMOS TUTORIALS REGISTER

    The TDx_Library 107 DirectX(tm) components so far Yes Yes Yes Yes

    TDx_Draw_Library 24 DirectDraw(tm) components Yes Yes Yes Yes
    TDx_Sound_Library 17 DirectSound(tm) components Yes Yes Yes Yes
    TDx_Input_Library 29 DirectInput(tm) components Yes Yes Yes Yes
    TDx_Play_Library 14 DirectPlay(tm) components Yes Yes Yes Yes
    TDx_3DI_Library 23 Direct3D Immediate Mode(tm) components Yes Yes No Yes































Top

Welcome |  Latest News |  Tools |  Demos |  Tutorials |  Reference |  Register |  Downloads
FAQ |  Forums |  Feedback |  Mailing List |  Links |  Site Information

This page is Copyright © 2005 BCB-Tools.com Pty. Ltd., Sydney, Australia. All Rights Reserved.
Borland C++ Builder, CBuilder, etc are Trademarks of Borland Corporation.
DirectX, DirectDraw, Windows, etc are Trademarks of Microsoft Corporation.