These:

  
  evTypes.Type(0).eventClass = UInt32(enEventClasses.kEventClassWindow)
  evTypes.Type(0).eventKind = UInt32(kEventWindowClose)
  
  evTypes.Type(1).eventClass = UInt32(enEventClasses.kEventClassMouse)
  evTypes.Type(1).eventKind = UInt32(kEventMouseDown)
  
  evTypes.Type(2).eventClass = UInt32(enEventClasses.kEventClassMouse)
  evTypes.Type(2).eventKind = UInt32(kEventMouseDragged)
  
  evTypes.Type(3).eventClass = UInt32(enEventClasses.kEventClassWindow)
  evTypes.Type(3).eventKind = UInt32(kEventWindowDrawContent)
  
  evTypes.Type(4).eventClass = UInt32(enEventClasses.kEventClassWindow)
  evTypes.Type(4).eventKind = UInt32(kEventWindowResizeCompleted)
  
  evTypes.Type(5).eventClass = UInt32(enEventClasses.kEventClassWindow)
  evTypes.Type(5).eventKind = UInt32(kEventWindowDragCompleted)
  
  evTypes.Type(6).eventClass = UInt32(enEventClasses.kEventClassWindow)
  evTypes.Type(6).eventKind = UInt32(kEventWindowUpdate)
  

Regards,

Dan

On 2/5/07 18:20, "Charles Yeomans" <[EMAIL PROTECTED]> wrote:

> For which events are you registering?
> 
> Charles Yeomans
> 
> 
> 
> On May 2, 2007, at 1:15 PM, Daniel Stenning wrote:
> 
>> On 2/5/07 17:58, "Charles Yeomans" <[EMAIL PROTECTED]> wrote:
>> 
>>> Offhand, I'm not sure that the code below would work.  For example,
>>> you appear to be passing a nil Ptr as the last parameter to
>>> InstallEventHandler.
>> 
>> The carbon library declaration for the last parameter is ByRef so
>> InstallEventHandler sets the pointer by reference.
>> 
>>> I assume that CEventTypes is a struct,
>> Correct
>> 
>>> but I'm   not sure how that works, since you should be passing an
>>> array of
>>> event types.
>> 
>> It is a struct with a fixed number of eventtype elements ( I
>> realise I could
>> have done this through a memoryblock but it seemed easier just to
>> use a
>> struct holding a fixed array.
>> 
>> 
>>> Does InstallEventHandler always return 0?
>> 
>> Yes.
>>> 
>>> Charles Yeomans
>>> 
>>> 
>>> On May 2, 2007, at 12:45 PM, Daniel Stenning wrote:
>>> 
>>>> I have in fact added the carbon event handler ( I just used the
>>>> same code as
>>>> used for the pure carbon version).
>>>> 
>>>> Here is the main code for the "RB" window version which doesn't
>>>> work ( it
>>>> opens and the dylib paints the window correctly,l but the window
>>>> fails to
>>>> respond to any mouse events:
>>>> 
>>>> <snick>
>>>> //-----------------
>>>> 
>>>> Function InstallCarbonEventHandler( editwinRef as WindowPtr )
>>>>   Soft Declare Function InstallEventHandler Lib "Carbon"  (Target
>>>> As Ptr,
>>>> Handler as Ptr, EventTypeCount As integer,  ByRef evTypes As
>>>> CEventTypes,
>>>> userData As Ptr, ByRef outHandlerRef as Ptr) As Integer
>>>>   Soft Declare Function GetWindowEventTarget Lib
>>>> "Carbon"  (inWindow As
>>>> WindowPtr) As Ptr
>>>> 
>>>>   dim eventHandler as Ptr
>>>>   dim evTypeCount as integer = 7//SetupCarbonEventTypes
>>>> (CarbonEventTypes)
>>>>   dim err as integer =  InstallEventHandler( GetWindowEventTarget(
>>>> editwinRef ), AddressOf windowHandler, evTypeCount,
>>>> CarbonEventTypes ,
>>>> plug.GetEffectPointer() , eventHandler )
>>>> 
>>>>   Return eventHandler
>>>> End Function
>>>> 
>>>> //-----------------
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On 2/5/07 17:16, "Charles Yeomans" <[EMAIL PROTECTED]> wrote:
>>>> 
>>>>> You might try adding a Carbon event handler to the window to handle
>>>>> mouse events before the Rb code.  As I recall, event handlers
>>>>> form a
>>>>> stack, so the last handler added gets first crack at the events for
>>>>> which it has registered.  I've had mixed luck in taking control of
>>>>> mouse events in windows via declares.
>>>>> 
>>>>> Charles Yeomans
>>>>> 
>>>>> On May 2, 2007, at 12:11 PM, Daniel Stenning wrote:
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Unsubscribe or switch delivery mode:
>>>> <http://www.realsoftware.com/support/listmanager/>
>>>> 
>>>> Search the archives:
>>>> <http://support.realsoftware.com/listarchives/lists.html>
>>> 
>>> _______________________________________________
>>> Unsubscribe or switch delivery mode:
>>> <http://www.realsoftware.com/support/listmanager/>
>>> 
>>> Search the archives:
>>> <http://support.realsoftware.com/listarchives/lists.html>
>>> 
>> 
>> Regards,
>> 
>> Dan
>> 
>> 
>> 
>> _______________________________________________
>> Unsubscribe or switch delivery mode:
>> <http://www.realsoftware.com/support/listmanager/>
>> 
>> Search the archives:
>> <http://support.realsoftware.com/listarchives/lists.html>
> 
> _______________________________________________
> Unsubscribe or switch delivery mode:
> <http://www.realsoftware.com/support/listmanager/>
> 
> Search the archives:
> <http://support.realsoftware.com/listarchives/lists.html>
> 

Regards,

Dan



_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to